Re: [PATCH 3/3] arm64: dts: meson: g12a: Add hwrng node
From: Kevin Hilman
Date: Thu May 23 2019 - 12:16:52 EST
Neil Armstrong <narmstrong@xxxxxxxxxxxx> writes:
> On 20/05/2019 19:45, Martin Blumenstingl wrote:
>> Hi Neil,
>>
>> On Mon, May 20, 2019 at 3:49 PM Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
>>>
>>> The Amlogic G12A has the hwrng module in an unknown "EFUSE" bus.
>>>
>>> The hwrng is not enabled on the vendor G12A DTs, but is enabled on
>>> next generation SM1 SoC family sharing the exact same memory mapping.
>>>
>>> Let's add the "EFUSE" bus and the hwrng node.
>>>
>>> This hwrng has been checked with the rng-tools rngtest FIPS tool :
>>> rngtest: starting FIPS tests...
>>> rngtest: bits received from input: 1630240032
>>> rngtest: FIPS 140-2 successes: 81436
>>> rngtest: FIPS 140-2 failures: 76
>>> rngtest: FIPS 140-2(2001-10-10) Monobit: 10
>>> rngtest: FIPS 140-2(2001-10-10) Poker: 6
>>> rngtest: FIPS 140-2(2001-10-10) Runs: 26
>>> rngtest: FIPS 140-2(2001-10-10) Long run: 34
>>> rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
>>> rngtest: input channel speed: (min=3.784; avg=5687.521; max=19073.486)Mibits/s
>>> rngtest: FIPS tests speed: (min=47.684; avg=52.348; max=52.835)Mibits/s
>>> rngtest: Program run time: 30000987 microseconds
>>>
>>> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
>>> ---
>>> arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 13 +++++++++++++
>>> 1 file changed, 13 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
>>> index 8fcdd12f684a..19ef6a467d63 100644
>>> --- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
>>> @@ -197,6 +197,19 @@
>>> };
>>> };
>>>
>>> + apb_efuse: bus@30000 {
>>> + compatible = "simple-bus";
>>> + reg = <0x0 0x30000 0x0 0x1000>;
>> the public S922X datasheet lists the range as FF630000 - FF631FFF
>> that translates to a size of 0x2000, which the vendor kernel
>> (kernel/aml-4.9/arch/arm64/boot/dts/amlogic/mesong12a.dtsi from
>> buildroot-openlinux-A113-201901) seems to use as well:
>> io_efuse_base{
>> reg = <0x0 0xff630000 0x0 0x2000>;
>> };
>>
>> where did you take the size from?
>
> Another typo, it's 0x2000.
>
>>
>>> + #address-cells = <2>;
>>> + #size-cells = <2>;
>>> + ranges = <0x0 0x0 0x0 0x30000 0x0 0x1000>;
>> (see reg property above)
>>
>>> +
>>> + hwrng: rng {
>> this should be rng@218
>
> Exact.
>
Will wait for v2 on this one,
Kevin