ipq806x: fix NAND support for linux 4.9

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2017-03-13 12:33:07 +01:00
parent 6006227cb7
commit 2a4baf3e79
7 changed files with 357 additions and 303 deletions

View File

@ -175,10 +175,16 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>; cs0 {
nand-bus-width = <8>; reg = <0>;
compatible = "qcom,nandcs";
linux,part-probe = "qcom-smem"; nand-ecc-strength = <4>;
nand-bus-width = <8>;
nand-ecc-step-size = <512>;
linux,part-probe = "qcom-smem";
};
}; };
mdio0: mdio { mdio0: mdio {

View File

@ -201,67 +201,79 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>;
nand-bus-width = <8>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
qcadata@0 { cs0 {
label = "qcadata"; reg = <0>;
reg = <0x0000000 0x0c80000>; compatible = "qcom,nandcs";
read-only;
};
APPSBL@c80000 { nand-ecc-strength = <4>;
label = "APPSBL"; nand-bus-width = <8>;
reg = <0x0c80000 0x0500000>; nand-ecc-step-size = <512>;
read-only;
};
APPSBLENV@1180000 { partitions {
label = "APPSBLENV"; compatible = "fixed-partitions";
reg = <0x1180000 0x0080000>; #address-cells = <1>;
read-only; #size-cells = <1>;
};
art: art@1200000 { qcadata@0 {
label = "art"; label = "qcadata";
reg = <0x1200000 0x0140000>; reg = <0x0000000 0x0c80000>;
read-only; read-only;
}; };
artbak: art@1340000 { APPSBL@c80000 {
label = "artbak"; label = "APPSBL";
reg = <0x1340000 0x0140000>; reg = <0x0c80000 0x0500000>;
read-only; read-only;
}; };
kernel@1480000 { APPSBLENV@1180000 {
label = "kernel"; label = "APPSBLENV";
reg = <0x1480000 0x0200000>; reg = <0x1180000 0x0080000>;
}; read-only;
};
ubi@1680000 { art: art@1200000 {
label = "ubi"; label = "art";
reg = <0x1680000 0x1E00000>; reg = <0x1200000 0x0140000>;
}; read-only;
};
netgear@3480000 { artbak: art@1340000 {
label = "netgear"; label = "artbak";
reg = <0x3480000 0x4480000>; reg = <0x1340000 0x0140000>;
read-only; read-only;
}; };
reserve@7900000 { kernel@1480000 {
label = "reserve"; label = "kernel";
reg = <0x7900000 0x0700000>; reg = <0x1480000 0x0200000>;
read-only; };
};
firmware@1480000 { ubi@1680000 {
label = "firmware"; label = "ubi";
reg = <0x1480000 0x2000000>; reg = <0x1680000 0x1E00000>;
};
netgear@3480000 {
label = "netgear";
reg = <0x3480000 0x4480000>;
read-only;
};
reserve@7900000 {
label = "reserve";
reg = <0x7900000 0x0700000>;
read-only;
};
firmware@1480000 {
label = "firmware";
reg = <0x1480000 0x2000000>;
};
};
}; };
}; };

View File

