linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
@ 2022-08-02 10:44 Roger Quadros
  2022-08-02 10:44 ` [PATCH v4 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Roger Quadros @ 2022-08-02 10:44 UTC (permalink / raw)
  To: nm, vigneshr
  Cc: kishon, linux-arm-kernel, devicetree, linux-kernel, Roger Quadros

Hi Nishanth,

This series adds GPMC and ELM controller device tree nodes to
AM64 SoC's dtsi file.

Changelog:
v4
- Rebased to v5.19
- use 'ti,am64-elm' compatible for ELM node

v3
- Rebased to v5.17-rc1

v2
- Fix register sizes for GPMC node.
- Disable GPMC and ELM nodes in board files. They will be enabled in
NAND card device tree overlay.

Roger Quadros (2):
  arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
  arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node

 arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 28 ++++++++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am642-evm.dts  |  8 +++++++
 arch/arm64/boot/dts/ti/k3-am642-sk.dts   |  8 +++++++
 3 files changed, 44 insertions(+)

-- 
2.17.1


_______________________________________________
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] 6+ messages in thread

* [PATCH v4 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
  2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
@ 2022-08-02 10:44 ` Roger Quadros
  2022-08-02 10:44 ` [PATCH v4 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Roger Quadros @ 2022-08-02 10:44 UTC (permalink / raw)
  To: nm, vigneshr
  Cc: kishon, linux-arm-kernel, devicetree, linux-kernel, Roger Quadros

The GPMC is a unified memory controller dedicated for interfacing
with external memory devices like
  - Asynchronous SRAM-like memories and ASICs
  - Asynchronous, synchronous, and page mode burst NOR flash
  - NAND flash
  - Pseudo-SRAM devices

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 19 +++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am642-evm.dts  |  4 ++++
 arch/arm64/boot/dts/ti/k3-am642-sk.dts   |  4 ++++
 3 files changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index cdb530597c5e..0059de0aeedf 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -1308,4 +1308,23 @@
 		interrupt-names = "int0", "int1";
 		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
 	};
+
+	gpmc0: memory-controller@3b000000 {
+		compatible = "ti,am64-gpmc";
+		power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
+		clocks = <&k3_clks 80 0>;
+		clock-names = "fck";
+		reg = <0x00 0x03b000000 0x00 0x400>,
+		      <0x00 0x050000000 0x00 0x8000000>;
+		reg-names = "cfg", "data";
+		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+		gpmc,num-cs = <3>;
+		gpmc,num-waitpins = <2>;
+		#address-cells = <2>;
+		#size-cells = <1>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
 };
diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index 8e7893e58b03..30647fc3eec2 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
@@ -676,3 +676,7 @@
 	pinctrl-0 = <&main_mcan1_pins_default>;
 	phys = <&transceiver2>;
 };
+
+&gpmc0 {
+	status = "disabled";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index 59f506cbd275..bd9b36b16787 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -593,3 +593,7 @@
 &main_mcan1 {
 	status = "disabled";
 };
+
+&gpmc0 {
+	status = "disabled";
+};
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v4 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node
  2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
  2022-08-02 10:44 ` [PATCH v4 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
@ 2022-08-02 10:44 ` Roger Quadros
  2022-08-30  8:31 ` [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Roger Quadros @ 2022-08-02 10:44 UTC (permalink / raw)
  To: nm, vigneshr
  Cc: kishon, linux-arm-kernel, devicetree, linux-kernel, Roger Quadros

The ELM module is used for GPMC NAND accesses for detecting
and correcting errors during reads due to NAND bitflips errors.

4-, 8-, and 16-bit error-correction levels are supported using
the BCH (Bose-ChaudhurI-Hocquenghem) algorithm.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
---
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 9 +++++++++
 arch/arm64/boot/dts/ti/k3-am642-evm.dts  | 4 ++++
 arch/arm64/boot/dts/ti/k3-am642-sk.dts   | 4 ++++
 3 files changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index 0059de0aeedf..c1caa7c7c6eb 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -1327,4 +1327,13 @@
 		gpio-controller;
 		#gpio-cells = <2>;
 	};
+
+	elm0: ecc@25010000 {
+		compatible = "ti,am64-elm";
+		reg = <0x00 0x25010000 0x00 0x2000>;
+		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
+		power-domains = <&k3_pds 54 TI_SCI_PD_EXCLUSIVE>;
+		clocks = <&k3_clks 54 0>;
+		clock-names = "fck";
+	};
 };
diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index 30647fc3eec2..abc0fe61b6b8 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
@@ -680,3 +680,7 @@
 &gpmc0 {
 	status = "disabled";
 };
