diff --git a/target/linux/lantiq/image/EASY80920.dtsi b/target/linux/lantiq/image/EASY80920.dtsi index 03cebd712..e32ad53d3 100644 --- a/target/linux/lantiq/image/EASY80920.dtsi +++ b/target/linux/lantiq/image/EASY80920.dtsi @@ -254,7 +254,7 @@ #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; - compatible = "lantiq,pci-xway"; + compatible = "lantiq,pci-xway1"; bus-range = <0x0 0x0>; ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */ 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */ diff --git a/target/linux/lantiq/image/FRITZ3370.dts b/target/linux/lantiq/image/FRITZ3370.dts new file mode 100644 index 000000000..f0c7e3461 --- /dev/null +++ b/target/linux/lantiq/image/FRITZ3370.dts @@ -0,0 +1,278 @@ +/dts-v1/; + +/include/ "vr9.dtsi" + +/ { + model = "FRITZ3370 - Fritz!Box WLAN 3370"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + localbus@0 { + nand-parts@0 { + compatible = "gen_nand", "lantiq,nand-xway"; + bank-width = <2>; + reg = <1 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "linux"; + reg = <0x00000 0x400000>; + }; + + partition@400000 { + label = "filesystem"; + reg = <0x400000 0x3000000>; + }; + + partition@3400000 { + label = "reserved-kernel"; + reg = <0x3400000 0x400000>; + }; + partition@3800000 { + label = "reserved"; + reg = <0x3800000 0x3000000>; + }; + partition@6800000 { + label = "config"; + reg = <0x6800000 0x200000>; + }; + partition@6a00000 { + label = "nand-filesystem"; + reg = <0x6a00000 0x1600000>; + }; + }; + }; + + spi@E100800 { + compatible = "lantiq,spi-xway-broken"; + reg = <0xE100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; + #address-cells = <1>; + #size-cells = <1>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <1000000>; + + partition@0 { + reg = <0x0 0x20000>; + label = "SPI (RO) U-Boot Image"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "ENV_MAC"; + read-only; + }; + + partition@30000 { + reg = <0x30000 0x10000>; + label = "DPF"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x10000>; + label = "NVRAM"; + read-only; + }; + + partition@500000 { + reg = <0x50000 0x003a0000>; + label = "kernel"; + }; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + spi { + lantiq,groups = "spi", "spi_cs4"; + lantiq,function = "spi"; + }; + nand_out { + lantiq,groups = "nand cle", "nand ale", "nand rd", "ebu a23", "ebu a24"; + lantiq,function = "ebu"; + lantiq,direction = <1>; + lantiq,pull = <0>; + }; + nand_in { + lantiq,groups = "nand rdy"; + lantiq,function = "ebu"; + lantiq,direction = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + phy-rst { + lantiq,pins = "io37", "io44"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + eth@E108000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-net"; + reg = < 0xE108000 0x3000 /* switch */ + 0xE10B100 0x70 /* mdio */ + 0xE10B1D8 0x30 /* mii */ + 0xE10B308 0x30 /* pmac */ + >; + interrupt-parent = <&icu0>; + interrupts = <73 72>; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + gpios = <&gpio 37 0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + gpios = <&gpio 44 0>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phynmode0 = "gmii"; + phy-handle = <&phy13>; + }; + }; + + 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"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 5 0 + &gpio 14 0>; + lantiq,portmask = <0x3>; + }; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a1x.bin"; + phys = [ 00 01 ]; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + power { + label = "power"; + gpios = <&gpio 1 0>; + linux,code = <0x100>; + }; +/* wifi { + label = "wifi"; + gpios = <&gpio 29 0>; + linux,code = <0x101>; + };*/ + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "power"; + gpios = <&gpio 32 1>; + }; + power2 { + label = "power2"; + gpios = <&gpio 33 1>; + }; + info_red { + label = "info_red"; + gpios = <&gpio 34 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 35 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 36 1>; + }; + lan { + label = "lan"; + gpios = <&gpio 38 1>; + }; + info_green { + label = "info_green"; + gpios = <&gpio 47 1>; + }; + }; +}; diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile index 2c206339f..440c1486c 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -183,6 +183,9 @@ Image/Build/Profile/EASY80920NAND=$(call Image/Build/$(1),$(1),EASY80920NAND) Image/BuildKernel/Profile/EASY80920NOR=$(call Image/BuildKernel/Template,EASY80920NOR) Image/Build/Profile/EASY80920NOR=$(call Image/Build/$(1),$(1),EASY80920NOR) +Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370) +Image/Build/Profile/FRITZ3370=$(call Image/BuildEVA/$(1),$(1),FRITZ3370) + endif diff --git a/target/linux/lantiq/image/WBMR.dts b/target/linux/lantiq/image/WBMR.dts index d9c976741..1291c86d8 100644 --- a/target/linux/lantiq/image/WBMR.dts +++ b/target/linux/lantiq/image/WBMR.dts @@ -39,6 +39,12 @@ reg = <0x60000 0x1f20000>; }; + partition@0x1fc0000 { + label = "board"; + reg = <0x1fc0000 0x20000>; + read-only; + }; + partition@0x1fe0000 { label = "calibration"; reg = <0x1fe0000 0x20000>; @@ -109,7 +115,7 @@ eject { label = "eject"; gpios = <&gpio 34 1>; - linux,code = <0x108>; + linux,code = <0xf7>; }; movie { label = "movie"; diff --git a/target/linux/lantiq/image/ar9.dtsi b/target/linux/lantiq/image/ar9.dtsi index 239856359..63c7d6167 100644 --- a/target/linux/lantiq/image/ar9.dtsi +++ b/target/linux/lantiq/image/ar9.dtsi @@ -120,7 +120,7 @@ }; deu@E103100 { - compatible = "lantiq,deu-ar9"; + compatible = "lantiq,deu-arx100"; reg = <0xE103100 0xf00>; }; @@ -174,6 +174,6 @@ }; adsl { - compatible = "lantiq,adsl-ar9"; + compatible = "lantiq,adsl-arx100"; }; }; diff --git a/target/linux/lantiq/image/vr9.dtsi b/target/linux/lantiq/image/vr9.dtsi index 4c1923be8..c7a28d77a 100644 --- a/target/linux/lantiq/image/vr9.dtsi +++ b/target/linux/lantiq/image/vr9.dtsi @@ -80,6 +80,14 @@ ranges = <0x0 0x10000000 0xEEFFFFF>; reg = <0x10000000 0xEF00000>; + localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + }; + gptu@E100A00 { compatible = "lantiq,gptu-xway"; reg = <0xE100A00 0x100>; @@ -87,6 +95,21 @@ interrupts = <126 127 128 129 130 131>; }; + asc0: serial@E100400 { + compatible = "lantiq,asc"; + reg = <0xE100400 0x400>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + status = "disabled"; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xr9"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + }; + asc1: serial@E100C00 { compatible = "lantiq,asc"; reg = <0xE100C00 0x400>; @@ -94,6 +117,11 @@ interrupts = <112 113 114>; }; + deu@E103100 { + compatible = "lantiq,deu-xrx200"; + reg = <0xE103100 0xf00>; + }; + dma0: dma@E104100 { compatible = "lantiq,dma-xway"; reg = <0xE104100 0x800>; @@ -113,8 +141,14 @@ interrupts = <62 91>; }; + mei@E116000 { + compatible = "lantiq,mei-xrx200"; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + ppe@E234000 { - compatible = "lantiq,atm-xrx200"; + compatible = "lantiq,ppe-xrx200"; interrupt-parent = <&icu0>; interrupts = <96>; }; @@ -135,7 +169,12 @@ 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */ reg = <0x7000000 0x8000 /* config space */ 0xE105400 0x400>; /* pci bridge */ + status = "disabled"; }; }; + + vdsl { + compatible = "lantiq,vdsl-vrx200"; + }; }; diff --git a/target/linux/lantiq/xway/profiles/avm.mk b/target/linux/lantiq/xway/profiles/avm.mk index 75db65e31..f0a93d8f7 100644 --- a/target/linux/lantiq/xway/profiles/avm.mk +++ b/target/linux/lantiq/xway/profiles/avm.mk @@ -4,7 +4,16 @@ define Profile/FRITZ7320 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \ kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \ ltq-adsl-app ppp-mod-pppoa \ - kmod-ltq-deu-ar9 + kmod-ltq-deu-ar9 kmod-ltq-hcd-ar9 endef $(eval $(call Profile,FRITZ7320)) + +define Profile/FRITZ3370 + NAME:=Fritz!Box WLan - FRITZ3370 + PACKAGES:=kmod-ath9k wpad-mini \ + kmod-ltq-deu-vr9 kmod-ltq-hcd-vr9 \ + ppp-mod-pppoa +endef + +$(eval $(call Profile,FRITZ3370))