From e36568e74b406f5c718904b330fcc7cb34ab2a17 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 30 Mar 2014 10:02:30 +0000 Subject: lntiq: add support for Astoria ARV7519RW. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These patches add support for the Astoria ARV7519RW aka Livebox 2.1 The PCI and PCIe interfaces have been disabled. Also, because there are two revisions of this board with different GPHY firmwares, two targets were defined. V2: rewrote partitions to work with an u-boot specifically made for these boards. Signed off by: Esteban Benito Signed off by: Carles Gadea Tested by: José Vázquez Fernández SVN-Revision: 40329 --- target/linux/lantiq/dts/ARV7519RW.dtsi | 186 +++++++++++++++++++++++++++++++ target/linux/lantiq/dts/ARV7519RWV11.dts | 50 +++++++++ target/linux/lantiq/dts/ARV7519RWV12.dts | 50 +++++++++ 3 files changed, 286 insertions(+) create mode 100644 target/linux/lantiq/dts/ARV7519RW.dtsi create mode 100644 target/linux/lantiq/dts/ARV7519RWV11.dts create mode 100644 target/linux/lantiq/dts/ARV7519RWV12.dts (limited to 'target/linux/lantiq/dts') diff --git a/target/linux/lantiq/dts/ARV7519RW.dtsi b/target/linux/lantiq/dts/ARV7519RW.dtsi new file mode 100644 index 0000000000..77904705f0 --- /dev/null +++ b/target/linux/lantiq/dts/ARV7519RW.dtsi @@ -0,0 +1,186 @@ +/include/ "vr9.dtsi" + +/ { + + model = "ARV7519 - Astoria Networks ARV7519RW22-A-LT"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x8000000>; + }; + + fpi@10000000 { + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + gphy-leds { + lantiq,groups = "gphy0 led1", "gphy1 led1"; + lantiq,function = "gphy"; + lantiq,pull = <2>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + phy-rst { + lantiq,pins = "io42"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io21"; + 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@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + }; + + wan: interface@1 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mac-address = [ 00 11 22 33 44 56 ]; + lantiq,wan; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + }; + + 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"; + }; + 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"; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 32 0>; + lantiq,portmask = <0x3>; + }; + + pcie@d900000 { + status = "disabled"; + compatible = "lantiq,pcie-xway"; + }; + + pci@E105400 { + status = "disabled"; + compatible = "lantiq,pci-xway"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 22 1>; + linux,code = <0x198>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio 45 1>; + linux,code = <0xf7>; + }; + wps { + gpios = <&gpio 20 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + lan{ /* green */ + label = "lan"; + gpios = <&gpio 02 1>; + }; + voice { /* green */ + label = "voice"; + gpios = <&gpio 29 1>; + }; + message1 { /* red */ + label = "message1"; + gpios = <&gpio 10 1>; + }; + message2 { /* green */ + label = "message2"; + gpios = <&gpio 19 1>; + }; + message3 { /* orange */ + label = "message3"; + gpios = <&gpio 28 1>; + }; + alarm { /* blue */ + label = "alarm"; + gpios = <&gpio 15 1>; + }; + power { /* red */ + label = "power"; + gpios = <&gpio 14 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7519RWV11.dts b/target/linux/lantiq/dts/ARV7519RWV11.dts new file mode 100644 index 0000000000..c77ffb416d --- /dev/null +++ b/target/linux/lantiq/dts/ARV7519RWV11.dts @@ -0,0 +1,50 @@ +/dts-v1/; + + +/include/ "ARV7519RW.dtsi" + +/ { + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>, <1 0x2000000 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x000000000000 0x00060000>; + read-only; + }; + + partition@60000 { + label = "uboot_cfg"; + reg = <0x000000060000 0x00020000>; + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x000000080000 0x01f00000>; + }; + + partition@1f80000 { + label = "boardconfig"; + reg = <0x000001f80000 0x00080000>; + read-only; + + }; + + + + }; + }; + }; + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/ + phys = [ 00 01 ]; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7519RWV12.dts b/target/linux/lantiq/dts/ARV7519RWV12.dts new file mode 100644 index 0000000000..6f1bf51e1b --- /dev/null +++ b/target/linux/lantiq/dts/ARV7519RWV12.dts @@ -0,0 +1,50 @@ +/dts-v1/; + + +/include/ "ARV7519RW.dtsi" + +/ { + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>, <1 0x2000000 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x000000000000 0x00060000>; + read-only; + }; + + partition@60000 { + label = "uboot_cfg"; + reg = <0x000000060000 0x00020000>; + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x000000080000 0x01f00000>; + }; + + partition@1f80000 { + label = "boardconfig"; + reg = <0x000001f80000 0x00080000>; + read-only; + + }; + + + + }; + }; + }; + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/ + phys = [ 00 01 ]; + }; +}; -- cgit v1.2.3