[OpenWrt-Devel] [PATCH] ath79: add support for gl-ar750

Christian Lamparter chunkeey at gmail.com
Mon Jun 24 16:36:59 EDT 2019


On Monday, June 24, 2019 10:41:37 AM CEST Luochongjun wrote:
> This patch support gl-ar750 on ath79.

I'm looking at this previous patch for the GL-X750.
<https://github.com/openwrt/openwrt/commit/9989fd5154fd8301bf363ddae0b5083220141865>

And I think you can do better than this gl-ar750 post.

Can you please take the time and amend your patch with the
specification and a short description on how the flash the
initial image. Thanks.

More comments down below.

> 
> Signed-off-by: Luo chongjun <luochongjun at gl-inet.com>
Please make sure your Name matches exactly (as in bit-for-bit) that of
your E-Mail Client address. Otherwise this needs to be fixed by the
commiter since the openwrt infrastructure does a checks that.

> ---
>  .../etc/hotplug.d/firmware/11-ath10k-caldata       |   1 +
>  target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts | 149 +++++++++++++++++++++
>  target/linux/ath79/image/generic.mk                |   8 ++
>  3 files changed, 158 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 8f0ea1d..6a9cb1c 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
> @@ -116,6 +116,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..c173f0d
> --- /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-polled";
ath79 should support "gpio-keys".

> +
> +		poll-interval = <20>;
> +		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>;
> +                };
Please use tabs instead of space for indent.
(scripts/checkpatch.pl can help you find these cases).
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		power {
> +			label = "gl-ar750:green:power";
> +			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
> +			default-state = "on";
> +		};
> +
> +		wlan2g {
> +			label = "gl-ar750:green:wlan2g";
> +			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "phy1tpt";
> +		};
> +
> +		wlan5g {
> +			label = "gl-ar750:green: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>;
> +
> +                /* can be removed on 4.19 */
> +                gpios = <&gpio 17 GPIO_ACTIVE_LOW>,
> +                        <&gpio 16 GPIO_ACTIVE_LOW>;
Hm, ath79 switched to 4.19. So they can be removed right now ;)
> +
> +        };
> +
> +
> +};
> +
> +&pcie0 {
> +	status = "okay";
Please add a proper sub node with the right ath10k compatible
(see qcom,ath10k.txt) for the attached pcie chip here.

> +};
> +
> +&uart {
> +	status = "okay";
> +};
> +
> +&usb0 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	status = "okay";
> +
> +	hub_port: port at 1 {
> +		reg = <1>;
> +		#trigger-source-cells = <0>;
> +	};
> +};
> +
> +&usb_phy {
> +	status = "okay";
> +};
> +
> +&spi {
> +	status = "okay";
> +	num-cs = <0>;
> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <25000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "u-boot";
> +				reg = <0x000000 0x040000>;
> +				read-only;
> +			};
> +
> +			partition at 40000 {
> +				label = "u-boot-env";
> +				reg = <0x040000 0x010000>;
Please make this read-only, or explain in detail why
this needs to be rw. (Note: I've seen jokers that
overwrote bootcmd with reset and it required a external
spi tool to get it fixed).

> +			};
> +
> +			art: partition at 50000 {
> +				label = "art";
> +				reg = <0x050000 0x010000>;
> +				read-only;
> +			};
> +
> +			partition at 60000 {
> +				compatible = "denx,uimage";
> +				label = "firmware";
> +				reg = <0x060000 0xfa0000>;
> +			};
> +		};
> +	};





_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list