aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
diff options
context:
space:
mode:
authorJohann Neuhauser <johann@it-neuhauser.de>2018-05-17 19:12:35 +0200
committerMathias Kresin <dev@kresin.me>2018-07-18 19:17:46 +0200
commit02d53e6a2113f80ae429664e7990d167fbf44604 (patch)
tree839b9680b321fa840fa3bdfaaaeedaf10e4335bf /target/linux/lantiq
parentf2f7802148f3d070b27f65b169efebfc6bf8286d (diff)
downloadupstream-02d53e6a2113f80ae429664e7990d167fbf44604.tar.gz
upstream-02d53e6a2113f80ae429664e7990d167fbf44604.tar.bz2
upstream-02d53e6a2113f80ae429664e7990d167fbf44604.zip
lantiq: add support for FritzBox 7312
The FritzBox 7312 is also known as 1&1 WLAN-MODEM. The device is almost the same as FB7330, but only one ETH-Port and no USB. Hardware SoC: Lantiq Xway ARX188 PSB 50812 EL RAM: 64MB DDR1 (Zentel A4S12D40FTP-G5) Ethernet: Atheros 8030 Wireless: Atheros AR9227 b/g/n 2x2 DSL: Lantiq ADSL2+ DECT: Dialog SC14441 Buttons: WiFi, DECT LEDs: Power/DSL, Fon, DECT, WLAN, Info LEDs Power: GPIO#44 (active low) Internet: GPIO#47 (active low) DECT: GPIO#38 (active low) WLAN: GPIO#37 (active low) Info: GPIO#35 (active low) The Fon LED is labeled as internet in avm gpl sources. Buttons WLAN: GPIO#1 (active low) DECT: GPIO#2 (active low) Phy GPIO#03: 25 MHz GPIO#34: Reset (active low) GPIO#39: Int GPIO#42: MII MDIO GPIO#43: MII MDC PCIe GPIO#21: reset (active low) Installation: To install OpenWrt via Eva bootloader, within the first seconds after power on a ftp connection need to be established to the FRITZ!Box at 192.168.178.1 and the the following ftp commands need to be run: ftp> quote USER adam2 ftp> quote PASS adam2 ftp> binary ftp> debug ftp> passive ftp> quote MEDIA FLSH ftp> put /path/to/openwrt-lantiq-xway-avm_fritz7312-squashfs-sysupgrade.bin mtd1 ftp> quote REBOOT Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
Diffstat (limited to 'target/linux/lantiq')
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom2
-rw-r--r--target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts181
-rw-r--r--target/linux/lantiq/image/Makefile13
-rw-r--r--target/linux/lantiq/xway/config-4.141
5 files changed, 197 insertions, 1 deletions
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 6e2e1934ae..7817bdd00e 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -144,6 +144,7 @@ avm,fritz3370-rev2-micron)
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
+avm,fritz7312|\
avm,fritz7320)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
index 75b763076e..40642e580f 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
@@ -160,7 +160,7 @@ case "$FIRMWARE" in
avm,fritz3370-rev2-micron)
ath9k_eeprom_extract_reverse "urlader" 5441 1088
;;
- avm,fritz7320|avm,fritz7360sl)
+ avm,fritz7312|avm,fritz7320|avm,fritz7360sl)
ath9k_eeprom_extract "urlader" 2437 0
;;
tplink,tdw8970|tplink,tdw8980)
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
new file mode 100644
index 0000000000..eca127ab4c
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
@@ -0,0 +1,181 @@
+/dts-v1/;
+
+#include "ar9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "avm,fritz7312", "lantiq,xway", "lantiq,ar9";
+ model = "FritzBox 7312 (1&1 WLAN-MODEM)";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200";
+ };
+
+ aliases {
+ led-boot = &power;
+ led-failsafe = &power;
+ led-running = &power;
+
+ led-internet = &info_green;
+ led-dsl = &power;
+ led-wifi = &wlan;
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+ dect {
+ label = "dect";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_PHONE>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power: power {
+ label = "fritz7312:green:power";
+ gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+ default-state = "keep";
+ };
+ voice {
+ label = "fritz7312:green:fon";
+ gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+ };
+ dect {
+ label = "fritz7312:green:dect";
+ gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
+ };
+ wlan: wlan {
+ label = "fritz7312:green:wlan";
+ gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+ };
+ info_green: info_green {
+ label = "fritz7312:green:info";
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&gpio {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1", "req1", "req2", "req4", "gnt2", "gnt3", "gnt4";
+ lantiq,function = "pci";
+ };
+ pci-in {
+ lantiq,groups = "req1", "req2", "req4";
+ lantiq,output = <0>;
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ };
+ pci-out {
+ lantiq,groups = "gnt1", "gnt2", "gnt3", "gnt4";
+ lantiq,output = <1>;
+ lantiq,pull = <0>;
+ };
+ ar8030-intr {
+ lantiq,groups = "exin3";
+ lantiq,function = "exin";
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ ar8030-clk {
+ lantiq,groups = "clkout2";
+ lantiq,output = <1>;
+ lantiq,open-drain;
+ };
+ ar8030-rst {
+ lantiq,pins = "io34";
+ lantiq,output = <1>;
+ lantiq,pull = <2>;
+ lantiq,open-drain;
+ };
+ };
+};
+
+&gsw {
+ phy-mode = "rmii";
+ phy-handle = <&phy0>;
+ mtd-mac-address = <&ath9k_cal 0xa91>;
+ mtd-mac-address-increment = <(-2)>;
+
+ mdio-bus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ reset-gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&localbus {
+ nor@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>;
+
+ ath9k_cal: 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;
+ };
+ };
+ };
+};
+
+&pci0 {
+ status = "okay";
+ req-mask = <0xf>;
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ wifi@0,0 {
+ compatible = "pci0,0";
+ reg = <0x7000 0 0 0 0>;
+ qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index c4419ce629..0bedfcf0af 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -485,6 +485,19 @@ define Device/buffalo_wbmr-hp-g300h-b
endef
TARGET_DEVICES += buffalo_wbmr-hp-g300h-b
+define Device/avm_fritz7312
+ $(Device/AVM)
+ DEVICE_DTS := FRITZ7312
+ IMAGE_SIZE := 15744k
+ DEVICE_TITLE := 1&1 WLAN-MODEM - FRITZ7312
+ DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader 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-pppoa \
+ kmod-ltq-deu-ar9 -swconfig
+endef
+TARGET_DEVICES += avm_fritz7312
+
define Device/avm_fritz7320
$(Device/AVM)
DEVICE_DTS := FRITZ7320
diff --git a/target/linux/lantiq/xway/config-4.14 b/target/linux/lantiq/xway/config-4.14
index 5e18a4deef..64a6c55832 100644
--- a/target/linux/lantiq/xway/config-4.14
+++ b/target/linux/lantiq/xway/config-4.14
@@ -1,5 +1,6 @@
CONFIG_ADM6996_PHY=y
CONFIG_AR8216_PHY=y
+CONFIG_AT803X_PHY=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CRC16=y
CONFIG_CRYPTO_ACOMP2=y