Skip to contentSkip to conversation

ARM: at91: remove at91sam9g45/9m10 legacy board support

PATCH RESEND New Boris Brezillon 3 participants 10 messages Nov 19, 2014 – Nov 20, 2014

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover ARM: at91: remove at91sam9g45/9m10 legacy board support

Hello,

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Best Regards,

Boris

Boris Brezillon (4):
hwrng: atmel: use clk_prepapre_enable/_disable_unprepare
hwrng: atmel: add DT support
hwrng: atmel: Add TRNG DT binding doc
ARM: at91/dt: add trng node

 Documentation/devicetree/bindings/hwrng/atmel-trng.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi                     |  7 +++++++
 drivers/char/hw_random/Kconfig                         |  2 +-
 drivers/char/hw_random/atmel-rng.c                     | 15 +++++++++++----
 4 files changed, 35 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwrng/atmel-trng.txt
Signature · 1 line
1.9.1
#1 lore raw

PATCH RESEND 1/4 hwrng: atmel: use clk_prepapre_enable/_disable_unprepare

Use clk_prepare_enable/_disable_unprepare instead of clk_enable/disable to work properly with the CCF.

---
 drivers/char/hw_random/atmel-rng.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/char/hw_random/atmel-rng.c +4 -4
index 851bc7e..644ec48 100644
@@ -67,7 +67,7 @@ static int atmel_trng_probe(struct platform_device *pdev)
 	if (IS_ERR(trng->clk))
 		return PTR_ERR(trng->clk);
 
-	ret = clk_enable(trng->clk);
+	ret = clk_prepare_enable(trng->clk);
 	if (ret)
 		return ret;
 
@@ -95,7 +95,7 @@ static int atmel_trng_remove(struct platform_device *pdev)
 	hwrng_unregister(&trng->rng);
 
 	writel(TRNG_KEY, trng->base + TRNG_CR);
-	clk_disable(trng->clk);
+	clk_disable_unprepare(trng->clk);
 
 	return 0;
 }
@@ -105,7 +105,7 @@ static int atmel_trng_suspend(struct device *dev)
 {
 	struct atmel_trng *trng = dev_get_drvdata(dev);
 
-	clk_disable(trng->clk);
+	clk_disable_unprepare(trng->clk);
 
 	return 0;
 }
@@ -114,7 +114,7 @@ static int atmel_trng_resume(struct device *dev)
 {
 	struct atmel_trng *trng = dev_get_drvdata(dev);
 
-	return clk_enable(trng->clk);
+	return clk_prepare_enable(trng->clk);
 }
 
 static const struct dev_pm_ops atmel_trng_pm_ops = {
Signature · 1 line
1.9.1
#2 lore raw

PATCH RESEND 2/4 hwrng: atmel: add DT support

In reply to Boris Brezillon

Add DT support.

Make the driver depend on CONFIG_OF as at91sam9g45 was the only SoC making use of the TRNG block and this SoC is now fully migrated to DT.

---
 drivers/char/hw_random/Kconfig     | 2 +-
 drivers/char/hw_random/atmel-rng.c | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
drivers/char/hw_random/Kconfig +1 -1
index 836b061..a0f5500 100644
@@ -64,7 +64,7 @@ config HW_RANDOM_AMD
 
 config HW_RANDOM_ATMEL
 	tristate "Atmel Random Number Generator support"
-	depends on ARCH_AT91 && HAVE_CLK
+	depends on ARCH_AT91 && HAVE_CLK && OF
 	default HW_RANDOM
 	---help---
 	  This driver provides kernel-side support for the Random Number
drivers/char/hw_random/atmel-rng.c +7 -0
index 644ec48..0bb0b21 100644
@@ -123,6 +123,12 @@ static const struct dev_pm_ops atmel_trng_pm_ops = {
 };
 #endif /* CONFIG_PM */
 
+static const struct of_device_id atmel_trng_dt_ids[] = {
+	{ .compatible = "atmel,at91sam9g45-trng" },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, atmel_trng_dt_ids);
+
 static struct platform_driver atmel_trng_driver = {
 	.probe		= atmel_trng_probe,
 	.remove		= atmel_trng_remove,
@@ -132,6 +138,7 @@ static struct platform_driver atmel_trng_driver = {
 #ifdef CONFIG_PM
 		.pm	= &atmel_trng_pm_ops,
 #endif /* CONFIG_PM */
+		.of_match_table = atmel_trng_dt_ids,
 	},
 };
 
Signature · 1 line
1.9.1
#3 lore raw

PATCH RESEND 3/4 hwrng: atmel: Add TRNG DT binding doc

In reply to Boris Brezillon

Document DT bindings of Atmel's TRNG (True Random Number Generator) IP.

---
 Documentation/devicetree/bindings/hwrng/atmel-trng.txt | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwrng/atmel-trng.txt
Documentation/devicetree/bindings/hwrng/atmel-trng.txt new file +16 -0
new file mode 100644
index 0000000..4ac5aaa
@@ -0,0 +1,16 @@
+Atmel TRNG (True Random Number Generator) block
+
+Required properties:
+- compatible : Should be "atmel,at91sam9g45-trng"
+- reg : Offset and length of the register set of this block
+- interrupts : the interrupt number for the TRNG block
+- clocks: should contain the TRNG clk source
+
+Example:
+
+trng at fffcc000 {
+	compatible = "atmel,at91sam9g45-trng";
+	reg = <0xfffcc000 0x4000>;
+	interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
+	clocks = <&trng_clk>;
+};
Signature · 1 line
1.9.1
#4 lore raw

PATCH RESEND 4/4 ARM: at91/dt: add trng node

In reply to Boris Brezillon

Add a DT node for the TRNG (True Random Number Generator) block.

Keep this block enabled as it does not depend on any external connection, and thus should be available on all boards.

---
 arch/arm/boot/dts/at91sam9g45.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)
