瀏覽代碼

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 <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
Christian Lamparter 3 年之前
父節點
當前提交
5f7828fcc2

+ 4 - 0
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

+ 1 - 1
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))

+ 4 - 1
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;
 			};
 		};
 	};

+ 2 - 0
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