ath79: add support for Pisen WMM003N (Cloud Easy Power)
authorIcenowy Zheng <icenowy@aosc.io>
Sun, 12 Aug 2018 14:32:01 +0000 (22:32 +0800)
committerMathias Kresin <dev@kresin.me>
Tue, 14 Aug 2018 08:19:37 +0000 (10:19 +0200)
Pisen WMM003N (sold under the name of Cloud Easy Power) is an
AR9331-based router and power bank combo device. The device uses a
stock firmware modified from OpenWRT for TP-Link TL-WR703N; however
some GPIO definition is different on this device with TL-WR703N. An
AXP202 PMIC (connected to a 5000mAh battery) and a SD slot are also
added, and the stock Flash/RAM configuration is 8MiB/64MiB.

The stock firmware is an old and heavily modified OpenWRT-based
firmware, which has telnetd defaultly open, and the root password is
"ifconfig" (quotation marks not included). The factory image format is
not known yet, however the stock firmware ships the OpenWRT's sysupgrade
command, and it can be used to install a newer firmware.

Due to the lack of the access to the STM8 embedded controller, the SD
slot is currently not usable (because it's muxed with the on-board USB
port) and the AXP PMIC cannot be monitored.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
target/linux/ath79/base-files/etc/board.d/02_network
target/linux/ath79/dts/ar9331_pisen_wmm003n.dts [new file with mode: 0644]
target/linux/ath79/image/generic.mk

index 9e315ee866eef1bad029d67f8a0798a40436d3ff..68f9523568af7d576995f6baa03c193364bb7fac 100755 (executable)
@@ -13,6 +13,7 @@ ath79_setup_interfaces()
        ocedo,koala|\
        ocedo,raccoon|\
        pcs,cap324|\
+       pisen,wmm003n|\
        tplink,re450-v2|\
        tplink,tl-mr10u|\
        tplink,tl-mr3020-v1|\
diff --git a/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts b/target/linux/ath79/dts/ar9331_pisen_wmm003n.dts
new file mode 100644 (file)
index 0000000..223eaa2
--- /dev/null
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar9331.dtsi"
+
+/ {
+       model = "Pisen WMM003N";
+       compatible = "pisen,wmm003n", "qca,ar9331";
+
+       aliases {
+               serial0 = &uart;
+               led-status = &led_system;
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               poll-interval = <20>;
+
+               reset {
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <60>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               led_system: system {
+                       label = "pisen:blue:system";
+                       gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       reg_usb_vbus: reg_usb_vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+};
+
+&spi {
+       status = "okay";
+       num-cs = <1>;
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <25000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       uboot: partition@0 {
+                               reg = <0x0 0x20000>;
+                               label = "u-boot";
+                               read-only;
+                       };
+
+                       firmware: partition@20000 {
+                               reg = <0x20000 0x7d0000>;
+                               label = "firmware";
+                       };
+
+                       art: partition@7f0000 {
+                               reg = <0x7f0000 0x10000>;
+                               label = "art";
+                               read-only;
+                       };
+               };
+       };
+};
+
+&eth0 {
+       status = "okay";
+
+       mtd-mac-address = <&uboot 0x1fc00>;
+
+       gmac-config {
+               device = <&gmac>;
+
+               switch-phy-addr-swap = <0>;
+               switch-phy-swap = <0>;
+       };
+};
+
+&eth1 {
+       status = "okay";
+       compatible = "syscon", "simple-mfd";
+};
+
+&gpio {
+       status = "okay";
+};
+
+&uart {
+       status = "okay";
+};
+
+&usb {
+       dr_mode = "host";
+       vbus-supply = <&reg_usb_vbus>;
+       status = "okay";
+};
+
+&usb_phy {
+       status = "okay";
+};
+
+&wmac {
+       status = "okay";
+       mtd-cal-data = <&art 0x1000>;
+       mtd-mac-address = <&uboot 0x1fc00>;
+};
index ddde8beee83d57b20426d7d0c5397ecde952b887..117198f70b5490e1ba9ee5707f8080bc78582163 100644 (file)
@@ -167,6 +167,17 @@ define Device/netgear_wndr3700v2
 endef
 TARGET_DEVICES += netgear_wndr3700v2
 
+define Device/pisen_wmm003n
+  $(Device/tplink-8mlzma)
+  ATH_SOC := ar9331
+  DEVICE_TITLE := Pisen WMM003N (Cloud Easy Power)
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
+  TPLINK_HWID := 0x07030101
+  SUPPORTED_DEVICES += wmm003n
+  IMAGES := sysupgrade.bin
+endef
+TARGET_DEVICES += pisen_wmm003n
+
 define Device/netgear_wndr3800
   $(Device/netgear_wndr3x00)
   DEVICE_TITLE := NETGEAR WNDR3800