I sent you a slightly tweaked example which should work too and should be a bit nicer.
On 10/11/24 14:38, Marek Vasut wrote:
On 10/11/24 2:07 PM, Gatien CHEVALLIER wrote:
On 10/11/24 13:24, Marek Vasut wrote:
On 10/11/24 11:55 AM, Gatien CHEVALLIER wrote:
Maybe this could still work if the struct clk_bulk_data {} is ordered that way, so the bus clock are first, and the rest afterward ?
On 10/7/24 15:54, Marek Vasut wrote:
On 10/7/24 3:27 PM, Gatien Chevallier wrote:
Implement the support for STM32MP25x platforms. On this platform, aA bit of a higher-level design question -- can you use drivers/ clk/ clk-bulk.c clk_bulk_*() to handle all these disparate count of clock easily ?
security clock is shared between some hardware blocks. For the RNG,
it is the RNG kernel clock. Therefore, the gate is no more shared
between the RNG bus and kernel clocks as on STM32MP1x platforms and
the bus clock has to be managed on its own.
Signed-off-by: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
Hi, I'd like to make sure that we enable the core clock before the bus
clock so that the RNG hardware block can start its internal tests while
we ungate the bus clock. It's not a strong opinion but it feels better.
I guess you meant, the core first.
Err, yes, core.
Putting the bus clock first with the updated YAML doc generates a
warning when checking the bindings. I guess what you propose is OK
then. Core clock is defined first in the device tree.
Not in DT, leave DT as-is. Look at struct clk_bulk_data , I think when you use the clk_bulk_*() functions, you pass in a list of struct clk_bulk_data, which each describes one clock, so just make sure that list of struct clk_bulk_data in the driver is ordered the way you need it to be ordered and you should be fine.
I've sent a V2 with something that is functional but not aesthetic.
You'll tell me if that's what you had in mind.