Message ID | 1534177713-27595-1-git-send-email-hanipouspilot@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | John Crispin |
Headers | show |
Series | [OpenWrt-Devel] ath79: Add support of Tp_Link MR-3040 v2 | expand |
2018-08-13 18:28 GMT+02:00 Dmitry Tunin <hanipouspilot@gmail.com>: > Add support for the ar71xx supported Tp_link MR-3040 v2 to ath79. > > Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> > --- > .../linux/ath79/base-files/etc/board.d/02_network | 1 + > .../linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts | 161 +++++++++++++++++++++ > target/linux/ath79/image/tiny-tp-link.mk | 10 ++ > 3 files changed, 172 insertions(+) > create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts > > diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network > index 9e315ee..bfbc1ac 100755 > --- a/target/linux/ath79/base-files/etc/board.d/02_network > +++ b/target/linux/ath79/base-files/etc/board.d/02_network > @@ -16,6 +16,7 @@ ath79_setup_interfaces() > tplink,re450-v2|\ > tplink,tl-mr10u|\ > tplink,tl-mr3020-v1|\ > + tplink,tl-mr3040-v2|\ > tplink,tl-wr703n|\ > ubnt,unifiac-lite|\ > ubnt,unifiac-mesh|\ > diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts > new file mode 100644 > index 0000000..d72839e > --- /dev/null > +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts > @@ -0,0 +1,161 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +#include "ar9331.dtsi" > + > +/ { > + model = "TP-Link TL-MR3040 V2"; > + compatible = "tplink,tl-mr3040-v2", "qca,ar9331"; > + > + leds { > + compatible = "gpio-leds"; > + > + wlan { > + label = "tp-link:green:wlan"; > + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; > + default-state = "off"; > + linux,default-trigger = "phy0tpt"; > + }; > + > + lan { > + label = "tp-link:green:lan"; > + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; > + default-state = "off"; > + linux,default-trigger = "netdev:eth0"; I'm not sure if we should do it this way. I already dislike the phy0tpt trigger in the devicetree source files, as it makes assumption on how the interface is named in linux/in which order the wireless is registered. Something similar to the way the usbport triggers are handled - with device name evaluation during runtime - would make more sense to me. Any opinions about it? Mathias
13.08.2018 19:34, Mathias Kresin пишет: > 2018-08-13 18:28 GMT+02:00 Dmitry Tunin <hanipouspilot@gmail.com>: >> Add support for the ar71xx supported Tp_link MR-3040 v2 to ath79. >> >> Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> >> --- >> .../linux/ath79/base-files/etc/board.d/02_network | 1 + >> .../linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts | 161 +++++++++++++++++++++ >> target/linux/ath79/image/tiny-tp-link.mk | 10 ++ >> 3 files changed, 172 insertions(+) >> create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> >> diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network >> index 9e315ee..bfbc1ac 100755 >> --- a/target/linux/ath79/base-files/etc/board.d/02_network >> +++ b/target/linux/ath79/base-files/etc/board.d/02_network >> @@ -16,6 +16,7 @@ ath79_setup_interfaces() >> tplink,re450-v2|\ >> tplink,tl-mr10u|\ >> tplink,tl-mr3020-v1|\ >> + tplink,tl-mr3040-v2|\ >> tplink,tl-wr703n|\ >> ubnt,unifiac-lite|\ >> ubnt,unifiac-mesh|\ >> diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> new file mode 100644 >> index 0000000..d72839e >> --- /dev/null >> +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> @@ -0,0 +1,161 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/input/input.h> >> + >> +#include "ar9331.dtsi" >> + >> +/ { >> + model = "TP-Link TL-MR3040 V2"; >> + compatible = "tplink,tl-mr3040-v2", "qca,ar9331"; >> + >> + leds { >> + compatible = "gpio-leds"; >> + >> + wlan { >> + label = "tp-link:green:wlan"; >> + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; >> + default-state = "off"; >> + linux,default-trigger = "phy0tpt"; >> + }; >> + >> + lan { >> + label = "tp-link:green:lan"; >> + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; >> + default-state = "off"; >> + linux,default-trigger = "netdev:eth0"; > I'm not sure if we should do it this way. I already dislike the > phy0tpt trigger in the devicetree source files, as it makes assumption > on how the interface is named in linux/in which order the wireless is > registered. > > Something similar to the way the usbport triggers are handled - with > device name evaluation during runtime - would make more sense to me. > > Any opinions about it? > > Mathias In this case the device has only one Ethernet port. In other cases I agree that this is not the best idea to assign LEDs this way.
13.08.2018 19:34, Mathias Kresin пишет: > 2018-08-13 18:28 GMT+02:00 Dmitry Tunin <hanipouspilot@gmail.com>: >> Add support for the ar71xx supported Tp_link MR-3040 v2 to ath79. >> >> Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> >> --- >> .../linux/ath79/base-files/etc/board.d/02_network | 1 + >> .../linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts | 161 +++++++++++++++++++++ >> target/linux/ath79/image/tiny-tp-link.mk | 10 ++ >> 3 files changed, 172 insertions(+) >> create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> >> diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network >> index 9e315ee..bfbc1ac 100755 >> --- a/target/linux/ath79/base-files/etc/board.d/02_network >> +++ b/target/linux/ath79/base-files/etc/board.d/02_network >> @@ -16,6 +16,7 @@ ath79_setup_interfaces() >> tplink,re450-v2|\ >> tplink,tl-mr10u|\ >> tplink,tl-mr3020-v1|\ >> + tplink,tl-mr3040-v2|\ >> tplink,tl-wr703n|\ >> ubnt,unifiac-lite|\ >> ubnt,unifiac-mesh|\ >> diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> new file mode 100644 >> index 0000000..d72839e >> --- /dev/null >> +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts >> @@ -0,0 +1,161 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/input/input.h> >> + >> +#include "ar9331.dtsi" >> + >> +/ { >> + model = "TP-Link TL-MR3040 V2"; >> + compatible = "tplink,tl-mr3040-v2", "qca,ar9331"; >> + >> + leds { >> + compatible = "gpio-leds"; >> + >> + wlan { >> + label = "tp-link:green:wlan"; >> + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; >> + default-state = "off"; >> + linux,default-trigger = "phy0tpt"; >> + }; >> + >> + lan { >> + label = "tp-link:green:lan"; >> + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; >> + default-state = "off"; >> + linux,default-trigger = "netdev:eth0"; > I'm not sure if we should do it this way. I already dislike the > phy0tpt trigger in the devicetree source files, as it makes assumption > on how the interface is named in linux/in which order the wireless is > registered. > > Something similar to the way the usbport triggers are handled - with > device name evaluation during runtime - would make more sense to me. > > Any opinions about it? > > Mathias The discussion can be closed. It doesn't work either way. I left an old /etc/config/system that was set to eth0. I'll redo it a normal way.
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network index 9e315ee..bfbc1ac 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -16,6 +16,7 @@ ath79_setup_interfaces() tplink,re450-v2|\ tplink,tl-mr10u|\ tplink,tl-mr3020-v1|\ + tplink,tl-mr3040-v2|\ tplink,tl-wr703n|\ ubnt,unifiac-lite|\ ubnt,unifiac-mesh|\ diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts new file mode 100644 index 0000000..d72839e --- /dev/null +++ b/target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts @@ -0,0 +1,161 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +#include "ar9331.dtsi" + +/ { + model = "TP-Link TL-MR3040 V2"; + compatible = "tplink,tl-mr3040-v2", "qca,ar9331"; + + leds { + compatible = "gpio-leds"; + + wlan { + label = "tp-link:green:wlan"; + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + default-state = "off"; + linux,default-trigger = "phy0tpt"; + }; + + lan { + label = "tp-link:green:lan"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + default-state = "off"; + linux,default-trigger = "netdev:eth0"; + }; + + led3g { + label = "tp-link:green:3g"; + gpios = <&gpio 27 GPIO_ACTIVE_LOW>; + default-state = "off"; + trigger-sources = <&hub_port>; + linux,default-trigger = "usbport"; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + linux,code = <KEY_RESTART>; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + + sw1 { + label = "sw1"; + linux,input-type = <EV_SW>; + linux,code = <BTN_0>; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + + sw2 { + label = "sw2"; + linux,input-type = <EV_SW>; + linux,code = <BTN_1>; + gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + }; + + reg_usb_vbus: reg_usb_vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 18 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&ref { + clock-frequency = <25000000>; +}; + +&uart { + status = "okay"; +}; + +&gpio { + status = "okay"; +}; + +&usb { + #address-cells = <1>; + #size-cells = <0>; + dr_mode = "host"; + vbus-supply = <®_usb_vbus>; + status = "okay"; + + hub_port: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&spi { + num-chipselects = <1>; + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <104000000>; + reg = <0>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x000000 0x020000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x020000 0x3d0000>; + }; + + art: partition@3f0000 { + label = "art"; + reg = <0x3f0000 0x010000>; + read-only; + }; + }; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&uboot 0x1fc00>; + gmac-config { + device = <&gmac>; + + switch-phy-addr-swap = <0>; + switch-phy-swap = <0>; + }; +}; + +ð1 { + status = "okay"; + compatible = "syscon", "simple-mfd"; +}; + +&wmac { + status = "okay"; + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&uboot 0x1fc00>; +}; diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk index 6aefd9e..bc1ce6d 100644 --- a/target/linux/ath79/image/tiny-tp-link.mk +++ b/target/linux/ath79/image/tiny-tp-link.mk @@ -21,6 +21,16 @@ define Device/tplink_tl-mr3020-v1 endef TARGET_DEVICES += tplink_tl-mr3020-v1 +define Device/tplink_tl-mr3040-v2 + $(Device/tplink-4mlzma) + ATH_SOC := ar9331 + DEVICE_TITLE := TP-LINK TL-MR3040 v2 + DEVICE_PACKAGES := kmod-usb-core kmod-usb-chipidea2 kmod-usb-ledtrig-usbport + TPLINK_HWID := 0x30400002 + SUPPORTED_DEVICES += tl-mr3040-v2 +endef +TARGET_DEVICES += tplink_tl-mr3040-v2 + define Device/tplink_tl-mr3220-v1 $(Device/tplink-4m) ATH_SOC := ar7241
Add support for the ar71xx supported Tp_link MR-3040 v2 to ath79. Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> --- .../linux/ath79/base-files/etc/board.d/02_network | 1 + .../linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts | 161 +++++++++++++++++++++ target/linux/ath79/image/tiny-tp-link.mk | 10 ++ 3 files changed, 172 insertions(+) create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts