Files
openwrt/target/linux/lantiq/dts/vr9_avm_fritz7412.dts
T
Shiji Yang 7ff96bf05c lantiq: use gpiod API for PCIe GPIO reset
This is the recommended way for the OF based platform. According to
the original patch, set GPIO to low level to assert the reset, set
GPIO to high level to deassert. Hence, adjust the dts GPIO polarity
to active-low.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18948
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-12 00:12:30 +02:00

210 lines
3.5 KiB
Devicetree

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "avm,fritz7412", "lantiq,xway", "lantiq,vr9";
model = "AVM FRITZ!Box 7412";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-upgrade = &power_red;
led-dsl = &info;
led-wifi = &wifi;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
dect {
label = "dect";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PHONE>;
};
};
leds {
compatible = "gpio-leds";
power_green: power_green {
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power_red {
function = LED_FUNCTION_POWER;
color = <LED_COLOR_ID_RED>;
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
fon {
label = "green:fon";
gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
};
dect {
label = "green:dect";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "green:wifi";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
info: info {
label = "green:info";
gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
};
};
};
&localbus {
flash@0 {
compatible = "lantiq,nand-xway";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
lantiq,cs = <1>;
pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
pinctrl-names = "default";
nand-use-soft-ecc-engine;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "urlader";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "nand-tffs";
reg = <0x40000 0x400000>;
read-only;
};
partition@440000 {
label = "kernel";
reg = <0x440000 0x400000>;
};
partition@840000 {
label = "ubi";
reg = <0x840000 0x3000000>;
};
partition@3840000 {
label = "reserved-kernel";
reg = <0x3840000 0x400000>;
read-only;
};
partition@3c40000 {
label = "reserved-filesystem";
reg = <0x3c40000 0x3000000>;
read-only;
};
partition@6c40000 {
label = "config";
reg = <0x6c40000 0x400000>;
read-only;
};
partition@6e40000 {
label = "nand-filesystem";
reg = <0x6e40000 0x400000>;
read-only;
};
};
};
};
&pcie0 {
status = "okay";
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
wifi@0,0 {
compatible = "pci168c,002e";
reg = <0 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pcie-rst {
lantiq,pins = "io11";
lantiq,open-drain = <1>;
lantiq,output = <1>;
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
/* This PHY is not used, but try to load the 100M FW too */
&gphy1 {
status = "disabled";
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gswip_mdio {
phy11: ethernet-phy@11 {
reg = <0x11>;
};
};
&gswip_ports {
port@2 {
reg = <2>;
label = "lan";
phy-mode = "internal";
phy-handle = <&phy11>;
};
};