mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 02:29:01 +00:00
437e35f8a3
Add ath9k wifi capabilities to WNDR3700 family. * use kmod-owl-loader to load firmware from "art" * add wifi to DTS * add wifi LEDs Avoid using the same MAC for eth0 LAN and wlan0 by toggling the eth0 MAC into a locally administered MAC. That is currently done by in user-space by adding a uci config item into /etc/config/network (More elegant solution might be setting it already in preinit phase.) Known issues: * wifi firmware file may not get created on the first boot after flashing on time to bring wifi normally up. Likely the overlay jffs2 is not yet ready for creating the firmware file. "wifi up" may still bring wifi up. Wifi will work normally at subsequent boots. * phy0 and phy1 may get assigned mixed, so that phy0 may be the 5GHz radio instead of the normal 2.4GHz, and vice versa for phy1. Does not happen always, but may happen. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> [fix the wifi unit address in the dts] Signed-off-by: Mathias Kresin <dev@kresin.me>
220 lines
3.5 KiB
Plaintext
220 lines
3.5 KiB
Plaintext
// 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 "ar7100.dtsi"
|
|
|
|
/ {
|
|
aliases {
|
|
led-status = &power_green;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,115200";
|
|
};
|
|
|
|
extosc: ref {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-output-names = "ref";
|
|
clock-frequency = <40000000>;
|
|
};
|
|
|
|
reset-leds {
|
|
compatible = "reset-leds";
|
|
|
|
usb_led {
|
|
label = "netgear:green:usb";
|
|
resets = <&rst 12>;
|
|
trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
|
|
linux,default-trigger = "usbport";
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
wps {
|
|
label = "netgear:orange:wps";
|
|
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
|
|
power_green: power_green {
|
|
label = "netgear:green:power";
|
|
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
|
|
power_orange {
|
|
label = "netgear:orange:power";
|
|
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
|
|
wps_green {
|
|
label = "netgear:green:wps";
|
|
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
|
|
wan_green {
|
|
label = "netgear:green:wan";
|
|
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
ath9k-leds {
|
|
compatible = "gpio-leds";
|
|
wlan2g {
|
|
label = "netgear:green:wlan2g";
|
|
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
linux,default-trigger = "phy0tpt";
|
|
};
|
|
wlan5g {
|
|
label = "netgear:blue:wlan5g";
|
|
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
|
|
default-state = "off";
|
|
linux,default-trigger = "phy1tpt";
|
|
};
|
|
};
|
|
|
|
gpio-keys-polled {
|
|
compatible = "gpio-keys-polled";
|
|
poll-interval = <100>;
|
|
|
|
wps {
|
|
label = "wps";
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
linux,code = <KEY_RESTART>;
|
|
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
rfkill {
|
|
label = "rfkill";
|
|
linux,code = <KEY_RFKILL>;
|
|
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
rtl8366s {
|
|
compatible = "realtek,rtl8366s";
|
|
gpio-sda = <&gpio 5 GPIO_ACTIVE_HIGH>;
|
|
gpio-sck = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
|
|
|
mdio-bus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
phy-mask = <0x10>;
|
|
|
|
phy4: ethernet-phy@4 {
|
|
reg = <4>;
|
|
phy-mode = "rgmii";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&usb_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
usb_ochi_port: port@1 {
|
|
reg = <1>;
|
|
#trigger-source-cells = <0>;
|
|
};
|
|
};
|
|
|
|
&usb2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
usb_echi_port: port@1 {
|
|
reg = <1>;
|
|
#trigger-source-cells = <0>;
|
|
};
|
|
};
|
|
|
|
&pcie0 {
|
|
status = "okay";
|
|
|
|
ath9k0: wifi@0,11 {
|
|
compatible = "pci168c,0029";
|
|
reg = <0x8800 0 0 0 0x10000>;
|
|
mtd-mac-address = <&art 0x0>;
|
|
qca,no-eeprom;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
};
|
|
|
|
ath9k1: wifi@0,12 {
|
|
compatible = "pci168c,0029";
|
|
reg = <0x9000 0 0 0 0x10000>;
|
|
mtd-mac-address = <&art 0xc>;
|
|
qca,no-eeprom;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
};
|
|
};
|
|
|
|
&uart {
|
|
status = "okay";
|
|
};
|
|
|
|
&spi {
|
|
status = "okay";
|
|
num-cs = <1>;
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <25000000>;
|
|
|
|
partitions: partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ð0 {
|
|
status = "okay";
|
|
|
|
pll-data = <0x11110000 0x00001099 0x00991099>;
|
|
|
|
mtd-mac-address = <&art 0x00>;
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
ð1 {
|
|
status = "okay";
|
|
|
|
pll-data = <0x11110000 0x00001099 0x00991099>;
|
|
|
|
mtd-mac-address = <&art 0x06>;
|
|
|
|
phy-handle = <&phy4>;
|
|
};
|