[openwrt/openwrt] mediatek: change dts to use the new snand driver

LEDE Commits lede-commits at lists.infradead.org
Thu Aug 26 20:31:40 PDT 2021


981213 pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/01b452fe2dace93343d8b568a57317d5fd53aea2

commit 01b452fe2dace93343d8b568a57317d5fd53aea2
Author: Chuanhong Guo <gch981213 at gmail.com>
AuthorDate: Tue Aug 24 12:04:51 2021 +0800

    mediatek: change dts to use the new snand driver
    
    Signed-off-by: Chuanhong Guo <gch981213 at gmail.com>
---
 .../mediatek/dts/mt7622-elecom-wrc-2533gent.dts    | 95 ++++++++++-----------
 .../linux/mediatek/dts/mt7622-linksys-e8450.dtsi   | 15 +---
 target/linux/mediatek/dts/mt7622-rfb1-ubi.dts      | 82 ++++++++----------
 .../115-dts-bpi64-add-snand-support.patch          | 60 +++++--------
 .../130-dts-mt7629-add-snand-support.patch         | 48 ++++-------
 .../131-dts-mt7622-add-snand-support.patch         | 97 +++++++++-------------
 .../140-dts-fix-wmac-support-for-mt7622-rfb1.patch | 18 ++--
 7 files changed, 165 insertions(+), 250 deletions(-)

diff --git a/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts b/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
index 2f3e5b1fb0..867982b061 100644
--- a/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
+++ b/target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts
@@ -430,10 +430,6 @@
 	};
 };
 
-&bch {
-	status = "okay";
-};
-
 &btif {
 	status = "disabled";
 };
@@ -501,62 +497,55 @@
 	status = "okay";
 };
 
-&snfi {
+&snand {
+	mediatek,quad-spi;
 	pinctrl-names = "default";
 	pinctrl-0 = <&serial_nand_pins>;
 	status = "okay";
 
-	spi_nand at 0 {
+	partitions {
+		compatible = "fixed-partitions";
 		#address-cells = <1>;
 		#size-cells = <1>;
-		compatible = "spi-nand";
-		spi-max-frequency = <104000000>;
-		reg = <0>;
 
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			partition at 0 {
-				label = "Preloader";
-				reg = <0x00000 0x0080000>;
-				read-only;
-			};
-
-			partition at 80000 {
-				label = "ATF";
-				reg = <0x80000 0x0040000>;
-				read-only;
-			};
-
-			partition at c0000 {
-				label = "uboot";
-				reg = <0xc0000 0x0080000>;
-				read-only;
-			};
-
-			partition at 140000 {
-				label = "uboot-env";
-				reg = <0x140000 0x0080000>;
-				read-only;
-			};
-
-			factory: partition at 1c0000 {
-				label = "factory";
-				reg = <0x1c0000 0x0040000>;
-				read-only;
-			};
-
-			partition at 200000 {
-				label = "firmware";
-				reg = <0x200000 0x2000000>;
-			};
-
-			partition at 2200000 {
-				label = "reserved";
-				reg = <0x2200000 0x4000000>;
-			};
+		partition at 0 {
+			label = "Preloader";
+			reg = <0x00000 0x0080000>;
+			read-only;
+		};
+
+		partition at 80000 {
+			label = "ATF";
+			reg = <0x80000 0x0040000>;
+			read-only;
+		};
+
+		partition at c0000 {
+			label = "uboot";
+			reg = <0xc0000 0x0080000>;
+			read-only;
+		};
+
+		partition at 140000 {
+			label = "uboot-env";
+			reg = <0x140000 0x0080000>;
+			read-only;
+		};
+
+		factory: partition at 1c0000 {
+			label = "factory";
+			reg = <0x1c0000 0x0040000>;
+			read-only;
+		};
+
+		partition at 200000 {
+			label = "firmware";
+			reg = <0x200000 0x2000000>;
+		};
+
+		partition at 2200000 {
+			label = "reserved";
+			reg = <0x2200000 0x4000000>;
 		};
 	};
 };
diff --git a/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi b/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
index 1e367d408f..7358b94a8e 100644
--- a/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
+++ b/target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi
@@ -110,10 +110,6 @@
 	};
 };
 
-&bch {
-	status = "okay";
-};
-
 &btif {
 	status = "okay";
 };
@@ -342,18 +338,11 @@
 	};
 };
 
