Hi, Sam, On 3/1/24 00:13, Sam Protsenko wrote: >> mout_peri_spi_user - { oscclk (26 MHz), dout_peri_ip } > AFAIK, the OSCCLK only purpose is to be used during suspend (PM > state). When implementing clk-exynos850.c I specifically avoided using > OSCCLK clock for the regular use-cases, and I believe other existing Ok. > Exynos clock drivers don't use OSCCLK during normal operation too. I saw. > It's easy to see from the clock diagrams in the TRM: all CMUs have > top-level MUXes that have two parents (normal clock and OSCCLK). In > fact, the TRM mentions it: > > "All CMUs have MUXs to change the OSCCLK during power-down mode" > typo in datasheet, s/the/to, but I get what you're saying. > Even if OSCCLK can be used in some cases for driving HW blocks, the > top-level MUXes are not related to those cases. This is what I'm challenging, yes. Do you know why we can't use oscclk to drive hw blocks in normal operation mode, i.e. not low power modes? Since the datasheet does not specify any other usage of oscclk, I think too that it's safer to not use it to drive HW blocks. So unless someone else intervenes and clarifies this aspect, please ignore the entire patch set. Re-parenting the MUX to oscclk allows the same clock range as before and with the benefit of not affecting the clock rates of HSI2C/I3C for SPI clock rates below 500 KHz. This is what I'm trying to fix here, I think it's not a good idea to allow SPI to modify the clock rate of HSI2C/I3C at run-time. How about specifying CLK_SET_RATE_GATE to the common bus divider? It will prevent SPI from changing the rate while the clock is prepared. Thus HSI2C/I3C will no longer be affected behind the curtains. Thanks, ta