From acc62630132c1b66d01cb150c60fa81bcbcf71e1 Mon Sep 17 00:00:00 2001 From: Chen Minqiang Date: Wed, 25 Nov 2020 01:53:39 +0800 Subject: [PATCH] ath79: add support for GL.iNet GL-USB150 Add support for the ar71xx supported GL.iNet GL-USB150 to ath79. GL.iNet GL-USB150 is an USB dongle WiFi router, based on Atheros AR9331. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - Realtek RTL8152B USB to Ethernet bridge (connected with AR9331 PHY4) - 1T1R 2.4 GHz - 2x LED, 1x button - UART header on PCB Flash instruction: Vendor software is based on openwrt so you can flash the sysupgrade image via the vendor GUI or using command line sysupgrade utility. Make sure to not save configuration over reflash as uci settings differ between versions. Signed-off-by: Chen Minqiang --- .../ath79/dts/ar9331_glinet_gl-usb150.dts | 120 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 1 + target/linux/ath79/image/generic.mk | 9 ++ 3 files changed, 130 insertions(+) create mode 100644 target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts diff --git a/target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts b/target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts new file mode 100644 index 00000000000..c75684be049 --- /dev/null +++ b/target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9331.dtsi" + +#include +#include + +/ { + compatible = "glinet,gl-usb150", "qca,ar9331"; + model = "GL.iNet GL-USB150"; + + aliases { + serial0 = &uart; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + label-mac-device = ð0; + }; + + leds { + compatible = "gpio-leds"; + + wlan { + label = "green:wlan"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + + led_power: power { + label = "green:power"; + gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + }; + + gpio-export { + compatible = "gpio-export"; + + gpio_lan_reset { + gpio-export,name = "lan:reset"; + gpio-export,output = <0>; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&art 0x0>; + + gmac-config { + device = <&gmac>; + switch-phy-addr-swap = <0>; + switch-phy-swap = <0>; + }; +}; + +ð1 { + status = "okay"; + + compatible = "syscon", "simple-mfd"; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <33000000>; + 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>; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x050000 0xfa0000>; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 149f7b11414..c961d4e5200 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -32,6 +32,7 @@ ath79_setup_interfaces() engenius,ecb1750|\ enterasys,ws-ap3705i|\ glinet,gl-ar300m-lite|\ + glinet,gl-usb150|\ hak5,wifi-pineapple-nano|\ meraki,mr16|\ netgear,ex6400|\ diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 614f9ff0b24..ea6de73d8aa 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1030,6 +1030,15 @@ define Device/glinet_gl-mifi endef TARGET_DEVICES += glinet_gl-mifi +define Device/glinet_gl-usb150 + SOC := ar9331 + DEVICE_VENDOR := GL.iNET + DEVICE_MODEL := GL-USB150 + IMAGE_SIZE := 16000k + SUPPORTED_DEVICES += gl-usb150 +endef +TARGET_DEVICES += glinet_gl-usb150 + define Device/glinet_gl-x750 SOC := qca9531 DEVICE_VENDOR := GL.iNet