OpenWrt – Rev 1

Subversion Repositories:
Rev:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

#include "qca956x.dtsi"

/ {
        compatible = "avm,fritz4020", "qca,qca9560";
        model = "AVM FRITZ!Box 4020";

        aliases {
                led-boot = &power;
                led-failsafe = &info_red;
                led-running = &power;
                led-upgrade = &info_red;
        };

        chosen {
                bootargs = "console=ttyS0,115200n8";
        };

        led_spi {
                compatible = "spi-gpio";
                #address-cells = <1>;
                #size-cells = <0>;

                gpio-sck = <&gpio 20 GPIO_ACTIVE_HIGH>;
                gpio-mosi = <&gpio 19 GPIO_ACTIVE_HIGH>;
                num-chipselects = <0>;

                led_gpio: led_gpio@0 {
                        compatible = "fairchild,74hc595";
                        reg = <0>;
                        gpio-controller;
                        #gpio-cells = <2>;
                        registers-number = <1>;
                        lines-initial-states = /bits/ 8 <0xff>;
                        spi-max-frequency = <10000000>;

                        gpio_latch_bit {
                                gpio-hog;
                                gpios = <7 GPIO_ACTIVE_HIGH>;
                                output-high;
                                line-name = "gpio-latch-bit";
                        };
                };
        };

        leds {
                compatible = "gpio-leds";

                power: power {
                        label = "fritz4020:green:power";
                        gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };

                wlan {
                        label = "fritz4020:green:wlan";
                        gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy0tpt";
                };

                lan {
                        label = "fritz4020:green:lan";
                        gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
                };

                wan {
                        label = "fritz4020:green:wan";
                        gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
                };

                info {
                        label = "fritz4020:green:info";
                        gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
                };

                info_red: info_red {
                        label = "fritz4020:red:info";
                        gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
                };
        };

        keys {
                compatible = "gpio-keys-polled";
                poll-interval = <100>;

                wps_button {
                        label = "WPS button";
                        linux,code = <KEY_WPS_BUTTON>;
                        gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
                };

                wlan_button {
                        label = "WLAN button";
                        linux,code = <KEY_RFKILL>;
                        gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
                };
        };
};

&uart {
        status = "okay";
};

&gpio {
        status = "okay";
};

&spi {
        status = "okay";
        num-cs = <1>;

        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <25000000>;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        partition@0 {
                                label = "urlader";
                                reg = <0x000000 0x020000>;
                                read-only;
                        };

                        partition@1 {
                                compatible = "avm,eva-firmware";
                                label = "firmware";
                                reg = <0x020000 0xee0000>;
                        };

                        partition@2 {
                                label = "tffs (1)";
                                reg = <0xf00000 0x080000>;
                                read-only;
                        };

                        partition@3 {
                                label = "tffs (2)";
                                reg = <0xf80000 0x080000>;
                                read-only;
                        };
                };
        };
};

&eth0 {
        status = "okay";

        phy-mode = "mii";
        phy-handle = <&swphy0>;

        gmac-config {
                device = <&gmac>;

                switch-phy-addr-swap = <1>;
                switch-phy-swap = <1>;
        };
};

&eth1 {
        status = "okay";
};

&wmac {
        status = "okay";
        qca,no-eeprom;
};