openwrtv3/target/linux/lantiq/dts/BTHOMEHUBV5A.dts
Mathias Kresin cd8b20931e lantiq: xrx200: use vlan for ethernet wan port
Using the lantiq,wan device tree property for one interface node and
the lantiq,switch device tree property for another interface node at
the same time was never intended/isn't supported at the moment.

The property is meant to be used in two phy operation mode where one
phy is assigned to an interface without lantiq,* device tree property
and the other phy is assigned to an interface with the lantiq,wan
device property to have two netdevs.

If both properties are used at the same time, the lantiq,wan interface
is shown as independent netdev but not able to operate independent. The
port needs to be managed via swconfig. These dependency is not obvious
and fooled already a lot of users.

Add a default WAN vlan for xrx200 devices having an ethernet WAN port
and remove the lantiq,wan device tree property. Leave it up to the user
to set the ethernet WAN port as default WAN interface or to use this
port as additional LAN port.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-11 13:45:00 +01:00

281 lines
5.6 KiB
Text

/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "BTHOMEHUBV5A - BT Home Hub 5A";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_blue;
led-internet = &broadband_blue;
led-wifi = &wireless_blue;
};
memory@0 {
reg = <0x0 0x8000000>;
};
fpi@10000000 {
localbus@0 {
nand-parts@0 {
compatible = "gen_nand", "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0x1 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
nand-on-flash-bbt;
nand-ecc-strength = <3>;
nand-ecc-step-size = <256>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0xa0000>;
read-only;
};
partition@a0000 {
label = "uboot-env";
reg = <0xa0000 0x20000>;
read-only;
};
partition@c0000 {
label = "unused";
reg = <0xc0000 0x40000>;
};
partition@100000 {
label = "ubi";
reg = <0x100000 0x7e80000>;
};
/*
* last 512 KiB are for the bad block table, not writable
*/
};
};
};
gpio: pinmux@E100B10 {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain;
};
pcie_rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
lantiq,open-drain;
};
usb_vbus {
lantiq,pins = "io33";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
};
};
ifxhcd@E101000 {
status = "okay";
gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
};
};
gphy-xrx200 {
compatible = "lantiq,phy-xrx200";
firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
phys = [ 00 01 ];
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
restart {
label = "restart";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
};
gpio-leds {
compatible = "gpio-leds";
/* broadband-* is a single RGB led */
broadband-red {
label = "bthomehubv5a:red:broadband";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
broadband-green {
label = "bthomehubv5a:green:broadband";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
broadband_blue: broadband-blue {
label = "bthomehubv5a:blue:broadband";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
/* wireless-* is a single RGB led */
wireless-red {
label = "bthomehubv5a:red:wireless";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
wireless-green {
label = "bthomehubv5a:green:wireless";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
wireless_blue: wireless-blue {
label = "bthomehubv5a:blue:wireless";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
/* power-* is a single RGB led */
power_red: power-red {
label = "bthomehubv5a:red:power";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
power_green: power-green {
label = "bthomehubv5a:green:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_blue: power-blue {
label = "bthomehubv5a:blue:power";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
dimmed {
label = "dimmed";
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@168c,002d {
compatible = "pci168c,002d";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
qca,disable-5ghz;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};