--- /dev/null
+// SPDX-License-Identifier: ISC
+/*
+ * Copyright (c) 2015 - 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2020 Yanase Yuki <dev@zpc.sakura.ne.jp>
+ */
+
+#include "qcom-ipq4019.dtsi"
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/soc/qcom,tcsr.h>
+
+/ {
+ model = "Buffalo WTR-M2133HP";
+ compatible = "buffalo,wtr-m2133hp", "qcom,ipq4019";
+
+ memory {
+ device_type = "memory";
+ reg = <0x80000000 0x20000000>;
+ };
+
+ chosen {
+ /*
+ * U-Boot adds "ubi.mtd=rootfs root=mtd:ubi_rootfs" to
+ * kernel command line. But we use different partition names,
+ * so we have to set correct parameters.
+ */
+ bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1";
+ };
+
+ aliases {
+ led-boot = &led_power_blue;
+ led-failsafe = &led_power_orange;
+ led-running = &led_power_white;
+ led-upgrade = &led_power_blue;
+ label-mac-device = &gmac0;
+ };
+
+ soc {
+ rng@22000 {
+ status = "okay";
+ };
+
+ tcsr@1949000 {
+ compatible = "qcom,tcsr";
+ reg = <0x1949000 0x100>;
+ qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
+ };
+
+ tcsr@194b000 {
+ compatible = "qcom,tcsr";
+ reg = <0x194b000 0x100>;
+ qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
+ status = "okay";
+ };
+
+ 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>;
+ };
+
+ crypto@8e3a000 {
+ status = "okay";
+ };
+
+ watchdog@b017000 {
+ status = "okay";
+ };
+
+ ess-switch@c000000 {
+ status = "okay";
+ switch_lan_bmp = <0x1c>;
+ };
+
+ ess-psgmii@98000 {
+ status = "okay";
+ };
+
+ edma@c080000 {
+ status = "okay";
+ };
+
+ usb3@8af8800 {
+ status = "okay";
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power_white: power_white {
+ label = "wtr-m2133hp:white:power";
+ gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
+ };
+
+ led_power_orange: power_orange {
+ label = "wtr-m2133hp:orange:power";
+ gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
+ };
+
+ led_power_blue: power_blue {
+ label = "wtr-m2133hp:blue:power";
+ gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
+ };
+
+ router_white {
+ label = "wtr-m2133hp:white:router";
+ gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
+ };
+
+ router_orange {
+ label = "wtr-m2133hp:orange:router";
+ gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
+ };
+
+ internet_white {
+ label = "wtr-m2133hp:white:internet";
+ gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>;
+ };
+
+ internet_orange {
+ label = "wtr-m2133hp:orange:internet";
+ gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
+ };
+
+ wireless_white {
+ label = "wtr-m2133hp:white:wireless";
+ gpios = <&tlmm 24 GPIO_ACTIVE_HIGH>;
+ };
+
+ wireless_orange {
+ label = "wtr-m2133hp:orange:wireless";
+ gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ auto_mode {
+ label = "auto_mode";
+ gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ };
+
+ router_mode {
+ label = "router_mode";
+ gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_1>;
+ linux,input-type = <EV_SW>;
+ };
+
+ ap_mode {
+ label = "ap_mode";
+ gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_2>;
+ linux,input-type = <EV_SW>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "AOSS Button";
+ gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+};
+
+&tlmm {
+ serial_0_pins: serial0_pinmux {
+ mux {
+ pins = "gpio16", "gpio17";
+ function = "blsp_uart0";
+ bias-disable;
+ };
+ };
+
+ mdio_pins: mdio_pinmux {
+ mux_1 {
+ pins = "gpio6";
+ function = "mdio";
+ bias-pull-up;
+ };
+
+ mux_2 {
+ pins = "gpio7";
+ function = "mdc";
+ bias-pull-up;
+ };
+ };
+
+ 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;
+ };
+ };
+
+ usb_power {
+ line-name = "USB power";
+ gpios = <34 GPIO_ACTIVE_HIGH>;
+ gpio-hog;
+ output-high;
+ };
+};
+
+&blsp_dma {
+ status = "okay";
+};
+
+&blsp1_uart1 {
+ pinctrl-0 = <&serial_0_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&cryptobam {
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+
+ bridge@0,0 {
+ reg = <0x00000000 0 0 0 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0 0 0 0 0>;
+
+ qcom,ath10k-calibration-variant = "Buffalo-WTR-M2133HP";
+ };
+ };
+};
+
+&qpic_bam {
+ status = "okay";
+};
+
+&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 = <0x0000000 0x0100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "MIBIB";
+ reg = <0x0100000 0x0100000>;
+ read-only;
+ };
+
+ partition@200000 {
+ label = "BOOTCONFIG";
+ reg = <0x0200000 0x0100000>;
+ read-only;
+ };
+
+ partition@300000 {
+ label = "QSEE";
+ reg = <0x0300000 0x0100000>;
+ read-only;
+ };
+
+ partition@400000 {
+ label = "QSEE_1";
+ reg = <0x0400000 0x0100000>;
+ read-only;
+ };
+
+ partition@500000 {
+ label = "CDT";
+ reg = <0x0500000 0x0080000>;
+ read-only;
+ };
+
+ partition@580000 {
+ label = "CDT_1";
+ reg = <0x0580000 0x0080000>;
+ read-only;
+ };
+
+ partition@600000 {
+ label = "BOOTCONFIG1";
+ reg = <0x0600000 0x0080000>;
+ read-only;
+ };
+
+ partition@680000 {
+ label = "APPSBLENV";
+ reg = <0x0680000 0x0080000>;
+ };
+
+ partition@700000 {
+ label = "APPSBL";
+ reg = <0x0700000 0x0200000>;
+ read-only;
+ };
+
+ partition@900000 {
+ label = "APPSBL_1";
+ reg = <0x0900000 0x0200000>;
+ read-only;
+ };
+
+ art: partition@b00000 {
+ label = "ART";
+ reg = <0x0b00000 0x0080000>;
+ read-only;
+ };
+
+ partition@b80000 {
+ label = "ART_1";
+ reg = <0x0b80000 0x0080000>;
+ read-only;
+ };
+
+ orgdata: partition@c00000 {
+ label = "ORGDATA";
+ reg = <0x0c00000 0x0080000>;
+ read-only;
+ };
+
+ partition@c80000 {
+ label = "ORGDATA_1";
+ reg = <0x0c80000 0x0080000>;
+ read-only;
+ };
+
+ partition@d00000 {
+ label = "ubi";
+ reg = <0x0d00000 0x2900000>;
+ };
+
+ partition@3600000 {
+ label = "rootfs_recover";
+ reg = <0x3600000 0x2900000>;
+ read-only;
+ };
+
+ partition@5f00000 {
+ label = "user_property";
+ reg = <0x5f00000 0x1a20000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&wifi0 {
+ status = "okay";
+ qcom,ath10k-calibration-variant = "Buffalo-WTR-M2133HP";
+ ieee80211-freq-limit = <2400000 2483000>;
+};
+
+&wifi1 {
+ status = "okay";
+ qcom,ath10k-calibration-variant = "Buffalo-WTR-M2133HP";
+};
+
+&mdio {
+ status = "okay";
+ pinctrl-0 = <&mdio_pins>;
+ pinctrl-names = "default";
+ reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
+};
+
+&gmac0 {
+ mtd-mac-address = <&orgdata 0x20>;
+};
+
+&gmac1 {
+ mtd-mac-address = <&orgdata 0x20>;
+};
+
+&usb3_ss_phy {
+ status = "okay";
+};
+
+&usb3_hs_phy {
+ status = "okay";
+};