This series adds support for GPMC NAND on AM62x LP SK
board.
v2: https://lore.kernel.org/all/[email protected]/
v1: https://lore.kernel.org/all/[email protected]/
Change Log:
V2 -> V3:
- Add blank line before gpmc0 node in device tree.
- Document reason to disable gpmc0 & elm0 node by default.
- Sort GPMC entries in ranges of cbass_main.
- Update Makefile.
V1 -> V2:
- Rearrange device tree properties in recommended sequence.
- Move status property at last place in the node.
- Fix commit message and commit descriptions.
Nitin Yadav (3):
arm64: dts: ti: Add GPMC support for AM62x LP SK
arm64: dts: ti: Add overlay for NAND daughter card
arm64: defconfig: Enable GPMC NAND support
arch/arm64/boot/dts/ti/Makefile | 3 +-
.../arm64/boot/dts/ti/k3-am62-lp-sk-nand.dtso | 119 ++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 30 +++++
arch/arm64/boot/dts/ti/k3-am62.dtsi | 2 +
arch/arm64/configs/defconfig | 3 +
5 files changed, 156 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-am62-lp-sk-nand.dtso
--
2.25.1
AM62 SoC has GPMC ( General Purpose Memory Controller)
and ELM ( Error Location Module) which allow to interface
Parallel memory like NAND/NOR and FPGAs etc. Add DT nodes
for the same.
Include the ranges for GPMC CFG and DATA region in top
level dtsi file.
Keep these nodes disabled as they are incomplete without
required board level pinmux and client node definitions.
Signed-off-by: Nitin Yadav <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 30 ++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62.dtsi | 2 ++
2 files changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index ac760d9b831d..8fb47fbae4ca 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -965,4 +965,34 @@ mcasp2: audio-controller@2b20000 {
power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
+
+ gpmc0: memory-controller@3b000000 {
+ compatible = "ti,am64-gpmc";
+ reg = <0x00 0x03b000000 0x00 0x400>,
+ <0x00 0x050000000 0x00 0x8000000>;
+ reg-names = "cfg", "data";
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&k3_clks 80 0>;
+ clock-names = "fck";
+ power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
+ gpmc,num-cs = <3>;
+ gpmc,num-waitpins = <2>;
+ #address-cells = <2>;
+ #size-cells = <1>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled"; /* Needs pinmux */
+ };
+
+ elm0: ecc@25010000 {
+ compatible = "ti,am3352-elm";
+ reg = <0x00 0x25010000 0x00 0x2000>;
+ interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&k3_clks 54 0>;
+ clock-names = "fck";
+ power-domains = <&k3_pds 54 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled"; /* Depends on NAND to be present */
+ };
};
diff --git a/arch/arm64/boot/dts/ti/k3-am62.dtsi b/arch/arm64/boot/dts/ti/k3-am62.dtsi
index f1e15206e1ce..5fa272eb0ac2 100644
--- a/arch/arm64/boot/dts/ti/k3-am62.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62.dtsi
@@ -68,11 +68,13 @@ cbass_main: bus@f0000 {
<0x00 0x30200000 0x00 0x30200000 0x00 0x00010000>, /* DSS */
<0x00 0x31000000 0x00 0x31000000 0x00 0x00050000>, /* USB0 DWC3 Core window */
<0x00 0x31100000 0x00 0x31100000 0x00 0x00050000>, /* USB1 DWC3 Core window */
+ <0x00 0x3b000000 0x00 0x3b000000 0x00 0x00000400>, /* GPMC0 CFG */
<0x00 0x40900000 0x00 0x40900000 0x00 0x00030000>, /* SA3UL */
<0x00 0x43600000 0x00 0x43600000 0x00 0x00010000>, /* SA3 sproxy data */
<0x00 0x44043000 0x00 0x44043000 0x00 0x00000fe0>, /* TI SCI DEBUG */
<0x00 0x44860000 0x00 0x44860000 0x00 0x00040000>, /* SA3 sproxy config */
<0x00 0x48000000 0x00 0x48000000 0x00 0x06400000>, /* DMSS */
+ <0x00 0x50000000 0x00 0x50000000 0x00 0x08000000>, /* GPMC0 DATA */
<0x00 0x60000000 0x00 0x60000000 0x00 0x08000000>, /* FSS0 DAT1 */
<0x00 0x70000000 0x00 0x70000000 0x00 0x00010000>, /* OCSRAM */
<0x01 0x00000000 0x01 0x00000000 0x00 0x00310000>, /* A53 PERIPHBASE */
--
2.25.1