lantiq: Add support for Astoria ARV7510PW22
authorJohn Crispin <john@openwrt.org>
Wed, 15 Jan 2014 19:16:51 +0000 (19:16 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 15 Jan 2014 19:16:51 +0000 (19:16 +0000)
This board is pretty similar to ARV752DPW22.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 39303

target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
target/linux/lantiq/base-files/etc/uci-defaults/02_network
target/linux/lantiq/dts/ARV7510PW22.dts [new file with mode: 0644]
target/linux/lantiq/image/Makefile
target/linux/lantiq/xway/profiles/arv.mk

index 7ec8d6f..2d5e09d 100644 (file)
@@ -29,7 +29,7 @@ case "$FIRMWARE" in
 "RT2860.eeprom" )
        local board=$(lantiq_board_id)
        case $board in
-       ARV7525PW|ARV752DPW|ARV752DPW22)
+       ARV7510PW22|ARV7525PW|ARV752DPW|ARV752DPW22)
                rt2x00_eeprom_extract "board_config" 1040 512
                ;;
        *)
index 41785f4..6e17d4d 100644 (file)
@@ -68,7 +68,7 @@ ACMP252|GIGASX76X)
        ;;
 
 # ar8316
-ARV4519PW|ARV7518PW|ARV752DPW22)
+ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22)
        ucidef_set_interface_lan "eth0.1"
        ucidef_add_switch "switch0" "1" "1"
        ucidef_add_switch_vlan "switch0" "1" "0t 2 3 4 5"
diff --git a/target/linux/lantiq/dts/ARV7510PW22.dts b/target/linux/lantiq/dts/ARV7510PW22.dts
new file mode 100644 (file)
index 0000000..0bddce7
--- /dev/null
@@ -0,0 +1,179 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+       model = "ARV7510PW22 - Astoria Networks";
+
+       chosen {
+               bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+       };
+
+       memory@0 {
+               reg = <0x0 0x4000000>;
+       };
+
+       sram@1F000000 {
+               vmmc@107000 {
+                       status = "okay";
+                       gpios = <&gpio 9 0>;
+               };
+       };
+
+       fpi@10000000 {
+               localbus@0 {
+                       nor-boot@0 {
+                               compatible = "lantiq,nor";
+                               bank-width = <2>;
+                               reg = <0 0x0 0x1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               partition@0 {
+                                       label = "uboot";
+                                       reg = <0x00000 0x40000>;
+                                       read-only;
+                               };
+
+                               partition@40000 {
+                                       label = "uboot_env";
+                                       reg = <0x40000 0x20000>;
+                                       read-only;
+                               };
+
+                               partition@60000 {
+                                       label = "firmware";
+                                       reg = <0x60000 0xf80000>;
+                               };
+
+                               partition@fe0000 {
+                                       label = "board_config";
+                                       reg = <0xfe0000 0x20000>;
+                                       read-only;
+                               };
+                       };
+
+                       mac_addr {
+                               compatible = "lantiq,eth-mac";
+                               reg = <0 0xfe0016 0x6>;
+                               mac-increment = <2>;
+                       };
+               };
+
+               gpio: pinmux@E100B10 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&state_default>;
+
+                       state_default: pinmux {
+                               exin {
+                                       lantiq,groups = "exin1";
+                                       lantiq,function = "exin";
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <0>;
+                               };
+                               pci_in {
+                                       lantiq,groups = "req1", "req2";
+                                       lantiq,function = "pci";
+                                       lantiq,open-drain = <1>;
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <0>;
+                               };
+                               pci_out {
+                                       lantiq,groups = "gnt1";
+                                       lantiq,function = "pci";
+                                       lantiq,output = <1>;
+                               };
+                               pci_rst {
+                                       lantiq,pins = "io21";
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <1>;
+                               };
+                               pins_out {
+                                       lantiq,pins = "io2", "io4", "io8", "io9", "io10", "io15", "io20";
+                                       lantiq,output = <1>;
+                               };
+                               pins_in {
+                                       lantiq,pins = "io11", "io12", "io28";
+                                       lantiq,open-drain = <1>;
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <0>;
+                               };
+                       };
+               };
+
+               ifxhcd@E101000 {
+                       status = "okay";
+                       gpios = <&gpio 8 0>;
+               };
+
+               etop@E180000 {
+                       phy-mode = "rmii";
+                       /* Switch reset 19 */
+               };
+
+               pci@E105400 {
+                       status = "okay";
+                       lantiq,external-clock;
+                       interrupt-map = <
+                               0x7000 0 0 1 &icu0 30
+                               0x7800 0 0 1 &icu0 135
+                               0x7800 0 0 2 &icu0 135
+                               0x7800 0 0 3 &icu0 135
+                       >;
+                       gpio-reset = <&gpio 21 0>;
+                       req-mask = <0x3>;
+               };
+       };
+
+       ralink_eep {
+               compatible = "ralink,eeprom";
+               ralink,eeprom = "RT2860.eeprom";
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+
+               rfkill {
+                       label = "rfkill";
+                       gpios = <&gpio 11 1>;
+                       linux,code = <0xf7>;
+               };
+               restart {
+                       label = "restart";
+                       gpios = <&gpio 12 1>;
+                       linux,code = <0x100>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 28 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               power {
+                       label = "power";
+                       gpios = <&gpio 2 1>;
+               };
+               internet {
+                       label = "internet";
+                       gpios = <&gpio 4 1>;
+               };
+               wlan {
+                       label = "wlan";
+                       gpios = <&gpio 10 1>;
+               };
+               3g {
+                       label = "3g";
+                       gpios = <&gpio 15 1>;
+               };
+               message {
+                       label = "message";
+                       gpios = <&gpio 20 1>;
+               };
+       };
+};
index c9b6913..0945888 100644 (file)
@@ -224,6 +224,9 @@ Image/Build/Profile/ARV4520PW=$(call Image/Build/$(1),$(1),ARV4520PW)
 Image/BuildKernel/Profile/ARV452CQW=$(call Image/BuildKernel/Template,ARV452CQW)
 Image/Build/Profile/ARV452CQW=$(call Image/Build/$(1),$(1),ARV452CQW)
 
+Image/BuildKernel/Profile/ARV7510PW22=$(call Image/BuildKernel/Template,ARV7510PW22)
+Image/Build/Profile/ARV7510PW22=$(call Image/Build/$(1),$(1),ARV7510PW22)
+
 Image/BuildKernel/Profile/ARV7518PW=$(call Image/BuildKernel/Template,ARV7518PW)
 Image/Build/Profile/ARV7518PW=$(call Image/Build/$(1),$(1),ARV7518PW)
 
index ea611fd..9b172f2 100644 (file)
@@ -66,6 +66,20 @@ endef
 
 $(eval $(call Profile,ARV4519PW))
 
+define Profile/ARV7510PW22
+  NAME:=Astoria - ARV7510PW22
+  PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
+       kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
+       kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
+       ltq-adsl-app ppp-mod-pppoa \
+       kmod-ltq-tapi kmod-ltq-vmmc \
+       kmod-rt2800-pci wpad-mini \
+       kmod-uhci kmod-usb2 kmod-usb2-pci \
+       swconfig
+endef
+
+$(eval $(call Profile,ARV7510PW22))
+
 define Profile/ARV7518PW
   NAME:=Astoria - ARV7518PW
   PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \