From: Daniel Golle Date: Sat, 17 May 2025 13:03:10 +0000 (+0100) Subject: kernel/mediatek: 6.12: adapt for changed MMC card binding X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25bb907937c9e0359bb9980ef99a2c9c1dbb5466;p=thirdparty%2Fopenwrt.git kernel/mediatek: 6.12: adapt for changed MMC card binding Adapt patches adding NVMEM or fitblk rootdisk references to MMC partitions for the changed MMC card binding. Note that boards in 'dts' folder can only be converted once Linux 6.6, which still depends on the old binding, has been dropped. Signed-off-by: Daniel Golle --- diff --git a/target/linux/mediatek/patches-6.12/164-dts-mt7623-bpi-r2-rootdisk-for-fitblk.patch b/target/linux/mediatek/patches-6.12/164-dts-mt7623-bpi-r2-rootdisk-for-fitblk.patch index 603cafc85ec..be1e1309055 100644 --- a/target/linux/mediatek/patches-6.12/164-dts-mt7623-bpi-r2-rootdisk-for-fitblk.patch +++ b/target/linux/mediatek/patches-6.12/164-dts-mt7623-bpi-r2-rootdisk-for-fitblk.patch @@ -11,7 +11,7 @@ }; connector { -@@ -338,6 +340,22 @@ +@@ -338,6 +340,20 @@ vmmc-supply = <®_3p3v>; vqmmc-supply = <®_1p8v>; non-removable; @@ -22,19 +22,17 @@ + compatible = "mmc-card"; + reg = <0>; + -+ block { -+ compatible = "block-device"; -+ partitions { -+ emmc_rootdisk: block-partition-fit { -+ partno = <3>; -+ }; ++ partitions { ++ compatible = "msdos-partitions"; ++ emmc_rootdisk: block-partition-fit { ++ partno = <3>; + }; + }; + }; }; &mmc1 { -@@ -351,6 +369,22 @@ +@@ -351,6 +367,20 @@ cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>; vmmc-supply = <®_3p3v>; vqmmc-supply = <®_3p3v>; @@ -45,12 +43,10 @@ + compatible = "mmc-card"; + reg = <0>; + -+ block { -+ compatible = "block-device"; -+ partitions { -+ sd_rootdisk: block-partition-fit { -+ partno = <3>; -+ }; ++ partitions { ++ compatible = "msdos-partitions"; ++ sd_rootdisk: block-partition-fit { ++ partno = <3>; + }; + }; + }; diff --git a/target/linux/mediatek/patches-6.12/195-dts-mt7986a-bpi-r3-leds-port-names-and-wifi-eeprom.patch b/target/linux/mediatek/patches-6.12/195-dts-mt7986a-bpi-r3-leds-port-names-and-wifi-eeprom.patch index 336920bafea..8423278033b 100644 --- a/target/linux/mediatek/patches-6.12/195-dts-mt7986a-bpi-r3-leds-port-names-and-wifi-eeprom.patch +++ b/target/linux/mediatek/patches-6.12/195-dts-mt7986a-bpi-r3-leds-port-names-and-wifi-eeprom.patch @@ -11,7 +11,7 @@ }; chosen { -@@ -419,27 +423,27 @@ +@@ -418,27 +422,27 @@ port@1 { reg = <1>; @@ -44,7 +44,7 @@ phy-mode = "2500base-x"; sfp = <&sfp2>; managed = "in-band-status"; -@@ -490,9 +494,137 @@ +@@ -489,9 +493,137 @@ &wifi { status = "okay"; @@ -187,10 +187,10 @@ --- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nor.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nor.dtso @@ -55,6 +55,7 @@ - partition@c00000 { - label = "fit"; - reg = <0xc00000 0x1400000>; -+ compatible = "denx,fit"; - }; - }; + partition@c00000 { + label = "fit"; + reg = <0xc00000 0x1400000>; ++ compatible = "denx,fit"; }; + }; + }; diff --git a/target/linux/mediatek/patches-6.12/196-dts-mt7986a-bpi-r3-use-all-ubi-nand-layout.patch b/target/linux/mediatek/patches-6.12/196-dts-mt7986a-bpi-r3-use-all-ubi-nand-layout.patch index 076d5984950..f2b9a7093a8 100644 --- a/target/linux/mediatek/patches-6.12/196-dts-mt7986a-bpi-r3-use-all-ubi-nand-layout.patch +++ b/target/linux/mediatek/patches-6.12/196-dts-mt7986a-bpi-r3-use-all-ubi-nand-layout.patch @@ -1,135 +1,115 @@ --- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-emmc.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-emmc.dtso -@@ -23,7 +23,29 @@ - no-sd; - no-sdio; - status = "okay"; -+ #address-cells = <1>; -+ #size-cells = <0>; +@@ -21,5 +21,24 @@ + non-removable; + no-sd; + no-sdio; ++ #address-cells = <1>; ++ #size-cells = <0>; + status = "okay"; + -+ card@0 { -+ compatible = "mmc-card"; -+ reg = <0>; ++ card@0 { ++ compatible = "mmc-card"; ++ reg = <0>; + -+ block { -+ compatible = "block-device"; -+ partitions { -+ emmc_rootdisk: block-partition-production { -+ partname = "production"; -+ }; -+ }; -+ }; ++ partitions { ++ compatible = "gpt-partitions"; ++ ++ emmc_rootdisk: block-partition-production { ++ partname = "production"; + }; - }; - }; --}; - -+ fragment@1 { -+ target-path = "/chosen"; -+ __overlay__ { -+ rootdisk-emmc = <&emmc_rootdisk>; + }; + }; +}; ++ ++&{/chosen} { ++ rootdisk-emmc = <&emmc_rootdisk>; + }; --- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nand.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nand.dtso -@@ -29,27 +29,30 @@ +@@ -29,25 +29,24 @@ - partition@0 { - label = "bl2"; -- reg = <0x0 0x100000>; -+ reg = <0x0 0x200000>; - read-only; - }; + partition@0 { + label = "bl2"; +- reg = <0x0 0x100000>; +- read-only; ++ reg = <0x0 0x200000>; + }; -- partition@100000 { -- label = "reserved"; -- reg = <0x100000 0x280000>; -- }; +- partition@100000 { +- label = "reserved"; +- reg = <0x100000 0x280000>; +- }; - -- partition@380000 { -- label = "fip"; -- reg = <0x380000 0x200000>; -- read-only; -- }; +- partition@380000 { +- label = "fip"; +- reg = <0x380000 0x200000>; +- read-only; +- }; - -- partition@580000 { -+ partition@200000 { - label = "ubi"; -- reg = <0x580000 0x7a80000>; -+ reg = <0x200000 0x7e00000>; -+ compatible = "linux,ubi"; +- partition@580000 { ++ partition@200000 { + label = "ubi"; +- reg = <0x580000 0x7a80000>; ++ reg = <0x200000 0x7e00000>; ++ compatible = "linux,ubi"; + -+ volumes { -+ nand_rootdisk: ubi-volume-fit { -+ volname = "fit"; -+ }; -+ }; - }; - }; ++ volumes { ++ nand_rootdisk: ubi-volume-fit { ++ volname = "fit"; ++ }; ++ }; }; }; }; -+ -+ fragment@1 { -+ target-path = "/chosen"; -+ __overlay__ { -+ rootdisk-spim-nand = <&nand_rootdisk>; -+ }; -+ }; }; ++ ++&{/chosen} { ++ rootdisk-spim-nand = <&nand_rootdisk>; ++}; --- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nor.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-nor.dtso @@ -52,7 +52,7 @@ - reg = <0x180000 0xa80000>; - }; - -- partition@c00000 { -+ nor_rootdisk: partition@c00000 { - label = "fit"; - reg = <0xc00000 0x1400000>; - compatible = "denx,fit"; -@@ -61,4 +61,11 @@ + reg = <0x180000 0xa80000>; }; + +- partition@c00000 { ++ nor_rootdisk: partition@c00000 { + label = "fit"; + reg = <0xc00000 0x1400000>; + compatible = "denx,fit"; +@@ -60,3 +60,7 @@ }; }; -+ -+ fragment@1 { -+ target-path = "/chosen"; -+ __overlay__ { -+ rootdisk-nor = <&nor_rootdisk>; -+ }; -+ }; }; ++ ++&{/chosen} { ++ rootdisk-nor = <&nor_rootdisk>; ++}; --- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-sd.dtso +++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3-sd.dtso -@@ -17,6 +17,29 @@ - max-frequency = <52000000>; - cap-sd-highspeed; - status = "okay"; -+ #address-cells = <1>; -+ #size-cells = <0>; +@@ -15,5 +15,24 @@ + bus-width = <4>; + max-frequency = <52000000>; + cap-sd-highspeed; ++ #address-cells = <1>; ++ #size-cells = <0>; + status = "okay"; + -+ card@0 { -+ compatible = "mmc-card"; -+ reg = <0>; ++ card@0 { ++ compatible = "mmc-card"; ++ reg = <0>; + -+ block { -+ compatible = "block-device"; -+ partitions { -+ sd_rootdisk: block-partition-production { -+ partname = "production"; -+ }; -+ }; -+ }; ++ partitions { ++ compatible = "gpt-partitions"; ++ ++ sd_rootdisk: block-partition-production { ++ partname = "production"; + }; + }; + }; ++}; + -+ fragment@1 { -+ target-path = "/chosen"; -+ __overlay__ { -+ rootdisk-sd = <&sd_rootdisk>; - }; - }; ++&{/chosen} { ++ rootdisk-sd = <&sd_rootdisk>; };