lntiq: add support for Astoria ARV7519RW.
authorJohn Crispin <john@openwrt.org>
Sun, 30 Mar 2014 10:02:30 +0000 (10:02 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 30 Mar 2014 10:02:30 +0000 (10:02 +0000)
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 <estebanjbs@gmail.com>
Signed off by: Carles Gadea <carlesgrg@gmail.com>
Tested by: José Vázquez Fernández <ppvazquezfer@gmail.com>

SVN-Revision: 40329

target/linux/lantiq/base-files/etc/uci-defaults/02_network
target/linux/lantiq/dts/ARV7519RW.dtsi [new file with mode: 0644]
target/linux/lantiq/dts/ARV7519RWV11.dts [new file with mode: 0644]
target/linux/lantiq/dts/ARV7519RWV12.dts [new file with mode: 0644]
target/linux/lantiq/image/Makefile
target/linux/lantiq/xrx200/profiles/arv.mk

index ad1238437f3793d1b26acf0be161a4ff1525f558..5768336f2a384357f051778b1aa3b5afc24454ec 100644 (file)
@@ -130,6 +130,11 @@ TDW8970)
        lan_mac=$(mtd_get_mac_binary boardconfig 61696)
        wan_mac=$(macaddr_add "$lan_mac" 1)
        ;;
+
+ARV7519*)
+       lan_mac=$(mtd_get_mac_binary boardconfig 22)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ;;
 esac
 
 [ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
diff --git a/target/linux/lantiq/dts/ARV7519RW.dtsi b/target/linux/lantiq/dts/ARV7519RW.dtsi
new file mode 100644 (file)
index 0000000..7790470
--- /dev/null
@@ -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 (file)
index 0000000..c77ffb4
--- /dev/null
@@ -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 (file)
index 0000000..6f1bf51
--- /dev/null
@@ -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 ];
+       };
+};
index cd36d12ca1c826c595dc1323286221e1fcb553ba..28cb96c8b7c3af4f8a8629c7422fb36a43eb9701 100644 (file)
@@ -307,6 +307,12 @@ Image/Build/Profile/H201L=$(call Image/Build/$(1),$(1),H201L)
 Image/BuildKernel/Profile/P2601HNFX=$(call Image/BuildKernel/Template,P2601HNFX)
 Image/Build/Profile/P2601HNFX=$(call Image/Build/$(1),$(1),P2601HNFX)
 
+Image/BuildKernel/Profile/ARV7519RWV11=$(call Image/BuildKernel/Template,ARV7519RWV11,$(1))
+Image/Build/Profile/ARV7519RWV11=$(call Image/Build/$(1), $(1),ARV7519RWV11)
+
+Image/BuildKernel/Profile/ARV7519RWV12=$(call Image/BuildKernel/Template,ARV7519RWV12,$(1))
+Image/Build/Profile/ARV7519RWV12=$(call Image/Build/$(1), $(1),ARV7519RWV12)
+
 endif
 
 
index 317297134df16406e32817049ef7cea9b03ad994..ce6f76100107ad8be43a8183828ef2987b72fd60 100644 (file)
@@ -27,3 +27,25 @@ define Profile/VGV7519BRN
 endef
 
 $(eval $(call Profile,VGV7519BRN))
+
+define Profile/ARV7519RWV11
+  NAME:=Livebox Astoria V1
+  PACKAGES:=kmod-ath9k wpad-mini \
+       kmod-ltq-deu-vr9 kmod-ltq-hcd-vr9 \
+       kmod-ltq-vdsl-vr9-mei kmod-ltq-vdsl-vr9 \
+       kmod-ltq-atm-vr9 ltq-vdsl-vr9-fw-installer \
+       ltq-vdsl-app ppp-mod-pppoa
+endef
+
+$(eval $(call Profile,ARV7519RWV11))
+
+define Profile/ARV7519RWV12
+  NAME:=Livebox Astoria V2
+  PACKAGES:=kmod-ath9k wpad-mini \
+       kmod-ltq-deu-vr9 kmod-ltq-hcd-vr9 \
+       kmod-ltq-vdsl-vr9-mei kmod-ltq-vdsl-vr9 \
+       kmod-ltq-atm-vr9 ltq-vdsl-vr9-fw-installer \
+       ltq-vdsl-app ppp-mod-pppoa
+endef
+
+$(eval $(call Profile,ARV7519RWV12))