From bf007a480a46a9fa843765a54fc2f8aa32b2683f Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 11 Jun 2016 15:05:52 +0200 Subject: [PATCH] lantiq: Add Support for Fritz!Box 7360 SL Signed-off-by: Sebastian Ortwein Tested-by: Guido Lipke --- .../lantiq/base-files/etc/board.d/02_network | 5 + target/linux/lantiq/dts/FRITZ7360SL.dts | 217 ++++++++++++++++++ target/linux/lantiq/image/Makefile | 3 + target/linux/lantiq/xrx200/config-default | 1 + target/linux/lantiq/xrx200/profiles/avm.mk | 7 + 5 files changed, 233 insertions(+) create mode 100644 target/linux/lantiq/dts/FRITZ7360SL.dts diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network b/target/linux/lantiq/base-files/etc/board.d/02_network index 864ab2730b..431cc9a2cc 100755 --- a/target/linux/lantiq/base-files/etc/board.d/02_network +++ b/target/linux/lantiq/base-files/etc/board.d/02_network @@ -76,6 +76,11 @@ DGN3500*) "3:lan:1" "2:lan:2" "1:lan:3" "0:lan:4" "5t@eth0" ;; +FRITZ7360SL) + ucidef_add_switch "switch0" \ + "4:lan:1" "2:lan:2" "0:lan:3" "1:lan:4" "6t@eth0" + ;; + GR7000) ucidef_set_interface_wan "eth0" ;; diff --git a/target/linux/lantiq/dts/FRITZ7360SL.dts b/target/linux/lantiq/dts/FRITZ7360SL.dts new file mode 100644 index 0000000000..e8fdc13cb3 --- /dev/null +++ b/target/linux/lantiq/dts/FRITZ7360SL.dts @@ -0,0 +1,217 @@ +/dts-v1/; + +/include/ "vr9.dtsi" + +/ { + model = "FRITZ7360SL - 1&1 HomeServer"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + + leds { + boot = &power_green; + failsafe = &power_red; + running = &power_green; + + internet = &info_green; + dsl = &power_green; + wifi = &wifi; + }; + }; + + memory@0 { + reg = <0x0 0x8000000>; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + #address-cells = <1>; + #size-cells = <1>; + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + urlader: partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0xf60000>; + }; + + partition@f80000 { + label = "tffs (1)"; + reg = <0xf80000 0x40000>; + read-only; + }; + + partition@fc0000 { + label = "tffs (2)"; + reg = <0xfc0000 0x40000>; + read-only; + }; + }; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + phy-rst { + lantiq,pins = "io37", "io44"; + lantiq,pull = <2>; + lantiq,open-drain; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + lantiq,portmask = <0x3>; + }; + + ifxhcd@E106000 { + status = "okay"; + }; + }; + + ath9k_eep { + compatible = "ath9k,eeprom"; + ath,eep-flash = <&urlader 0x985>; + ath,eep-endian; + ath,eep-swap; + ath,pci-slot = <0>; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a2x.bin"; + phys = [ 00 01 ]; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + dect { + label = "power"; + gpios = <&gpio 1 0>; + linux,code = <0x102>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 29 0>; + linux,code = <0x101>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green: power { + label = "fritz7360sl:green:power"; + gpios = <&gpio 32 1>; + default-state = "keep"; + }; + power_red: power2 { + label = "fritz7360sl:red:power"; + gpios = <&gpio 33 1>; + }; + info_red { + label = "fritz7360sl:red:info"; + gpios = <&gpio 34 1>; + }; + info_green: info_green { + label = "fritz7360sl:green:info"; + gpios = <&gpio 47 1>; + }; + wifi: wifi { + label = "fritz7360sl:green:wlan"; + gpios = <&gpio 36 1>; + }; + dect { + label = "fritz7360sl:green:dect"; + gpios = <&gpio 35 1>; + }; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rmii"; + phy-handle = <&phy0>; + // gpios = <&gpio 37 1>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rmii"; + phy-handle = <&phy1>; + // gpios = <&gpio 44 1>; + }; + 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>; + }; + }; + + mdio@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + phy0: ethernet-phy@0 { + reg = <0x00>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy1: ethernet-phy@1 { + reg = <0x01>; + 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"; + }; + }; +}; diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile index 16c0820f11..49f3fbda06 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -642,6 +642,9 @@ FRITZ3370_UBI_OPTS:="-m 2048 -p 128KiB -s 512" Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370) Image/Build/Profile/FRITZ3370=$(call Image/BuildEVA/$(1),$(1),FRITZ3370) +Image/BuildKernel/Profile/FRITZ7360SL=$(call Image/BuildKernelEVA/Template,FRITZ7360SL) +Image/Build/Profile/FRITZ7360SL=$(call Image/BuildEVA/$(1),$(1),FRITZ7360SL) + Image/BuildKernel/Profile/VG3503J=$(call Image/BuildKernelLoader/Template,VG3503J) Image/Build/Profile/VG3503J=$(call Image/BuildLoader/$(1),$(1),VG3503J) diff --git a/target/linux/lantiq/xrx200/config-default b/target/linux/lantiq/xrx200/config-default index b2a6cf6418..dc4e6084ed 100644 --- a/target/linux/lantiq/xrx200/config-default +++ b/target/linux/lantiq/xrx200/config-default @@ -1,5 +1,6 @@ CONFIG_ADM6996_PHY=y CONFIG_AR8216_PHY=y +CONFIG_AT803X_PHY=y CONFIG_CPU_MIPSR2_IRQ_EI=y CONFIG_CPU_MIPSR2_IRQ_VI=y CONFIG_CPU_RMAP=y diff --git a/target/linux/lantiq/xrx200/profiles/avm.mk b/target/linux/lantiq/xrx200/profiles/avm.mk index 35f9a8ea09..30a41199d5 100644 --- a/target/linux/lantiq/xrx200/profiles/avm.mk +++ b/target/linux/lantiq/xrx200/profiles/avm.mk @@ -4,3 +4,10 @@ define Profile/FRITZ3370 endef $(eval $(call Profile,FRITZ3370)) + +define Profile/FRITZ7360SL + NAME:=1&1 HomeServer - FRITZ7360SL + PACKAGES:=kmod-ath9k wpad-mini kmod-usb-dwc2 +endef + +$(eval $(call Profile,FRITZ7360SL)) -- 2.30.2