aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/apm821xx/dts/apollo3g.dtsi189
-rw-r--r--target/linux/apm821xx/dts/wd-mybooklive-duo.dts38
-rw-r--r--target/linux/apm821xx/dts/wd-mybooklive.dts183
-rw-r--r--target/linux/apm821xx/image/Makefile23
4 files changed, 187 insertions, 246 deletions
diff --git a/target/linux/apm821xx/dts/apollo3g.dtsi b/target/linux/apm821xx/dts/apollo3g.dtsi
deleted file mode 100644
index e88973f8d2..0000000000
--- a/target/linux/apm821xx/dts/apollo3g.dtsi
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
- * (c) Copyright 2010 Western Digital Technologies, Inc. All Rights Reserved.
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without
- * any warranty of any kind, whether express or implied.
- */
-
-#include "apm82181.dtsi"
-
-/ {
- compatible = "amcc,apollo3g";
-
- aliases {
- serial0 = &UART0;
- led-boot = &status;
- led-failsafe = &status;
- led-running = &status;
- led-upgrade = &status;
- };
-};
-
-&POB0 {
- ebc {
- nor_flash@0,0 {
- status = "okay";
- compatible = "amd,s29gl512n", "jedec-probe", "cfi-flash", "mtd-rom";
- bank-width = <1>;
- reg = <0x00000000 0x00000000 0x00080000>;
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- /* Part of bootrom - Don't use it without a jump */
- label = "free";
- reg = <0x00000000 0x0001e000>;
- };
-
- partition@1 {
- label = "env";
- reg = <0x0001e000 0x00002000>;
- };
-
- partition@2 {
- label = "uboot";
- reg = <0x00020000 0x00050000>;
- };
- };
- };
-
- GPIO1: gpio1@e0000000 {
- compatible = "wd,mbl-gpio", "ti,74273";
- reg-names = "dat";
- reg = <0xe0000000 0x1>;
- #gpio-cells = <2>;
- gpio-controller;
-
- enable-phy {
- /* toggle to reset EMAC PHY */
- gpio-hog;
- line-name = "enable EMAC PHY";
- gpios = <0 GPIO_ACTIVE_LOW>;
- output-low;
- };
-
- enable-button {
- /* Defined in u-boot as: NOT_NOR
- * "enables features other than NOR
- * specifically, the buffer at CS2"
- * (button).
- *
- * Note: This option is disabled as
- * it prevents the system from being
- * rebooted successfully.
- */
-
- gpio-hog;
- line-name = "Enable Reset Button, disable NOR";
- gpios = <1 GPIO_ACTIVE_HIGH>;
- output-low;
- };
-
- enable-usb {
- gpio-hog;
- line-name = "Power USB Core";
- gpios = <2 GPIO_ACTIVE_LOW>;
- output-low;
- status = "disabled";
- };
-
- enable-port1 {
- gpio-hog;
- line-name = "Power Drive Port 1";
- gpios = <3 GPIO_ACTIVE_LOW>;
- output-low;
- };
-
- enable-port0 {
- gpio-hog;
- line-name = "Power Drive Port 0";
- gpios = <7 GPIO_ACTIVE_LOW>;
- output-low;
- status = "disabled";
- };
- };
-
- GPIO2: gpio2@e0100000 {
- compatible = "wd,mbl-gpio", "ti,74244";
- reg-names = "dat";
- reg = <0xe0100000 0x1>;
- #gpio-cells = <2>;
- gpio-controller;
- no-output;
- };
-
- gpio-leds {
- compatible = "gpio-leds";
-
- failsafe: power-red {
- label = "mbl:red:power";
- gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "panic";
- };
-
- status: power-green {
- label = "mbl:green:power";
- gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
- };
-
- power-blue {
- label = "mbl:blue:power";
- gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
- };
- };
-
- gpio_keys_polled {
- compatible = "gpio-keys-polled";
- #address-cells = <1>;
- #size-cells = <0>;
- poll-interval = <60>; /* 3 * 20 = 60ms */
- autorepeat;
-
- button@1 {
- label = "Reset button";
- linux,code = <KEY_RESTART>;
- gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>;
- };
- };
-};
-
-&CRYPTO {
- status = "okay";
-};
-
-&PKA {
- status = "okay";
-};
-
-&TRNG {
- status = "okay";
-};
-
-&SATA1 {
- status = "okay";
-};
-
-&UART0 {
- status = "okay";
-};
-
-&EMAC0 {
- status = "okay";
-
- phy-map = <0x2>;
- phy-address = <0x1>;
- phy-handle = <&phy>;
-
- mdio {
- phy: phy@1 {
- compatible = "ethernet-phy-ieee802.3-c22";
- reg = <1>;
- };
- };
-};
-
-&SATA1 {
- status = "okay";
-};
diff --git a/target/linux/apm821xx/dts/wd-mybooklive-duo.dts b/target/linux/apm821xx/dts/wd-mybooklive-duo.dts
deleted file mode 100644
index 4f6cc506f5..0000000000
--- a/target/linux/apm821xx/dts/wd-mybooklive-duo.dts
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Device Tree Source for AMCC Canyonlands (460EX)
- *
- * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
- * (c) Copyright 2010 Western Digital Technologies, Inc. All Rights Reserved.
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without
- * any warranty of any kind, whether express or implied.
- */
-
-/dts-v1/;
-
-#include "apollo3g.dtsi"
-
-/ {
- compatible = "wd,mybooklive-duo", "amcc,apollo3g";
- model = "MyBook Live Duo";
-};
-
-&SATA0 {
- status = "okay";
-};
-
-&USBOTG0 {
- status = "okay";
- dr_mode = "host";
-};
-
-&GPIO1 {
- enable-usb {
- status = "okay";
- };
-
- enable-port0 {
- status = "okay";
- };
-};
diff --git a/target/linux/apm821xx/dts/wd-mybooklive.dts b/target/linux/apm821xx/dts/wd-mybooklive.dts
index d841352292..aee0d3266d 100644
--- a/target/linux/apm821xx/dts/wd-mybooklive.dts
+++ b/target/linux/apm821xx/dts/wd-mybooklive.dts
@@ -9,9 +9,190 @@
/dts-v1/;
-#include "apollo3g.dtsi"
+#include "apm82181.dtsi"
/ {
compatible = "wd,mybooklive", "amcc,apollo3g";
model = "MyBook Live";
+
+ aliases {
+ serial0 = &UART0;
+ led-boot = &status;
+ led-failsafe = &status;
+ led-running = &status;
+ led-upgrade = &status;
+ };
+};
+
+&POB0 {
+ ebc {
+ nor_flash@0,0 {
+ status = "okay";
+ compatible = "amd,s29gl512n", "jedec-probe", "cfi-flash", "mtd-rom";
+ bank-width = <1>;
+ reg = <0x00000000 0x00000000 0x00080000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ /* Part of bootrom - Don't use it without a jump */
+ label = "free";
+ reg = <0x00000000 0x0001e000>;
+ };
+
+ partition@1 {
+ label = "env";
+ reg = <0x0001e000 0x00002000>;
+ };
+
+ partition@2 {
+ label = "uboot";
+ reg = <0x00020000 0x00050000>;
+ };
+ };
+ };
+
+ GPIO1: gpio1@e0000000 {
+ compatible = "wd,mbl-gpio", "ti,74273";
+ reg-names = "dat";
+ reg = <0xe0000000 0x1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ enable-phy {
+ /* toggle to reset EMAC PHY */
+ gpio-hog;
+ line-name = "enable EMAC PHY";
+ gpios = <0 GPIO_ACTIVE_LOW>;
+ output-low;
+ };
+
+ enable-button {
+ /* Defined in u-boot as: NOT_NOR
+ * "enables features other than NOR
+ * specifically, the buffer at CS2"
+ * (button).
+ *
+ * Note: This option is disabled as
+ * it prevents the system from being
+ * rebooted successfully.
+ */
+
+ gpio-hog;
+ line-name = "Enable Reset Button, disable NOR";
+ gpios = <1 GPIO_ACTIVE_HIGH>;
+ output-low;
+ };
+
+ enable-usb {
+ gpio-hog;
+ line-name = "Power USB Core";
+ gpios = <2 GPIO_ACTIVE_LOW>;
+ output-low;
+ };
+
+ enable-port1 {
+ gpio-hog;
+ line-name = "Power Drive Port 1";
+ gpios = <3 GPIO_ACTIVE_LOW>;
+ output-low;
+ };
+
+ enable-port0 {
+ gpio-hog;
+ line-name = "Power Drive Port 0";
+ gpios = <7 GPIO_ACTIVE_LOW>;
+ output-low;
+ };
+ };
+
+ GPIO2: gpio2@e0100000 {
+ compatible = "wd,mbl-gpio", "ti,74244";
+ reg-names = "dat";
+ reg = <0xe0100000 0x1>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ no-output;
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ failsafe: power-red {
+ label = "mbl:red:power";
+ gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "panic";
+ };
+
+ status: power-green {
+ label = "mbl:green:power";
+ gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ power-blue {
+ label = "mbl:blue:power";
+ gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio_keys_polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <60>; /* 3 * 20 = 60ms */
+ autorepeat;
+
+ reset-button {
+ label = "Reset button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&EMAC0 {
+ status = "okay";
+
+ phy-map = <0x2>;
+ phy-address = <0x1>;
+ phy-handle = <&phy>;
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ phy: phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+ };
+};
+
+&CRYPTO {
+ status = "okay";
+};
+
+&PKA {
+ status = "okay";
+};
+
+&TRNG {
+ status = "okay";
+};
+
+&SATA0 {
+ status = "okay";
+};
+
+&SATA1 {
+ status = "okay";
+};
+
+&UART0 {
+ status = "okay";
+};
+
+&USBOTG0 {
+ status = "okay";
+ dr_mode = "host";
};
diff --git a/target/linux/apm821xx/image/Makefile b/target/linux/apm821xx/image/Makefile
index 1e94a40918..9d9c0e5ace 100644
--- a/target/linux/apm821xx/image/Makefile
+++ b/target/linux/apm821xx/image/Makefile
@@ -214,7 +214,11 @@ define Build/hdd-img
./mbl_gen_hdd_img.sh $@ $@.boot $(IMAGE_ROOTFS)
endef
-define Device/MyBookLiveDefault
+define Device/wd_mybooklive
+ DEVICE_TITLE := Western Digital My Book Live Series (Single + Duo)
+ DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-mini
+ DEVICE_DTS := wd-mybooklive
+ SUPPORTED_DEVICES += mbl wd_mybooklive-duo
IMAGE_SIZE := 48m
BLOCKSIZE := 1k
DTB_SIZE := 16384
@@ -228,25 +232,8 @@ define Device/MyBookLiveDefault
IMAGE/rootfs.img.gz := boot-script | boot-img | hdd-img | gzip | append-metadata
endef
-define Device/wd_mybooklive
-$(Device/MyBookLiveDefault)
- DEVICE_TITLE := Western Digital My Book Live
- DEVICE_DTS := wd-mybooklive
- SUPPORTED_DEVICES += mbl
-endef
-
TARGET_DEVICES += wd_mybooklive
-define Device/wd_mybooklive-duo
-$(Device/MyBookLiveDefault)
- DEVICE_TITLE := Western Digital My Book Live Duo
- DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-mini
- DEVICE_DTS := wd-mybooklive-duo
- SUPPORTED_DEVICES += mbl
-endef
-
-TARGET_DEVICES += wd_mybooklive-duo
-
endif
$(eval $(call BuildImage))