[v2,3/3] ARM: dts: bcm2711: Enable HWRNG support
diff mbox series

Message ID 20191119061407.69911-4-stephen@brennan.io
State New
Headers show
Series
  • Raspberry Pi 4 HWRNG Support
Related show

Commit Message

Stephen Brennan Nov. 19, 2019, 6:14 a.m. UTC
BCM2711 features a RNG200 hardware random number generator block, which is
different from the BCM283x from which it inherits. Move the rng block from
BCM283x into a separate common file, and update the rng declaration of
BCM2711.

Signed-off-by: Stephen Brennan <stephen@brennan.io>
---
 arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
 arch/arm/boot/dts/bcm2835.dtsi        |  1 +
 arch/arm/boot/dts/bcm2836.dtsi        |  1 +
 arch/arm/boot/dts/bcm2837.dtsi        |  1 +
 arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
 arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
 6 files changed, 17 insertions(+), 9 deletions(-)
 create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi

Comments

Nicolas Saenz Julienne Nov. 19, 2019, 10:07 a.m. UTC | #1
Hi Stephen, thanks for the follow-up.

On Mon, 2019-11-18 at 22:14 -0800, Stephen Brennan wrote:
> BCM2711 features a RNG200 hardware random number generator block, which is
> different from the BCM283x from which it inherits. Move the rng block from
> BCM283x into a separate common file, and update the rng declaration of
> BCM2711.
> 
> Signed-off-by: Stephen Brennan <stephen@brennan.io>
> ---

It's petty in this case but you should add a list of changes here too.

