devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support
@ 2019-11-19  6:14 Stephen Brennan
  2019-11-19  6:14 ` [PATCH v2 1/3] dt-bindings: rng: add BCM2711 RNG compatible Stephen Brennan
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19  6:14 UTC (permalink / raw)
  To: stephen
  Cc: Matt Mackall, Herbert Xu, Rob Herring, Mark Rutland, Ray Jui,
	Scott Branden, bcm-kernel-feedback-list, Eric Anholt,
	Stefan Wahren, Arnd Bergmann, Greg Kroah-Hartman,
	Florian Fainelli, linux-crypto, devicetree, linux-arm-kernel,
	linux-kernel, linux-rpi-kernel

This patch series enables support for the HWRNG included on the Raspberry
Pi 4.  It is simply a rebase of Stefan's branch [1]. I went ahead and
tested this out on a Pi 4.  Prior to this patch series, attempting to use
the hwrng gives:

    $ head -c 2 /dev/hwrng
    head: /dev/hwrng: Input/output error

After this series, the same command gives two random bytes.

Changes in v2:
- specify the correct size for the region in the dts, refactor bcm283x rng

---

Stefan Wahren (2):
  dt-bindings: rng: add BCM2711 RNG compatible
  hwrng: iproc-rng200: Add support for BCM2711

Stephen Brennan (1):
  ARM: dts: bcm2711: Enable HWRNG support

 .../devicetree/bindings/rng/brcm,iproc-rng200.txt     |  1 +
 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 ------
 drivers/char/hw_random/Kconfig                        |  2 +-
 drivers/char/hw_random/iproc-rng200.c                 |  1 +
 9 files changed, 20 insertions(+), 10 deletions(-)
 create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi

-- 
2.24.0




^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 1/3] dt-bindings: rng: add BCM2711 RNG compatible
  2019-11-19  6:14 [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Stephen Brennan
@ 2019-11-19  6:14 ` Stephen Brennan
  2019-11-19  6:14 ` [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711 Stephen Brennan
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19  6:14 UTC (permalink / raw)
  To: stephen
  Cc: Matt Mackall, Herbert Xu, Rob Herring, Mark Rutland, Ray Jui,
	Scott Branden, bcm-kernel-feedback-list, Eric Anholt,
	Stefan Wahren, Arnd Bergmann, Greg Kroah-Hartman,
	Florian Fainelli, linux-crypto, devicetree, linux-arm-kernel,
	linux-kernel, linux-rpi-kernel

From: Stefan Wahren <wahrenst@gmx.net>

The BCM2711 has a RNG200 block, so document its compatible string.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stephen Brennan <stephen@brennan.io>
---
 Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt b/Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt
index c223e54452da..802523196ee5 100644
--- a/Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt
+++ b/Documentation/devicetree/bindings/rng/brcm,iproc-rng200.txt
@@ -2,6 +2,7 @@ HWRNG support for the iproc-rng200 driver
 
 Required properties:
 - compatible : Must be one of:
+	       "brcm,bcm2711-rng200"
 	       "brcm,bcm7211-rng200"
 	       "brcm,bcm7278-rng200"
 	       "brcm,iproc-rng200"
-- 
2.24.0




^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711
  2019-11-19  6:14 [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Stephen Brennan
  2019-11-19  6:14 ` [PATCH v2 1/3] dt-bindings: rng: add BCM2711 RNG compatible Stephen Brennan
