--- 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,27 @@ no-sd; no-sdio; status = "okay"; + + card@0 { + compatible = "mmc-card"; + reg = <0>; + + block { + compatible = "block-device"; + partitions { + emmc_rootdisk: block-partition-production { + partname = "production"; + }; + }; + }; + }; }; }; -}; + fragment@1 { + target-path = "/chosen"; + __overlay__ { + 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 @@ partition@0 { label = "bl2"; - reg = <0x0 0x100000>; + reg = <0x0 0x200000>; read-only; }; - partition@100000 { - label = "reserved"; - reg = <0x100000 0x280000>; - }; - - partition@380000 { - label = "fip"; - reg = <0x380000 0x200000>; - read-only; - }; - - partition@580000 { + partition@200000 { label = "ubi"; - reg = <0x580000 0x7a80000>; + reg = <0x200000 0x7e00000>; + compatible = "linux,ubi"; + + volumes { + nand_rootdisk: ubi-volume-fit { + volname = "fit"; + }; + }; }; }; }; }; }; + + fragment@1 { + target-path = "/chosen"; + __overlay__ { + 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 @@ }; }; }; + + fragment@1 { + target-path = "/chosen"; + __overlay__ { + 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,27 @@ max-frequency = <52000000>; cap-sd-highspeed; status = "okay"; + + card@0 { + compatible = "mmc-card"; + reg = <0>; + + block { + compatible = "block-device"; + partitions { + sd_rootdisk: block-partition-production { + partname = "production"; + }; + }; + }; + }; + }; + }; + + fragment@1 { + target-path = "/chosen"; + __overlay__ { + rootdisk-sd = <&sd_rootdisk>; }; }; };