OpenWrt – Rev 1

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

#include "qcom-ipq4019.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/soc/qcom,tcsr.h>

/ {
        model = "ASUS Lyra MAP-AC2200";
        compatible = "asus,map-ac2200";

        aliases {
                led-boot = &led_blue0;
                led-failsafe = &led_red0;
                led-running = &led_blue0;
                led-upgrade = &led_red0;
        };

        soc {
                mdio@90000 {
                        status = "okay";
                };

                ess-psgmii@98000 {
                        status = "okay";
                };

                tcsr@1949000 {
                        compatible = "qcom,tcsr";
                        reg = <0x1949000 0x100>;
                        qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
                };

                ess_tcsr@1953000 {
                        compatible = "qcom,tcsr";
                        reg = <0x1953000 0x1000>;
                        qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
                };

                tcsr@1957000 {
                        compatible = "qcom,tcsr";
                        reg = <0x1957000 0x100>;
                        qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
                };

                usb2@60f8800 {
                        status = "okay";
                };

                crypto@8e3a000 {
                        status = "okay";
                };

                watchdog@b017000 {
                        status = "okay";
                };

                ess-switch@c000000 {
                        status = "okay";
                };

                edma@c080000 {
                        status = "okay";
                };
        };

        keys {
                compatible = "gpio-keys";
                reset {
                        label = "reset";
                        gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };

                wps {
                        label = "wps";
                        gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
};

&nand {
        pinctrl-0 = <&nand_pins>;
        pinctrl-names = "default";
        status = "okay";

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

                        partition@0 {
                                label = "SBL1";
                                reg = <0x0 0x80000>;
                                read-only;
                        };

                        partition@80000 {
                                label = "MIBIB";
                                reg = <0x80000 0x80000>;
                                read-only;
                        };

                        partition@100000 {
                                label = "QSEE";
                                reg = <0x100000 0x100000>;
                                read-only;
                        };

                        partition@200000 {
                                label = "CDT";
                                reg = <0x200000 0x80000>;
                                read-only;
                        };

                        partition@280000 {
                                label = "APPSBL";
                                reg = <0x280000 0x140000>;
                                read-only;
                        };

                        partition@3c0000 {
                                label = "APPSBLENV";
                                reg = <0x3c0000 0x40000>;
                                read-only;
                        };

                        partition@400000 {
                                label = "ubi";
                                reg = <0x400000 0x7c00000>;
                        };
                };
        };
};

&tlmm {
        i2c_0_pins: i2c_0_pinmux {
                pinmux {
                        function = "blsp_i2c0";
                        pins = "gpio20", "gpio21";
                        drive-strength = <16>;
                        bias-disable;
                };
        };

        serial_pins: serial_pinmux {
                mux {
                        pins = "gpio16", "gpio17";
                        function = "blsp_uart0";
                        bias-disable;
                };
        };

        nand_pins: nand_pins {
                pullups {
                        pins =  "gpio52", "gpio53", "gpio58",
                                "gpio59";
                        function = "qpic";
                        bias-pull-up;
                };

                pulldowns {
                        pins =  "gpio54", "gpio55", "gpio56",
                                "gpio57", "gpio60", "gpio61",
                                "gpio62", "gpio63", "gpio64",
                                "gpio65", "gpio66", "gpio67",
                                "gpio68", "gpio69";
                        function = "qpic";
                        bias-pull-down;
                };
        };
};

&cryptobam {
        status = "okay";
};

&blsp_dma {
        status = "okay";
};

&qpic_bam {
        status = "okay";
};

&wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
};

&wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
};

&pcie0 {
        status = "okay";
        perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
        wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;

        bridge@0,0 {
                reg = <0x00000000 0 0 0 0>;
                #address-cells = <3>;
                #size-cells = <2>;
                ranges;

                wifi2: wifi@1,0 {
                        compatible = "qcom,ath10k";
                        status = "okay";
                        reg = <0x00010000 0 0 0 0>;
                        qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200";
                };
        };
};

&usb2_hs_phy {
        /* Bluetooth module attached via USB */
        status = "okay";
};

&blsp1_i2c3 {
        pinctrl-0 = <&i2c_0_pins>;
        pinctrl-names = "default";
        status = "okay";

        led-controller@32 {
                /* 9-channel RGB LED controller */
                compatible = "national,lp5523";
                reg = <0x32>;
                clock-mode = [01];

                led_blue0: blue0 {
                        chan-name = "blue0";
                        label = "map-ac2200:blue:chan0";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                blue1 {
                        chan-name = "blue1";
                        label = "map-ac2200:blue:chan1";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                blue2 {
                        chan-name = "blue2";
                        label = "map-ac2200:blue:chan2";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                led_green0: green0 {
                        chan-name = "green0";
                        label = "map-ac2200:green:chan0";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                green1 {
                        chan-name = "green1";
                        label = "map-ac2200:green:chan1";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                green2 {
                        chan-name = "green2";
                        label = "map-ac2200:green:chan2";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                led_red0: red0 {
                        chan-name = "red0";
                        label = "map-ac2200:red:chan0";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                red1 {
                        chan-name = "red1";
                        label = "map-ac2200:red:chan1";
                        led-cur = [fa];
                        max-cur = [ff];
                };

                red2 {
                        chan-name = "red2";
                        label = "map-ac2200:red:chan2";
                        led-cur = [fa];
                        max-cur = [ff];
                };
        };
};

&blsp1_uart1 {
        pinctrl-0 = <&serial_pins>;
        pinctrl-names = "default";
        status = "okay";
};