mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
ath79: add support for ELECOM WAB-S600-PS
ELECOM WAB-S600-PS is a 2.4/5 GHz band 11n (Wi-Fi 4) access point, based on QCA9557. This device also supports 11ac (Wi-Fi 5) with the another official firmware. Specification: - SoC : Qualcomm Atheros QCA9557 - RAM : DDR2 128 MiB (2x Winbond W9751G6KB251) - Flash : SPI-NOR 16 MiB (Macronix MX25L12835FMI-10G) - WLAN : 2.4/5 GHz 2T2R - 2.4 GHz : Qualcomm Atheros QCA9557 (SoC) - 5 GHz : Qualcomm Atheros QCA9882 - Ethernet : 2x 10/100/1000 Mbps - phy ("PD") : Atheros AR8035 - phy ("PSE") : Atheros AR8033 - LEDs/keys (GPIO) : 3x/3x - UART : 1x RJ-45 port - "SERVICE" : TTL (3.3V) - port : ttyS0 - assignment : 1:3.3V, 2:GND, 3:TX, 4:RX - settings : 115200n8 - note : no compatibility with "Cisco console cable" - Buzzer : 1x GPIO-controlled - USB : 1x USB 2.0 Type-A - Power : DC jack or PoE - DC jack : 12 VDC, 1 A (device only, rating) - PoE : 802.3af/at, 48 VDC, 0.25 A (device only, rating) - note : supports 802.3af supply on PSE (downstream) port when powered by DC adapter or 802.3at PoE Flash instruction using factory.bin image: 1. Boot WAB-S600-PS without no upstream connection (or PoE connection without DHCP) 2. Access to the WebUI ("http://192.168.3.1") on the device and open firmware update page ("ツールボックス" -> "ファームウェア更新") 3. Select the OpenWrt factory.bin image and click update ("アップデート") button 4. Wait ~120 seconds to complete flashing Revert to OEM firmware: 1. Download the latest OEM firmware 2. Remove 128 bytes(0x80) header from firmware image 3. Decode by xor with a pattern "8844a2d168b45a2d" (hex val) 4. Upload the decoded firmware to the device 5. Flash to "firmware" partition by mtd command 6. Reboot Notes: - To use the "SERVICE" port, the connection of 3.3V line is also required to enable console output. The uart line of "SERVICE" is branched out from the internal pin header with 74HC126D and 3.3V line is connected to OE pin on it. - The same PCB is used with WAB-S1167-PS. - To supply 802.3af PoE on "PSE" port when powered by DC adapter, 12 VDC 3.5 A adapter is recommended. (official: WAB-EX-ADP1) MAC addresses: Ethernet (PD, PSE): BC:5C:4C:xx:xx:7C (Config, ethaddr (text)) 2.4GHz : BC:5C:4C:xx:xx:7C (Config, ethaddr (text)) 5GHz : BC:5C:4C:xx:xx:7D [original work of common dtsi part for WAB-I1750-PS] Signed-off-by: Yanase Yuki <dev@zpc.st> [adding support for WAB-S600-PS] Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
This commit is contained in:
parent
f5b2b08190
commit
2791ee79fa
8
target/linux/ath79/dts/qca9557_elecom_wab-s600-ps.dts
Normal file
8
target/linux/ath79/dts/qca9557_elecom_wab-s600-ps.dts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qca955x_elecom_wab.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "elecom,wab-s600-ps", "qca,qca9557";
|
||||||
|
model = "ELECOM WAB-S600-PS";
|
||||||
|
};
|
261
target/linux/ath79/dts/qca955x_elecom_wab.dtsi
Normal file
261
target/linux/ath79/dts/qca955x_elecom_wab.dtsi
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qca955x.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_status;
|
||||||
|
led-failsafe = &led_status;
|
||||||
|
led-upgrade = &led_status;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led-0 {
|
||||||
|
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
function = LED_FUNCTION_WLAN;
|
||||||
|
function-enumerator = <24>;
|
||||||
|
linux,default-trigger = "phy1tpt";
|
||||||
|
};
|
||||||
|
|
||||||
|
led_status: led-1 {
|
||||||
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
||||||
|
color = <LED_COLOR_ID_RED>;
|
||||||
|
function = LED_FUNCTION_STATUS;
|
||||||
|
};
|
||||||
|
|
||||||
|
led-2 {
|
||||||
|
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
function = LED_FUNCTION_USB;
|
||||||
|
trigger-sources = <&usb_port1>;
|
||||||
|
linux,default-trigger = "usbport";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
button-wps {
|
||||||
|
label = "wps";
|
||||||
|
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button-reset {
|
||||||
|
label = "reset";
|
||||||
|
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button-eject {
|
||||||
|
label = "eject";
|
||||||
|
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_EJECTCD>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
beeper {
|
||||||
|
compatible = "gpio-beeper";
|
||||||
|
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_usb_vbus: regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "usb-vbus";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
gpio = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
enable-active-high;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
watchdog {
|
||||||
|
compatible = "linux,wdt-gpio";
|
||||||
|
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||||
|
hw_algo = "toggle";
|
||||||
|
hw_margin_ms = <300>;
|
||||||
|
always-running;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ethphy4: ethernet-phy@4 {
|
||||||
|
compatible = "ethernet-phy-id004d,d072",
|
||||||
|
"ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <0x4>;
|
||||||
|
eee-broken-100tx;
|
||||||
|
eee-broken-1000t;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy-handle = <ðphy4>;
|
||||||
|
phy-mode = "rgmii-rxid";
|
||||||
|
pll-data = <0xae000000 0x80000101 0x80001313>;
|
||||||
|
|
||||||
|
gmac-config {
|
||||||
|
device = <&gmac>;
|
||||||
|
|
||||||
|
rxdv-delay = <3>;
|
||||||
|
rxd-delay = <3>;
|
||||||
|
txen-delay = <0>;
|
||||||
|
txd-delay = <0>;
|
||||||
|
rgmii-enabled = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ethphy1: ethernet-phy@1 {
|
||||||
|
compatible = "ethernet-phy-id004d,d074",
|
||||||
|
"ethernet-phy-ieee802.3-c22";
|
||||||
|
reg = <0x1>;
|
||||||
|
at803x-override-sgmii-link-check;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy-handle = <ðphy1>;
|
||||||
|
pll-data = <0x03000000 0x00000101 0x00001313>;
|
||||||
|
|
||||||
|
qca955x-sgmii-fixup;
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wifi@0,0 {
|
||||||
|
compatible = "qcom,ath10k";
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
nvmem-cells = <&cal_art_5000>;
|
||||||
|
nvmem-cell-names = "calibration";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <25000000>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x0 0x40000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@40000 {
|
||||||
|
label = "u-boot-env";
|
||||||
|
reg = <0x40000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@50000 {
|
||||||
|
label = "art";
|
||||||
|
reg = <0x50000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
|
||||||
|
nvmem-layout {
|
||||||
|
compatible = "fixed-layout";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
cal_art_1000: calibration@1000 {
|
||||||
|
reg = <0x1000 0x440>;
|
||||||
|
};
|
||||||
|
|
||||||
|
cal_art_5000: calibration@5000 {
|
||||||
|
reg = <0x5000 0x844>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@60000 {
|
||||||
|
label = "art2";
|
||||||
|
reg = <0x60000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@70000 {
|
||||||
|
compatible = "denx,uimage";
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x70000 0xe00000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@e70000 {
|
||||||
|
label = "manufacture";
|
||||||
|
reg = <0xe70000 0x100000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@f70000 {
|
||||||
|
label = "backup";
|
||||||
|
reg = <0xf70000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@f80000 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0xf80000 0x80000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_phy0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
dr_mode = "host";
|
||||||
|
vbus-supply = <®_usb_vbus>;
|
||||||
|
|
||||||
|
usb_port1: port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
#trigger-source-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&wdt {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&wmac {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
nvmem-cells = <&cal_art_1000>;
|
||||||
|
nvmem-cell-names = "calibration";
|
||||||
|
};
|
@ -144,6 +144,7 @@ ath79_setup_interfaces()
|
|||||||
alfa-network,n5q|\
|
alfa-network,n5q|\
|
||||||
devolo,dvl1200e|\
|
devolo,dvl1200e|\
|
||||||
devolo,dvl1750e|\
|
devolo,dvl1750e|\
|
||||||
|
elecom,wab-s600-ps|\
|
||||||
engenius,enstationac-v1|\
|
engenius,enstationac-v1|\
|
||||||
engenius,ews511ap|\
|
engenius,ews511ap|\
|
||||||
engenius,ews660ap|\
|
engenius,ews660ap|\
|
||||||
@ -702,16 +703,17 @@ ath79_setup_macs()
|
|||||||
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
||||||
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
||||||
;;
|
;;
|
||||||
elecom,wrc-1750ghbk2-i|\
|
elecom,wab-s600-ps|\
|
||||||
elecom,wrc-300ghbk2-i)
|
|
||||||
wan_mac=$(mtd_get_mac_ascii hwconfig "HW.WAN.MAC.Address")
|
|
||||||
label_mac=$wan_mac
|
|
||||||
;;
|
|
||||||
engenius,ecb1200|\
|
engenius,ecb1200|\
|
||||||
engenius,ecb1750)
|
engenius,ecb1750)
|
||||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||||
label_mac=$lan_mac
|
label_mac=$lan_mac
|
||||||
;;
|
;;
|
||||||
|
elecom,wrc-1750ghbk2-i|\
|
||||||
|
elecom,wrc-300ghbk2-i)
|
||||||
|
wan_mac=$(mtd_get_mac_ascii hwconfig "HW.WAN.MAC.Address")
|
||||||
|
label_mac=$wan_mac
|
||||||
|
;;
|
||||||
engenius,epg5000|\
|
engenius,epg5000|\
|
||||||
engenius,esr1200|\
|
engenius,esr1200|\
|
||||||
engenius,esr1750|\
|
engenius,esr1750|\
|
||||||
|
@ -41,6 +41,14 @@ case "$board" in
|
|||||||
[ "$PHYNBR" -eq 1 ] && \
|
[ "$PHYNBR" -eq 1 ] && \
|
||||||
mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
|
mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
|
||||||
;;
|
;;
|
||||||
|
elecom,wab-s600-ps)
|
||||||
|
# set the 5G MAC address (= ethaddr + 1)
|
||||||
|
[ "$PHYNBR" -eq 0 ] && \
|
||||||
|
macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
|
||||||
|
# set the 2.4G MAC address (= ethaddr)
|
||||||
|
[ "$PHYNBR" -eq 1 ] && \
|
||||||
|
mtd_get_mac_ascii u-boot-env "ethaddr" > /sys${DEVPATH}/macaddress
|
||||||
|
;;
|
||||||
engenius,ecb1200|\
|
engenius,ecb1200|\
|
||||||
engenius,ecb1750)
|
engenius,ecb1750)
|
||||||
[ "$PHYNBR" -eq 0 ] && \
|
[ "$PHYNBR" -eq 0 ] && \
|
||||||
|
@ -9,6 +9,7 @@ DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
|
|||||||
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
|
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
|
||||||
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX DAP_SIGNATURE
|
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX DAP_SIGNATURE
|
||||||
DEVICE_VARS += EDIMAX_HEADER_MAGIC EDIMAX_HEADER_MODEL
|
DEVICE_VARS += EDIMAX_HEADER_MAGIC EDIMAX_HEADER_MODEL
|
||||||
|
DEVICE_VARS += ELECOM_HWID
|
||||||
DEVICE_VARS += MOXA_MAGIC MOXA_HWID
|
DEVICE_VARS += MOXA_MAGIC MOXA_HWID
|
||||||
DEVICE_VARS += OPENMESH_CE_TYPE ZYXEL_MODEL_STRING
|
DEVICE_VARS += OPENMESH_CE_TYPE ZYXEL_MODEL_STRING
|
||||||
DEVICE_VARS += SUPPORTED_TELTONIKA_DEVICES
|
DEVICE_VARS += SUPPORTED_TELTONIKA_DEVICES
|
||||||
@ -1316,6 +1317,24 @@ define Device/dlink_dir-869-a1
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += dlink_dir-869-a1
|
TARGET_DEVICES += dlink_dir-869-a1
|
||||||
|
|
||||||
|
define Device/elecom_wab
|
||||||
|
DEVICE_VENDOR := ELECOM
|
||||||
|
IMAGE_SIZE := 14336k
|
||||||
|
IMAGES += factory.bin
|
||||||
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
|
||||||
|
pad-rootfs | check-size | elx-header $$$$(ELECOM_HWID) 8844A2D168B45A2D
|
||||||
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-gpio-beeper \
|
||||||
|
kmod-usb2 kmod-usb-ledtrig-usbport
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Device/elecom_wab-s600-ps
|
||||||
|
$(Device/elecom_wab)
|
||||||
|
SOC := qca9557
|
||||||
|
DEVICE_MODEL := WAB-S600-PS
|
||||||
|
ELECOM_HWID := 01070028
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += elecom_wab-s600-ps
|
||||||
|
|
||||||
define Device/elecom_wrc-1750ghbk2-i
|
define Device/elecom_wrc-1750ghbk2-i
|
||||||
SOC := qca9563
|
SOC := qca9563
|
||||||
DEVICE_VENDOR := ELECOM
|
DEVICE_VENDOR := ELECOM
|
||||||
|
Loading…
Reference in New Issue
Block a user