arch/arm/boot/dts/at91sam9g45.dtsi +7 -0
index 932a669..790c890 100644
@@ -934,6 +934,13 @@
 				status = "disabled";
 			};
 
+			trng at fffcc000 {
+				compatible = "atmel,at91sam9g45-trng";
+				reg = <0xfffcc000 0x4000>;
+				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
+				clocks = <&trng_clk>;
+			};
+
 			i2c0: i2c at fff84000 {
 				compatible = "atmel,at91sam9g10-i2c";
 				reg = <0xfff84000 0x100>;
Signature · 1 line
1.9.1
#5 lore raw

cover ARM: at91: remove at91sam9g45/9m10 legacy board support

In reply to Boris Brezillon

On 19/11/2014 17:07, Boris Brezillon :

Quoted 4 lines

Hello,

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Nitpicking: subject of this cover letter seems not good ;-)

Herbert, do you think you can take this series yourself or do I have to take it?

Bye,

Quoted 13 lines

Boris Brezillon (4):
hwrng: atmel: use clk_prepapre_enable/_disable_unprepare
hwrng: atmel: add DT support
hwrng: atmel: Add TRNG DT binding doc
ARM: at91/dt: add trng node

 Documentation/devicetree/bindings/hwrng/atmel-trng.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi                     |  7 +++++++
 drivers/char/hw_random/Kconfig                         |  2 +-
 drivers/char/hw_random/atmel-rng.c                     | 15 +++++++++++----
 4 files changed, 35 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwrng/atmel-trng.txt
Signature · 1 line
Nicolas Ferre
#6 lore raw

cover hrng: atmel: add DT support

Quoted 7 lines · On Wed, 19 Nov 2014 17:15:47 +0100 Nicolas Ferre <[email protected]>…

On 19/11/2014 17:07, Boris Brezillon :

Quoted 4 lines

Hello,

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Nitpicking: subject of this cover letter seems not good ;-)

Sorry, you should read:

"hrng: atmel: add DT support"

Quoted 21 lines

Herbert, do you think you can take this series yourself or do I have to take it?

Bye,

Quoted 13 lines

Boris Brezillon (4):
hwrng: atmel: use clk_prepapre_enable/_disable_unprepare
hwrng: atmel: add DT support
hwrng: atmel: Add TRNG DT binding doc
ARM: at91/dt: add trng node

 Documentation/devicetree/bindings/hwrng/atmel-trng.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi                     |  7 +++++++
 drivers/char/hw_random/Kconfig                         |  2 +-
 drivers/char/hw_random/atmel-rng.c                     | 15 +++++++++++----
 4 files changed, 35 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwrng/atmel-trng.txt
Signature · 3 lines
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#7 lore raw

cover hrng: atmel: add DT support

On 19/11/2014 17:18, Boris Brezillon :

Quoted 6 lines
Quoted 3 lines · On Wed, 19 Nov 2014 17:15:47 +0100 Nicolas Ferre <[email protected]>…

On 19/11/2014 17:07, Boris Brezillon :

Quoted 2 lines

Hello,

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Nitpicking: subject of this cover letter seems not good ;-)

Sorry, you should read:

"hrng: atmel: add DT support"

Yep

Quoted 2 lines
Quoted 2 lines

Herbert, do you think you can take this series yourself or do I have to take it?

Oh, and BTW some "Acked-by" tags from Peter are missing, did forget them or changed something?

Quoted 20 lines
Quoted 17 lines

Bye,

Quoted 13 lines

Boris Brezillon (4):
hwrng: atmel: use clk_prepapre_enable/_disable_unprepare
hwrng: atmel: add DT support
hwrng: atmel: Add TRNG DT binding doc
ARM: at91/dt: add trng node

 Documentation/devicetree/bindings/hwrng/atmel-trng.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi                     |  7 +++++++
 drivers/char/hw_random/Kconfig                         |  2 +-
 drivers/char/hw_random/atmel-rng.c                     | 15 +++++++++++----
 4 files changed, 35 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/hwrng/atmel-trng.txt
Signature · 1 line
Nicolas Ferre
#8 lore raw

cover hrng: atmel: add DT support

Quoted 16 lines · On Wed, 19 Nov 2014 18:35:56 +0100 Nicolas Ferre <[email protected]>…

On 19/11/2014 17:18, Boris Brezillon :

Quoted 6 lines
Quoted 3 lines · On Wed, 19 Nov 2014 17:15:47 +0100 Nicolas Ferre <[email protected]>…

On 19/11/2014 17:07, Boris Brezillon :

Quoted 2 lines

Hello,

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Nitpicking: subject of this cover letter seems not good ;-)

Sorry, you should read:

"hrng: atmel: add DT support"

Quoted 7 lines

Yep

Quoted 2 lines
Quoted 2 lines

Herbert, do you think you can take this series yourself or do I have to take it?

Oh, and BTW some "Acked-by" tags from Peter are missing, did forget them or changed something?

Indeed, I forgot some of them (and nothing changed BTW).

Do you want me to resend this series with the proper title and the missing Acked-by tags ?

Signature · 3 lines
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
maintainer
#9 lore raw

cover ARM: at91: remove at91sam9g45/9m10 legacy board support

In reply to Nicolas Ferre
Quoted 10 lines · Nicolas Ferre

On 19/11/2014 17:07, Boris Brezillon :

Quoted 4 lines

Hello,

This series adds DT support for the TRNG (True Random Generator) block and adds missing trng nodes to dtsi files.

Nitpicking: subject of this cover letter seems not good ;-)

Herbert, do you think you can take this series yourself or do I have to take it?

Sure I can take this.

Cheers,

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt