Message ID | 1564110675-20960-1-git-send-email-luochongjun@gl-inet.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | [OpenWrt-Devel] ath79: add support for gl-ar750 | expand |
Hi! Sorry for the late reply. Here are 3 more nitpickings below: On Fri, Jul 26, 2019 at 11:14 AM Luochongjun <luochongjun@gl-inet.com> wrote: > > This patch supports gl-ar750, which was previously supported by ar71xx. > > Specification: > - SOC: QCA9531 (650MHz) > - Flash: 16 MiB (W25Q128FVSG) > - RAM: 128 MiB DDR2 > - Ethernet: 10/100: 2xLAN + 10/100: 1xWAN A proper VLAN setup for the two LAN ports should be added in target/linux/ath79/base-files/etc/board.d/02_network. > - Wireless: 2.4GHz (bgn) and 5GHz (ac) > - USB: 1x USB 2.0 port > - Switch: 1x switch > - Button: 1x reset button > - LED: 3x LEDS (white) > > Flash instruction: > Support for sysupgrade directive upgrades, as well as luci upgrades. > > Signed-off-by: Luochongjun <luochongjun@gl-inet.com> > --- > .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + > target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts | 149 +++++++++++++++++++++ > target/linux/ath79/image/generic.mk | 10 ++ > 3 files changed, 160 insertions(+) > create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > > diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > index 4118685..5c9fa2f 100644 > --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > @@ -117,6 +117,7 @@ case "$FIRMWARE" in > ath10kcal_extract "art" 20480 2116 > ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1) > ;; > + glinet,gl-ar750|\ > glinet,gl-ar750s) > ath10kcal_extract "art" 20480 2116 > ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0) +1) > diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > new file mode 100644 > index 0000000..b8f9735 > --- /dev/null > +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > @@ -0,0 +1,149 @@ > +// 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 "qca953x.dtsi" > + > +/ { > + compatible = "glinet,gl-ar750", "qca,qca9531"; > + model = "GL.iNet GL-AR750"; > + > + keys { > + compatible = "gpio-keys"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&jtag_disable_pins>; > + > + reset { > + label = "reset"; > + linux,code = <KEY_RESTART>; > + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; > + }; > + > + mode { > + label = "mode"; > + linux,code = <BTN_0>; > + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + power { > + label = "gl-ar750:white:power"; > + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; > + default-state = "on"; > + }; > + > + wlan2g { > + label = "gl-ar750:white:wlan2g"; > + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy1tpt"; > + }; > + > + wlan5g { > + label = "gl-ar750:white:wlan5g"; > + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy0tpt"; > + }; > + > + }; > + > + i2c { > + compatible = "i2c-gpio"; > + > + sda-gpios = <&gpio 17 GPIO_ACTIVE_LOW>; > + scl-gpios = <&gpio 16 GPIO_ACTIVE_LOW>; > + }; > + > + > +}; > + > +&pcie0 { > + status = "okay"; > + > + wifi@0,0 { > + compatible = "qcom,ath10k"; > + reg = <0 0 0 0 0>; > + device_type = "pci"; > + }; > +}; > + > +&uart { > + status = "okay"; > +}; > + > +&usb0 { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + hub_port: port@1 { > + reg = <1>; > + #trigger-source-cells = <0>; > + }; This hub_port node is only used for a usb-port LED trigger. It can be dropped if you don't have a USB LED. > +}; > + > +&usb_phy { > + status = "okay"; > +}; > + > +&spi { > + status = "okay"; > + num-cs = <0>; > + > + 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 = <0x000000 0x040000>; > + read-only; > + }; > + > + partition@40000 { > + label = "u-boot-env"; > + reg = <0x040000 0x010000>; > + read-only; > + }; > + > + art: partition@50000 { > + label = "art"; > + reg = <0x050000 0x010000>; > + read-only; > + }; > + > + partition@60000 { > + compatible = "denx,uimage"; > + label = "firmware"; > + reg = <0x060000 0xfa0000>; > + }; > + }; > + }; > +}; > + > +ð0 { > + status = "okay"; > + mtd-mac-address = <&art 0x0>; > + phy-handle = <&swphy4>; > +}; > + > +ð1 { > + mtd-mac-address = <&art 0x0>; > + mtd-mac-address-increment = <1>; > +}; > + > +&wmac { > + status = "okay"; > + mtd-cal-data = <&art 0x1000>; > +}; > diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk > index c5807f2..26b700d 100644 > --- a/target/linux/ath79/image/generic.mk > +++ b/target/linux/ath79/image/generic.mk > @@ -486,6 +486,16 @@ define Device/glinet_gl-ar300m-nor > endef > TARGET_DEVICES += glinet_gl-ar300m-nor > > +define Device/glinet_gl-ar750 > + ATH_SOC := qca9531 > + DEVICE_VENDOR := GL.iNet > + DEVICE_MODEL := GL-AR750 > + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount block-mount shouldn't be included in DEVICE_PACKAGES. > + IMAGE_SIZE := 16000k > + SUPPORTED_DEVICES += gl-ar750 > +endef > +TARGET_DEVICES += glinet_gl-ar750 > + > define Device/glinet_gl-ar750s > ATH_SOC := qca9563 > DEVICE_VENDOR := GL.iNet > -- > 2.7.4 > Regards, Chuanhong Guo
Hi, Thanks for your advice. I will fix these problems and resubmit the patch Best regards Luochongjun From: Chuanhong Guo Date: 2019-08-13 14:38 To: Luochongjun CC: openwrt-devel Subject: Re: [OpenWrt-Devel] [PATCH] ath79: add support for gl-ar750 Hi! Sorry for the late reply. Here are 3 more nitpickings below: On Fri, Jul 26, 2019 at 11:14 AM Luochongjun <luochongjun@gl-inet.com> wrote: > > This patch supports gl-ar750, which was previously supported by ar71xx. > > Specification: > - SOC: QCA9531 (650MHz) > - Flash: 16 MiB (W25Q128FVSG) > - RAM: 128 MiB DDR2 > - Ethernet: 10/100: 2xLAN + 10/100: 1xWAN A proper VLAN setup for the two LAN ports should be added in target/linux/ath79/base-files/etc/board.d/02_network. > - Wireless: 2.4GHz (bgn) and 5GHz (ac) > - USB: 1x USB 2.0 port > - Switch: 1x switch > - Button: 1x reset button > - LED: 3x LEDS (white) > > Flash instruction: > Support for sysupgrade directive upgrades, as well as luci upgrades. > > Signed-off-by: Luochongjun <luochongjun@gl-inet.com> > --- > .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + > target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts | 149 +++++++++++++++++++++ > target/linux/ath79/image/generic.mk | 10 ++ > 3 files changed, 160 insertions(+) > create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > > diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > index 4118685..5c9fa2f 100644 > --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > @@ -117,6 +117,7 @@ case "$FIRMWARE" in > ath10kcal_extract "art" 20480 2116 > ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1) > ;; > + glinet,gl-ar750|\ > glinet,gl-ar750s) > ath10kcal_extract "art" 20480 2116 > ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0) +1) > diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > new file mode 100644 > index 0000000..b8f9735 > --- /dev/null > +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts > @@ -0,0 +1,149 @@ > +// 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 "qca953x.dtsi" > + > +/ { > + compatible = "glinet,gl-ar750", "qca,qca9531"; > + model = "GL.iNet GL-AR750"; > + > + keys { > + compatible = "gpio-keys"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&jtag_disable_pins>; > + > + reset { > + label = "reset"; > + linux,code = <KEY_RESTART>; > + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; > + }; > + > + mode { > + label = "mode"; > + linux,code = <BTN_0>; > + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + power { > + label = "gl-ar750:white:power"; > + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; > + default-state = "on"; > + }; > + > + wlan2g { > + label = "gl-ar750:white:wlan2g"; > + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy1tpt"; > + }; > + > + wlan5g { > + label = "gl-ar750:white:wlan5g"; > + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "phy0tpt"; > + }; > + > + }; > + > + i2c { > + compatible = "i2c-gpio"; > + > + sda-gpios = <&gpio 17 GPIO_ACTIVE_LOW>; > + scl-gpios = <&gpio 16 GPIO_ACTIVE_LOW>; > + }; > + > + > +}; > + > +&pcie0 { > + status = "okay"; > + > + wifi@0,0 { > + compatible = "qcom,ath10k"; > + reg = <0 0 0 0 0>; > + device_type = "pci"; > + }; > +}; > + > +&uart { > + status = "okay"; > +}; > + > +&usb0 { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + hub_port: port@1 { > + reg = <1>; > + #trigger-source-cells = <0>; > + }; This hub_port node is only used for a usb-port LED trigger. It can be dropped if you don't have a USB LED. > +}; > + > +&usb_phy { > + status = "okay"; > +}; > + > +&spi { > + status = "okay"; > + num-cs = <0>; > + > + 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 = <0x000000 0x040000>; > + read-only; > + }; > + > + partition@40000 { > + label = "u-boot-env"; > + reg = <0x040000 0x010000>; > + read-only; > + }; > + > + art: partition@50000 { > + label = "art"; > + reg = <0x050000 0x010000>; > + read-only; > + }; > + > + partition@60000 { > + compatible = "denx,uimage"; > + label = "firmware"; > + reg = <0x060000 0xfa0000>; > + }; > + }; > + }; > +}; > + > +ð0 { > + status = "okay"; > + mtd-mac-address = <&art 0x0>; > + phy-handle = <&swphy4>; > +}; > + > +ð1 { > + mtd-mac-address = <&art 0x0>; > + mtd-mac-address-increment = <1>; > +}; > + > +&wmac { > + status = "okay"; > + mtd-cal-data = <&art 0x1000>; > +}; > diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk > index c5807f2..26b700d 100644 > --- a/target/linux/ath79/image/generic.mk > +++ b/target/linux/ath79/image/generic.mk > @@ -486,6 +486,16 @@ define Device/glinet_gl-ar300m-nor > endef > TARGET_DEVICES += glinet_gl-ar300m-nor > > +define Device/glinet_gl-ar750 > + ATH_SOC := qca9531 > + DEVICE_VENDOR := GL.iNet > + DEVICE_MODEL := GL-AR750 > + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount block-mount shouldn't be included in DEVICE_PACKAGES. > + IMAGE_SIZE := 16000k > + SUPPORTED_DEVICES += gl-ar750 > +endef > +TARGET_DEVICES += glinet_gl-ar750 > + > define Device/glinet_gl-ar750s > ATH_SOC := qca9563 > DEVICE_VENDOR := GL.iNet > -- > 2.7.4 > Regards, Chuanhong Guo
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 4118685..5c9fa2f 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -117,6 +117,7 @@ case "$FIRMWARE" in ath10kcal_extract "art" 20480 2116 ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1) ;; + glinet,gl-ar750|\ glinet,gl-ar750s) ath10kcal_extract "art" 20480 2116 ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0) +1) diff --git a/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts new file mode 100644 index 0000000..b8f9735 --- /dev/null +++ b/target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts @@ -0,0 +1,149 @@ +// 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 "qca953x.dtsi" + +/ { + compatible = "glinet,gl-ar750", "qca,qca9531"; + model = "GL.iNet GL-AR750"; + + keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + mode { + label = "mode"; + linux,code = <BTN_0>; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power { + label = "gl-ar750:white:power"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + wlan2g { + label = "gl-ar750:white:wlan2g"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wlan5g { + label = "gl-ar750:white:wlan5g"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + }; + + i2c { + compatible = "i2c-gpio"; + + sda-gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + scl-gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + +}; + +&pcie0 { + status = "okay"; + + wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0 0 0 0 0>; + device_type = "pci"; + }; +}; + +&uart { + status = "okay"; +}; + +&usb0 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + hub_port: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&spi { + status = "okay"; + num-cs = <0>; + + 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 = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x010000>; + read-only; + }; + + art: partition@50000 { + label = "art"; + reg = <0x050000 0x010000>; + read-only; + }; + + partition@60000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x060000 0xfa0000>; + }; + }; + }; +}; + +ð0 { + status = "okay"; + mtd-mac-address = <&art 0x0>; + phy-handle = <&swphy4>; +}; + +ð1 { + mtd-mac-address = <&art 0x0>; + mtd-mac-address-increment = <1>; +}; + +&wmac { + status = "okay"; + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index c5807f2..26b700d 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -486,6 +486,16 @@ define Device/glinet_gl-ar300m-nor endef TARGET_DEVICES += glinet_gl-ar300m-nor +define Device/glinet_gl-ar750 + ATH_SOC := qca9531 + DEVICE_VENDOR := GL.iNet + DEVICE_MODEL := GL-AR750 + DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount + IMAGE_SIZE := 16000k + SUPPORTED_DEVICES += gl-ar750 +endef +TARGET_DEVICES += glinet_gl-ar750 + define Device/glinet_gl-ar750s ATH_SOC := qca9563 DEVICE_VENDOR := GL.iNet
This patch supports gl-ar750, which was previously supported by ar71xx. Specification: - SOC: QCA9531 (650MHz) - Flash: 16 MiB (W25Q128FVSG) - RAM: 128 MiB DDR2 - Ethernet: 10/100: 2xLAN + 10/100: 1xWAN - Wireless: 2.4GHz (bgn) and 5GHz (ac) - USB: 1x USB 2.0 port - Switch: 1x switch - Button: 1x reset button - LED: 3x LEDS (white) Flash instruction: Support for sysupgrade directive upgrades, as well as luci upgrades. Signed-off-by: Luochongjun <luochongjun@gl-inet.com> --- .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts | 149 +++++++++++++++++++++ target/linux/ath79/image/generic.mk | 10 ++ 3 files changed, 160 insertions(+) create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts