| // SPDX-License-Identifier: GPL-2.0-only OR MIT |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/leds/common.h> |
| #include <dt-bindings/regulator/richtek,rt5190a-regulator.h> |
| #include <dt-bindings/leds/common.h> |
| |
| #include "mt7988a.dtsi" |
| |
| / { |
| aliases { |
| ethernet0 = &gmac0; |
| ethernet1 = &gmac1; |
| ethernet2 = &gmac2; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| fan: pwm-fan { |
| compatible = "pwm-fan"; |
| /* cooling level (0, 1, 2, 3) : (0% duty, 30% duty, 50% duty, 100% duty) */ |
| cooling-levels = <0 80 128 255>; |
| #cooling-cells = <2>; |
| pwms = <&pwm 0 50000>; |
| status = "okay"; |
| }; |
| |
| gpio-leds { |
| compatible = "gpio-leds"; |
| |
| led_green: led-green { |
| function = LED_FUNCTION_STATUS; |
| color = <LED_COLOR_ID_GREEN>; |
| gpios = <&pio 79 GPIO_ACTIVE_HIGH>; |
| default-state = "on"; |
| }; |
| |
| led_blue: led-blue { |
| function = LED_FUNCTION_WPS; |
| color = <LED_COLOR_ID_BLUE>; |
| gpios = <&pio 63 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| }; |
| }; |
| |
| |
| 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; |
| }; |
| |
| /* SFP1 cage (WAN) */ |
| sfp1: sfp1 { |
| compatible = "sff,sfp"; |
| i2c-bus = <&i2c_sfp1>; |
| maximum-power-milliwatt = <3000>; |
| |
| los-gpios = <&pio 54 GPIO_ACTIVE_HIGH>; |
| mod-def0-gpios = <&pio 82 GPIO_ACTIVE_LOW>; |
| rate-select0-gpios = <&pio 21 GPIO_ACTIVE_LOW>; |
| tx-disable-gpios = <&pio 70 GPIO_ACTIVE_HIGH>; |
| tx-fault-gpios = <&pio 69 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| &cci { |
| proc-supply = <&rt5190_buck3>; |
| }; |
| |
| &cpu0 { |
| proc-supply = <&rt5190_buck3>; |
| }; |
| |
| &cpu1 { |
| proc-supply = <&rt5190_buck3>; |
| }; |
| |
| &cpu2 { |
| proc-supply = <&rt5190_buck3>; |
| }; |
| |
| &cpu3 { |
| proc-supply = <&rt5190_buck3>; |
| }; |
| |
| &cpu_thermal { |
| trips { |
| cpu_trip_hot: hot { |
| temperature = <120000>; |
| hysteresis = <2000>; |
| type = "hot"; |
| }; |
| |
| cpu_trip_active_high: active-high { |
| temperature = <115000>; |
| hysteresis = <2000>; |
| type = "active"; |
| }; |
| |
| cpu_trip_active_med: active-med { |
| temperature = <85000>; |
| hysteresis = <2000>; |
| type = "active"; |
| }; |
| |
| cpu_trip_active_low: active-low { |
| temperature = <40000>; |
| hysteresis = <2000>; |
| type = "active"; |
| }; |
| }; |
| |
| cooling-maps { |
| map-cpu-active-high { |
| /* active: set fan to cooling level 2 */ |
| cooling-device = <&fan 3 3>; |
| trip = <&cpu_trip_active_high>; |
| }; |
| |
| map-cpu-active-med { |
| /* active: set fan to cooling level 1 */ |
| cooling-device = <&fan 2 2>; |
| trip = <&cpu_trip_active_med>; |
| }; |
| |
| map-cpu-active-low { |
| /* active: set fan to cooling level 0 */ |
| cooling-device = <&fan 1 1>; |
| trip = <&cpu_trip_active_low>; |
| }; |
| }; |
| }; |
| |
| &gmac2 { |
| managed = "in-band-status"; |
| phy-mode = "usxgmii"; |
| sfp = <&sfp1>; |
| }; |
| |
| &gsw_phy0 { |
| pinctrl-0 = <&gbe0_led0_pins>; |
| pinctrl-names = "gbe-led"; |
| }; |
| |
| &gsw_phy0_led0 { |
| function = LED_FUNCTION_WAN; |
| color = <LED_COLOR_ID_GREEN>; |
| status = "okay"; |
| }; |
| |
| &gsw_port0 { |
| label = "wan"; |
| }; |
| |
| &gsw_phy1 { |
| pinctrl-0 = <&gbe1_led0_pins>; |
| pinctrl-names = "gbe-led"; |
| }; |
| |
| &gsw_phy1_led0 { |
| function = LED_FUNCTION_LAN; |
| color = <LED_COLOR_ID_GREEN>; |
| status = "okay"; |
| }; |
| |
| &gsw_port1 { |
| label = "lan1"; |
| }; |
| |
| &gsw_phy2 { |
| pinctrl-0 = <&gbe2_led0_pins>; |
| pinctrl-names = "gbe-led"; |
| }; |
| |
| &gsw_phy2_led0 { |
| function = LED_FUNCTION_LAN; |
| color = <LED_COLOR_ID_GREEN>; |
| status = "okay"; |
| }; |
| |
| &gsw_port2 { |
| label = "lan2"; |
| }; |
| |
| &gsw_phy3 { |
| pinctrl-0 = <&gbe3_led0_pins>; |
| pinctrl-names = "gbe-led"; |
| }; |
| |
| &gsw_phy3_led0 { |
| function = LED_FUNCTION_LAN; |
| color = <LED_COLOR_ID_GREEN>; |
| status = "okay"; |
| }; |
| |
| &gsw_port3 { |
| label = "lan3"; |
| }; |
| |
| &i2c0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_pins>; |
| status = "okay"; |
| |
| rt5190a_64: rt5190a@64 { |
| compatible = "richtek,rt5190a"; |
| reg = <0x64>; |
| 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 = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-allowed-modes = |
| <RT5190A_OPMODE_AUTO>, <RT5190A_OPMODE_FPWM>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| ldo { |
| regulator-name = "rt5190a-ldo"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c2_1_pins>; |
| status = "okay"; |
| |
| pca9545: i2c-mux@70 { |
| compatible = "nxp,pca9545"; |
| reg = <0x70>; |
| reset-gpios = <&pio 5 GPIO_ACTIVE_LOW>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0>; |
| |
| pcf8563: rtc@51 { |
| compatible = "nxp,pcf8563"; |
| reg = <0x51>; |
| #clock-cells = <0>; |
| }; |
| |
| eeprom@57 { |
| compatible = "atmel,24c02"; |
| reg = <0x57>; |
| size = <256>; |
| }; |
| |
| }; |
| |
| i2c_sfp1: i2c@1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <1>; |
| }; |
| }; |
| }; |
| |
| /* mPCIe SIM2 */ |
| &pcie0 { |
| status = "okay"; |
| }; |
| |
| /* mPCIe SIM3 */ |
| &pcie1 { |
| status = "okay"; |
| }; |
| |
| /* M.2 key-B SIM1 */ |
| &pcie2 { |
| status = "okay"; |
| }; |
| |
| /* M.2 key-M SSD */ |
| &pcie3 { |
| status = "okay"; |
| }; |
| |
| &pio { |
| i2c0_pins: i2c0-g0-pins { |
| mux { |
| function = "i2c"; |
| groups = "i2c0_1"; |
| }; |
| }; |
| |
| i2c1_pins: i2c1-g0-pins { |
| mux { |
| function = "i2c"; |
| groups = "i2c1_0"; |
| }; |
| }; |
| |
| i2c2_1_pins: i2c2-g1-pins { |
| mux { |
| function = "i2c"; |
| groups = "i2c2_1"; |
| }; |
| }; |
| |
| gbe0_led0_pins: gbe0-led0-pins { |
| mux { |
| function = "led"; |
| groups = "gbe0_led0"; |
| }; |
| }; |
| |
| gbe1_led0_pins: gbe1-led0-pins { |
| mux { |
| function = "led"; |
| groups = "gbe1_led0"; |
| }; |
| }; |
| |
| gbe2_led0_pins: gbe2-led0-pins { |
| mux { |
| function = "led"; |
| groups = "gbe2_led0"; |
| }; |
| }; |
| |
| gbe3_led0_pins: gbe3-led0-pins { |
| mux { |
| function = "led"; |
| groups = "gbe3_led0"; |
| }; |
| }; |
| |
| i2p5gbe_led0_pins: 2p5gbe-led0-pins { |
| mux { |
| function = "led"; |
| groups = "2p5gbe_led0"; |
| }; |
| }; |
| |
| mmc0_pins_emmc_45: mmc0-emmc-45-pins { |
| mux { |
| function = "flash"; |
| groups = "emmc_45"; |
| }; |
| }; |
| |
| mmc0_pins_emmc_51: mmc0-emmc-51-pins { |
| mux { |
| function = "flash"; |
| groups = "emmc_51"; |
| }; |
| }; |
| |
| mmc0_pins_sdcard: mmc0-sdcard-pins { |
| mux { |
| function = "flash"; |
| groups = "sdcard"; |
| }; |
| }; |
| |
| spi0_flash_pins: spi0-flash-pins { |
| mux { |
| function = "spi"; |
| groups = "spi0", "spi0_wp_hold"; |
| }; |
| }; |
| }; |
| |
| &pwm { |
| status = "okay"; |
| }; |
| |
| &serial0 { |
| status = "okay"; |
| }; |
| |
| &spi0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi0_flash_pins>; |
| status = "okay"; |
| |
| spi_nand: flash@0 { |
| compatible = "spi-nand"; |
| reg = <0>; |
| spi-max-frequency = <52000000>; |
| spi-tx-bus-width = <4>; |
| spi-rx-bus-width = <4>; |
| }; |
| }; |
| |
| &spi1 { |
| status = "okay"; |
| }; |
| |
| &spi_nand { |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| partition@0 { |
| label = "bl2"; |
| reg = <0x0 0x200000>; |
| read-only; |
| }; |
| }; |
| }; |
| |
| &ssusb1 { |
| status = "okay"; |
| }; |
| |
| &tphy { |
| status = "okay"; |
| }; |
| |
| &watchdog { |
| status = "okay"; |
| }; |
| |
| &xsphy { |
| status = "okay"; |
| }; |