2019-05-20 18:04:59

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 0/3] arm64: dts: meson: g12a: add drive strength and hwrng

This patchset adds :
- drive strength for the HDMI DDC and Ethernet pads
- HWRNG node

Dependencies:
- None

Neil Armstrong (3):
arm64: dts: meson: g12a: add drive-strength hdmi ddc pins
arm64: dts: meson: g12a: add drive strength for eth pins
arm64: dts: meson: g12a: Add hwrng node

arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

--
2.21.0



2019-05-20 18:05:00

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: meson: g12a: add drive-strength hdmi ddc pins

With the default boot settings, the DDC drive strength is too weak,
set the driver-strengh to 4mA to avoid errors on the DDC line.

Signed-off-by: Neil Armstrong <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
index 5b4942c73e65..aa678d92238b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
@@ -327,6 +327,7 @@
"hdmitx_sck";
function = "hdmitx";
bias-disable;
+ drive-strength-microamp = <4000>;
};
};

--
2.21.0


2019-05-20 18:05:03

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: meson: g12a: add drive strength for eth pins

With the X96 Max board using an external Gigabit Ethernet PHY,
add the same driver strength to the Ethernet pins as the vendor
tree.

Signed-off-by: Neil Armstrong <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
index aa678d92238b..8fcdd12f684a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi
@@ -263,6 +263,7 @@
"eth_txd0",
"eth_txd1";
function = "eth";
+ drive-strength-microamp = <4000>;
bias-disable;
};
};
@@ -275,6 +276,7 @@
"eth_txd2_rgmii",
"eth_txd3_rgmii";
function = "eth";
+ drive-strength-microamp = <4000>;
bias-disable;
};
};
--
2.21.0


2019-05-20 18:06:07

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: meson: g12a: Add hwrng node

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 <[email protected]>
---
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>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges = <0x0 0x0 0x0 0x30000 0x0 0x1000>;
+
+ hwrng: rng {
+ compatible = "amlogic,meson-rng";
+ reg = <0x0 0x218 0x0 0x4>;
+ };
+ };
+
periphs: bus@34400 {
compatible = "simple-bus";
reg = <0x0 0x34400 0x0 0x400>;
--
2.21.0


2019-05-20 18:21:57

by Martin Blumenstingl

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: meson: g12a: Add hwrng node

Hi Neil,

On Mon, May 20, 2019 at 3:49 PM Neil Armstrong <[email protected]> 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 <[email protected]>
> ---
> 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?

> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges = <0x0 0x0 0x0 0x30000 0x0 0x1000>;
(see reg property above)

> +
> + hwrng: rng {
this should be rng@218


Martin

2019-05-20 18:22:15

by Martin Blumenstingl

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: dts: meson: g12a: add drive strength for eth pins

On Mon, May 20, 2019 at 3:48 PM Neil Armstrong <[email protected]> wrote:
>
> With the X96 Max board using an external Gigabit Ethernet PHY,
> add the same driver strength to the Ethernet pins as the vendor
> tree.
>
> Signed-off-by: Neil Armstrong <[email protected]>
Amlogic's vendor kernel (from buildroot-openlinux-A113-201901) does the same so:
Reviewed-by: Martin Blumenstingl <[email protected]>

2019-05-20 18:23:15

by Martin Blumenstingl

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: meson: g12a: add drive-strength hdmi ddc pins

On Mon, May 20, 2019 at 3:48 PM Neil Armstrong <[email protected]> wrote:
>
> With the default boot settings, the DDC drive strength is too weak,
> set the driver-strengh to 4mA to avoid errors on the DDC line.
>
> Signed-off-by: Neil Armstrong <[email protected]>
Amlogic's vendor kernel (from buildroot-openlinux-A113-201901) does the same so:
Reviewed-by: Martin Blumenstingl <[email protected]>

2019-05-21 08:33:59

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: meson: g12a: Add hwrng node

On 20/05/2019 19:45, Martin Blumenstingl wrote:
> Hi Neil,
>
> On Mon, May 20, 2019 at 3:49 PM Neil Armstrong <[email protected]> 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 <[email protected]>
>> ---
>> 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.

>
>
> Martin
>

Neil

2019-05-23 16:15:01

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: meson: g12a: add drive-strength hdmi ddc pins

Martin Blumenstingl <[email protected]> writes:

> On Mon, May 20, 2019 at 3:48 PM Neil Armstrong <[email protected]> wrote:
>>
>> With the default boot settings, the DDC drive strength is too weak,
>> set the driver-strengh to 4mA to avoid errors on the DDC line.
>>
>> Signed-off-by: Neil Armstrong <[email protected]>
> Amlogic's vendor kernel (from buildroot-openlinux-A113-201901) does the same so:
> Reviewed-by: Martin Blumenstingl <[email protected]>

Queued for v5.3,

Kevin

2019-05-23 16:15:15

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: dts: meson: g12a: add drive strength for eth pins

Martin Blumenstingl <[email protected]> writes:

> On Mon, May 20, 2019 at 3:48 PM Neil Armstrong <[email protected]> wrote:
>>
>> With the X96 Max board using an external Gigabit Ethernet PHY,
>> add the same driver strength to the Ethernet pins as the vendor
>> tree.
>>
>> Signed-off-by: Neil Armstrong <[email protected]>
> Amlogic's vendor kernel (from buildroot-openlinux-A113-201901) does the same so:
> Reviewed-by: Martin Blumenstingl <[email protected]>

Queued for v5.3,

Kevin

2019-05-23 16:17:23

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: meson: g12a: Add hwrng node

Neil Armstrong <[email protected]> writes:

> On 20/05/2019 19:45, Martin Blumenstingl wrote:
>> Hi Neil,
>>
>> On Mon, May 20, 2019 at 3:49 PM Neil Armstrong <[email protected]> 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 <[email protected]>
>>> ---
>>> 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