summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/02_network6
-rw-r--r--target/linux/lantiq/dts/P2601HNFX.dts189
-rw-r--r--target/linux/lantiq/image/Makefile5
-rw-r--r--target/linux/lantiq/xway/profiles/zyxel.mk10
4 files changed, 209 insertions, 1 deletions
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_network b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
index a5cf212..2cf16f3 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
@@ -90,6 +90,12 @@ H201L)
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4t"
;;
+
+P2601HNFX)
+ ucidef_set_interface_lan "eth0.1"
+ ucidef_add_switch "switch0" "1" "1"
+ ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
+ ;;
esac
[ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
diff --git a/target/linux/lantiq/dts/P2601HNFX.dts b/target/linux/lantiq/dts/P2601HNFX.dts
new file mode 100644
index 0000000..905f894
--- /dev/null
+++ b/target/linux/lantiq/dts/P2601HNFX.dts
@@ -0,0 +1,189 @@
+/dts-v1/;
+
+/include/ "ar9.dtsi"
+
+/ {
+ model = "P2601HNFX - ZyXEL P-2601HN-Fx";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ localbus@0 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x0 0x3ffffff
+ 1 0 0x4000000 0x4000010>;
+ compatible = "lantiq,localbus", "simple-bus";
+
+ 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 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x20000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "firmware";
+ reg = <0x60000 0xfa0000>;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ compatible = "lantiq,pinctrl-xr9";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+ reg = <0xE100B10 0xA0>;
+
+ state_default: pinmux {
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ };
+ exin {
+ lantiq,groups = "exin1";
+ lantiq,function = "exin";
+ };
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ };
+ conf_out {
+ lantiq,pins = "io4", "io5", "io6";
+ lantiq,open-drain;
+ lantiq,pull = <0>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 9 0>;
+ };
+
+ stp: stp@E100BB0 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-stp-xway";
+ gpio-controller;
+ reg = <0xE100BB0 0x40>;
+
+ lantiq,shadow = <0xfff>;
+ lantiq,groups = <0x3>;
+ };
+
+ pci@E105400 {
+ lantiq,bus-clock = <33333333>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <0x7000 0 0 1 &icu0 29 1>;
+ gpios-reset = <&gpio 21 0>;
+ req-mask = <0x1>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 53 1>;
+ linux,code = <0x198>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 54 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "power";
+ gpios = <&stp 11 1>;
+ default-state = "on";
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 29 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&stp 13 1>;
+ };
+ online2 {
+ label = "online2";
+ gpios = <&stp 12 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&stp 14 1>;
+ };
+ phone {
+ label = "phone";
+ gpios = <&stp 9 1>;
+ };
+ phone2 {
+ label = "phone2";
+ gpios = <&stp 8 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&stp 15 1>;
+ };
+ wifi2 {
+ label = "wifi2";
+ gpios = <&stp 10 1>;
+ };
+ };
+
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 50 0>;
+ };
+ usb {
+ gpio-export,name = "wifi";
+ gpio-export,output = <1>;
+ gpios = <&gpio 9 0>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index c34b6b0..1123074 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -7,7 +7,7 @@
# boards missing since devicetree update
#EASY50712 ARV3527P GIGASX76X BTHOMEHUBV2B BTHOMEHUBV2BOPENRG
-#WBMR P2601HNFX
+#WBMR
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
@@ -258,6 +258,9 @@ Image/Build/Profile/GR7000=$(call Image/Build/$(1),$(1),GR7000)
Image/BuildKernel/Profile/H201L=$(call Image/BuildKernel/Template,H201L)
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)
+
endif
diff --git a/target/linux/lantiq/xway/profiles/zyxel.mk b/target/linux/lantiq/xway/profiles/zyxel.mk
new file mode 100644
index 0000000..b2c6ef5
--- /dev/null
+++ b/target/linux/lantiq/xway/profiles/zyxel.mk
@@ -0,0 +1,10 @@
+define Profile/P2601HNFX
+ NAME:=ZyXEL P-2601HN-Fx
+ PACKAGES:= kmod-rt2800-usb wpad-mini \
+ kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+ kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
+ ltq-adsl-app ppp-mod-pppoe \
+ kmod-ltq-deu-ar9 kmod-ltq-hcd-ar9 \
+ swconfig
+endef
+$(eval $(call Profile,P2601HNFX))