@ 2019-11-19  6:14 ` Stephen Brennan
  2019-11-19 11:16   ` Matthias Brugger
  2019-11-19  6:14 ` [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support Stephen Brennan
  2019-12-11  9:33 ` [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Herbert Xu
  3 siblings, 1 reply; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19  6:14 UTC (permalink / raw)
  To: stephen
  Cc: Matt Mackall, Herbert Xu, Rob Herring, Mark Rutland, Ray Jui,
	Scott Branden, bcm-kernel-feedback-list, Eric Anholt,
	Stefan Wahren, Arnd Bergmann, Greg Kroah-Hartman,
	Florian Fainelli, linux-crypto, devicetree, linux-arm-kernel,
	linux-kernel, linux-rpi-kernel

From: Stefan Wahren <wahrenst@gmx.net>

BCM2711 features a RNG200 hardware random number generator block.
So make the driver available.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stephen Brennan <stephen@brennan.io>
---
 drivers/char/hw_random/Kconfig        | 2 +-
 drivers/char/hw_random/iproc-rng200.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
index 7c7fecfa2fb2..77e848fca531 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -90,7 +90,7 @@ config HW_RANDOM_BCM2835
 
 config HW_RANDOM_IPROC_RNG200
 	tristate "Broadcom iProc/STB RNG200 support"
-	depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
+	depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB
 	default HW_RANDOM
 	---help---
 	  This driver provides kernel-side support for the RNG200
diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
index 899ff25f4f28..32d9fe61a225 100644
--- a/drivers/char/hw_random/iproc-rng200.c
+++ b/drivers/char/hw_random/iproc-rng200.c
@@ -213,6 +213,7 @@ static int iproc_rng200_probe(struct platform_device *pdev)
 }
 
 static const struct of_device_id iproc_rng200_of_match[] = {
+	{ .compatible = "brcm,bcm2711-rng200", },
 	{ .compatible = "brcm,bcm7211-rng200", },
 	{ .compatible = "brcm,bcm7278-rng200", },
 	{ .compatible = "brcm,iproc-rng200", },
-- 
2.24.0




^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19  6:14 [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Stephen Brennan
  2019-11-19  6:14 ` [PATCH v2 1/3] dt-bindings: rng: add BCM2711 RNG compatible Stephen Brennan
  2019-11-19  6:14 ` [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711 Stephen Brennan
@ 2019-11-19  6:14 ` Stephen Brennan
  2019-11-19 10:07   ` Nicolas Saenz Julienne
  2019-11-19 11:14   ` Matthias Brugger
  2019-12-11  9:33 ` [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Herbert Xu
  3 siblings, 2 replies; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19  6:14 UTC (permalink / raw)
  To: stephen
  Cc: Matt Mackall, Herbert Xu, Rob Herring, Mark Rutland, Ray Jui,
	Scott Branden, bcm-kernel-feedback-list, Eric Anholt,
	Stefan Wahren, Arnd Bergmann, Greg Kroah-Hartman,
	Florian Fainelli, linux-crypto, devicetree, linux-arm-kernel,
	linux-kernel, linux-rpi-kernel

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

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>;
-- 
2.24.0




^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19  6:14 ` [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support Stephen Brennan
@ 2019-11-19 10:07   ` Nicolas Saenz Julienne
  2019-11-19 11:15     ` Matthias Brugger
  2019-11-19 17:09     ` Stephen Brennan
  2019-11-19 11:14   ` Matthias Brugger
  1 sibling, 2 replies; 13+ messages in thread
From: Nicolas Saenz Julienne @ 2019-11-19 10:07 UTC (permalink / raw)
  To: Stephen Brennan
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto

[-- Attachment #1: Type: text/plain, Size: 3315 bytes --]

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


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19  6:14 ` [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support Stephen Brennan
  2019-11-19 10:07   ` Nicolas Saenz Julienne
@ 2019-11-19 11:14   ` Matthias Brugger
  2019-11-19 17:13     ` Stephen Brennan
  1 sibling, 1 reply; 13+ messages in thread
From: Matthias Brugger @ 2019-11-19 11:14 UTC (permalink / raw)
  To: Stephen Brennan
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto



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>;
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19 10:07   ` Nicolas Saenz Julienne
@ 2019-11-19 11:15     ` Matthias Brugger
  2019-11-19 16:59       ` Stefan Wahren
  2019-11-19 17:09     ` Stephen Brennan
  1 sibling, 1 reply; 13+ messages in thread
From: Matthias Brugger @ 2019-11-19 11:15 UTC (permalink / raw)
  To: Nicolas Saenz Julienne, Stephen Brennan
  Cc: Mark Rutland, devicetree, Florian Fainelli, Herbert Xu,
	Scott Branden, Greg Kroah-Hartman, Matt Mackall, linux-kernel,
	Arnd Bergmann, linux-crypto, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, linux-rpi-kernel, Ray Jui,
	linux-arm-kernel, Stefan Wahren



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
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711
  2019-11-19  6:14 ` [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711 Stephen Brennan
@ 2019-11-19 11:16   ` Matthias Brugger
  0 siblings, 0 replies; 13+ messages in thread
From: Matthias Brugger @ 2019-11-19 11:16 UTC (permalink / raw)
  To: Stephen Brennan
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto



On 19/11/2019 07:14, Stephen Brennan wrote:
> From: Stefan Wahren <wahrenst@gmx.net>
> 
> BCM2711 features a RNG200 hardware random number generator block.
> So make the driver available.
> 
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> Signed-off-by: Stephen Brennan <stephen@brennan.io>

Reviewed-by: Matthias Brugger <mbrugger@suse.com>

> ---
>  drivers/char/hw_random/Kconfig        | 2 +-
>  drivers/char/hw_random/iproc-rng200.c | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
> index 7c7fecfa2fb2..77e848fca531 100644
> --- a/drivers/char/hw_random/Kconfig
> +++ b/drivers/char/hw_random/Kconfig
> @@ -90,7 +90,7 @@ config HW_RANDOM_BCM2835
>  
>  config HW_RANDOM_IPROC_RNG200
>  	tristate "Broadcom iProc/STB RNG200 support"
> -	depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
> +	depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB
>  	default HW_RANDOM
>  	---help---
>  	  This driver provides kernel-side support for the RNG200
> diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
> index 899ff25f4f28..32d9fe61a225 100644
> --- a/drivers/char/hw_random/iproc-rng200.c
> +++ b/drivers/char/hw_random/iproc-rng200.c
> @@ -213,6 +213,7 @@ static int iproc_rng200_probe(struct platform_device *pdev)
>  }
>  
>  static const struct of_device_id iproc_rng200_of_match[] = {
> +	{ .compatible = "brcm,bcm2711-rng200", },
>  	{ .compatible = "brcm,bcm7211-rng200", },
>  	{ .compatible = "brcm,bcm7278-rng200", },
>  	{ .compatible = "brcm,iproc-rng200", },
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19 11:15     ` Matthias Brugger
@ 2019-11-19 16:59       ` Stefan Wahren
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Wahren @ 2019-11-19 16:59 UTC (permalink / raw)
  To: Matthias Brugger, Nicolas Saenz Julienne, Stephen Brennan
  Cc: Mark Rutland, devicetree, Florian Fainelli, Herbert Xu,
	Scott Branden, Greg Kroah-Hartman, linux-kernel, Ray Jui,
	Eric Anholt, Rob Herring, Arnd Bergmann, linux-crypto,
	Matt Mackall, bcm-kernel-feedback-list, linux-arm-kernel,
	linux-rpi-kernel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19 10:07   ` Nicolas Saenz Julienne
  2019-11-19 11:15     ` Matthias Brugger
@ 2019-11-19 17:09     ` Stephen Brennan
  2019-11-19 17:25       ` Nicolas Saenz Julienne
  1 sibling, 1 reply; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19 17:09 UTC (permalink / raw)
  To: Nicolas Saenz Julienne
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto

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
>
> 
>
> 
>
> 



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19 11:14   ` Matthias Brugger
@ 2019-11-19 17:13     ` Stephen Brennan
  0 siblings, 0 replies; 13+ messages in thread
From: Stephen Brennan @ 2019-11-19 17:13 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto

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>;
> > 
>
> 
>
> 



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support
  2019-11-19 17:09     ` Stephen Brennan
@ 2019-11-19 17:25       ` Nicolas Saenz Julienne
  0 siblings, 0 replies; 13+ messages in thread
From: Nicolas Saenz Julienne @ 2019-11-19 17:25 UTC (permalink / raw)
  To: Stephen Brennan
  Cc: Mark Rutland, devicetree, linux-rpi-kernel, Florian Fainelli,
	Herbert Xu, Scott Branden, Greg Kroah-Hartman, linux-arm-kernel,
	Ray Jui, linux-kernel, Eric Anholt, Rob Herring,
	bcm-kernel-feedback-list, Stefan Wahren, Matt Mackall,
	Arnd Bergmann, linux-crypto

[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

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


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support
  2019-11-19  6:14 [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Stephen Brennan
                   ` (2 preceding siblings ...)
  2019-11-19  6:14 ` [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support Stephen Brennan
@ 2019-12-11  9:33 ` Herbert Xu
  3 siblings, 0 replies; 13+ messages in thread
From: Herbert Xu @ 2019-12-11  9:33 UTC (permalink / raw)
  To: Stephen Brennan
  Cc: Matt Mackall, Rob Herring, Mark Rutland, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Eric Anholt, Stefan Wahren,
	Arnd Bergmann, Greg Kroah-Hartman, Florian Fainelli,
	linux-crypto, devicetree, linux-arm-kernel, linux-kernel,
	linux-rpi-kernel

On Mon, Nov 18, 2019 at 10:14:04PM -0800, Stephen Brennan wrote:
> This patch series enables support for the HWRNG included on the Raspberry
> Pi 4.  It is simply a rebase of Stefan's branch [1]. I went ahead and
> tested this out on a Pi 4.  Prior to this patch series, attempting to use
> the hwrng gives:
> 
>     $ head -c 2 /dev/hwrng
>     head: /dev/hwrng: Input/output error
> 
> After this series, the same command gives two random bytes.
> 
> Changes in v2:
> - specify the correct size for the region in the dts, refactor bcm283x rng
> 
> ---
> 
> Stefan Wahren (2):
>   dt-bindings: rng: add BCM2711 RNG compatible
>   hwrng: iproc-rng200: Add support for BCM2711
> 
> Stephen Brennan (1):
>   ARM: dts: bcm2711: Enable HWRNG support
> 
>  .../devicetree/bindings/rng/brcm,iproc-rng200.txt     |  1 +
>  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 ------
>  drivers/char/hw_random/Kconfig                        |  2 +-
>  drivers/char/hw_random/iproc-rng200.c                 |  1 +
>  9 files changed, 20 insertions(+), 10 deletions(-)
>  create mode 100644 arch/arm/boot/dts/bcm283x-common.dtsi

Patches 1-2 applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-12-11  9:34 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-19  6:14 [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Stephen Brennan
2019-11-19  6:14 ` [PATCH v2 1/3] dt-bindings: rng: add BCM2711 RNG compatible Stephen Brennan
2019-11-19  6:14 ` [PATCH v2 2/3] hwrng: iproc-rng200: Add support for BCM2711 Stephen Brennan
2019-11-19 11:16   ` Matthias Brugger
2019-11-19  6:14 ` [PATCH v2 3/3] ARM: dts: bcm2711: Enable HWRNG support Stephen Brennan
2019-11-19 10:07   ` Nicolas Saenz Julienne
2019-11-19 11:15     ` Matthias Brugger
2019-11-19 16:59       ` Stefan Wahren
2019-11-19 17:09     ` Stephen Brennan
2019-11-19 17:25       ` Nicolas Saenz Julienne
2019-11-19 11:14   ` Matthias Brugger
2019-11-19 17:13     ` Stephen Brennan
2019-12-11  9:33 ` [PATCH v2 0/3] Raspberry Pi 4 HWRNG Support Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).