Add initial ath79 TPE-R1200 support
authorRISCi_ATOM <bob@bobcall.me>
Sat, 2 Nov 2019 18:08:08 +0000 (14:08 -0400)
committerRISCi_ATOM <bob@bobcall.me>
Sat, 2 Nov 2019 18:08:08 +0000 (14:08 -0400)
target/linux/ath79/base-files/etc/board.d/01_leds
target/linux/ath79/dts/ar9330_thinkpenguin_tpe-r1100.dts [new file with mode: 0644]
target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nand.dts [new file with mode: 0644]
target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nor.dts [new file with mode: 0644]
target/linux/ath79/image/generic.mk

index 41a4abae18c9ea94c945eba6ff312c3deada2237..d6b41e2f1a95a0f2fb4ab68690b8fa57cd444852 100755 (executable)
@@ -104,6 +104,14 @@ pcs,cr3000)
        ucidef_set_led_switch "lan3" "LAN3" "pcs:blue:lan3" "switch0" "0x10"
        ucidef_set_led_switch "lan4" "LAN4" "pcs:blue:lan4" "switch0" "0x02"
        ;;
+thinkpenguin,tpe-r1100)
+        ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
+        ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x02"
+        ;;
+thinkpenguin,tpe-r1200-nand|\
+thinkpenguin,tpe-r1200-nor)
+        ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0"
+        ;;
 tplink,archer-a7-v5|\
 tplink,archer-c7-v4|\
 tplink,archer-c7-v5)
diff --git a/target/linux/ath79/dts/ar9330_thinkpenguin_tpe-r1100.dts b/target/linux/ath79/dts/ar9330_thinkpenguin_tpe-r1100.dts
new file mode 100644 (file)
index 0000000..a1ab1b7
--- /dev/null
@@ -0,0 +1,145 @@
+// 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 "ar9330.dtsi"
+
+/ {
+       model = "ThinkPenguin TPE-R1100";
+       compatible = "thinkpenguin,tpe-r1100", "qca,ar9330";
+
+       aliases {
+               serial0 = &uart;
+               led-boot = &wlan;
+               led-failsafe = &wlan;
+               led-upgrade = &wlan;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wlan: wlan {
+                       label = "gl-ar150:orange:wlan";
+                       gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               lan {
+                       label = "gl-ar150:green:lan";
+                       gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
+               };
+
+               wan {
+                       label = "gl-ar150:green:wan";
+                       gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys-polled";
+               poll-interval = <100>;
+
+               manual {
+                       label = "manual";
+                       linux,code = <BTN_7>;
+                       gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
+               };
+
+               auto {
+                       label = "auto";
+                       linux,code = <BTN_8>;
+                       gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
+               };
+
+               reset {
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&uart {
+       status = "okay";
+};
+
+&gpio {
+       status = "okay";
+};
+
+&usb {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usb_phy {
+       status = "okay";
+       gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
+};
+
+&spi {
+       num-chipselects = <1>;
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <104000000>;
+               reg = <0>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x000000 0x040000>;
+                               read-only;
+                       };
+
+                       partition@1 {
+                               label = "u-boot-env";
+                               reg = <0x040000 0x010000>;
+                       };
+
+                       partition@2 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x050000 0xfa0000>;
+                       };
+
+                       art: partition@3 {
+                               label = "art";
+                               reg = <0xff0000 0x010000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&eth0 {
+       status = "okay";
+
+       mtd-mac-address = <&art 0x0>;
+};
+
+&eth1 {
+       status = "okay";
+
+       mtd-mac-address = <&art 0x0>;
+
+       gmac-config {
+               device = <&gmac>;
+
+               switch-phy-addr-swap = <0>;
+               switch-phy-swap = <0>;
+       };
+};
+
+&wmac {
+       status = "okay";
+       mtd-cal-data = <&art 0x1000>;
+       mtd-mac-address = <&art 0x0>;
+};
diff --git a/target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nand.dts b/target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nand.dts
new file mode 100644 (file)
index 0000000..f4c561c
--- /dev/null
@@ -0,0 +1,34 @@
+/dts-v1/;
+
+#include "qca9531_glinet_gl-ar300m.dtsi"
+
+/ {
+       compatible = "thinkpenguin,tpe-r1200-nand", "qca,qca9531";
+       model = "ThinkPenguin TPE-R1200 (NAND)";
+};
+
+&spi {
+       num-cs = <1>;
+
+       flash@1 {
+               compatible = "spinand,mt29f";
+               reg = <1>;
+               spi-max-frequency = <25000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "kernel";
+                               reg = <0x000000 0x0200000>;
+                       };
+
+                       partition@1 {
+                               label = "ubi";
+                               reg = <0x200000 0x7e00000>;
+                       };
+               };
+       };
+};
diff --git a/target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nor.dts b/target/linux/ath79/dts/qca9531_thinkpenguin_tpe-r1200-nor.dts
new file mode 100644 (file)
index 0000000..811f958
--- /dev/null
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca9531_glinet_gl-ar300m.dtsi"
+
+/ {
+       compatible = "thinkpenguin,tpe-r1200-nor", "qca,qca9531";
+       model = "ThinkPenguin TPE-R1200 (NOR)";
+};
index 43304fa226e1bba50ec52b98fe33d1ee5b1a8f60..d0a86934f6b5e627e317cbe3ef81ded5028dbace 100644 (file)
@@ -291,7 +291,7 @@ define Device/glinet_gl-ar300m-common-nor
   ATH_SOC := qca9531
   DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   IMAGE_SIZE := 16000k
-  SUPPORTED_DEVICES += gl-ar300m
+  SUPPORTED_DEVICES += gl-ar300m tpe-r1200
 endef
 
 define Device/glinet_gl-ar300m-lite
@@ -465,6 +465,21 @@ define Device/rosinson_wr818
 endef
 TARGET_DEVICES += rosinson_wr818
 
+define Device/thinkpenguin_tpe-r1100
+  ATH_SOC := ar9330
+  DEVICE_TITLE := ThinkPenguin TPE-R1100
+  DEVICE_PACKAGES := kmod-usb-chipidea2
+  IMAGE_SIZE := 16000k
+  SUPPORTED_DEVICES += tpe-r1100
+endef
+TARGET_DEVICES += thinkpenguin_tpe-r1100
+
+define Device/thinkpenguin_tpe-r1200-nor
+  $(Device/glinet_gl-ar300m-common-nor)
+  DEVICE_TITLE := ThinkPenguin TPE-R1200
+endef
+TARGET_DEVICES += thinkpenguin_tpe-r1200-nor
+
 define Device/wd_mynet-n750
   $(Device/seama)
   ATH_SOC := ar9344