[LEDE-DEV] [PATCH v2] ramips: Improve TP-Link Archer C20i support
p.wassi at gmx.at
p.wassi at gmx.at
Thu Jul 28 05:28:56 PDT 2016
From: P.Wassi <p.wassi at gmx.at>
Improve / finalise TP-Link Archer C20i support.
Signed-off-by: P.Wassi <p.wassi at gmx.at>
---
This patch adds proper LED and Button support and
sets up a correct switch configuration.
The only missing thing (which is likely to never be fixed) is
the 5GHz phy (Mediatek MT7610) - due to the missing driver.
Additional info: https://pwassi.privatedns.org/lede/archerc20i/
The added define in kernel config is needed for the LEDs
to work properly (some are triggered by the switch0 device)
linux/ramips/base-files/etc/board.d/01_leds | 6 +
linux/ramips/base-files/etc/board.d/02_network | 1
linux/ramips/dts/ArcherC20i.dts | 46 +++++++++++++--
linux/ramips/mt7620/config-4.4 | 1
4 files changed, 49 insertions(+), 5 deletions(-)
diff -rupN a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -114,6 +114,7 @@ ramips_setup_interfaces()
atp-52b|\
awm002-evb|\
awm003-evb|\
+ c20i|\
c50|\
dir-645|\
dir-860l-b1|\
diff -rupN a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -78,6 +78,12 @@ broadway)
set_usb_led "$board:red:diskmounted"
set_wifi_led "$board:red:wps_active"
;;
+c20i)
+ ucidef_set_led_switch "lan" "lan" "$board:blue:lan" "switch0" "0x1e"
+ ucidef_set_led_switch "wan" "wan" "$board:blue:wan" "switch0" "0x01"
+ set_usb_led "$board:blue:usb" "2-1"
+ ucidef_set_led_wlan "wlan" "wlan" "$board:blue:wlan" "phy0radio"
+ ;;
c50)
ucidef_set_led_default "power" "power" "tp-link:blue:power" "0"
ucidef_set_led_netdev "lan" "lan" "tp-link:blue:lan" "eth0.2"
diff -rupN a/target/linux/ramips/dts/ArcherC20i.dts b/target/linux/ramips/dts/ArcherC20i.dts
--- a/target/linux/ramips/dts/ArcherC20i.dts
+++ b/target/linux/ramips/dts/ArcherC20i.dts
@@ -12,20 +12,57 @@
gpio-leds {
compatible = "gpio-leds";
+ lan {
+ label = "c20i:blue:lan";
+ gpios = <&gpio0 1 1>;
+ };
+ usb {
+ label = "c20i:blue:usb";
+ gpios = <&gpio0 11 1>;
+ };
+ wps {
+ label = "c20i:blue:wps";
+ gpios = <&gpio1 15 1>;
+ };
+ wan {
+ label = "c20i:blue:wan";
+ gpios = <&gpio2 0 1>;
+ };
+ wlan {
+ label = "c20i:blue:wlan";
+ gpios = <&gpio3 0 1>;
+ };
};
- gpio-keys-polled {
- compatible = "gpio-keys-polled";
+ gpio-keys {
+ compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
- poll-interval = <20>;
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio0 2 1>;
+ linux,code = <0xf7>;
+ };
+ reset_wps {
+ label = "reset_wps";
+ gpios = <&gpio0 13 1>;
+ linux,code = <0x198>;
+ };
};
};
+&gpio1 {
+ status = "okay";
+};
+
&gpio2 {
status = "okay";
};
+&gpio3 {
+ status = "okay";
+};
+
&spi0 {
status = "okay";
@@ -73,7 +110,7 @@
&pinctrl {
state_default: pinctrl0 {
gpio {
- ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd";
+ ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
ralink,function = "gpio";
};
};
@@ -81,7 +118,6 @@
ðernet {
pinctrl-names = "default";
- pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&rom 0xf100>;
mediatek,portmap = "wllll";
};
diff -rupN a/target/linux/ramips/mt7620/config-4.4 b/target/linux/ramips/mt7620/config-4.4
--- a/target/linux/ramips/mt7620/config-4.4
+++ b/target/linux/ramips/mt7620/config-4.4
@@ -194,6 +194,7 @@ CONFIG_SPI_MASTER=y
CONFIG_SPI_RT2880=y
CONFIG_SRCU=y
CONFIG_SWCONFIG=y
+CONFIG_SWCONFIG_LEDS=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
More information about the Lede-dev
mailing list