openwrtv4/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7312.dts
Johann Neuhauser 02d53e6a21 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>
2018-07-18 19:17:46 +02:00

181 lines
3.2 KiB
Text

/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 */
};
};