Message ID | 20191118075807.165126-4-stephen@brennan.io (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Raspberry Pi 4 HWRNG Support | expand |
Hi Stephen, On Sun, 2019-11-17 at 23:58 -0800, Stephen Brennan wrote: > From: Stefan Wahren <wahrenst@gmx.net> > > This enables hardware random number generator support for the BCM2711 > on the Raspberry Pi 4 board. > > Signed-off-by: Stefan Wahren <wahrenst@gmx.net> > Signed-off-by: Stephen Brennan <stephen@brennan.io> > --- > arch/arm/boot/dts/bcm2711.dtsi | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi > index ac83dac2e6ba..2c19e5de284a 100644 > --- a/arch/arm/boot/dts/bcm2711.dtsi > +++ b/arch/arm/boot/dts/bcm2711.dtsi > @@ -92,10 +92,9 @@ pm: watchdog@7e100000 { > }; > > rng@7e104000 { > + compatible = "brcm,bcm2711-rng200"; > interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; > - > - /* RNG is incompatible with brcm,bcm2835-rng */ > - status = "disabled"; > + status = "okay"; > }; > > uart2: serial@7e201400 { We inherit the reg property from bcm283x.dtsi, on which we only define a size of 0x10 bytes. I gather from the driver that iproc-rng200's register space is at least 0x28 bytes big. We should also update the 'reg' property to: reg = <0x7e104000 0x28>; Regards, Nicolas
Hi, Am 18.11.19 um 12:44 schrieb Nicolas Saenz Julienne: > Hi Stephen, > > On Sun, 2019-11-17 at 23:58 -0800, Stephen Brennan wrote: >> From: Stefan Wahren <wahrenst@gmx.net> >> >> This enables hardware random number generator support for the BCM2711 >> on the Raspberry Pi 4 board. >> >> Signed-off-by: Stefan Wahren <wahrenst@gmx.net> >> Signed-off-by: Stephen Brennan <stephen@brennan.io> >> --- >> arch/arm/boot/dts/bcm2711.dtsi | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi >> index ac83dac2e6ba..2c19e5de284a 100644 >> --- a/arch/arm/boot/dts/bcm2711.dtsi >> +++ b/arch/arm/boot/dts/bcm2711.dtsi >> @@ -92,10 +92,9 @@ pm: watchdog@7e100000 { >> }; >> >> rng@7e104000 { >> + compatible = "brcm,bcm2711-rng200"; >> interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; >> - >> - /* RNG is incompatible with brcm,bcm2835-rng */ >> - status = "disabled"; >> + status = "okay"; >> }; >> >> uart2: serial@7e201400 { > We inherit the reg property from bcm283x.dtsi, on which we only define a size > of 0x10 bytes. I gather from the driver that iproc-rng200's register space is > at least 0x28 bytes big. We should also update the 'reg' property to: > > reg = <0x7e104000 0x28>; Thanks for sending and noticing. A proper solution would be to move the whole rng node from bcm283x.dtsi to bcm283x-common.dtsi and define a completely new rng node in bcm2711.dtsi. Regards Stefan > > Regards, > Nicolas > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hello Stefan & Nicolas, On Mon Nov 18, 2019 at 8:44 PM, Stefan Wahren wrote: > Hi, > > > Am 18.11.19 um 12:44 schrieb Nicolas Saenz Julienne: > > Hi Stephen, > > > > On Sun, 2019-11-17 at 23:58 -0800, Stephen Brennan wrote: > >> From: Stefan Wahren <wahrenst@gmx.net> > >> > >> This enables hardware random number generator support for the BCM2711 > >> on the Raspberry Pi 4 board. > >> > >> Signed-off-by: Stefan Wahren <wahrenst@gmx.net> > >> Signed-off-by: Stephen Brennan <stephen@brennan.io> > >> --- > >> arch/arm/boot/dts/bcm2711.dtsi | 5 ++--- > >> 1 file changed, 2 insertions(+), 3 deletions(-) > >> > >> diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi > >> index ac83dac2e6ba..2c19e5de284a 100644 > >> --- a/arch/arm/boot/dts/bcm2711.dtsi > >> +++ b/arch/arm/boot/dts/bcm2711.dtsi > >> @@ -92,10 +92,9 @@ pm: watchdog@7e100000 { > >> }; > >> > >> rng@7e104000 { > >> + compatible = "brcm,bcm2711-rng200"; > >> interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; > >> - > >> - /* RNG is incompatible with brcm,bcm2835-rng */ > >> - status = "disabled"; > >> + status = "okay"; > >> }; > >> > >> uart2: serial@7e201400 { > > We inherit the reg property from bcm283x.dtsi, on which we only define a size > > of 0x10 bytes. I gather from the driver that iproc-rng200's register space is > > at least 0x28 bytes big. We should also update the 'reg' property to: > > > > reg = <0x7e104000 0x28>; > > > Thanks for sending and noticing. A proper solution would be to move the > whole rng node from bcm283x.dtsi to bcm283x-common.dtsi and define a > completely new rng node in bcm2711.dtsi. Thanks both for your time and consideration. I'm not terribly familiar with device tree source but I think I understand what you'd like here. I'll send a v2 that does this! Regards, Stephen > > > Regards > Stefan > > > > > > Regards, > > Nicolas > > > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > > >
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index ac83dac2e6ba..2c19e5de284a 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -92,10 +92,9 @@ pm: watchdog@7e100000 { }; rng@7e104000 { + compatible = "brcm,bcm2711-rng200"; interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; - - /* RNG is incompatible with brcm,bcm2835-rng */ - status = "disabled"; + status = "okay"; }; uart2: serial@7e201400 {