[OpenWrt-Devel] [PATCH] ath79: add support for COMFAST CF-E130N v2

Adrian Schmutzler mail at adrianschmutzler.de
Mon Nov 11 11:09:08 EST 2019


Hi,

> +	aliases {
> +		serial0 = &uart;
> +		led-boot = &lan;
> +		led-failsafe = &lan;
> +		led-upgrade = &lan;

Please don't use LAN here, as it will be ambiguous.
For TP-Link CPE devices, we relied on rssi_high for this task, so either use this one or choose "unused".
Please prefix the led label (but not the node name) with "led_", so either led_rssihigh or led_unused ...

> +		label-mac-device = &eth0;
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&led_rssimediumhigh_pin>;
> +
> +		wlan {
> +			label = "cf-e130n-v2:green:wlan";
> +			gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "phy0tpt";
> +		};
> +
> +		lan: lan {
> +			label = "cf-e130n-v2:green:lan";
> +			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		unused {
> +			label = "cf-e130n-v2:green:unused";
> +			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		rssilow {
> +			label = "cf-e130n-v2:red:rssilow";
> +			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		rssimediumlow {
> +			label = "cf-e130n-v2:red:rssimediumlow";
> +			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		rssimediumhigh {
> +			label = "cf-e130n-v2:green:rssimediumhigh";
> +                        // No individual GPIOs matched this LED!
> +		};
> +
> +		rssihigh {
> +			label = "cf-e130n-v2:green:rssihigh";
> +			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +
> +		reset {
> +			label = "reset";
> +			linux,code = <KEY_RESTART>;
> +			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
> +			debounce-interval = <60>;
> +		};
> +	};
> +};
> +
> +&pinmux {
> +		led_rssimediumhigh_pin: pinmux_rssimediumhigh_pin {
> +			pinctrl-single,bits = <0x10 0x0 0xff>;
> +		};

Single tab indent.

> +};
> +
> +&spi {
> +	status = "okay";
> +	num-cs = <1>;

Add empty line after status.

> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <25000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			uboot:	partition at 0 {
> +				label = "u-boot";
> +				reg = <0x000000 0x010000>;
> +				read-only;
> +			};
> +
> +			art: partition at 10000 {
> +				label = "art";
> +				reg = <0x010000 0x010000>;
> +				read-only;
> +			};
> +
> +			firmware: partition at 20000 {
> +				compatible = "denx,uimage";
> +				label = "firmware";
> +				reg = <0x020000 0x7d0000>;
> +			};
> +
> +			nvram: partition at 7f0000 {
> +				label = "nvram";
> +				reg = <0x7f0000 0x010000>;
> +				read-only;
> +			};

We typically only add node labels when they are required, so here we would only need "art:". Keep the label properties, though ...

> +		};
> +	};
> +};
> +
> +&uart {
> +	status = "okay";
> +};
> +
> +&eth0 {
> +	status = "okay";
> +	phy-handle = <&swphy0>;
> +	mtd-mac-address = <&art 0x0>;

Add empty lines after status and after phy-handle.

> +
> +	gmac-config {
> +		device = <&gmac>;
> +		switch-phy-swap = <1>;
> +	};
> +};
> +
> +&wmac {
> +	status = "okay";

Add empty line after status.

> +	mtd-cal-data = <&art 0x1000>;
> +};
> +
> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> index fbb0d0ea03..3046d34605 100755
> --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> @@ -47,6 +47,14 @@ comfast,cf-e120a-v3)
>  	ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH"
> "$boardname:green:rssimediumhigh" "wlan0" "51" "100"
>  	ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh"
> "wlan0" "76" "100"
>  	;;
> +comfast,cf-e130n-v2)
> +	ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
> +	ucidef_set_rssimon "wlan0" "200000" "1"
> +	ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow"
> "wlan0" "1" "100"
> +	ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW"
> "$boardname:red:rssimediumlow" "wlan0" "26" "100"
> +	ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH"
> "$boardname:green:rssimediumhigh" "wlan0" "51" "100"

Will this work without a defined gpio?

> +	ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh"
> "wlan0" "76" "100"
> +	;;
>  comfast,cf-e313ac)
>  	ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0"
> "0x02"
>  	ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
> diff --git a/target/linux/ath79/image/generic.mk
> b/target/linux/ath79/image/generic.mk
> index 70631c20d0..48d6864ecb 100644
> --- a/target/linux/ath79/image/generic.mk
> +++ b/target/linux/ath79/image/generic.mk
> @@ -258,6 +258,16 @@ define Device/comfast_cf-e120a-v3
>  endef
>  TARGET_DEVICES += comfast_cf-e120a-v3
> 
> +define Device/comfast_cf-e130n-v2
> +  ATH_SOC := qca9531
> +  DEVICE_VENDOR := COMFAST
> +  DEVICE_MODEL := CF-E130N
> +  DEVICE_VARIANT := v2
> +  DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools
> +  IMAGE_SIZE := 16192k

That's wrong. You have 0x7d0000, not 0xfd0000 ...

Best

Adrian 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20191111/21ac9c05/attachment.sig>
-------------- next part --------------
_______________________________________________
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