From 25bb907937c9e0359bb9980ef99a2c9c1dbb5466 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 17 May 2025 14:03:10 +0100 Subject: [PATCH] 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 --- ...ts-mt7623-bpi-r2-rootdisk-for-fitblk.patch | 24 +-- ...i-r3-leds-port-names-and-wifi-eeprom.patch | 16 +- ...7986a-bpi-r3-use-all-ubi-nand-layout.patch | 180 ++++++++---------- 3 files changed, 98 insertions(+), 122 deletions(-) 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>; };