Older eCSPI driver, perhaps in kernel 4.x, wasn’t switching eCSPI and all unused parent clocks while idle. Recent eCSPI driver does it. eCSPI and require parent clocks are enabled only during SPI transfer. Clocks are switched off immediately after transfer is complete.
Yes, I meant this variable. Try setting it to fdt addr ${fdt_addr_r} && fdt rm spi0 && fdt rm spi1 && fdt rm spi2 && fdt rm spi3
spiN here are eCSPI aliases in DT.
I’m not sure regarding your CCM_xxx() calls, hope they are fine. Did you check clk_summary, did M4 parent clock change to 270m or not?