From 0e1391f042bee2dfd3f192bad1e894dbc62aa951 Mon Sep 17 00:00:00 2001 From: blogic Date: Mon, 28 Jan 2013 17:42:59 +0000 Subject: [lantiq] Add support for ARV4518PW R01 and rename R01A. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There are two different versions of SMC7908A-ISP: R01 and R01A. R01 has an internal clock for PCI, meanwhile R01A has an external clock. This fixes: https://dev.openwrt.org/ticket/12884 Signed-off-by: John Crispin Signed-off-by: Álvaro Fernández Rojas git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35352 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/lantiq/image/ARV4518PW.dts | 192 ---------------------------- target/linux/lantiq/image/ARV4518PWR01.dts | 192 ++++++++++++++++++++++++++++ target/linux/lantiq/image/ARV4518PWR01A.dts | 192 ++++++++++++++++++++++++++++ target/linux/lantiq/image/Makefile | 7 +- target/linux/lantiq/xway/profiles/arv.mk | 18 ++- 5 files changed, 404 insertions(+), 197 deletions(-) delete mode 100644 target/linux/lantiq/image/ARV4518PW.dts create mode 100644 target/linux/lantiq/image/ARV4518PWR01.dts create mode 100644 target/linux/lantiq/image/ARV4518PWR01A.dts diff --git a/target/linux/lantiq/image/ARV4518PW.dts b/target/linux/lantiq/image/ARV4518PW.dts deleted file mode 100644 index 11ad342e9..000000000 --- a/target/linux/lantiq/image/ARV4518PW.dts +++ /dev/null @@ -1,192 +0,0 @@ -/dts-v1/; - -/include/ "danube.dtsi" - -/ { - model = "ARV4518PW - SMC7908A-ISP, Airties WAV-221"; - - chosen { - bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; - }; - - memory@0 { - reg = <0x0 0x4000000>; - }; - - sram@1F000000 { - vmmc@107000 { - status = "okay"; - gpios = <&gpio 31 0>; - }; - }; - - fpi@10000000 { - localbus@0 { - nor-boot@0 { - compatible = "lantiq,nor"; - bank-width = <2>; - reg = <0 0x0 0x2000000>; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "uboot"; - reg = <0x00000 0x10000>; /* 64 KB */ - read-only; - }; - - partition@10000 { - label = "uboot_env"; - reg = <0x10000 0x10000>; /* 64 KB */ - read-only; - }; - - partition@20000 { - label = "linux"; - reg = <0x20000 0x3d0000>; - }; - - partition@400000 { - label = "boardconfig"; - reg = <0x3f0000 0x10000>; - read-only; - }; - }; - - gpiomm: gpiomm@4000000 { - compatible = "lantiq,gpio-mm"; - reg = <1 0x0 0x10 >; - #address-cells = <1>; - #size-cells = <1>; - #gpio-cells = <2>; - gpio-controller; - lantiq,shadow = <0x0>; - }; - - mac_addr { - compatible = "lantiq,eth-mac"; - reg = <0 0x3f0016 0x6>; - mac-increment = <2>; - }; - - ath5k_eep { - compatible = "ath5k,eeprom"; - reg = <0 0x3f0400 0x800 - 0 0x3f0016 0x6>; - ath,mac-increment = <1>; - ath,eep-swap; - }; - }; - - gpio: pinmux@E100B10 { - pinctrl-names = "default"; - pinctrl-0 = <&state_default>; - - state_default: pinmux { - ebu { - lantiq,groups = "ebu cs1"; - lantiq,function = "ebu"; - }; - pci_in { - lantiq,groups = "req1", "req2"; - lantiq,function = "pci"; - lantiq,open-drain = <1>; - lantiq,pull = <2>; - lantiq,output = <0>; - }; - pci_out { - lantiq,groups = "gnt1", "gnt2"; - lantiq,function = "pci"; - lantiq,pull = <0>; - lantiq,output = <1>; - }; - }; - }; - - etop@E180000 { - phy-mode = "rmii"; - }; - - ifxhcd@E101000 { - status = "okay"; - gpios = <&gpio 14 0>; - }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - gpio-reset = <&gpio 21 0>; - req-mask = <0xf>; - }; - - }; - -/* -#define ARV4518PW_SWITCH_RESET 13 -*/ - gpio-keys-polled { - compatible = "gpio-keys-polled"; - #address-cells = <1>; - #size-cells = <0>; - poll-interval = <100>; - - rfkill { - label = "rfkill"; - gpios = <&gpio 28 1>; - linux,code = <0xf7>; - }; - reset { - label = "reset"; - gpios = <&gpio 30 1>; - linux,code = <0x198>; - }; - }; - - gpio-leds { - compatible = "gpio-leds"; - power { - label = "power"; - gpios = <&gpio 3 0>; - }; - dsl { - label = "dsl"; - gpios = <&gpio 4 1>; - }; - online { - label = "online"; - gpios = <&gpio 5 1>; - }; - wifi { - label = "wifi"; - gpios = <&gpio 6 1>; - }; - wps { - label = "wps"; - gpios = <&gpio 7 1>; - }; - dsl2 { - label = "dsl2"; - gpios = <&gpio 8 1>; - }; - usb { - label = "usb"; - gpios = <&gpio 19 1>; - }; - voice { - label = "voice"; - gpios = <&gpiomm 0 1>; - }; - fxs1 { - label = "fxs1"; - gpios = <&gpiomm 1 1>; - }; - fxs2 { - label = "fxs2"; - gpios = <&gpiomm 2 1>; - }; - fxo { - label = "fxo"; - gpios = <&gpiomm 3 1>; - }; - }; -}; diff --git a/target/linux/lantiq/image/ARV4518PWR01.dts b/target/linux/lantiq/image/ARV4518PWR01.dts new file mode 100644 index 000000000..5536af56d --- /dev/null +++ b/target/linux/lantiq/image/ARV4518PWR01.dts @@ -0,0 +1,192 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4518PWR01 - SMC7908A-ISP"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800 + 0 0x3f0016 0x6>; + ath,mac-increment = <1>; + ath,eep-swap; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1", "gnt2"; + lantiq,function = "pci"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 14 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,internal-clock; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; + }; + + }; + +/* +#define ARV4518PW_SWITCH_RESET 13 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 1>; + linux,code = <0xf7>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 0>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpio 8 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 19 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + }; +}; diff --git a/target/linux/lantiq/image/ARV4518PWR01A.dts b/target/linux/lantiq/image/ARV4518PWR01A.dts new file mode 100644 index 000000000..cf960e006 --- /dev/null +++ b/target/linux/lantiq/image/ARV4518PWR01A.dts @@ -0,0 +1,192 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4518PWR01A - SMC7908A-ISP, Airties WAV-221"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800 + 0 0x3f0016 0x6>; + ath,mac-increment = <1>; + ath,eep-swap; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1", "gnt2"; + lantiq,function = "pci"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 14 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; + }; + + }; + +/* +#define ARV4518PW_SWITCH_RESET 13 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 1>; + linux,code = <0xf7>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 0>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpio 8 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 19 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + }; +}; diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile index 440c1486c..a68d65b2d 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -140,8 +140,11 @@ Image/Build/Profile/ARV4525PW=$(call Image/Build/$(1),$(1),ARV4525PW) Image/BuildKernel/Profile/ARV7525PW=$(call Image/BuildKernel/Template,ARV7525PW) Image/Build/Profile/ARV7525PW=$(call Image/Build/$(1),$(1),ARV7525PW) -Image/BuildKernel/Profile/ARV4518PW=$(call Image/BuildKernel/Template,ARV4518PW) -Image/Build/Profile/ARV4518PW=$(call Image/Build/$(1),$(1),ARV4518PW) +Image/BuildKernel/Profile/ARV4518PWR01=$(call Image/BuildKernel/Template,ARV4518PWR01) +Image/Build/Profile/ARV4518PWR01=$(call Image/Build/$(1),$(1),ARV4518PWR01) + +Image/BuildKernel/Profile/ARV4518PWR01A=$(call Image/BuildKernel/Template,ARV4518PWR01A) +Image/Build/Profile/ARV4518PWR01A=$(call Image/Build/$(1),$(1),ARV4518PWR01A) Image/BuildKernel/Profile/ARV4520PW=$(call Image/BuildKernel/Template,ARV4520PW) Image/Build/Profile/ARV4520PW=$(call Image/Build/$(1),$(1),ARV4520PW) diff --git a/target/linux/lantiq/xway/profiles/arv.mk b/target/linux/lantiq/xway/profiles/arv.mk index c0c7c7c81..a4f11ca23 100644 --- a/target/linux/lantiq/xway/profiles/arv.mk +++ b/target/linux/lantiq/xway/profiles/arv.mk @@ -18,8 +18,8 @@ endef $(eval $(call Profile,ARV7525PW)) -define Profile/ARV4518PW - NAME:=SMC7908A-ISP, Airties WAV-221 - ARV4518PW +define Profile/ARV4518PWR01 + NAME:=ARV4518PWR01 PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \ kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \ kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \ @@ -28,7 +28,19 @@ define Profile/ARV4518PW swconfig endef -$(eval $(call Profile,ARV4518PW)) +$(eval $(call Profile,ARV4518PWR01)) + +define Profile/ARV4518PWR01A + NAME:=ARV4518PWR01A + PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \ + kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \ + kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \ + ltq-adsl-app ppp-mod-pppoa \ + kmod-ath5k wpad-mini \ + swconfig +endef + +$(eval $(call Profile,ARV4518PWR01A)) define Profile/ARV4510PW NAME:=Wippies Homebox - ARV4510PW -- cgit v1.2.3