>  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
>  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
>  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
>  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
>  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
>  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
>  6 files changed, 17 insertions(+), 9 deletions(-)
>  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
> 
> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
> index ac83dac2e6ba..4975567e948e 100644
> --- a/arch/arm/boot/dts/bcm2711.dtsi
> +++ b/arch/arm/boot/dts/bcm2711.dtsi
> @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
>  		};
>  
>  		rng@7e104000 {
> +			compatible = "brcm,bcm2711-rng200";
> +			reg = <0x7e104000 0x28>;
>  			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
> -
> -			/* RNG is incompatible with brcm,bcm2835-rng */
> -			status = "disabled";
> +			status = "okay";
>  		};
>  
>  		uart2: serial@7e201400 {
> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
> index 53bf4579cc22..f7b2f46e307d 100644
> --- a/arch/arm/boot/dts/bcm2835.dtsi
> +++ b/arch/arm/boot/dts/bcm2835.dtsi
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
> index 82d6c4662ae4..a85374195796 100644
> --- a/arch/arm/boot/dts/bcm2836.dtsi
> +++ b/arch/arm/boot/dts/bcm2836.dtsi
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
> index 9e95fee78e19..045d78ffea08 100644
> --- a/arch/arm/boot/dts/bcm2837.dtsi
> +++ b/arch/arm/boot/dts/bcm2837.dtsi
> @@ -1,4 +1,5 @@
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi
> b/arch/arm/boot/dts/bcm283x-common.dtsi
> new file mode 100644
> index 000000000000..3c8834bee390
> --- /dev/null
> +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
> @@ -0,0 +1,11 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +/ {
> +	soc {
> +		rng@7e104000 {
> +			compatible = "brcm,bcm2835-rng";
> +			reg = <0x7e104000 0x10>;
> +			interrupts = <2 29>;
> +		};
> +	};
> +};

I think Stefan wrote bcm283x-common.dtsi by mistake, he really meant
bcm2835-common.dtsi.

See bcm2835-common.dtsi's header comment:

/* This include file covers the common peripherals and configuration between
 * bcm2835, bcm2836 and bcm2837 implementations.
 */

Regards,
Nicolas
Matthias Brugger Nov. 19, 2019, 11:14 a.m. UTC | #2
On 19/11/2019 07:14, Stephen Brennan wrote:
> BCM2711 features a RNG200 hardware random number generator block, which is
> different from the BCM283x from which it inherits. Move the rng block from
> BCM283x into a separate common file, and update the rng declaration of
> BCM2711.
> 

I'd prefer to split this in two patches. One moving the node and another one
adding the new node for bcm2711.

Regards,
Matthias

> Signed-off-by: Stephen Brennan <stephen@brennan.io>
> ---
>  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
>  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
>  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
>  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
>  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
>  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
>  6 files changed, 17 insertions(+), 9 deletions(-)
>  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
> 
> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
> index ac83dac2e6ba..4975567e948e 100644
> --- a/arch/arm/boot/dts/bcm2711.dtsi
> +++ b/arch/arm/boot/dts/bcm2711.dtsi
> @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
>  		};
>  
>  		rng@7e104000 {
> +			compatible = "brcm,bcm2711-rng200";
> +			reg = <0x7e104000 0x28>;
>  			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
> -
> -			/* RNG is incompatible with brcm,bcm2835-rng */
> -			status = "disabled";
> +			status = "okay";
>  		};
>  
>  		uart2: serial@7e201400 {
> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
> index 53bf4579cc22..f7b2f46e307d 100644
> --- a/arch/arm/boot/dts/bcm2835.dtsi
> +++ b/arch/arm/boot/dts/bcm2835.dtsi
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
> index 82d6c4662ae4..a85374195796 100644
> --- a/arch/arm/boot/dts/bcm2836.dtsi
> +++ b/arch/arm/boot/dts/bcm2836.dtsi
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
> index 9e95fee78e19..045d78ffea08 100644
> --- a/arch/arm/boot/dts/bcm2837.dtsi
> +++ b/arch/arm/boot/dts/bcm2837.dtsi
> @@ -1,4 +1,5 @@
>  #include "bcm283x.dtsi"
> +#include "bcm283x-common.dtsi"
>  #include "bcm2835-common.dtsi"
>  
>  / {
> diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi b/arch/arm/boot/dts/bcm283x-common.dtsi
> new file mode 100644
> index 000000000000..3c8834bee390
> --- /dev/null
> +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
> @@ -0,0 +1,11 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +/ {
> +	soc {
> +		rng@7e104000 {
> +			compatible = "brcm,bcm2835-rng";
> +			reg = <0x7e104000 0x10>;
> +			interrupts = <2 29>;
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> index 3caaa57eb6c8..5219339fc27c 100644
> --- a/arch/arm/boot/dts/bcm283x.dtsi
> +++ b/arch/arm/boot/dts/bcm283x.dtsi
> @@ -84,12 +84,6 @@ clocks: cprman@7e101000 {
>  				<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
>  		};
>  
> -		rng@7e104000 {
> -			compatible = "brcm,bcm2835-rng";
> -			reg = <0x7e104000 0x10>;
> -			interrupts = <2 29>;
> -		};
> -
>  		mailbox: mailbox@7e00b880 {
>  			compatible = "brcm,bcm2835-mbox";
>  			reg = <0x7e00b880 0x40>;
>
Matthias Brugger Nov. 19, 2019, 11:15 a.m. UTC | #3
On 19/11/2019 11:07, Nicolas Saenz Julienne wrote:
> Hi Stephen, thanks for the follow-up.
> 
> On Mon, 2019-11-18 at 22:14 -0800, Stephen Brennan wrote:
>> BCM2711 features a RNG200 hardware random number generator block, which is
>> different from the BCM283x from which it inherits. Move the rng block from
>> BCM283x into a separate common file, and update the rng declaration of
>> BCM2711.
>>
>> Signed-off-by: Stephen Brennan <stephen@brennan.io>
>> ---
> 
> It's petty in this case but you should add a list of changes here too.
> 
>>  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
>>  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
>>  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
>>  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
>>  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
>>  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
>>  6 files changed, 17 insertions(+), 9 deletions(-)
>>  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
>>
>> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
>> index ac83dac2e6ba..4975567e948e 100644
>> --- a/arch/arm/boot/dts/bcm2711.dtsi
>> +++ b/arch/arm/boot/dts/bcm2711.dtsi
>> @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
>>  		};
>>  
>>  		rng@7e104000 {
>> +			compatible = "brcm,bcm2711-rng200";
>> +			reg = <0x7e104000 0x28>;
>>  			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
>> -
>> -			/* RNG is incompatible with brcm,bcm2835-rng */
>> -			status = "disabled";
>> +			status = "okay";
>>  		};
>>  
>>  		uart2: serial@7e201400 {
>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>> index 53bf4579cc22..f7b2f46e307d 100644
>> --- a/arch/arm/boot/dts/bcm2835.dtsi
>> +++ b/arch/arm/boot/dts/bcm2835.dtsi
>> @@ -1,5 +1,6 @@
>>  // SPDX-License-Identifier: GPL-2.0
>>  #include "bcm283x.dtsi"
>> +#include "bcm283x-common.dtsi"
>>  #include "bcm2835-common.dtsi"
>>  
>>  / {
>> diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
>> index 82d6c4662ae4..a85374195796 100644
>> --- a/arch/arm/boot/dts/bcm2836.dtsi
>> +++ b/arch/arm/boot/dts/bcm2836.dtsi
>> @@ -1,5 +1,6 @@
>>  // SPDX-License-Identifier: GPL-2.0
>>  #include "bcm283x.dtsi"
>> +#include "bcm283x-common.dtsi"
>>  #include "bcm2835-common.dtsi"
>>  
>>  / {
>> diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
>> index 9e95fee78e19..045d78ffea08 100644
>> --- a/arch/arm/boot/dts/bcm2837.dtsi
>> +++ b/arch/arm/boot/dts/bcm2837.dtsi
>> @@ -1,4 +1,5 @@
>>  #include "bcm283x.dtsi"
>> +#include "bcm283x-common.dtsi"
>>  #include "bcm2835-common.dtsi"
>>  
>>  / {
>> diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi
>> b/arch/arm/boot/dts/bcm283x-common.dtsi
>> new file mode 100644
>> index 000000000000..3c8834bee390
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
>> @@ -0,0 +1,11 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +
>> +/ {
>> +	soc {
>> +		rng@7e104000 {
>> +			compatible = "brcm,bcm2835-rng";
>> +			reg = <0x7e104000 0x10>;
>> +			interrupts = <2 29>;
>> +		};
>> +	};
>> +};
> 
> I think Stefan wrote bcm283x-common.dtsi by mistake, he really meant
> bcm2835-common.dtsi.
> 

Thanks I was just wondering on which tree/patch-set this was based.

Regards,
Matthias

> See bcm2835-common.dtsi's header comment:
> 
> /* This include file covers the common peripherals and configuration between
>  * bcm2835, bcm2836 and bcm2837 implementations.
>  */
> 
> Regards,
> Nicolas
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Stefan Wahren Nov. 19, 2019, 4:59 p.m. UTC | #4
Hi Stephen,

Am 19.11.19 um 12:15 schrieb Matthias Brugger:
>
> On 19/11/2019 11:07, Nicolas Saenz Julienne wrote:
>> Hi Stephen, thanks for the follow-up.
>>
>> On Mon, 2019-11-18 at 22:14 -0800, Stephen Brennan wrote:
>>> BCM2711 features a RNG200 hardware random number generator block, which is
>>> different from the BCM283x from which it inherits. Move the rng block from
>>> BCM283x into a separate common file, and update the rng declaration of
>>> BCM2711.
>>>
>>> Signed-off-by: Stephen Brennan <stephen@brennan.io>
>>> ---
>> It's petty in this case but you should add a list of changes here too.
>>
>>>  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
>>>  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
>>>  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
>>>  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
>>>  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
>>>  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
>>>  6 files changed, 17 insertions(+), 9 deletions(-)
>>>  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
>>>
>>> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
>>> index ac83dac2e6ba..4975567e948e 100644
>>> --- a/arch/arm/boot/dts/bcm2711.dtsi
>>> +++ b/arch/arm/boot/dts/bcm2711.dtsi
>>> @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
>>>  		};
>>>
>>>  		rng@7e104000 {
>>> +			compatible = "brcm,bcm2711-rng200";
>>> +			reg = <0x7e104000 0x28>;
>>>  			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
please take into account that according to the rng200 binding document
there is no interrupt or clock. So drop it.
>>> -
>>> -			/* RNG is incompatible with brcm,bcm2835-rng */
>>> -			status = "disabled";
>>> +			status = "okay";
>>>  		};
>>>
>>>  		uart2: serial@7e201400 {
>>> diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
>>> index 53bf4579cc22..f7b2f46e307d 100644
>>> --- a/arch/arm/boot/dts/bcm2835.dtsi
>>> +++ b/arch/arm/boot/dts/bcm2835.dtsi
>>> @@ -1,5 +1,6 @@
>>>  // SPDX-License-Identifier: GPL-2.0
>>>  #include "bcm283x.dtsi"
>>> +#include "bcm283x-common.dtsi"
>>>  #include "bcm2835-common.dtsi"
>>>
>>>  / {
>>> diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
>>> index 82d6c4662ae4..a85374195796 100644
>>> --- a/arch/arm/boot/dts/bcm2836.dtsi
>>> +++ b/arch/arm/boot/dts/bcm2836.dtsi
>>> @@ -1,5 +1,6 @@
>>>  // SPDX-License-Identifier: GPL-2.0
>>>  #include "bcm283x.dtsi"
>>> +#include "bcm283x-common.dtsi"
>>>  #include "bcm2835-common.dtsi"
>>>
>>>  / {
>>> diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
>>> index 9e95fee78e19..045d78ffea08 100644
>>> --- a/arch/arm/boot/dts/bcm2837.dtsi
>>> +++ b/arch/arm/boot/dts/bcm2837.dtsi
>>> @@ -1,4 +1,5 @@
>>>  #include "bcm283x.dtsi"
>>> +#include "bcm283x-common.dtsi"
>>>  #include "bcm2835-common.dtsi"
>>>
>>>  / {
>>> diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi
>>> b/arch/arm/boot/dts/bcm283x-common.dtsi
>>> new file mode 100644
>>> index 000000000000..3c8834bee390
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
>>> @@ -0,0 +1,11 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>> +
>>> +/ {
>>> +	soc {
>>> +		rng@7e104000 {
>>> +			compatible = "brcm,bcm2835-rng";
>>> +			reg = <0x7e104000 0x10>;
>>> +			interrupts = <2 29>;
>>> +		};
>>> +	};
>>> +};
>> I think Stefan wrote bcm283x-common.dtsi by mistake, he really meant
>> bcm2835-common.dtsi.

Correct. Sorry for the confusion.

Regards
Stefan

>>
> Thanks I was just wondering on which tree/patch-set this was based.
>
> Regards,
> Matthias
>
>> See bcm2835-common.dtsi's header comment:
>>
>> /* This include file covers the common peripherals and configuration between
>>  * bcm2835, bcm2836 and bcm2837 implementations.
>>  */
>>
>> Regards,
>> Nicolas
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Stephen Brennan Nov. 19, 2019, 5:09 p.m. UTC | #5
Hi Nicolas,

On Tue Nov 19, 2019 at 11:07 AM, Nicolas Saenz Julienne wrote:
> Hi Stephen, thanks for the follow-up.
>
> 
> On Mon, 2019-11-18 at 22:14 -0800, Stephen Brennan wrote:
> > BCM2711 features a RNG200 hardware random number generator block, which i=
> s
> > different from the BCM283x from which it inherits. Move the rng block fro=
> m
> > BCM283x into a separate common file, and update the rng declaration of
> > BCM2711.
> >=20
> > Signed-off-by: Stephen Brennan <stephen@brennan.io>
> > ---
>
> 
> It's petty in this case but you should add a list of changes here too.

To make sure I understand, you mean listing out the changes in each 
revision of the patch series?

>
> 
> >  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
> >  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
> >  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
> >  6 files changed, 17 insertions(+), 9 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
> >=20
> > diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.d=
> tsi
> > index ac83dac2e6ba..4975567e948e 100644
> > --- a/arch/arm/boot/dts/bcm2711.dtsi
> > +++ b/arch/arm/boot/dts/bcm2711.dtsi
> > @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
> >  		};
> > =20
> >  		rng@7e104000 {
> > +			compatible =3D "brcm,bcm2711-rng200";
> > +			reg =3D <0x7e104000 0x28>;
> >  			interrupts =3D <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
> > -
> > -			/* RNG is incompatible with brcm,bcm2835-rng */
> > -			status =3D "disabled";
> > +			status =3D "okay";
> >  		};
> > =20
> >  		uart2: serial@7e201400 {
> > diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.d=
> tsi
> > index 53bf4579cc22..f7b2f46e307d 100644
> > --- a/arch/arm/boot/dts/bcm2835.dtsi
> > +++ b/arch/arm/boot/dts/bcm2835.dtsi
> > @@ -1,5 +1,6 @@
> >  // SPDX-License-Identifier: GPL-2.0
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> > =20
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.d=
> tsi
> > index 82d6c4662ae4..a85374195796 100644
> > --- a/arch/arm/boot/dts/bcm2836.dtsi
> > +++ b/arch/arm/boot/dts/bcm2836.dtsi
> > @@ -1,5 +1,6 @@
> >  // SPDX-License-Identifier: GPL-2.0
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> > =20
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.d=
> tsi
> > index 9e95fee78e19..045d78ffea08 100644
> > --- a/arch/arm/boot/dts/bcm2837.dtsi
> > +++ b/arch/arm/boot/dts/bcm2837.dtsi
> > @@ -1,4 +1,5 @@
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> > =20
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi
> > b/arch/arm/boot/dts/bcm283x-common.dtsi
> > new file mode 100644
> > index 000000000000..3c8834bee390
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
> > @@ -0,0 +1,11 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +
> > +/ {
> > +	soc {
> > +		rng@7e104000 {
> > +			compatible =3D "brcm,bcm2835-rng";
> > +			reg =3D <0x7e104000 0x10>;
> > +			interrupts =3D <2 29>;
> > +		};
> > +	};
> > +};
>
> 
> I think Stefan wrote bcm283x-common.dtsi by mistake, he really meant
> bcm2835-common.dtsi.
>
> 
> See bcm2835-common.dtsi's header comment:
>
> 
> /* This include file covers the common peripherals and configuration
> betwee=
> n
> * bcm2835, bcm2836 and bcm2837 implementations.
> */
>

Wow, thank you, that makes a lot more sense!

Best,
Stephen

> 
> Regards,
> Nicolas
>
> 
>
> 
>
>
Stephen Brennan Nov. 19, 2019, 5:13 p.m. UTC | #6
Hi Matthias,

On Tue Nov 19, 2019 at 12:14 PM, Matthias Brugger wrote:
>
> 
>
> 
> On 19/11/2019 07:14, Stephen Brennan wrote:
> > BCM2711 features a RNG200 hardware random number generator block, which is
> > different from the BCM283x from which it inherits. Move the rng block from
> > BCM283x into a separate common file, and update the rng declaration of
> > BCM2711.
> > 
>
> 
> I'd prefer to split this in two patches. One moving the node and another
> one
> adding the new node for bcm2711.
>

Makes sense, I thought about doing it initially but didn't do it. In the 
patch moving the node, should the bcm2711 continue to inherit the moved rng 
node from its new location?

Thanks,
Stephen

> 
> Regards,
> Matthias
>
> 
> > Signed-off-by: Stephen Brennan <stephen@brennan.io>
> > ---
> >  arch/arm/boot/dts/bcm2711.dtsi        |  6 +++---
> >  arch/arm/boot/dts/bcm2835.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm2836.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm2837.dtsi        |  1 +
> >  arch/arm/boot/dts/bcm283x-common.dtsi | 11 +++++++++++
> >  arch/arm/boot/dts/bcm283x.dtsi        |  6 ------
> >  6 files changed, 17 insertions(+), 9 deletions(-)
> >  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
> > index ac83dac2e6ba..4975567e948e 100644
> > --- a/arch/arm/boot/dts/bcm2711.dtsi
> > +++ b/arch/arm/boot/dts/bcm2711.dtsi
> > @@ -92,10 +92,10 @@ pm: watchdog@7e100000 {
> >  		};
> >  
> >  		rng@7e104000 {
> > +			compatible = "brcm,bcm2711-rng200";
> > +			reg = <0x7e104000 0x28>;
> >  			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
> > -
> > -			/* RNG is incompatible with brcm,bcm2835-rng */
> > -			status = "disabled";
> > +			status = "okay";
> >  		};
> >  
> >  		uart2: serial@7e201400 {
> > diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
> > index 53bf4579cc22..f7b2f46e307d 100644
> > --- a/arch/arm/boot/dts/bcm2835.dtsi
> > +++ b/arch/arm/boot/dts/bcm2835.dtsi
> > @@ -1,5 +1,6 @@
> >  // SPDX-License-Identifier: GPL-2.0
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> >  
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
> > index 82d6c4662ae4..a85374195796 100644
> > --- a/arch/arm/boot/dts/bcm2836.dtsi
> > +++ b/arch/arm/boot/dts/bcm2836.dtsi
> > @@ -1,5 +1,6 @@
> >  // SPDX-License-Identifier: GPL-2.0
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> >  
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
> > index 9e95fee78e19..045d78ffea08 100644
> > --- a/arch/arm/boot/dts/bcm2837.dtsi
> > +++ b/arch/arm/boot/dts/bcm2837.dtsi
> > @@ -1,4 +1,5 @@
> >  #include "bcm283x.dtsi"
> > +#include "bcm283x-common.dtsi"
> >  #include "bcm2835-common.dtsi"
> >  
> >  / {
> > diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi b/arch/arm/boot/dts/bcm283x-common.dtsi
> > new file mode 100644
> > index 000000000000..3c8834bee390
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/bcm283x-common.dtsi
> > @@ -0,0 +1,11 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +
> > +/ {
> > +	soc {
> > +		rng@7e104000 {
> > +			compatible = "brcm,bcm2835-rng";
> > +			reg = <0x7e104000 0x10>;
> > +			interrupts = <2 29>;
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> > index 3caaa57eb6c8..5219339fc27c 100644
> > --- a/arch/arm/boot/dts/bcm283x.dtsi
> > +++ b/arch/arm/boot/dts/bcm283x.dtsi
> > @@ -84,12 +84,6 @@ clocks: cprman@7e101000 {
> >  				<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
> >  		};
> >  
> > -		rng@7e104000 {
> > -			compatible = "brcm,bcm2835-rng";
> > -			reg = <0x7e104000 0x10>;
> > -			interrupts = <2 29>;
> > -		};
> > -
> >  		mailbox: mailbox@7e00b880 {
> >  			compatible = "brcm,bcm2835-mbox";
> >  			reg = <0x7e00b880 0x40>;
> > 
>
> 
>
>
Nicolas Saenz Julienne Nov. 19, 2019, 5:25 p.m. UTC | #7
On Tue, 2019-11-19 at 09:09 -0800, Stephen Brennan wrote:
> Hi Nicolas,
> 
> On Tue Nov 19, 2019 at 11:07 AM, Nicolas Saenz Julienne wrote:
> > Hi Stephen, thanks for the follow-up.
> > 
> > 
> > On Mon, 2019-11-18 at 22:14 -0800, Stephen Brennan wrote:
> > > BCM2711 features a RNG200 hardware random number generator block, which i=
> > s
> > > different from the BCM283x from which it inherits. Move the rng block fro=
> > m
> > > BCM283x into a separate common file, and update the rng declaration of
> > > BCM2711.
> > > =20
> > > Signed-off-by: Stephen Brennan <stephen@brennan.io>
> > > ---
> > 
> > It's petty in this case but you should add a list of changes here too.
> 
> To make sure I understand, you mean listing out the changes in each 
> revision of the patch series?

What's generally expected is for the cover letter to contain an overview of the
series changes. No need to go into specific detail. Then, every patch should
list its local modifications.

Also remember to add the list of changes after the '---' line in your patch,
this way they won't show up in the final commit log.

If in doubt have a look at the kernel mailing lists, there are plenty of
examples.

Regards,
Nicolas

Patch
diff mbox series

diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index ac83dac2e6ba..4975567e948e 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -92,10 +92,10 @@  pm: watchdog@7e100000 {
 		};
 
 		rng@7e104000 {
+			compatible = "brcm,bcm2711-rng200";
+			reg = <0x7e104000 0x28>;
 			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
-
-			/* RNG is incompatible with brcm,bcm2835-rng */
-			status = "disabled";
+			status = "okay";
 		};
 
 		uart2: serial@7e201400 {
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 53bf4579cc22..f7b2f46e307d 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -1,5 +1,6 @@ 
 // SPDX-License-Identifier: GPL-2.0
 #include "bcm283x.dtsi"
+#include "bcm283x-common.dtsi"
 #include "bcm2835-common.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
index 82d6c4662ae4..a85374195796 100644
--- a/arch/arm/boot/dts/bcm2836.dtsi
+++ b/arch/arm/boot/dts/bcm2836.dtsi
@@ -1,5 +1,6 @@ 
 // SPDX-License-Identifier: GPL-2.0
 #include "bcm283x.dtsi"
+#include "bcm283x-common.dtsi"
 #include "bcm2835-common.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
index 9e95fee78e19..045d78ffea08 100644
--- a/arch/arm/boot/dts/bcm2837.dtsi
+++ b/arch/arm/boot/dts/bcm2837.dtsi
@@ -1,4 +1,5 @@ 
 #include "bcm283x.dtsi"
+#include "bcm283x-common.dtsi"
 #include "bcm2835-common.dtsi"
 
 / {
diff --git a/arch/arm/boot/dts/bcm283x-common.dtsi b/arch/arm/boot/dts/bcm283x-common.dtsi
new file mode 100644
index 000000000000..3c8834bee390
--- /dev/null
+++ b/arch/arm/boot/dts/bcm283x-common.dtsi
@@ -0,0 +1,11 @@ 
+// SPDX-License-Identifier: GPL-2.0
+
+/ {
+	soc {
+		rng@7e104000 {
+			compatible = "brcm,bcm2835-rng";
+			reg = <0x7e104000 0x10>;
+			interrupts = <2 29>;
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 3caaa57eb6c8..5219339fc27c 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -84,12 +84,6 @@  clocks: cprman@7e101000 {
 				<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
 		};
 
-		rng@7e104000 {
-			compatible = "brcm,bcm2835-rng";
-			reg = <0x7e104000 0x10>;
-			interrupts = <2 29>;
-		};
-
 		mailbox: mailbox@7e00b880 {
 			compatible = "brcm,bcm2835-mbox";
 			reg = <0x7e00b880 0x40>;