+
+&elm0 {
+	status = "disabled";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index bd9b36b16787..bec1edfeef37 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -597,3 +597,7 @@
 &gpmc0 {
 	status = "disabled";
 };
+
+&elm0 {
+	status = "disabled";
+};
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
  2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
  2022-08-02 10:44 ` [PATCH v4 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
  2022-08-02 10:44 ` [PATCH v4 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
@ 2022-08-30  8:31 ` Roger Quadros
  2022-08-30 21:44 ` Bryan Brattlof
  2022-09-01 14:22 ` Vignesh Raghavendra
  4 siblings, 0 replies; 6+ messages in thread
From: Roger Quadros @ 2022-08-30  8:31 UTC (permalink / raw)
  To: nm, vigneshr; +Cc: kishon, linux-arm-kernel, devicetree, linux-kernel

Hello Nishant/Vignesh,

On 02/08/2022 13:44, Roger Quadros wrote:
> Hi Nishanth,
> 
> This series adds GPMC and ELM controller device tree nodes to
> AM64 SoC's dtsi file.

Gentle ping to pick this series. Thanks!

> 
> Changelog:
> v4
> - Rebased to v5.19
> - use 'ti,am64-elm' compatible for ELM node
> 
> v3
> - Rebased to v5.17-rc1
> 
> v2
> - Fix register sizes for GPMC node.
> - Disable GPMC and ELM nodes in board files. They will be enabled in
> NAND card device tree overlay.
> 
> Roger Quadros (2):
>   arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
>   arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node
> 
>  arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 28 ++++++++++++++++++++++++
>  arch/arm64/boot/dts/ti/k3-am642-evm.dts  |  8 +++++++
>  arch/arm64/boot/dts/ti/k3-am642-sk.dts   |  8 +++++++
>  3 files changed, 44 insertions(+)
> 

cheers,
-roger

_______________________________________________
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] 6+ messages in thread

* Re: [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
  2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
                   ` (2 preceding siblings ...)
  2022-08-30  8:31 ` [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
@ 2022-08-30 21:44 ` Bryan Brattlof
  2022-09-01 14:22 ` Vignesh Raghavendra
  4 siblings, 0 replies; 6+ messages in thread
From: Bryan Brattlof @ 2022-08-30 21:44 UTC (permalink / raw)
  To: Roger Quadros
  Cc: nm, vigneshr, kishon, linux-arm-kernel, devicetree, linux-kernel

Hi Roger!

On August  2, 2022 thus sayeth Roger Quadros:
> Hi Nishanth,
> 
> This series adds GPMC and ELM controller device tree nodes to
> AM64 SoC's dtsi file.
> 
> Changelog:
> v4
> - Rebased to v5.19
> - use 'ti,am64-elm' compatible for ELM node
> 
> v3
> - Rebased to v5.17-rc1
> 
> v2
> - Fix register sizes for GPMC node.
> - Disable GPMC and ELM nodes in board files. They will be enabled in
> NAND card device tree overlay.
> 
> Roger Quadros (2):
>   arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
>   arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node
>
>  arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 28 ++++++++++++++++++++++++
>  arch/arm64/boot/dts/ti/k3-am642-evm.dts  |  8 +++++++
>  arch/arm64/boot/dts/ti/k3-am642-sk.dts   |  8 +++++++
>  3 files changed, 44 insertions(+)

Reviewed-by: Bryan Brattlof <bb@ti.com>

These look good to me :)

~Bryan

_______________________________________________
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] 6+ messages in thread

* Re: [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
  2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
                   ` (3 preceding siblings ...)
  2022-08-30 21:44 ` Bryan Brattlof
@ 2022-09-01 14:22 ` Vignesh Raghavendra
  4 siblings, 0 replies; 6+ messages in thread
From: Vignesh Raghavendra @ 2022-09-01 14:22 UTC (permalink / raw)
  To: nm, Roger Quadros
  Cc: Vignesh Raghavendra, kishon, linux-arm-kernel, devicetree, linux-kernel

Hi Roger Quadros,

On Tue, 2 Aug 2022 13:44:54 +0300, Roger Quadros wrote:
> This series adds GPMC and ELM controller device tree nodes to
> AM64 SoC's dtsi file.
> 
> Changelog:
> v4
> - Rebased to v5.19
> - use 'ti,am64-elm' compatible for ELM node
> 
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
      commit: 5ec06904310da6441097c8f2d6e3fb196f42bca1
[2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node
      commit: c920a6caba68196f48f8ee57cc193e396f941011

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Vignesh


_______________________________________________
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] 6+ messages in thread

end of thread, other threads:[~2022-09-01 14:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-02 10:44 [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
2022-08-02 10:44 ` [PATCH v4 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
2022-08-02 10:44 ` [PATCH v4 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
2022-08-30  8:31 ` [PATCH v4 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
2022-08-30 21:44 ` Bryan Brattlof
2022-09-01 14:22 ` Vignesh Raghavendra

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