From 5f7828fcc274ec7c381298c92cf3a946182168a0 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sun, 12 Jun 2022 11:48:01 +0200 Subject: [PATCH] apm821xx: MBL: make mtd chip work The MBL has a 512KiB Microchip SST39VF040 chip for uboot and not much else. Thanks to Ewald who figured out that the "jedec-probe" vs. "jedec-flash" was the wrong binding. With this information and the jedec-probe support enabled => the chip works. | physmap-flash 4fff80000.nor_flash: physmap platform flash device: [mem 0x4fff80000-0x4ffffffff] | Found: SST 39LF040 | 4fff80000.nor_flash: Found 1 x8 devices at 0x0 in 8-bit bank Suggested-by: Ewald Comhaire Signed-off-by: Christian Lamparter --- package/boot/uboot-envtools/files/apm821xx | 4 ++++ target/linux/apm821xx/Makefile | 2 +- target/linux/apm821xx/dts/wd-mybooklive.dts | 5 ++++- target/linux/apm821xx/sata/config-default | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package/boot/uboot-envtools/files/apm821xx b/package/boot/uboot-envtools/files/apm821xx index 690fbba3321..e73aaab7a0d 100644 --- a/package/boot/uboot-envtools/files/apm821xx +++ b/package/boot/uboot-envtools/files/apm821xx @@ -19,6 +19,10 @@ netgear,wndap620|\ netgear,wndap660) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000" "4" ;; +wd,mybooklive) + ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" "1" + ubootenv_add_uci_config "/dev/mtd1" "0x1000" "0x1000" "0x1000" "1" + ;; esac config_load ubootenv diff --git a/target/linux/apm821xx/Makefile b/target/linux/apm821xx/Makefile index f36274bd988..875ff225a90 100644 --- a/target/linux/apm821xx/Makefile +++ b/target/linux/apm821xx/Makefile @@ -21,6 +21,6 @@ include $(INCLUDE_DIR)/target.mk KERNELNAME:=uImage DEFAULT_PACKAGES += \ - kmod-leds-gpio kmod-i2c-core kmod-gpio-button-hotplug + kmod-leds-gpio kmod-i2c-core kmod-gpio-button-hotplug uboot-envtools $(eval $(call BuildTarget)) diff --git a/target/linux/apm821xx/dts/wd-mybooklive.dts b/target/linux/apm821xx/dts/wd-mybooklive.dts index 2cc4dd8b79e..5fcddb0cd86 100644 --- a/target/linux/apm821xx/dts/wd-mybooklive.dts +++ b/target/linux/apm821xx/dts/wd-mybooklive.dts @@ -22,7 +22,7 @@ ebc { nor_flash@0,0 { status = "okay"; - compatible = "amd,s29gl512n", "jedec-probe", "cfi-flash", "mtd-rom"; + compatible = "microchip,sst39vf040", "jedec-flash"; bank-width = <1>; reg = <0x00000000 0x00000000 0x00080000>; #address-cells = <1>; @@ -32,16 +32,19 @@ /* Part of bootrom - Don't use it without a jump */ label = "free"; reg = <0x00000000 0x0001e000>; + read-only; }; partition@1e000 { label = "env"; reg = <0x0001e000 0x00002000>; + read-only; }; partition@20000 { label = "uboot"; reg = <0x00020000 0x00050000>; + read-only; }; }; }; diff --git a/target/linux/apm821xx/sata/config-default b/target/linux/apm821xx/sata/config-default index e8e595641db..563fa60478a 100644 --- a/target/linux/apm821xx/sata/config-default +++ b/target/linux/apm821xx/sata/config-default @@ -35,6 +35,8 @@ CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y # CONFIG_MD_RAID10 is not set # CONFIG_MD_RAID456 is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_JEDECPROBE=y CONFIG_PM=y CONFIG_PM_AUTOSLEEP=y CONFIG_PM_CLK=y -- 2.30.2