-&snfi {
+&snand {
+	mediatek,quad-spi;
 	pinctrl-names = "default";
 	pinctrl-0 = <&serial_nand_pins>;
 	status = "okay";
-
-	snand: spi_nand at 0 {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "spi-nand";
-		spi-max-frequency = <104000000>;
-		reg = <0>;
-	};
 };
 
 &spi0 {
diff --git a/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts b/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
index a54e710924..3816dcb9cc 100644
--- a/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
+++ b/target/linux/mediatek/dts/mt7622-rfb1-ubi.dts
@@ -6,63 +6,51 @@
 	compatible = "mediatek,mt7622,ubi";
 };
 
-&snfi {
-	pinctrl-names = "default";
-	pinctrl-0 = <&serial_nand_pins>;
-	status = "okay";
-
-	spi_nand at 0 {
+&snand {
+	partitions {
+		compatible = "fixed-partitions";
 		#address-cells = <1>;
 		#size-cells = <1>;
-		compatible = "spi-nand";
-		spi-max-frequency = <104000000>;
-		reg = <0>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
 
-			partition at 0 {
-				label = "Preloader";
-				reg = <0x00000 0x0080000>;
-				read-only;
-			};
+		partition at 0 {
+			label = "Preloader";
+			reg = <0x00000 0x0080000>;
+			read-only;
+		};
 
-			partition at 80000 {
-				label = "ATF";
-				reg = <0x80000 0x0040000>;
-			};
+		partition at 80000 {
+			label = "ATF";
+			reg = <0x80000 0x0040000>;
+		};
 
-			partition at c0000 {
-				label = "Bootloader";
-				reg = <0xc0000 0x0080000>;
-			};
+		partition at c0000 {
+			label = "Bootloader";
+			reg = <0xc0000 0x0080000>;
+		};
 
-			partition at 140000 {
-				label = "Config";
-				reg = <0x140000 0x0080000>;
-			};
+		partition at 140000 {
+			label = "Config";
+			reg = <0x140000 0x0080000>;
+		};
 
-			factory: partition at 1c0000 {
-				label = "Factory";
-				reg = <0x1c0000 0x0040000>;
-			};
+		factory: partition at 1c0000 {
+			label = "Factory";
+			reg = <0x1c0000 0x0040000>;
+		};
 
-			partition at 200000 {
-				label = "kernel";
-				reg = <0x200000 0x400000>;
-			};
+		partition at 200000 {
+			label = "kernel";
+			reg = <0x200000 0x400000>;
+		};
 
-			partition at 600000 {
-				label = "ubi";
-				reg = <0x600000 0x1C00000>;
-			};
+		partition at 600000 {
+			label = "ubi";
+			reg = <0x600000 0x1C00000>;
+		};
 
-			partition at 2200000 {
-				label = "User_data";
-				reg = <0x2200000 0x4000000>;
-			};
+		partition at 2200000 {
+			label = "User_data";
+			reg = <0x2200000 0x4000000>;
 		};
 	};
 };
diff --git a/target/linux/mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch b/target/linux/mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch
index 85f7c08c08..39d81bd5d5 100644
--- a/target/linux/mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch
+++ b/target/linux/mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch
@@ -1,56 +1,40 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
 +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
-@@ -114,7 +114,7 @@
- };
- 
- &bch {
--	status = "disabled";
-+	status = "okay";
- };
- 
- &btif {
-@@ -259,14 +259,40 @@
+@@ -259,14 +259,32 @@
  	status = "disabled";
  };
  
 -&nor_flash {
-+&snfi {
++&snand {
  	pinctrl-names = "default";
 -	pinctrl-0 = <&spi_nor_pins>;
 -	status = "disabled";
 +	pinctrl-0 = <&serial_nand_pins>;
++	mediatek,quad-spi;
 +	status = "okay";
- 
--	flash at 0 {
--		compatible = "jedec,spi-nor";
-+	snand: spi_nand at 0 {
++	partitions {
++		compatible = "fixed-partitions";
 +		#address-cells = <1>;
 +		#size-cells = <1>;
-+		compatible = "spi-nand";
-+		spi-max-frequency = <104000000>;
- 		reg = <0>;
-+
-+		partitions {
-+			compatible = "fixed-partitions";
-+			#address-cells = <1>;
-+			#size-cells = <1>;
 +
-+			partition at 0 {
-+				label = "bl2";
-+				reg = <0x0 0x80000>;
-+				read-only;
-+			};
-+
-+			partition at 80000 {
-+				label = "fip";
-+				reg = <0x80000 0x200000>;
-+				read-only;
-+			};
++		partition at 0 {
++			label = "bl2";
++			reg = <0x0 0x80000>;
++			read-only;
++		};
 +
-+			partition at 280000 {
-+				label = "ubi";
-+				reg = <0x280000 0x7d80000>;
-+			};
++		partition at 80000 {
++			label = "fip";
++			reg = <0x80000 0x200000>;
++			read-only;
++		};
+ 
+-	flash at 0 {
+-		compatible = "jedec,spi-nor";
+-		reg = <0>;
++		partition at 280000 {
++			label = "ubi";
++			reg = <0x280000 0x7d80000>;
 +		};
  	};
  };
diff --git a/target/linux/mediatek/patches-5.10/130-dts-mt7629-add-snand-support.patch b/target/linux/mediatek/patches-5.10/130-dts-mt7629-add-snand-support.patch
index 8febc65d1b..e7c5d9b167 100644
--- a/target/linux/mediatek/patches-5.10/130-dts-mt7629-add-snand-support.patch
+++ b/target/linux/mediatek/patches-5.10/130-dts-mt7629-add-snand-support.patch
@@ -11,27 +11,21 @@ Signed-off-by: Xiangsheng Hou <xiangsheng.hou at mediatek.com>
 
 --- a/arch/arm/boot/dts/mt7629.dtsi
 +++ b/arch/arm/boot/dts/mt7629.dtsi
-@@ -272,6 +272,28 @@
+@@ -272,6 +272,22 @@
  			status = "disabled";
  		};
  
-+		bch: ecc at 1100e000 {
-+			compatible = "mediatek,mt7622-ecc";
-+			reg = <0x1100e000 0x1000>;
-+			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
-+			clocks = <&pericfg CLK_PERI_NFIECC_PD>;
-+			clock-names = "nfiecc_clk";
-+			status = "disabled";
-+		};
-+
-+		snfi: spi at 1100d000 {
-+			compatible = "mediatek,mt7629-snfi";
-+			reg = <0x1100d000 0x1000>;
++		snand: snfi at 1100d000 {
++			pinctrl-names = "default";
++ 			pinctrl-0 = <&serial_nand_pins>;
++			compatible = "mediatek,mt7629-snand";
++			reg = <0x1100d000 0x1000>, <0x1100e000 0x1000>;
++			reg-names = "nfi", "ecc";
 +			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
 +			clocks = <&pericfg CLK_PERI_NFI_PD>,
-+				 <&pericfg CLK_PERI_SNFI_PD>;
-+			clock-names = "nfi_clk", "spi_clk";
-+			ecc-engine = <&bch>;
++				 <&pericfg CLK_PERI_SNFI_PD>,
++				 <&pericfg CLK_PERI_NFIECC_PD>;
++			clock-names = "nfi_clk", "pad_clk", "ecc_clk";
 +			#address-cells = <1>;
 +			#size-cells = <0>;
 +			status = "disabled";
@@ -42,27 +36,15 @@ Signed-off-by: Xiangsheng Hou <xiangsheng.hou at mediatek.com>
  				     "mediatek,mt7622-spi";
 --- a/arch/arm/boot/dts/mt7629-rfb.dts
 +++ b/arch/arm/boot/dts/mt7629-rfb.dts
-@@ -254,6 +254,52 @@
+@@ -254,6 +254,38 @@
  	};
  };
  
-+&bch {
-+	status = "okay";
-+};
-+
-+&snfi {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&serial_nand_pins>;
++&snand {
 +	status = "okay";
++	mediatek,quad-spi;
 +
-+	spi_nand at 0 {
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		compatible = "spi-nand";
-+		spi-max-frequency = <104000000>;
-+		reg = <0>;
-+
-+		partitions {
++	partitions {
 +		compatible = "fixed-partitions";
 +		#address-cells = <1>;
 +		#size-cells = <1>;
@@ -87,8 +69,6 @@ Signed-off-by: Xiangsheng Hou <xiangsheng.hou at mediatek.com>
 +			label = "firmware";
 +			reg = <0x1c0000 0x1000000>;
 +		};
-+
-+		};
 +	};
 +};
 +
diff --git a/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch
index 5f89d58b06..fe136c2474 100644
--- a/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch
+++ b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch
@@ -1,17 +1,18 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -561,6 +561,19 @@
+@@ -561,6 +561,20 @@
  		status = "disabled";
  	};
  
-+	snfi: spi at 1100d000 {
-+		compatible = "mediatek,mt7622-snfi";
-+		reg = <0 0x1100d000 0 0x1000>;
++	snand: snfi at 1100d000 {
++		compatible = "mediatek,mt7622-snand";
++		reg = <0 0x1100d000 0 0x1000>, <0 0x1100e000 0 0x1000>;
++		reg-names = "nfi", "ecc";
 +		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
 +		clocks = <&pericfg CLK_PERI_NFI_PD>,
-+			 <&pericfg CLK_PERI_SNFI_PD>;
-+		clock-names = "nfi_clk", "spi_clk";
-+		ecc-engine = <&bch>;
++			 <&pericfg CLK_PERI_SNFI_PD>,
++			 <&pericfg CLK_PERI_NFIECC_PD>;
++		clock-names = "nfi_clk", "pad_clk", "ecc_clk";
 +		#address-cells = <1>;
 +		#size-cells = <0>;
 +		status = "disabled";
@@ -22,71 +23,55 @@
  			     "mediatek,mt8173-nor";
 --- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
 +++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
-@@ -85,7 +85,7 @@
- };
- 
- &bch {
--	status = "disabled";
-+	status = "okay";
- };
- 
- &btif {
-@@ -529,6 +529,62 @@
+@@ -529,6 +529,55 @@
  	status = "disabled";
  };
  
-+&snfi {
++&snand {
++	mediatek,quad-spi;
 +	pinctrl-names = "default";
 +	pinctrl-0 = <&serial_nand_pins>;
 +	status = "okay";
 +
-+	spi_nand at 0 {
++	partitions {
++		compatible = "fixed-partitions";
 +		#address-cells = <1>;
 +		#size-cells = <1>;
-+		compatible = "spi-nand";
-+		spi-max-frequency = <104000000>;
-+		reg = <0>;
-+
-+		partitions {
-+			compatible = "fixed-partitions";
-+			#address-cells = <1>;
-+			#size-cells = <1>;
 +
-+			partition at 0 {
-+				label = "Preloader";
-+				reg = <0x00000 0x0080000>;
-+				read-only;
-+			};
++		partition at 0 {
++			label = "Preloader";
++			reg = <0x00000 0x0080000>;
++			read-only;
++		};
 +
-+			partition at 80000 {
-+				label = "ATF";
-+				reg = <0x80000 0x0040000>;
-+			};
++		partition at 80000 {
++			label = "ATF";
++			reg = <0x80000 0x0040000>;
++		};
 +
-+			partition at c0000 {
-+				label = "Bootloader";
-+				reg = <0xc0000 0x0080000>;
-+			};
++		partition at c0000 {
++			label = "Bootloader";
++			reg = <0xc0000 0x0080000>;
++		};
 +
-+			partition at 140000 {
-+				label = "Config";
-+				reg = <0x140000 0x0080000>;
-+			};
++		partition at 140000 {
++			label = "Config";
++			reg = <0x140000 0x0080000>;
++		};
 +
-+			partition at 1c0000 {
-+				label = "Factory";
-+				reg = <0x1c0000 0x0100000>;
-+			};
++		partition at 1c0000 {
++			label = "Factory";
++			reg = <0x1c0000 0x0100000>;
++		};
 +
-+			partition at 200000 {
-+				label = "firmware";
-+				reg = <0x2c0000 0x2000000>;
-+			};
++		partition at 200000 {
++			label = "firmware";
++			reg = <0x2c0000 0x2000000>;
++		};
 +
-+			partition at 2200000 {
-+				label = "User_data";
-+				reg = <0x22c0000 0x4000000>;
-+			};
++		partition at 2200000 {
++			label = "User_data";
++			reg = <0x22c0000 0x4000000>;
 +		};
 +	};
 +};
diff --git a/target/linux/mediatek/patches-5.10/140-dts-fix-wmac-support-for-mt7622-rfb1.patch b/target/linux/mediatek/patches-5.10/140-dts-fix-wmac-support-for-mt7622-rfb1.patch
index d6d471520f..e1e43ce75d 100644
--- a/target/linux/mediatek/patches-5.10/140-dts-fix-wmac-support-for-mt7622-rfb1.patch
+++ b/target/linux/mediatek/patches-5.10/140-dts-fix-wmac-support-for-mt7622-rfb1.patch
@@ -1,15 +1,15 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
 +++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
-@@ -567,7 +567,7 @@
- 				reg = <0x140000 0x0080000>;
- 			};
+@@ -561,7 +561,7 @@
+ 			reg = <0x140000 0x0080000>;
+ 		};
  
--			partition at 1c0000 {
-+			factory: partition at 1c0000 {
- 				label = "Factory";
- 				reg = <0x1c0000 0x0100000>;
- 			};
-@@ -626,5 +626,6 @@
+-		partition at 1c0000 {
++		factory: partition at 1c0000 {
+ 			label = "Factory";
+ 			reg = <0x1c0000 0x0100000>;
+ 		};
+@@ -619,5 +619,6 @@
  };
  
  &wmac {



More information about the lede-commits mailing list