@ -176,110 +176,119 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>; cs0 {
nand-bus-width = <8>; reg = <0>;
compatible = "qcom,nandcs";
#address-cells = <1>; nand-ecc-strength = <4>;
#size-cells = <1>; nand-bus-width = <8>;
nand-ecc-step-size = <512>;
SBL1@0 { partitions {
label = "SBL1"; compatible = "fixed-partitions";
reg = <0x0000000 0x0040000>; #address-cells = <1>;
read-only; #size-cells = <1>;
};
MIBIB@40000 { SBL1@0 {
label = "MIBIB"; label = "SBL1";
reg = <0x0040000 0x0140000>; reg = <0x0000000 0x0040000>;
read-only; read-only;
}; };
SBL2@180000 { MIBIB@40000 {
label = "SBL2"; label = "MIBIB";
reg = <0x0180000 0x0140000>; reg = <0x0040000 0x0140000>;
read-only; read-only;
}; };
SBL3@2c0000 { SBL2@180000 {
label = "SBL3"; label = "SBL2";
reg = <0x02c0000 0x0280000>; reg = <0x0180000 0x0140000>;
read-only; read-only;
}; };
DDRCONFIG@540000 { SBL3@2c0000 {
label = "DDRCONFIG"; label = "SBL3";
reg = <0x0540000 0x0120000>; reg = <0x02c0000 0x0280000>;
read-only; read-only;
}; };
SSD@660000 { DDRCONFIG@540000 {
label = "SSD"; label = "DDRCONFIG";
reg = <0x0660000 0x0120000>; reg = <0x0540000 0x0120000>;
read-only; read-only;
}; };
TZ@780000 { SSD@660000 {
label = "TZ"; label = "SSD";
reg = <0x0780000 0x0280000>; reg = <0x0660000 0x0120000>;
read-only; read-only;
}; };
RPM@a00000 { TZ@780000 {
label = "RPM"; label = "TZ";
reg = <0x0a00000 0x0280000>; reg = <0x0780000 0x0280000>;
read-only; read-only;
}; };
art: art@c80000 { RPM@a00000 {
label = "art"; label = "RPM";
reg = <0x0c80000 0x0140000>; reg = <0x0a00000 0x0280000>;
read-only; read-only;
}; };
APPSBL@dc0000 { art: art@c80000 {
label = "APPSBL"; label = "art";
reg = <0x0dc0000 0x0100000>; reg = <0x0c80000 0x0140000>;
read-only; read-only;
}; };
u_env@ec0000 { APPSBL@dc0000 {
label = "u_env"; label = "APPSBL";
reg = <0x0ec0000 0x0040000>; reg = <0x0dc0000 0x0100000>;
}; read-only;
};
s_env@f00000 { u_env@ec0000 {
label = "s_env"; label = "u_env";
reg = <0x0f00000 0x0040000>; reg = <0x0ec0000 0x0040000>;
}; };
devinfo@f40000 { s_env@f00000 {
label = "devinfo"; label = "s_env";
reg = <0x0f40000 0x0040000>; reg = <0x0f00000 0x0040000>;
}; };
linux@f80000 { devinfo@f40000 {
label = "kernel1"; label = "devinfo";
reg = <0x0f80000 0x2800000>; /* 3 MB spill to rootfs*/ reg = <0x0f40000 0x0040000>;
}; };
rootfs@1280000 { linux@f80000 {
label = "rootfs1"; label = "kernel1";
reg = <0x1280000 0x2500000>; reg = <0x0f80000 0x2800000>; /* 3 MB spill to rootfs*/
}; };
linux2@3780000 { rootfs@1280000 {
label = "kernel2"; label = "rootfs1";
reg = <0x3780000 0x2800000>; reg = <0x1280000 0x2500000>;
}; };
rootfs2@3a80000 { linux2@3780000 {
label = "rootfs2"; label = "kernel2";
reg = <0x3a80000 0x2500000>; reg = <0x3780000 0x2800000>;
}; };
syscfg@5f80000 { rootfs2@3a80000 {
label = "syscfg"; label = "rootfs2";
reg = <0x5f80000 0x2080000>; reg = <0x3a80000 0x2500000>;
};
syscfg@5f80000 {
label = "syscfg";
reg = <0x5f80000 0x2080000>;
};
};
}; };
}; };

View File

