On 29/09/2023 16:25, Konrad Dybcio wrote:
Not actually a required clock for the clock controller.
I suspect the same is true for dispcc and videocc though it would also mean the respective drivers would need to switch on <&gcc DISPx_CAMERA_AHB_CLK> or <&gcc GCC_VIDEO_AHB_CLK> prior to accessing registers inside the ip blocks which may not currently be the case.
Feels like a bit of a contrary answer but my reading is the GCC_IPBLOCK_AHB_CLK clocks belong in the drivers not the clock controllers.. or at least that's true for sm8250/camcc
I believe the idea here would be that registering GCC_IP_AHB_CLK
as a pm_clk for the clock controller would make that clock turn
on when IPBLOCK_CC is accessed (e.g. when we turn on
IPBLOCK_CORE_CLK), so that it doesn't need to be duplicated in
each and every end device.
Konrad
Yeah I mean I accept the logic - the core AHB clock is effectively gated
by the ipblockcc even though they originate from different places in
hardware - and _when_ do you want one clock without the other ? Never
except at probe() time for the ipblockcc.
Then again if you can show the clock dependency tree of camera or disp
requires GCC_IP_AHB_CLK you could make the argument the dt requires the
clock dependency defined in that block.
I'd say we should offline this from Luca's patches tho :) for me anyway
the first two are fine.
Agree #3 is verboten. No new empty nodes.
---
bod