aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuheiOKAWA <tochiro.srchack@gmail.com>2018-10-05 01:08:51 +0900
committerMathias Kresin <dev@kresin.me>2018-10-28 10:59:14 +0100
commit27eae6597e5f1570f2f0a8584907b077e724a0e1 (patch)
tree91865cc6958f3977acf93dd1918ce6e7b0a0c853
parent23f9b2d9a981c61b7166557febde31778d13b86f (diff)
downloadupstream-27eae6597e5f1570f2f0a8584907b077e724a0e1.tar.gz
upstream-27eae6597e5f1570f2f0a8584907b077e724a0e1.tar.bz2
upstream-27eae6597e5f1570f2f0a8584907b077e724a0e1.zip
ath79: add support for PQI Air Pen
SoC: AR9330 (or AR9331 revision?) Ethernet x1, Wireless 2.4G, uSD card slot x1. USB Power, include Li-Po Battery. Flash 8MiB. (factory is dual image) 1. write image is use half 4MiB size from factory. write initramfs image to mtd6 and mtd7. 2. change next boot setting. next is mtd6 boot. echo -ne "\x01" | dd of=/dev/mtdblock8 conv=notrunc bs=1 count=1 seek=0 3. rewrite sysupgrade image. change next boot setting. next is mtd4. echo -ne "\x00" | dd of=/dev/mtdblock8 conv=notrunc bs=1 count=1 seek=0 OEM mtd. dev: size erasesize name mtd0: 00040000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00010000 00010000 "ART" mtd3: 00010000 00010000 "NVRAM" mtd4: 00140000 00010000 "uImage" mtd5: 00280000 00010000 "rootfs" mtd6: 00140000 00010000 "uImage2" mtd7: 00280000 00010000 "rootfs2" mtd8: 00010000 00010000 "CONF" Signed-off-by: YuheiOKAWA <tochiro.srchack@gmail.com>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom3
-rw-r--r--target/linux/ath79/dts/ar9330_pqi-air-pen.dts147
-rw-r--r--target/linux/ath79/image/tiny.mk9
4 files changed, 160 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index b4699933da..5f02c5769a 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -14,6 +14,7 @@ ath79_setup_interfaces()
ocedo,raccoon|\
pcs,cap324|\
pisen,wmm003n|\
+ pqi,air-pen|\
tplink,re450-v2|\
tplink,tl-mr10u|\
tplink,tl-mr3020-v1|\
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 30de434ae1..020abe2913 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -146,6 +146,9 @@ case "$FIRMWARE" in
ubnt,rocket-m)
ath9k_eeprom_extract "art" 4096 4096
;;
+ pqi,air-pen)
+ ath9k_eeprom_extract "art" 4096 2002
+ ;;
ubnt,unifi)
ath9k_eeprom_extract "art" 4096 2048
;;
diff --git a/target/linux/ath79/dts/ar9330_pqi-air-pen.dts b/target/linux/ath79/dts/ar9330_pqi-air-pen.dts
new file mode 100644
index 0000000000..6c662d2202
--- /dev/null
+++ b/target/linux/ath79/dts/ar9330_pqi-air-pen.dts
@@ -0,0 +1,147 @@
+// 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 = "PQI Air-Pen";
+ compatible = "pqi,air-pen", "qca,ar9330";
+
+ aliases {
+ serial0 = &uart;
+ led-boot = &wlan;
+ led-failsafe = &wlan;
+ led-upgrade = &wlan;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wlan: wlan {
+ label = "air-pen:blue:wlan";
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wps {
+ label = "air-pen:blue:wps";
+ gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <100>;
+
+ wps {
+ label = "wps";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+ debounce-interval = <60>;
+ };
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
+ debounce-interval = <60>;
+ };
+ };
+};
+
+&uart {
+ status = "okay";
+};
+
+&gpio {
+ status = "okay";
+};
+
+&usb {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&spi {
+ num-cs = <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@40000 {
+ label = "u-boot-env";
+ reg = <0x040000 0x010000>;
+ };
+
+ art: partition@50000 {
+ label = "art";
+ reg = <0x050000 0x010000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "NVRAM";
+ reg = <0x060000 0x010000>;
+ read-only;
+ };
+
+ partition@70000 {
+ label = "firmware";
+ reg = <0x070000 0x780000>;
+ };
+
+ partition@7f0000 {
+ label = "CONF";
+ reg = <0x7f0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ mtd-mac-address = <&art 0x1002>;
+
+ gmac-config {
+ device = <&gmac>;
+
+ switch-phy-addr-swap = <0>;
+ switch-phy-swap = <0>;
+ };
+};
+
+&eth1 {
+ status = "okay";
+ compatible = "syscon", "simple-mfd";
+};
+
+&wmac {
+ status = "okay";
+ mtd-cal-data = <&art 0x1000>;
+ mtd-mac-address = <&art 0x2>;
+};
diff --git a/target/linux/ath79/image/tiny.mk b/target/linux/ath79/image/tiny.mk
index bc738c2f77..4dda24edac 100644
--- a/target/linux/ath79/image/tiny.mk
+++ b/target/linux/ath79/image/tiny.mk
@@ -30,3 +30,12 @@ define Device/buffalo_whr-g301n
SUPPORTED_DEVICES += whr-g301n
endef
TARGET_DEVICES += buffalo_whr-g301n
+
+define Device/pqi_air-pen
+ ATH_SOC := ar9330
+ DEVICE_TITLE := PQI Air-Pen
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ IMAGE_SIZE := 7680k
+ SUPPORTED_DEVICES += pqi-air-pen
+endef
+TARGET_DEVICES += pqi_air-pen