Thank you for your work!! What about R6220 ? Thanks again!
> Il giorno 25 feb 2021, alle ore 21:24, Jan Hoffmann <j...@3e8.eu> ha scritto: > > This patch makes use of the Sercomm partition table parser on some > Netgear routers. This applies to the boards CHJ (R6260, R6350, R6850, > WAC124) and BZV (R6800, R6700-v2, R7200, Nighthawk AC2400). > > On these models, each device has an individual partition table that > takes into account bad blocks that existed during manufacturing. Thus > the partition table needs to be parsed for the device to work correctly. > A typical issue that occurs otherwise is degraded wireless performance, > when the calibration data cannot be found at the expected offset. > > Signed-off-by: Jan Hoffmann <j...@3e8.eu> > --- > .../dts/mt7621_netgear_sercomm_bzv.dtsi | 169 +++++++++++++++++- > .../dts/mt7621_netgear_sercomm_chj.dtsi | 169 +++++++++++++++++- > target/linux/ramips/mt7621/config-5.4 | 1 + > 3 files changed, 331 insertions(+), 8 deletions(-) > > diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi > b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi > index 71c95e75bd..044f6e9696 100644 > --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi > +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi > @@ -213,47 +213,208 @@ > status = "okay"; > > partitions { > - compatible = "fixed-partitions"; > + compatible = "sercomm,sc-partitions", "fixed-partitions"; > #address-cells = <1>; > #size-cells = <1>; > > partition@0 { > label = "u-boot"; > reg = <0x0 0x100000>; > + scpart-id = <0>; > read-only; > }; > > partition@100000 { > label = "SC PART_MAP"; > reg = <0x100000 0x100000>; > + scpart-id = <1>; > read-only; > }; > > partition@200000 { > label = "kernel"; > reg = <0x200000 0x400000>; > + scpart-id = <2>; > }; > > partition@600000 { > label = "ubi"; > reg = <0x600000 0x2800000>; > + scpart-id = <3>; > }; > > partition@2e00000 { > - label = "reserved0"; > - reg = <0x2e00000 0x1800000>; > + label = "English UI"; > + reg = <0x2e00000 0x200000>; > + scpart-id = <4>; > + read-only; > + }; > + > + partition@3000000 { > + label = "ML1"; > + reg = <0x3000000 0x200000>; > + scpart-id = <5>; > + read-only; > + }; > + > + partition@3200000 { > + label = "ML2"; > + reg = <0x3200000 0x200000>; > + scpart-id = <6>; > + read-only; > + }; > + > + partition@3400000 { > + label = "ML3"; > + reg = <0x3400000 0x200000>; > + scpart-id = <7>; > + read-only; > + }; > + > + partition@3600000 { > + label = "ML4"; > + reg = <0x3600000 0x200000>; > + scpart-id = <8>; > + read-only; > + }; > + > + partition@3800000 { > + label = "ML5"; > + reg = <0x3800000 0x200000>; > + scpart-id = <9>; > + read-only; > + }; > + > + partition@3a00000 { > + label = "ML6"; > + reg = <0x3a00000 0x200000>; > + scpart-id = <10>; > + read-only; > + }; > + > + partition@3c00000 { > + label = "ML7"; > + reg = <0x3c00000 0x200000>; > + scpart-id = <11>; > + read-only; > + }; > + > + partition@3e00000 { > + label = "ML8"; > + reg = <0x3e00000 0x200000>; > + scpart-id = <12>; > + read-only; > + }; > + > + partition@4000000 { > + label = "ML9"; > + reg = <0x4000000 0x200000>; > + scpart-id = <13>; > + read-only; > + }; > + > + partition@4200000 { > + label = "ML10"; > + reg = <0x4200000 0x200000>; > + scpart-id = <14>; > + read-only; > + }; > + > + partition@4400000 { > + label = "ML11"; > + reg = <0x4400000 0x200000>; > + scpart-id = <15>; > read-only; > }; > > factory: partition@4600000 { > label = "factory"; > reg = <0x4600000 0x200000>; > + scpart-id = <16>; > read-only; > }; > > partition@4800000 { > + label = "SC Private Data"; > + reg = <0x4800000 0x200000>; > + scpart-id = <17>; > + read-only; > + }; > + > + partition@4a00000 { > + label = "POT"; > + reg = <0x4a00000 0x200000>; > + scpart-id = <18>; > + read-only; > + }; > + > + partition@4c00000 { > + label = "Traffic Meter"; > + reg = <0x4c00000 0x200000>; > + scpart-id = <19>; > + read-only; > + }; > + > + partition@4e00000 { > + label = "SC PID"; > + reg = <0x4e00000 0x200000>; > + scpart-id = <20>; > + read-only; > + }; > + > + partition@5000000 { > + label = "SC Nvram"; > + reg = <0x5000000 0x200000>; > + scpart-id = <21>; > + read-only; > + }; > + > + partition@5200000 { > + label = "Ralink Nvram"; > + reg = <0x5200000 0x200000>; > + scpart-id = <22>; > + read-only; > + }; > + > + partition@5400000 { > + label = "reserved0"; > + reg = <0x5400000 0x200000>; > + scpart-id = <23>; > + read-only; > + }; > + > + partition@5600000 { > label = "reserved1"; > - reg = <0x4800000 0x3800000>; > + reg = <0x5600000 0x200000>; > + scpart-id = <24>; > + read-only; > + }; > + > + partition@5800000 { > + label = "reserved2"; > + reg = <0x5800000 0x200000>; > + scpart-id = <25>; > + read-only; > + }; > + > + partition@5a00000 { > + label = "reserved3"; > + reg = <0x5a00000 0x200000>; > + scpart-id = <26>; > + read-only; > + }; > + > + partition@5c00000 { > + label = "reserved4"; > + reg = <0x5c00000 0x200000>; > + scpart-id = <27>; > + read-only; > + }; > + > + partition@5e00000 { > + label = "reserved5"; > + reg = <0x5e00000 0x2180000>; > + scpart-id = <28>; > read-only; > }; > }; > diff --git a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi > b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi > index 7a15cd1f6c..90fed6ba87 100644 > --- a/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi > +++ b/target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi > @@ -141,47 +141,208 @@ > status = "okay"; > > partitions { > - compatible = "fixed-partitions"; > + compatible = "sercomm,sc-partitions", "fixed-partitions"; > #address-cells = <1>; > #size-cells = <1>; > > partition@0 { > label = "u-boot"; > reg = <0x0 0x100000>; > + scpart-id = <0>; > read-only; > }; > > partition@100000 { > label = "SC PART_MAP"; > reg = <0x100000 0x100000>; > + scpart-id = <1>; > read-only; > }; > > partition@200000 { > label = "kernel"; > reg = <0x200000 0x400000>; > + scpart-id = <2>; > }; > > partition@600000 { > label = "ubi"; > reg = <0x600000 0x2800000>; > + scpart-id = <3>; > }; > > partition@2e00000 { > - label = "reserved0"; > - reg = <0x2e00000 0x1800000>; > + label = "English UI"; > + reg = <0x2e00000 0x200000>; > + scpart-id = <4>; > + read-only; > + }; > + > + partition@3000000 { > + label = "ML1"; > + reg = <0x3000000 0x200000>; > + scpart-id = <5>; > + read-only; > + }; > + > + partition@3200000 { > + label = "ML2"; > + reg = <0x3200000 0x200000>; > + scpart-id = <6>; > + read-only; > + }; > + > + partition@3400000 { > + label = "ML3"; > + reg = <0x3400000 0x200000>; > + scpart-id = <7>; > + read-only; > + }; > + > + partition@3600000 { > + label = "ML4"; > + reg = <0x3600000 0x200000>; > + scpart-id = <8>; > + read-only; > + }; > + > + partition@3800000 { > + label = "ML5"; > + reg = <0x3800000 0x200000>; > + scpart-id = <9>; > + read-only; > + }; > + > + partition@3a00000 { > + label = "ML6"; > + reg = <0x3a00000 0x200000>; > + scpart-id = <10>; > + read-only; > + }; > + > + partition@3c00000 { > + label = "ML7"; > + reg = <0x3c00000 0x200000>; > + scpart-id = <11>; > + read-only; > + }; > + > + partition@3e00000 { > + label = "ML8"; > + reg = <0x3e00000 0x200000>; > + scpart-id = <12>; > + read-only; > + }; > + > + partition@4000000 { > + label = "ML9"; > + reg = <0x4000000 0x200000>; > + scpart-id = <13>; > + read-only; > + }; > + > + partition@4200000 { > + label = "ML10"; > + reg = <0x4200000 0x200000>; > + scpart-id = <14>; > + read-only; > + }; > + > + partition@4400000 { > + label = "ML11"; > + reg = <0x4400000 0x200000>; > + scpart-id = <15>; > read-only; > }; > > factory: partition@4600000 { > label = "factory"; > reg = <0x4600000 0x200000>; > + scpart-id = <16>; > read-only; > }; > > partition@4800000 { > + label = "SC Private Data"; > + reg = <0x4800000 0x200000>; > + scpart-id = <17>; > + read-only; > + }; > + > + partition@4a00000 { > + label = "POT"; > + reg = <0x4a00000 0x200000>; > + scpart-id = <18>; > + read-only; > + }; > + > + partition@4c00000 { > + label = "Traffic Meter"; > + reg = <0x4c00000 0x200000>; > + scpart-id = <19>; > + read-only; > + }; > + > + partition@4e00000 { > + label = "SC PID"; > + reg = <0x4e00000 0x200000>; > + scpart-id = <20>; > + read-only; > + }; > + > + partition@5000000 { > + label = "SC Nvram"; > + reg = <0x5000000 0x200000>; > + scpart-id = <21>; > + read-only; > + }; > + > + partition@5200000 { > + label = "Ralink Nvram"; > + reg = <0x5200000 0x200000>; > + scpart-id = <22>; > + read-only; > + }; > + > + partition@5400000 { > + label = "reserved0"; > + reg = <0x5400000 0x200000>; > + scpart-id = <23>; > + read-only; > + }; > + > + partition@5600000 { > label = "reserved1"; > - reg = <0x4800000 0x3800000>; > + reg = <0x5600000 0x200000>; > + scpart-id = <24>; > + read-only; > + }; > + > + partition@5800000 { > + label = "reserved2"; > + reg = <0x5800000 0x200000>; > + scpart-id = <25>; > + read-only; > + }; > + > + partition@5a00000 { > + label = "reserved3"; > + reg = <0x5a00000 0x200000>; > + scpart-id = <26>; > + read-only; > + }; > + > + partition@5c00000 { > + label = "reserved4"; > + reg = <0x5c00000 0x200000>; > + scpart-id = <27>; > + read-only; > + }; > + > + partition@5e00000 { > + label = "reserved5"; > + reg = <0x5e00000 0x2180000>; > + scpart-id = <28>; > read-only; > }; > }; > diff --git a/target/linux/ramips/mt7621/config-5.4 > b/target/linux/ramips/mt7621/config-5.4 > index fba22a39cf..19d8fd34a9 100644 > --- a/target/linux/ramips/mt7621/config-5.4 > +++ b/target/linux/ramips/mt7621/config-5.4 > @@ -155,6 +155,7 @@ CONFIG_MODULES_USE_ELF_REL=y > CONFIG_MT7621_WDT=y > # CONFIG_MTD_CFI_INTELEXT is not set > CONFIG_MTD_CMDLINE_PARTS=y > +CONFIG_MTD_SERCOMM_PARTS=y > CONFIG_MTD_NAND_CORE=y > CONFIG_MTD_NAND_ECC_SW_HAMMING=y > CONFIG_MTD_NAND_MT7621=y > -- > 2.29.2 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel