Zmiany były, ale zignorowałam niektóre, bo WAN mi w ogóle nie działał na tym nowym DTS od deweloperów. Mam taki:
cat VGV952CJW33-E-IR.dts
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
model = "EasyBox 904 xDSL";
compatible = "lantiq,vgv952cjw33-e-ir", "lantiq,xway", "lantiq,vr9";
chosen {
// No vpe, both cores used for linux:
//Rootfs is in partition 'ubi' if present, volume 'rootfs' (1st search prio). Or in mtd partition called 'rootfs' (2nd prio).
bootargs = "console=ttyLTQ0,115200 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// Obsolete:
// bootargs = "console=ttyLTQ0,115200 ubi.mtd=12,2048 panic=1 DTS-TEST-SEQNO=77 root=/dev/ubiblock0_0 rootdelay=7";
// With vpe, one core dedicated to phone audio signal processing
// bootargs = "console=ttyLTQ0,115200 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// Bootargs to boot from sda1
// bootargs = "console=ttyLTQ0,115200 root=/dev/sda1 rootdelay=7 rootfstype=f2fs mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// Obsolete:
// bootargs = "console=ttyLTQ0,115200 ubi.mtd=12,2048 panic=1 DTS-TEST-SEQNO=77 root=/dev/ubiblock0_0 rootdelay=7 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// Bootargs to boot from mtd12 ubifs
// bootargs = "console=ttyLTQ0,115200 ubi.mtd=12,2048 panic=1 DTS-TEST-SEQNO=77 root=/dev/ubiblock0_0 rootdelay=7 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// bootargs = "console=ttyLTQ0,115200 ubi.mtd=12,2048 panic=1 DTS-TEST-SEQNO=77 root=/dev/ubiblock0_0 rootdelay=7 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// bootargs = "console=ttyLTQ0,115200 mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
// Bootargs to boot from sda1
// bootargs = "console=ttyLTQ0,115200 panic=1 DTS-TEST-SEQNO=77 root=/dev/sda1 rootdelay=7 rootfstype=f2fs mem=116M phym=128M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
};
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
rfkill {
label = "wps";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
leds {
compatible = "gpio-leds";
power_green: power {
label = "VGV952CJW33:red:power";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
spi {
compatible = "spi-gpio";
address-cells = <1>;
size-cells = <0>;
gpio-sck = <&gpio 29 GPIO_ACTIVE_HIGH >;
gpio-mosi = <&gpio 30 GPIO_ACTIVE_HIGH >;
num-chipselects = <1>;
cs-gpios = <&gpio 39 GPIO_ACTIVE_HIGH >;
hc595: gpio_spi@0 {
compatible = "fairchild,74hc595";
reg = <0>;
registers-number = <1>;
spi-max-frequency = <1000000>;
spi-cpol = <0>;
spi-cpha = <0>;
gpio-controller;
#gpio-cells = <2>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
out_0 { /*Unknown*/
gpio-export,name = "hc595_0";
gpio-export,output = <1>;
gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
};
out_1 {/*Unknown*/
gpio-export,name = "hc595_1";
gpio-export,output = <1>;
gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
};
// out_2 is used to reset touch IC and owned by eb904_keypad
out_3 {/*Unknown*/
gpio-export,name = "hc595_3";
gpio-export,output = <1>;
gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
};
out_dsl_eth { /* Switches DSL line + 100MiB eth or 1GiB ethernet on DSL/WAN input. Relay 1.*/
gpio-export,name = "dsl_en";
gpio-export,output = <1>;
gpios = <&hc595 4 GPIO_ACTIVE_LOW>;
};
out_5 { /* Switches filter for DSL line On/Off. Relays 2 and 3 simultaneously.*/
gpio-export,name = "annexj";
gpio-export,output = <1>;
gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
};
out_6 { /* Switch DSL line betwean ISDN modem and Si3050. Relay 5.*/
gpio-export,name = "annexb";
gpio-export,output = <1>;
gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
};
out_7 { /* Switch phone outputs N and F betwean analog DSL line and XS1 output from Lantiq SLIC. Relay 4.*/
gpio-export,name = "annexa";
gpio-export,output = <1>;
gpios = <&hc595 7 GPIO_ACTIVE_LOW>;
};
};
i2c {
compatible = "i2c-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpios = <&gpio 19 GPIO_ACTIVE_HIGH /* sda */
&gpio 14 GPIO_ACTIVE_HIGH /* scl */
>;
//i2c-gpio,sda-open-drain;
//i2c-gpio,scl-open-drain;
i2c-gpio,delay-us = <5>;
/* Add touch panel Support */
tp: eb904tp@0x14 {
compatible = "lantiq,eb904_keypad";
reg = <0x14>;
interrupt-parent = <&icu0>;
interrupts = <135>;
eb904,interrupt-gpio = <&gpio 0 GPIO_ACTIVE_HIGH /* EXIN */>;
eb904,ctrl-rst-gpio = <&hc595 2 GPIO_ACTIVE_LOW /* rst */>;
eb904,alphas = /bits/ 8
<0x07 /* left */
0x0a /* down */
0x0a /* right */
0x0a /* ok */
0x07 /* up */
>;
keypad,num-rows = <3>;
keypad,num-columns = <3>;
linux,keymap = <
MATRIX_KEY(0x0, 0x1, KEY_UP) /* ROW0, COL1 */
MATRIX_KEY(0x1, 0x0, KEY_LEFT) /* ROW1, COL0 */
MATRIX_KEY(0x1, 0x1, KEY_ENTER) /* ROW1, COL1 */
MATRIX_KEY(0x1, 0x2, KEY_RIGHT) /* ROW1, COL2 */
MATRIX_KEY(0x2, 0x1, KEY_DOWN) /* ROW2, COL1 */
>;
};
};
mdio: mdio {
compatible = "lantiq,xrx200-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
rtl8367b {
compatible = "realtek,rtl8367b";
//gpio-sda = <&gpio0 1 0>;
//gpio-sck = <&gpio0 2 0>;
//cpu_port = <7>;
//realtek,extif0 = <1 0 1 1 1 1 1 1 2>; // default found on other profiles
realtek,extif1 = <1 0 1 1 0 0 1 1 2>; // based on vendor uboot-config
mii-bus = <&mdio>;
};
};
&vmmc {
status = "okay";
gpios = <&gpio 37 GPIO_ACTIVE_HIGH>; //reset_slic!
};
&localbus {
// #address-cells = <2>; // Just for info. From vr9.dtsi
// #size-cells = <1>;
// ranges = <0 0 0x0 0x3ffffff // addrsel0 0x3ffffff and 0x4000010 in vr9.dtsi seem to be wrong, because these are size
// 1 0 0x4000000 0x4000010>; // addrsel1 parameters. Not really a problem; the drivers we have use their own hardcoded values
ranges = <0 0 0x0 0x2000000 // addrsel0 Was set up this way by arcadian eb904 U-Boot for nand. Not used by eb904 linux
1 0 0x2000000 0x1000000 // addrsel1 Size 0x1000000 hardcoded in xway_nand.c. Excessive, as first 0x80 is used only
2 0 0x3000000 0x0000800>; // addrsel2 Size 0x800 hardcoded in display driver. This is the min size supported by ebu
flash@1 { // @1 because using ebu BUSCON1/ADDSEL1
compatible = "lantiq,nand-xway";
reg = <1 0x0 0x80>; // Only adresses 0x0..0x7F needed (but driver ignores size 0x80 and tells ebu to map 0x1000000)
// bank-width = <2>; // Not used by any driver code
#address-cells = <1>;
#size-cells = <1>;
lantiq,cs = <1>; // Seems to be needed (EASY80920NAND.dts)
nand-on-flash-bbt;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x40000>;
};
partition@40000 {
label = "rootfs1"; // Called "rootfs" in original u-boot env.
reg = <0x40000 0x3C00000>; // Auto mounted as rootfs if no UBI volume named "rootfs" exists
};
partition@3C40000 {
label = "kernel"; // Called "kernel" in original u-boot env.
reg = <0x3C40000 0x500000>;
};
partition@4140000 {
label = "tmp1";
reg = <0x4140000 0x100000>;
};
partition@4240000 {
label = "tmp2";
reg = <0x4240000 0x200000>;
};
partition@4440000 {
label = "sysconfig";
reg = <0x4440000 0x100000>;
};
partition@4540000 {
label = "ubootconfig";
reg = <0x4540000 0x100000>;
};
partition@4640000 {
label = "fwdiag";
reg = <0x4640000 0xC0000>;
};
partition@4700000 {
label = "lcdimage";
reg = <0x4700000 0x300000>;
};
partition@4A00000 {
label = "mfgconfig";
reg = <0x4A00000 0x100000>;
};
partition@4B00000 {
label = "sipdata";
reg = <0x4B00000 0x100000>;
};
partition@4C00000 {
label = "voice";
reg = <0x4C00000 0x4000000>;
};
partition@8C00000 { // Called "misc" in original u-boot env.
label = "ubi"; // Rename to "ubi" for auto ubi attachment and usage of rootfs, rootfs_data, kernel volumes
reg = <0x8C00000 0x13200000>; // Rename to "firmware" for special squashfs-rootfs/jffs2-rootfs_data treatment
};
partition@1BE00000 {
label = "rootfs2";
reg = <0x1BE00000 0x3c00000>;
};
partition@1FA00000 {
label = "kernel2";
reg = <0x1FA00000 0x500000>;
};
partition@1FF00000 {
label = "mystery"; // Missing in original u-boot environment, seems to be empty (erased)
reg = <0x1FF00000 0x100000>;
};
};
};
display@2 { // @2 because using ebu BUSCON2/ADDSEL2. Name not 'easybox904-display',
compatible = "ilitek,ili9341_eb904"; // see 'Node Names' at https://elinux.org/Device_Tree_Usage
reg = <2 0x0 0x4>; // Size 0x4 contains 2 byte data and 2 byte command registers
status = "okay";
rotate = <270>;
fps = <30>;
bgr;
buswidth = <8>;
reset-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
led-gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
debug = <1>;
};
};
/*
* Following is the very experimental part which is broken and requires much more elaboration
*/
// From FRITZ3370.dts
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
phy-rst { // I have no idea wether this makes sense
lantiq,pins = "io37", "io44"; // FRITZ3370.dts
// lantiq,pins = "io42"; // TDW8970.dts
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38"; // FRITZ3370.dts, TDW8970.dts, EASY80920.dtsi, P2812HNUFX.dtsi
// lantiq,pins = "io21"; // ARV7519RW22.dts
lantiq,pull = <0>;
lantiq,output = <1>;
};
exin1 {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
conf_tp {
lantiq,pins = "io1"; /* exin1 */
lantiq,open-drain;
lantiq,pull = <0>;
};
conf_spi {
lantiq,pins = "io29", "io30", "io39"; /* gpiois for spi */
lantiq,pull = <2>; /*Pull Up*/
};
};
};
&usb_phy0 {
status = "okay";
};
&usb_phy1 {
status = "okay";
};
&usb0 {
status = "okay";
vbus-supply = <&usb_vbus>;
};
&usb1 {
status = "okay";
vbus-supply = <&usb_vbus>;
};
ð0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mac-address = [ 00 11 22 33 44 55 ];
lantiq,switch;
/*rtl8367*/
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
/* rt3883 soc */
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
tx-delay = /bits/ 8 <3>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
wan: interface@1 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
mac-address = [ 00 11 22 33 44 66 ];
lantiq,wan;
/* wan port */
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};
};
&pci0 {
status = "disabled";
//gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&pcie0 {
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
};
};
I nie było problemu dotychczas (albo go nie zauważyłam...). Teraz go zauważam przy restarcie lub pierwszym uruchomieniu routera po wgraniu softu. Klienci po LAN pobierają adresy z DHCP z urządzenia przez port WAN, a nie powinni. Nie do końca rozumiem jak działają vlany w tym routerze i nie wiem jak to poprawić.