// SPDX-License-Identifier: GPL-2.0-only OR MIT /dts-v1/; #include #include #include "mt7988a.dtsi" / { compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; model = "Banana Pi BPI-R4"; chassis-type = "embedded"; chosen { stdout-path = "serial0:115200n8"; }; 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; }; }; &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"; }; }; }; &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 = , ; 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 = , ; 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>; }; i2c_sfp2: i2c@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; }; }; }; /* 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 { mdio0_pins: mdio0-pins { mux { function = "eth"; groups = "mdc_mdio0"; }; conf { pins = "SMI_0_MDC", "SMI_0_MDIO"; drive-strength = <8>; }; }; i2c0_pins: i2c0-g0-pins { mux { function = "i2c"; groups = "i2c0_1"; }; }; i2c1_pins: i2c1-g0-pins { mux { function = "i2c"; groups = "i2c1_0"; }; }; i2c1_sfp_pins: i2c1-sfp-g0-pins { mux { function = "i2c"; groups = "i2c1_sfp"; }; }; i2c2_0_pins: i2c2-g0-pins { mux { function = "i2c"; groups = "i2c2_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"; }; }; gbe0_led1_pins: gbe0-led1-pins { mux { function = "led"; groups = "gbe0_led1"; }; }; gbe1_led1_pins: gbe1-led1-pins { mux { function = "led"; groups = "gbe1_led1"; }; }; gbe2_led1_pins: gbe2-led1-pins { mux { function = "led"; groups = "gbe2_led1"; }; }; gbe3_led1_pins: gbe3-led1-pins { mux { function = "led"; groups = "gbe3_led1"; }; }; i2p5gbe_led0_pins: 2p5gbe-led0-pins { mux { function = "led"; groups = "2p5gbe_led0"; }; }; i2p5gbe_led1_pins: 2p5gbe-led1-pins { mux { function = "led"; groups = "2p5gbe_led1"; }; }; 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"; }; }; uart0_pins: uart0-pins { mux { function = "uart"; groups = "uart0"; }; }; snfi_pins: snfi-pins { mux { function = "flash"; groups = "snfi"; }; }; spi0_pins: spi0-pins { mux { function = "spi"; groups = "spi0"; }; }; spi0_flash_pins: spi0-flash-pins { mux { function = "spi"; groups = "spi0", "spi0_wp_hold"; }; }; spi1_pins: spi1-pins { mux { function = "spi"; groups = "spi1"; }; }; spi2_pins: spi2-pins { mux { function = "spi"; groups = "spi2"; }; }; spi2_flash_pins: spi2-flash-pins { mux { function = "spi"; groups = "spi2", "spi2_wp_hold"; }; }; }; &pwm { status = "okay"; }; &serial0 { status = "okay"; }; &ssusb1 { status = "okay"; }; &tphy { status = "okay"; }; &watchdog { status = "okay"; };