Files
openwrt/target/linux/mediatek/dts/mt7988d-asus-zenwifi-bt8.dtsi
Shiji Yang c089ad8f68 mediatek: dts: convert pinctrl bias to the Linux generic style
There are two types properties here that can control the pin bias
resistors. "mediatek,pull-{up,down}-adv" and "bias-pull-{up,down}"
actually do the same thing[1]. The first type is customized by the
Mediatek and the second type is widely used in the Linux pinctrl
framework. To avoid confusing developers, unify pinctrl bias to the
new Linux generic style.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cafe19db7751269bf6b4dd2148cbfa9fbe91d651
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19741
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 13:22:08 +02:00

394 lines
6.7 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/dts-v1/;
#include "mt7988a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/mt65xx.h>
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
#define ASUS_BT8_NVMEM_LAYOUT \
nvmem-layout { \
compatible = "fixed-layout"; \
#address-cells = <1>; \
#size-cells = <1>; \
\
eeprom_factory_0: eeprom@0 { \
reg = <0x0 0x1e00>; \
}; \
\
macaddr_factory_4: macaddr@4 { \
reg = <0x4 0x6>; \
}; \
\
macaddr_factory_a: macaddr@a { \
reg = <0xa 0x6>; \
}; \
\
macaddr_factory_fffee: macaddr@fffee { \
reg = <0xfffee 0x6>; \
}; \
\
macaddr_factory_ffff4: macaddr@ffff4 { \
reg = <0xffff4 0x6>; \
}; \
\
macaddr_factory_ffffa: macaddr@ffffa { \
reg = <0xffffa 0x6>; \
}; \
\
pin@101180 { \
reg = <0x101180 0x8>; \
}; \
\
hwid@110e00 { \
reg = <0x110e00 0x1>; \
}; \
\
hwrev@110e04 { \
reg = <0x110e04 0x4>; \
}; \
\
board@110e0c { \
reg = <0x110e0c 0x20>; \
}; \
\
mfgdate@110e3e { \
reg = <0x110e3e 0x8>; \
}; \
\
market@110f90 { \
reg = <0x110f90 0x5>; \
}; \
\
model@110fb0 { \
reg = <0x110fb0 0x10>; \
}; \
\
serial@110ff0 { \
reg = <0x110ff0 0x10>; \
}; \
\
eeprom-version@15480f { \
reg = <0x15480f 0x1>; \
}; \
}
/ {
aliases {
serial0 = &serial0;
label-mac-device = &gmac0;
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
led-upgrade = &led_status_blue;
};
memory@40000000 {
reg = <0x0 0x40000000 0x0 0x40000000>;
device_type = "memory";
};
cpus {
/delete-node/ cpu@3;
};
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "fixed-1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "fixed-3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&button_pins>;
factory {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&pio 13 GPIO_ACTIVE_LOW>;
};
wps {
label = "sync";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&pio 14 GPIO_ACTIVE_LOW>;
};
};
pwm-leds {
compatible = "pwm-leds";
led_status_red: led-0 {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
pwms = <&pwm 0 10000>;
};
led_status_green: led-1 {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
pwms = <&pwm 1 10000>;
};
led_status_blue: led-2 {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_STATUS;
pwms = <&pwm 3 10000>;
};
};
};
&cpu0 {
proc-supply = <&rt5190_buck3>;
};
&cpu1 {
proc-supply = <&rt5190_buck3>;
};
&cpu2 {
proc-supply = <&rt5190_buck3>;
};
&cci {
proc-supply = <&rt5190_buck3>;
};
&eth {
pinctrl-names = "default";
pinctrl-0 = <&mdio0_pins>;
status = "okay";
};
&gmac0 {
status = "okay";
};
&gmac1 {
phy-mode = "internal";
phy-connection-type = "internal";
phy = <&int_2p5g_phy>;
openwrt,netdev-name = "wan";
status = "okay";
};
&gmac2 {
phy-mode = "2500base-x";
phy = <&phy5>;
openwrt,netdev-name = "lan3";
status = "okay";
};
&gsw_phy0 {
status = "disabled";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
rt5190a_64: rt5190a@64 {
compatible = "richtek,rt5190a";
reg = <0x64>;
/*interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;*/
vin2-supply = <&rt5190_buck1>;
vin3-supply = <&rt5190_buck1>;
vin4-supply = <&rt5190_buck1>;
regulators {
rt5190_buck1: buck1 {
regulator-name = "rt5190a-buck1";
regulator-min-microvolt = <5090000>;
regulator-max-microvolt = <5090000>;
regulator-allowed-modes =
<RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
regulator-boot-on;
regulator-always-on;
};
buck2 {
regulator-name = "vcore";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};
rt5190_buck3: buck3 {
regulator-name = "vproc";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
};
buck4 {
regulator-name = "rt5190a-buck4";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <850000>;
regulator-allowed-modes =
<RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
regulator-boot-on;
regulator-always-on;
};
ldo {
regulator-name = "rt5190a-ldo";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
&mdio_bus {
phy5: ethernet-phy@5 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <5>;
reset-gpios = <&pio 0 GPIO_ACTIVE_LOW>;
reset-assert-us = <200000>;
reset-deassert-us = <2000000>;
};
};
&pcie0 {
pinctrl-names = "default";
pinctrl-0 = <&pcie0_1_pins>;
reset-gpios = <&pio 7 GPIO_ACTIVE_LOW>;
status = "okay";
pcie@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
mt7996_wifi: mt7996@0,0 {
reg = <0x0000 0 0 0 0>;
};
};
};
&pcie3 {
pinctrl-names = "default";
pinctrl-0 = <&pcie3_pins>;
status = "okay";
};
&pio {
button_pins: button-pins {
pins = "GPIO_RESET", "GPIO_WPS";
bias-disable; /* bias-disable */
};
mdio0_pins: mdio0-pins {
mux {
function = "eth";
groups = "mdc_mdio0";
};
conf {
groups = "mdc_mdio0";
drive-strength = <MTK_DRIVE_8mA>;
};
};
i2c0_pins: i2c0-g0-pins {
mux {
function = "i2c";
groups = "i2c0_1";
};
};
spi0_flash_pins: spi0-flash-pins {
mux {
function = "spi";
groups = "spi0", "spi0_wp_hold";
};
};
pcie0_1_pins: pcie0-pins-g1 {
mux {
function = "pcie";
groups = "pcie_2l_0_pereset", "pcie_clk_req_n0_0";
};
};
pwm_pins: pwm-pins {
mux {
function = "pwm";
groups = "pwm0", "pwm1", "pwm3_0";
};
};
};
&ssusb1 {
status = "okay";
};
&switch {
status = "okay";
ports {
port@0 {
status = "disabled";
};
port@1 {
label = "lan2";
};
port@2 {
label = "lan1";
};
port@3 {
status = "disabled";
};
};
};
&tphy {
status = "okay";
};
&serial0 {
status = "okay";
};
&watchdog {
status = "okay";
};
&xsphy {
status = "okay";
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm_pins>;
status = "okay";
};