[PATCH 2/4] hwrng: stm32 - implement support for STM32MP25x platforms
Marek Vasut
marex at denx.de
Fri Oct 11 05:38:04 PDT 2024
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:
>>>
>>>
>>> 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, a
>>>>> 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 at foss.st.com>
>>>> A 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 ?
>>>
>>> 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.
>> 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 ?
>
> 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.
More information about the linux-arm-kernel
mailing list