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 "ar7100.dtsi"

/ {
        compatible = "buffalo,wzr-hp-ag300h", "qca,ar7161";
        model = "Buffalo WZR-HP-AG300H/WZR-600DHP";

        aliases {
                led-boot = &diag;
                led-failsafe = &diag;
                led-upgrade = &diag;
        };

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

        extosc: ref {
                compatible = "fixed-clock";
                #clock-cells = <0>;
                clock-output-names = "ref";
                clock-frequency = <40000000>;
        };

        gpio-leds {
                compatible = "gpio-leds";

                diag: diag {
                        label = "buffalo:red:diag";
                        gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
                };
        };

        ath9k-leds {
                // those leds are indeed attached to the wifi chips

                compatible = "gpio-leds";
                band2g_a {
                        label = "buffalo:amber:band2g";
                        gpios = <&ath9k0 1 GPIO_ACTIVE_LOW>;
                };

                usb {
                        label = "buffalo:green:usb";
                        gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>;
                        trigger-sources = <&usb_ochi_port>, <&usb_echi_port>;
                        linux,default-trigger = "usbport";
                };

                band2g_g {
                        label = "buffalo:green:band2g";
                        gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy0tpt";
                };

                band5g_g {
                        label = "buffalo:green:band5g";
                        gpios = <&ath9k1 1 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy1tpt";
                };

                router {
                        label = "buffalo:green:router";
                        gpios = <&ath9k1 3 GPIO_ACTIVE_LOW>;
                };

                movie_engine {
                        label = "buffalo:blue:movie_engine";
                        gpios = <&ath9k1 4 GPIO_ACTIVE_LOW>;
                };

                band5g_a {
                        label = "buffalo:amber:band5g";
                        gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
                };
        };

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

                reset {
                        linux,code = <KEY_RESTART>;
                        gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };

                usb {
                        linux,code = <BTN_2>;
                        gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };

                aoss {
                        linux,code = <KEY_WPS_BUTTON>;
                        gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };

                router_auto {
                        linux,code = <BTN_6>;
                        gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };

                router_off {
                        linux,code = <BTN_5>;
                        gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };

                movie_engine {
                        linux,code = <BTN_7>;
                        gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
                        debounce-interval = <60>;
                };
        };

        gpio-export {
                compatible = "gpio-export";

                gpio_usb_power {
                        gpio-export,name = "buffalo:power:usb";
                        gpio-export,output = <1>;
                        gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
                };
        };

        flash {
                compatible = "mtd-concat";

                devices = <&flash0 &flash1>;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        partition@0 {
                                label = "u-boot";
                                reg = <0x0000000 0x0040000>;
                                read-only;
                        };

                        partition@40000 {
                                label = "u-boot-env";
                                reg = <0x0040000 0x0010000>;
                                read-only;
                        };

                        art: partition@50000 {
                                label = "art";
                                reg = <0x0050000 0x0010000>;
                                read-only;
                        };

                        partition@60000 {
                                compatible = "denx,uimage";
                                label = "firmware";
                                reg = <0x0060000 0x1f90000>;
                        };

                        partition@1ff0000 {
                                label = "user_property";
                                reg = <0x1ff0000 0x0010000>;
                                read-only;
                        };
                };
        };
};

&usb_phy {
        status = "okay";
};

&usb1 {
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";

        usb_ochi_port: port@1 {
                reg = <1>;
                #trigger-source-cells = <0>;
        };
};

&usb2 {
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";

        usb_echi_port: port@1 {
                reg = <1>;
                #trigger-source-cells = <0>;
        };
};

&pcie0 {
        status = "okay";

        ath9k0: wifi@0,11 {
                compatible = "pci168c,0029";
                reg = <0x8800 0 0 0 0>;
                qca,no-eeprom;
                #gpio-cells = <2>;
                gpio-controller;
        };

        ath9k1: wifi@0,12 {
                compatible = "pci168c,0029";
                reg = <0x9000 0 0 0 0>;
                qca,no-eeprom;
                #gpio-cells = <2>;
                gpio-controller;
        };
};

&uart {
        status = "okay";
};

&pll {
        clocks = <&extosc>;
};

&spi {
        status = "okay";
        num-cs = <2>;
        cs-gpios = <0>, <0>;

        flash0: flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <104000000>;
                m25p,fast-read;
        };

        flash1: flash@1 {
                compatible = "jedec,spi-nor";
                reg = <1>;
                spi-max-frequency = <104000000>;
                m25p,fast-read;
        };
};

&mdio0 {
        status = "okay";

        phy4: ethernet-phy@4 {
                reg = <4>;
                phy-mode = "rgmii";
        };
};

&eth0 {
        status = "okay";

        mtd-mac-address = <&art 0x120c>;

        fixed-link {
                speed = <1000>;
                full-duplex;
        };
};

&eth1 {
        status = "okay";

        mtd-mac-address = <&art 0x520c>;
        mtd-mac-address-increment = <1>;

        phy-handle = <&phy4>;
};