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
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 <[email protected]>
---
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
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 <[email protected]>
---
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
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
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