409 lines
7.4 KiB
Plaintext
409 lines
7.4 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include "rk3588-armsom-lm7.dtsi"
|
|
|
|
/ {
|
|
model = "ArmSoM W3";
|
|
compatible = "armsom,w3", "armsom,lm7", "rockchip,rk3588";
|
|
|
|
aliases {
|
|
mmc1 = &sdmmc;
|
|
mmc2 = &sdio;
|
|
};
|
|
|
|
analog-sound {
|
|
compatible = "audio-graph-card";
|
|
label = "rk3588-es8316";
|
|
|
|
widgets = "Microphone", "Mic Jack",
|
|
"Headphone", "Headphones";
|
|
|
|
routing = "MIC2", "Mic Jack",
|
|
"Headphones", "HPOL",
|
|
"Headphones", "HPOR";
|
|
|
|
dais = <&i2s0_8ch_p0>;
|
|
hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hp_detect>;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&led_rgb_b>;
|
|
|
|
led-rgb-b {
|
|
function = LED_FUNCTION_STATUS;
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
|
|
led-rgb-r {
|
|
function = LED_FUNCTION_STATUS;
|
|
color = <LED_COLOR_ID_RED>;
|
|
gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "none";
|
|
};
|
|
};
|
|
|
|
fan: pwm-fan {
|
|
compatible = "pwm-fan";
|
|
cooling-levels = <0 120 150 180 210 240 255>;
|
|
fan-supply = <&vcc5v0_sys>;
|
|
pwms = <&pwm1 0 50000 0>;
|
|
#cooling-cells = <2>;
|
|
};
|
|
|
|
rfkill {
|
|
compatible = "rfkill-gpio";
|
|
label = "rfkill-pcie-wlan";
|
|
radio-type = "wlan";
|
|
shutdown-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
rfkill-bt {
|
|
compatible = "rfkill-gpio";
|
|
label = "rfkill-m2-bt";
|
|
radio-type = "bluetooth";
|
|
shutdown-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 {
|
|
compatible = "regulator-fixed";
|
|
enable-active-high;
|
|
gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie2_0_vcc3v3_en>;
|
|
regulator-name = "vcc3v3_pcie2x1l0";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
startup-delay-us = <50000>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
|
|
vcc3v3_pcie2x1l2: regulator-vcc3v3-pcie2x1l2 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc3v3_pcie2x1l2";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
startup-delay-us = <5000>;
|
|
vin-supply = <&vcc_3v3_s3>;
|
|
};
|
|
|
|
vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
|
|
compatible = "regulator-fixed";
|
|
enable-active-high;
|
|
gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie3_vcc3v3_en>;
|
|
regulator-name = "vcc3v3_pcie30";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
startup-delay-us = <5000>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
|
|
vcc5v0_host: regulator-vcc5v0-host {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_host";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
enable-active-high;
|
|
gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vcc5v0_host_en>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
};
|
|
|
|
&combphy0_ps {
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy1_ps {
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy2_psu {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c6 {
|
|
status = "okay";
|
|
|
|
hym8563: rtc@51 {
|
|
compatible = "haoyu,hym8563";
|
|
reg = <0x51>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "hym8563";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hym8563_int>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
&i2c7 {
|
|
status = "okay";
|
|
|
|
es8316: audio-codec@11 {
|
|
compatible = "everest,es8316";
|
|
reg = <0x11>;
|
|
clocks = <&cru I2S0_8CH_MCLKOUT>;
|
|
clock-names = "mclk";
|
|
assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
|
|
assigned-clock-rates = <12288000>;
|
|
#sound-dai-cells = <0>;
|
|
|
|
port {
|
|
es8316_p0_0: endpoint {
|
|
remote-endpoint = <&i2s0_8ch_p0_0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2s0_8ch {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2s0_lrck
|
|
&i2s0_mclk
|
|
&i2s0_sclk
|
|
&i2s0_sdi0
|
|
&i2s0_sdo0>;
|
|
status = "okay";
|
|
|
|
i2s0_8ch_p0: port {
|
|
i2s0_8ch_p0_0: endpoint {
|
|
dai-format = "i2s";
|
|
mclk-fs = <256>;
|
|
remote-endpoint = <&es8316_p0_0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&package_thermal {
|
|
polling-delay = <1000>;
|
|
|
|
trips {
|
|
package_fan0: package-fan0 {
|
|
temperature = <55000>;
|
|
hysteresis = <2000>;
|
|
type = "active";
|
|
};
|
|
|
|
package_fan1: package-fan1 {
|
|
temperature = <65000>;
|
|
hysteresis = <2000>;
|
|
type = "active";
|
|
};
|
|
};
|
|
|
|
cooling-maps {
|
|
map0 {
|
|
trip = <&package_fan0>;
|
|
cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
|
};
|
|
|
|
map1 {
|
|
trip = <&package_fan1>;
|
|
cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pcie2x1l0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie2_0_rst>;
|
|
reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
|
|
vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie2x1l2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie2_2_rst>;
|
|
reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
|
|
vpcie3v3-supply = <&vcc3v3_pcie2x1l2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie30phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie3x4 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie3_rst>;
|
|
reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
|
|
vpcie3v3-supply = <&vcc3v3_pcie30>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
hym8563 {
|
|
hym8563_int: hym8563-int {
|
|
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
led_rgb_b: led-rgb-b {
|
|
rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
hp_detect: hp-detect {
|
|
rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pcie2 {
|
|
pcie2_0_rst: pcie2-0-rst {
|
|
rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
pcie2_0_vcc3v3_en: pcie2-0-vcc-en {
|
|
rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
pcie2_2_rst: pcie2-2-rst {
|
|
rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pcie3 {
|
|
pcie3_rst: pcie3-rst {
|
|
rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
pcie3_vcc3v3_en: pcie3-vcc3v3-en {
|
|
rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
usb {
|
|
vcc5v0_host_en: vcc5v0-host-en {
|
|
rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pwm1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc {
|
|
bus-width = <4>;
|
|
cap-mmc-highspeed;
|
|
cap-sd-highspeed;
|
|
cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
disable-wp;
|
|
max-frequency = <200000000>;
|
|
no-sdio;
|
|
no-mmc;
|
|
sd-uhs-sdr104;
|
|
vmmc-supply = <&vcc_3v3_s3>;
|
|
vqmmc-supply = <&vccio_sd_s0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdio {
|
|
bus-width = <4>;
|
|
cap-sdio-irq;
|
|
disable-wp;
|
|
keep-power-in-suspend;
|
|
max-frequency = <200000000>;
|
|
no-sd;
|
|
no-mmc;
|
|
non-removable;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdiom0_pins>;
|
|
sd-uhs-sdr12;
|
|
sd-uhs-sdr25;
|
|
sd-uhs-sdr50;
|
|
sd-uhs-sdr104;
|
|
vmmc-supply = <&vcc3v3_pcie2x1l0>;
|
|
vqmmc-supply = <&vcc_1v8_s3>;
|
|
wakeup-source;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-0 = <&uart2m0_xfer>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart6 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy1_otg {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy2_host {
|
|
/* connected to USB hub, which is powered by vcc5v0_sys */
|
|
phy-supply = <&vcc5v0_sys>;
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy3_host {
|
|
phy-supply = <&vcc5v0_host>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbdp_phy1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_ehci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_ohci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host1_ehci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host1_ohci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host1_xhci {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host2_xhci {
|
|
status = "okay";
|
|
};
|