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

Hi Nishanth,

This series adds GPMC and ELM controller nodes.

cheers,
-roger

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 ++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

-- 
2.17.1


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

* [PATCH 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node
  2021-11-23 10:39 [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
@ 2021-11-23 10:39 ` Roger Quadros
  2021-11-23 10:39 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
  2021-11-23 14:10 ` [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Nishanth Menon
  2 siblings, 0 replies; 5+ messages in thread
From: Roger Quadros @ 2021-11-23 10:39 UTC (permalink / raw)
  To: nm
  Cc: kishon, vigneshr, 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>
---
 arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index 5ad638b95ffc..7fdd1789568a 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -1253,4 +1253,23 @@
 			bus_freq = <1000000>;
 		};
 	};
+
+	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 0x2000>,
+		      <0x00 0x050000000 0x00 0x7FFFFFF>;
+		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>;
+	};
 };
-- 
2.17.1


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

* [PATCH 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node
  2021-11-23 10:39 [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
  2021-11-23 10:39 ` [PATCH 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
@ 2021-11-23 10:39 ` Roger Quadros
  2021-11-23 14:10 ` [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Nishanth Menon
  2 siblings, 0 replies; 5+ messages in thread
From: Roger Quadros @ 2021-11-23 10:39 UTC (permalink / raw)
  To: nm
  Cc: kishon, vigneshr, 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 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index 7fdd1789568a..340e6b2274c3 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -1272,4 +1272,13 @@
 		gpio-controller;
 		#gpio-cells = <2>;
 	};
+
+	elm0: ecc@25010000 {
+		compatible = "ti,am3352-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";
+	};
 };
-- 
2.17.1


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

* Re: [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
  2021-11-23 10:39 [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
  2021-11-23 10:39 ` [PATCH 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
  2021-11-23 10:39 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
@ 2021-11-23 14:10 ` Nishanth Menon
  2021-11-25 12:07   ` Roger Quadros
  2 siblings, 1 reply; 5+ messages in thread
From: Nishanth Menon @ 2021-11-23 14:10 UTC (permalink / raw)
  To: Roger Quadros
  Cc: kishon, vigneshr, linux-arm-kernel, devicetree, linux-kernel

On 12:39-20211123, Roger Quadros wrote:
> Hi Nishanth,
> 
> This series adds GPMC and ELM controller nodes.
> 
> cheers,
> -roger
> 
> 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 ++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> -- 
> 2.17.1
> 

Don't we need to disable the nodes in the board dts files, since these
are only on optional daughter cards for evm?

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D

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

* Re: [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes
  2021-11-23 14:10 ` [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Nishanth Menon
@ 2021-11-25 12:07   ` Roger Quadros
  0 siblings, 0 replies; 5+ messages in thread
From: Roger Quadros @ 2021-11-25 12:07 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: kishon, vigneshr, linux-arm-kernel, devicetree, linux-kernel


On 23/11/2021 16:10, Nishanth Menon wrote:
> On 12:39-20211123, Roger Quadros wrote:
>> Hi Nishanth,
>>
>> This series adds GPMC and ELM controller nodes.
>>
>> cheers,
>> -roger
>>
>> 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 ++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> -- 
>> 2.17.1
>>
> 
> Don't we need to disable the nodes in the board dts files, since these
> are only on optional daughter cards for evm?
> 

Yes. Will fix it up in v2.

cheers,
-roger

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

end of thread, other threads:[~2021-11-25 12:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-23 10:39 [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Roger Quadros
2021-11-23 10:39 ` [PATCH 1/2] arm64: dts: ti: k3-am64-main: Add GPMC memory controller node Roger Quadros
2021-11-23 10:39 ` [PATCH 2/2] arm64: dts: ti: k3-am64-main: Add ELM (Error Location Module) node Roger Quadros
2021-11-23 14:10 ` [PATCH 0/2] arm64: dts: ti: k3-am64-main: Add GPMC & ELM nodes Nishanth Menon
2021-11-25 12:07   ` Roger Quadros

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