diff --git a/target/linux/ath79/dts/qca9558_elecom_wab-i1750-ps.dts b/target/linux/ath79/dts/qca9558_elecom_wab-i1750-ps.dts new file mode 100644 index 0000000000..6f157cf932 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_elecom_wab-i1750-ps.dts @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca955x_elecom_wab.dtsi" + +/ { + compatible = "elecom,wab-i1750-ps", "qca,qca9558"; + model = "ELECOM WAB-I1750-PS"; + + ahb { + apb { + /* "SERIAL" port (RJ-45) on the case */ + uart1: uart@18500000 { + compatible = "qca,ar9330-uart"; + reg = <0x18500000 0x14>; + + pinctrl-names = "default"; + pinctrl-0 = <&pmx_uart1_in_pins &pmx_uart1_out_pins + &jtag_disable_pins>; + + interrupts = <6>; + interrupt-parent = <&miscintc>; + + clocks = <&pll ATH79_CLK_UART1>; + clock-names = "uart"; + + /* QCA955x HS UART is not supported */ + status = "disabled"; + }; + }; + }; +}; + +&gpio { + uart1-out { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>, /* UART1_TD */ + <2 GPIO_ACTIVE_HIGH>; /* UART1_RTS */ + output-low; + }; + + uart1-in { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>, /* UART1_RD */ + <3 GPIO_ACTIVE_HIGH>; /* UART1_CTS */ + input; + }; +}; + +&pinmux { + pmx_uart1_out_pins: uart1-out-pins { + /* + * mux as uart1 output + * + * GPIO0: UART1_TD (sel:18) + * GPIO2: UART1_RTS (sel:19) + */ + pinctrl-single,bits = <0x0 0x130012 0xff00ff>; + }; + + pmx_uart1_in_pins: uart1-in-pins { + /* + * mux as uart1 input + * + * GPIO1: UART1_RD + * GPIO3: UART1_CTS + */ + pinctrl-single,bits = <0x3c 0x3010000 0xffff0000>; + }; +}; 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 fd7feb1ae5..4e08860cfa 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -144,6 +144,7 @@ ath79_setup_interfaces() alfa-network,n5q|\ devolo,dvl1200e|\ devolo,dvl1750e|\ + elecom,wab-i1750-ps|\ elecom,wab-s1167-ps|\ elecom,wab-s600-ps|\ engenius,enstationac-v1|\ @@ -704,6 +705,7 @@ ath79_setup_macs() lan_mac=$(mtd_get_mac_ascii devdata "lanmac") wan_mac=$(mtd_get_mac_ascii devdata "wanmac") ;; + elecom,wab-i1750-ps|\ elecom,wab-s1167-ps|\ elecom,wab-s600-ps|\ engenius,ecb1200|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index b238fc081e..9574d8a17d 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -41,6 +41,7 @@ case "$board" in [ "$PHYNBR" -eq 1 ] && \ mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress ;; + elecom,wab-i1750-ps|\ elecom,wab-s1167-ps|\ elecom,wab-s600-ps) # set the 5G MAC address (= ethaddr + 1) diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 7a2b54ddfb..3bdc043738 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1327,6 +1327,14 @@ define Device/elecom_wab kmod-usb2 kmod-usb-ledtrig-usbport endef +define Device/elecom_wab-i1750-ps + $(Device/elecom_wab) + SOC := qca9558 + DEVICE_MODEL := WAB-I1750-PS + ELECOM_HWID := 0107000d +endef +TARGET_DEVICES += elecom_wab-i1750-ps + define Device/elecom_wab-s1167-ps $(Device/elecom_wab) SOC := qca9557