@ -169,63 +169,71 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>; cs0 {
nand-bus-width = <8>; reg = <0>;
compatible = "qcom,nandcs";
#address-cells = <1>; nand-ecc-strength = <4>;
#size-cells = <1>; nand-bus-width = <8>;
nand-ecc-step-size = <512>;
qcadata@0 { partitions {
label = "qcadata"; compatible = "fixed-partitions";
reg = <0x0000000 0x0c80000>; #address-cells = <1>;
read-only; #size-cells = <1>;
qcadata@0 {
label = "qcadata";
reg = <0x0000000 0x0c80000>;
read-only;
};
APPSBL@c80000 {
label = "APPSBL";
reg = <0x0c80000 0x0500000>;
read-only;
};
APPSBLENV@1180000 {
label = "APPSBLENV";
reg = <0x1180000 0x0080000>;
read-only;
};
art: art@1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
};
kernel@1340000 {
label = "kernel";
reg = <0x1340000 0x0200000>;
};
ubi@1540000 {
label = "ubi";
reg = <0x1540000 0x1800000>;
};
netgear@2d40000 {
label = "netgear";
reg = <0x2d40000 0x0c00000>;
read-only;
};
reserve@3940000 {
label = "reserve";
reg = <0x3940000 0x46c0000>;
read-only;
};
firmware@1340000 {
label = "firmware";
reg = <0x1340000 0x1a00000>;
};
};
}; };
APPSBL@c80000 {
label = "APPSBL";
reg = <0x0c80000 0x0500000>;
read-only;
};
APPSBLENV@1180000 {
label = "APPSBLENV";
reg = <0x1180000 0x0080000>;
read-only;
};
art: art@1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
};
kernel@1340000 {
label = "kernel";
reg = <0x1340000 0x0200000>;
};
ubi@1540000 {
label = "ubi";
reg = <0x1540000 0x1800000>;
};
netgear@2d40000 {
label = "netgear";
reg = <0x2d40000 0x0c00000>;
read-only;
};
reserve@3940000 {
label = "reserve";
reg = <0x3940000 0x46c0000>;
read-only;
};
firmware@1340000 {
label = "firmware";
reg = <0x1340000 0x1a00000>;
};
}; };
mdio0: mdio { mdio0: mdio {

View File

@ -206,69 +206,77 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>; cs0 {
nand-bus-width = <8>; reg = <0>;
compatible = "qcom,nandcs";
#address-cells = <1>; nand-ecc-strength = <4>;
#size-cells = <1>; nand-bus-width = <8>;
nand-ecc-step-size = <512>;
qcadata@0 { partitions {
label = "qcadata"; compatible = "fixed-partitions";
reg = <0x0000000 0x0c80000>; #address-cells = <1>;
read-only; #size-cells = <1>;
qcadata@0 {
label = "qcadata";
reg = <0x0000000 0x0c80000>;
read-only;
};
APPSBL@c80000 {
label = "APPSBL";
reg = <0x0c80000 0x0500000>;
read-only;
};
APPSBLENV@1180000 {
label = "APPSBLENV";
reg = <0x1180000 0x0080000>;
read-only;
};
art: art@1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
};
artbak: art@1340000 {
label = "artbak";
reg = <0x1340000 0x0140000>;
read-only;
};
kernel@1480000 {
label = "kernel";
reg = <0x1480000 0x0200000>;
};
ubi@1680000 {
label = "ubi";
reg = <0x1680000 0x1E00000>;
};
netgear@3480000 {
label = "netgear";
reg = <0x3480000 0x4480000>;
read-only;
};
reserve@7900000 {
label = "reserve";
reg = <0x7900000 0x0700000>;
read-only;
};
firmware@1480000 {
label = "firmware";
reg = <0x1480000 0x2000000>;
};
};
}; };
APPSBL@c80000 {
label = "APPSBL";
reg = <0x0c80000 0x0500000>;
read-only;
};
APPSBLENV@1180000 {
label = "APPSBLENV";
reg = <0x1180000 0x0080000>;
read-only;
};
art: art@1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
};
artbak: art@1340000 {
label = "artbak";
reg = <0x1340000 0x0140000>;
read-only;
};
kernel@1480000 {
label = "kernel";
reg = <0x1480000 0x0200000>;
};
ubi@1680000 {
label = "ubi";
reg = <0x1680000 0x1E00000>;
};
netgear@3480000 {
label = "netgear";
reg = <0x3480000 0x4480000>;
read-only;
};
reserve@7900000 {
label = "reserve";
reg = <0x7900000 0x0700000>;
read-only;
};
firmware@1480000 {
label = "firmware";
reg = <0x1480000 0x2000000>;
};
}; };
mdio0: mdio { mdio0: mdio {

View File

@ -913,7 +913,7 @@
}; };
nand@1ac00000 { nand@1ac00000 {
compatible = "qcom,ebi2-nandc"; compatible = "qcom,ipq806x-nand";
reg = <0x1ac00000 0x800>; reg = <0x1ac00000 0x800>;
clocks = <&gcc EBI2_CLK>, clocks = <&gcc EBI2_CLK>,
@ -926,6 +926,9 @@
qcom,data-crci = <3>; qcom,data-crci = <3>;
status = "disabled"; status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
}; };
nss_common: syscon@03000000 { nss_common: syscon@03000000 {

View File

@ -313,68 +313,76 @@
pinctrl-0 = <&nand_pins>; pinctrl-0 = <&nand_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
nand-ecc-strength = <4>; cs0 {
nand-ecc-step-size = <512>; reg = <0>;
nand-bus-width = <8>; compatible = "qcom,nandcs";
#address-cells = <1>; nand-ecc-strength = <4>;
#size-cells = <1>; nand-bus-width = <8>;
nand-ecc-step-size = <512>;
qcadata@0 { partitions {
label = "qcadata"; compatible = "fixed-partitions";
reg = <0x0000000 0x0c80000>; #address-cells = <1>;
read-only; #size-cells = <1>;
};
APPSBL@c80000 { qcadata@0 {
label = "APPSBL"; label = "qcadata";
reg = <0x0c80000 0x0500000>; reg = <0x0000000 0x0c80000>;
read-only; read-only;
}; };
APPSBLENV@1180000 { APPSBL@c80000 {
label = "APPSBLENV"; label = "APPSBL";
reg = <0x1180000 0x0080000>; reg = <0x0c80000 0x0500000>;
read-only; read-only;
}; };
art: art@1200000 { APPSBLENV@1180000 {
label = "art"; label = "APPSBLENV";
reg = <0x1200000 0x0140000>; reg = <0x1180000 0x0080000>;
read-only; read-only;
}; };
artbak: art@1340000 { art: art@1200000 {
label = "artbak"; label = "art";
reg = <0x1340000 0x0140000>; reg = <0x1200000 0x0140000>;
read-only; read-only;
}; };
kernel@1480000 { artbak: art@1340000 {
label = "kernel"; label = "artbak";
reg = <0x1480000 0x0200000>; reg = <0x1340000 0x0140000>;
}; read-only;
};
ubi@1680000 { kernel@1480000 {
label = "ubi"; label = "kernel";
reg = <0x1680000 0x1E00000>; reg = <0x1480000 0x0200000>;
}; };
netgear@3480000 { ubi@1680000 {
label = "netgear"; label = "ubi";
reg = <0x3480000 0x4480000>; reg = <0x1680000 0x1E00000>;
read-only; };
};
reserve@7900000 { netgear@3480000 {
label = "reserve"; label = "netgear";
reg = <0x7900000 0x0700000>; reg = <0x3480000 0x4480000>;
read-only; read-only;
}; };
firmware@1480000 { reserve@7900000 {
label = "firmware"; label = "reserve";
reg = <0x1480000 0x2000000>; reg = <0x7900000 0x0700000>;
read-only;
};
firmware@1480000 {
label = "firmware";
reg = <0x1480000 0x2000000>;
};
};
}; };
}; };