openwrt/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-mr52.dts

231 lines
3.7 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0 OR MIT
#include "qcom-ipq8068-cryptid-common.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Meraki MR52";
compatible = "meraki,mr52", "qcom,ipq8064";
aliases {
serial1 = &gsbi1_serial;
mdio-gpio0 = &mdio_gpio0;
ethernet0 = &gmac2;
ethernet1 = &gmac3;
led-boot = &led_active;
led-failsafe = &led_power;
led-running = &led_active;
led-upgrade = &led_active;
};
keys {
compatible = "gpio-keys";
pinctrl-0 = <&button_pins>;
pinctrl-names = "default";
reset {
label = "reset";
gpios = <&qcom_pinmux 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
wakeup-source;
};
};
leds {
compatible = "gpio-leds";
pinctrl-0 = <&led_pins>;
pinctrl-names = "default";
led_power: power {
label = "orange:power";
gpios = <&qcom_pinmux 19 GPIO_ACTIVE_HIGH>;
};
lan2_green {
label = "green:lan2";
gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
};
lan1_green {
label = "green:lan1";
gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
};
led_active: active {
label = "white:active";
gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
};
lan2_orange {
label = "orange:lan2";
gpios = <&qcom_pinmux 60 GPIO_ACTIVE_HIGH>;
};
lan1_orange {
label = "orange:lan1";
gpios = <&qcom_pinmux 62 GPIO_ACTIVE_HIGH>;
};
};
};
&gmac2 {
status = "okay";
qcom,id = <2>;
mdiobus = <&mdio0>;
phy-mode = "sgmii";
phy-handle = <&phy0>;
nvmem-cells = <&mac_address>;
nvmem-cell-names = "mac-address";
};
&gmac3 {
status = "okay";
qcom,id = <3>;
mdiobus = <&mdio_gpio0>;
phy-mode = "sgmii";
phy-handle = <&phy4>;
nvmem-cells = <&mac_address>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&gsbi7 {
status = "okay";
qcom,mode = <GSBI_PROT_I2C>;
};
&gsbi7_i2c {
status = "okay";
pinctrl-0 = <&i2c_pins>;
pinctrl-names = "default";
ina2xx@45 {
compatible = "ina219";
shunt-resistor = <80000>;
reg = <0x45>;
};
tlc591xx@49 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,tlc59108";
reg = <0x49>;
red@0 {
label = "red:user";
reg = <0x0>;
};
green@1 {
label = "green:user";
reg = <0x1>;
};
blue@2 {
label = "blue:user";
reg = <0x2>;
};
};
eeprom@52 {
compatible = "atmel,24c64";
pagesize = <32>;
reg = <0x52>;
read-only;
#address-cells = <1>;
#size-cells = <1>;
mac_address: mac-address@66 {
reg = <0x66 0x6>;
};
};
};
&qcom_pinmux {
i2c_pins: i2c_pins {
mux {
pins = "gpio8", "gpio9";
function = "gsbi7";
drive-strength = <2>;
bias-pull-up;
input;
};
};
led_pins: led_pins {
mux {
pins = "gpio19", "gpio26";
function = "gpio";
drive-strength = <12>;
bias-pull-down;
output-low;
};
};
button_pins: button_pins {
mux {
pins = "gpio25";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
input;
};
};
};
&soc {
mdio_gpio0: mdio {
compatible = "virtual,mdio-gpio";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-0 = <&mdio0_pins_active>, <&phy_active>;
pinctrl-names = "default";
gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH
&qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
phy0: ethernet-phy0 {
reg = <0>;
reset-gpios = <&qcom_pinmux 7 GPIO_ACTIVE_LOW>;
reset-assert-us = <24000>;
};
phy4: ethernet-phy4 {
reg = <4>;
reset-gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
reset-assert-us = <24000>;
};
};
};
&wifi0 {
nvmem-cells = <&mac_address>;
nvmem-cell-names = "mac-address";
mac-address-increment = <4>;
};
&wifi1 {
nvmem-cells = <&mac_address>;
nvmem-cell-names = "mac-address";
mac-address-increment = <3>;
};
&wifi2 {
nvmem-cells = <&mac_address>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};