aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts4
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts4
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts4
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts1
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts2
-rw-r--r--target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts2
-rw-r--r--target/linux/lantiq/patches-5.4/0019-MTD-nand-support-new-dt-bindings.patch28
13 files changed, 50 insertions, 7 deletions
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts
index 61a39f9955..71b32b62f5 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts
@@ -130,6 +130,8 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts
index 0147b3ffd1..85536b0082 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts
@@ -183,6 +183,8 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts
index e1d0851dab..d1bbd0532a 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts
@@ -14,7 +14,7 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
- nand-ecc-mode = "soft";
+ nand-use-soft-ecc-engine;
nand-ecc-strength = <3>;
nand-ecc-step-size = <256>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts
index 2a98a12acb..16cf76cef3 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts
@@ -6,7 +6,7 @@
};
&localbus {
- flash@1 {
+ flash1: flash@1 {
compatible = "lantiq,nand-xway";
bank-width = <2>;
reg = <1 0x0 0x2000000>;
@@ -14,7 +14,7 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
- nand-ecc-mode = "on-die";
+ nand-ecc-engine = <&flash1>;
partitions {
compatible = "fixed-partitions";
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts
index c4b92f9f91..17be2729f9 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts
@@ -231,7 +231,7 @@
};
&localbus {
- flash@1 {
+ flash1: flash@1 {
compatible = "lantiq,nand-xway";
bank-width = <1>;
reg = <1 0x0 0x2000000>;
@@ -239,7 +239,7 @@
pinctrl-0 = <&nand_pins>;
pinctrl-names = "default";
- nand-ecc-mode = "on-die";
+ nand-ecc-engine = <&flash1>;
partitions {
compatible = "fixed-partitions";
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts
index b1423e5dea..4d86bf5542 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts
@@ -46,7 +46,7 @@
};
&localbus {
- flash@1 {
+ flash1: flash@1 {
compatible = "lantiq,nand-xway";
lantiq,cs1 = <1>;
bank-width = <1>;
@@ -55,7 +55,7 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
- nand-ecc-mode = "on-die";
+ nand-ecc-engine = <&flash1>;
partitions {
compatible = "fixed-partitions";
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts
index a9d20915ea..11f318db5d 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts
@@ -91,6 +91,8 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts
index 3be20e1ff0..7bc64b76e7 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts
@@ -103,6 +103,8 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
index e24ee787f1..76cf69335b 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts
@@ -216,6 +216,7 @@
nand-on-flash-bbt;
nand-ecc-strength = <3>;
nand-ecc-step-size = <256>;
+ nand-use-soft-ecc-engine;
partitions {
compatible = "fixed-partitions";
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts
index 475d5a59d7..82f72022c9 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts
@@ -19,6 +19,8 @@
pinctrl-0 = <&nand_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts
index 0e029d1995..4a7f63b177 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts
@@ -30,6 +30,8 @@
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
+ nand-use-soft-ecc-engine;
+
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts
index 12280241a5..376cdaeb61 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts
@@ -51,6 +51,8 @@
#address-cells = <1>;
#size-cells = <1>;
+ nand-use-soft-ecc-engine;
+
partition@0 {
label = "kernel";
reg = <0x0 0x200000>;
diff --git a/target/linux/lantiq/patches-5.4/0019-MTD-nand-support-new-dt-bindings.patch b/target/linux/lantiq/patches-5.4/0019-MTD-nand-support-new-dt-bindings.patch
new file mode 100644
index 0000000000..b4aa5b9093
--- /dev/null
+++ b/target/linux/lantiq/patches-5.4/0019-MTD-nand-support-new-dt-bindings.patch
@@ -0,0 +1,28 @@
+The nand-ecc-mode DT binding is depracated but the new bindings are
+not supported by kernel 5.4. Based on a fix in the kernel to not
+overwrite the DT ECC settings, the DT needs to be updated and moves
+to the new DT binding.
+Since the DT is shared between kernel 5.4 and 5.10, this patch is
+an interim solution to allow to use the new DT bindings in kernel 5.4.
+It should be removed when moving away from kernel 5.4.
+--- a/drivers/mtd/nand/raw/nand_base.c
++++ b/drivers/mtd/nand/raw/nand_base.c
+@@ -4851,10 +4851,17 @@ static int of_get_nand_ecc_mode(struct d
+ {
+ const char *pm;
+ int err, i;
++ struct device_node *eng_np;
+
+ err = of_property_read_string(np, "nand-ecc-mode", &pm);
+- if (err < 0)
++ if (err < 0) {
++ if (of_property_read_bool(np, "nand-use-soft-ecc-engine"))
++ return NAND_ECC_SOFT;
++ eng_np = of_parse_phandle(np, "nand-ecc-engine", 0);
++ if (eng_np && (eng_np == np))
++ return NAND_ECC_ON_DIE;
+ return err;
++ }
+
+ for (i = 0; i < ARRAY_SIZE(nand_ecc_modes); i++)
+ if (!strcasecmp(pm, nand_ecc_modes[i]))