Changeset View
Changeset View
Standalone View
Standalone View
sys/contrib/device-tree/src/arm64/rockchip/rk3566-quartz64-a.dts
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) | |||||
/dts-v1/; | |||||
#include <dt-bindings/gpio/gpio.h> | |||||
#include <dt-bindings/pinctrl/rockchip.h> | |||||
#include "rk3566.dtsi" | |||||
/ { | |||||
model = "Pine64 RK3566 Quartz64-A Board"; | |||||
compatible = "pine64,quartz64-a", "rockchip,rk3566"; | |||||
aliases { | |||||
ethernet0 = &gmac1; | |||||
mmc0 = &sdmmc0; | |||||
mmc1 = &sdhci; | |||||
}; | |||||
chosen: chosen { | |||||
stdout-path = "serial2:1500000n8"; | |||||
}; | |||||
battery_cell: battery-cell { | |||||
compatible = "simple-battery"; | |||||
charge-full-design-microamp-hours = <2500000>; | |||||
charge-term-current-microamp = <300000>; | |||||
constant-charge-current-max-microamp = <2000000>; | |||||
constant-charge-voltage-max-microvolt = <4200000>; | |||||
factory-internal-resistance-micro-ohms = <180000>; | |||||
voltage-max-design-microvolt = <4106000>; | |||||
voltage-min-design-microvolt = <3625000>; | |||||
ocv-capacity-celsius = <20>; | |||||
ocv-capacity-table-0 = <4106000 100>, <4071000 95>, <4018000 90>, <3975000 85>, | |||||
<3946000 80>, <3908000 75>, <3877000 70>, <3853000 65>, | |||||
<3834000 60>, <3816000 55>, <3802000 50>, <3788000 45>, | |||||
<3774000 40>, <3760000 35>, <3748000 30>, <3735000 25>, | |||||
<3718000 20>, <3697000 15>, <3685000 10>, <3625000 0>; | |||||
}; | |||||
gmac1_clkin: external-gmac1-clock { | |||||
compatible = "fixed-clock"; | |||||
clock-frequency = <125000000>; | |||||
clock-output-names = "gmac1_clkin"; | |||||
#clock-cells = <0>; | |||||
}; | |||||
fan: gpio_fan { | |||||
compatible = "gpio-fan"; | |||||
gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; | |||||
gpio-fan,speed-map = <0 0 | |||||
4500 1>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&fan_en_h>; | |||||
#cooling-cells = <2>; | |||||
}; | |||||
leds { | |||||
compatible = "gpio-leds"; | |||||
led-work { | |||||
label = "work-led"; | |||||
default-state = "off"; | |||||
gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&work_led_enable_h>; | |||||
retain-state-suspended; | |||||
}; | |||||
led-diy { | |||||
label = "diy-led"; | |||||
default-state = "on"; | |||||
gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; | |||||
linux,default-trigger = "heartbeat"; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&diy_led_enable_h>; | |||||
retain-state-suspended; | |||||
}; | |||||
}; | |||||
rk817-sound { | |||||
compatible = "simple-audio-card"; | |||||
// SOS pinctrl-names = "default"; | |||||
// SOS pinctrl-0 = <&hp_det_h>; | |||||
simple-audio-card,format = "i2s"; | |||||
simple-audio-card,hp-det-gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; | |||||
simple-audio-card,name = "Analog RK817"; | |||||
simple-audio-card,mclk-fs = <256>; | |||||
simple-audio-card,widgets = | |||||
"Microphone", "Mic Jack", | |||||
"Headphone", "Headphones", | |||||
"Speaker", "Speaker"; | |||||
simple-audio-card,routing = | |||||
"MICL", "Mic Jack", | |||||
"Headphones", "HPOL", | |||||
"Headphones", "HPOR", | |||||
"Speaker", "SPKO"; | |||||
simple-audio-card,cpu { | |||||
sound-dai = <&i2s1_8ch>; | |||||
}; | |||||
simple-audio-card,codec { | |||||
sound-dai = <&rk817>; | |||||
}; | |||||
}; | |||||
spdif_dit: spdif-dit { | |||||
compatible = "linux,spdif-dit"; | |||||
#sound-dai-cells = <0>; | |||||
}; | |||||
spdif_sound: spdif-sound { | |||||
compatible = "simple-audio-card"; | |||||
simple-audio-card,name = "SPDIF"; | |||||
simple-audio-card,cpu { | |||||
sound-dai = <&spdif>; | |||||
}; | |||||
simple-audio-card,codec { | |||||
sound-dai = <&spdif_dit>; | |||||
}; | |||||
}; | |||||
sdio_pwrseq: sdio-pwrseq { | |||||
status = "okay"; | |||||
compatible = "mmc-pwrseq-simple"; | |||||
clocks = <&rk817 1>; | |||||
clock-names = "ext_clock"; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&wifi_enable_h>; | |||||
reset-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_LOW>; | |||||
post-power-on-delay-ms = <100>; | |||||
power-off-delay-us = <5000000>; | |||||
}; | |||||
spdif_sound: spdif-sound { | |||||
compatible = "simple-audio-card"; | |||||
simple-audio-card,name = "SPDIF"; | |||||
simple-audio-card,cpu { | |||||
sound-dai = <&spdif>; | |||||
}; | |||||
simple-audio-card,codec { | |||||
sound-dai = <&spdif_dit>; | |||||
}; | |||||
}; | |||||
spdif_dit: spdif-dit { | |||||
compatible = "linux,spdif-dit"; | |||||
#sound-dai-cells = <0>; | |||||
}; | |||||
vcc12v_dcin: vcc12v_dcin { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc12v_dcin"; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <12000000>; | |||||
regulator-max-microvolt = <12000000>; | |||||
}; | |||||
/* vbus feeds the rk817 usb input. | |||||
* With no battery attached, also feeds vcc_bat+ | |||||
* via ON/OFF_BAT jumper | |||||
*/ | |||||
vbus: vbus { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vbus"; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <5000000>; | |||||
regulator-max-microvolt = <5000000>; | |||||
vin-supply = <&vcc12v_dcin>; | |||||
}; | |||||
vcc5v0_usb: vcc5v0_usb { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc5v0_usb"; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <5000000>; | |||||
regulator-max-microvolt = <5000000>; | |||||
vin-supply = <&vcc12v_dcin>; | |||||
}; | |||||
/* all four ports are controlled by one gpio | |||||
* the host ports are sourced from vcc5v0_usb | |||||
* the otg port is sourced from vcc5v0_midu | |||||
*/ | |||||
vcc5v0_usb20_host: vcc5v0_usb20_host { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc5v0_usb20_host"; | |||||
enable-active-high; | |||||
gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&vcc5v0_usb20_host_en_h>; | |||||
regulator-min-microvolt = <5000000>; | |||||
regulator-max-microvolt = <5000000>; | |||||
vin-supply = <&vcc5v0_usb>; | |||||
}; | |||||
vcc5v0_usb20_otg: vcc5v0_usb20_otg { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc5v0_usb20_otg"; | |||||
enable-active-high; | |||||
gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; | |||||
regulator-min-microvolt = <5000000>; | |||||
regulator-max-microvolt = <5000000>; | |||||
vin-supply = <&dcdc_boost>; | |||||
}; | |||||
vcc3v3_pcie_p: vcc3v3_pcie_p { | |||||
compatible = "regulator-fixed"; | |||||
enable-active-high; | |||||
gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&pcie_enable_h>; | |||||
regulator-name = "vcc3v3_pcie_p"; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
vin-supply = <&vcc_3v3>; | |||||
}; | |||||
vcc3v3_sd: vcc3v3_sd { | |||||
compatible = "regulator-fixed"; | |||||
enable-active-low; | |||||
gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&vcc_sd_h>; | |||||
regulator-boot-on; | |||||
regulator-name = "vcc3v3_sd"; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
vin-supply = <&vcc_3v3>; | |||||
}; | |||||
/* sourced from vbus and vcc_bat+ via rk817 sw5 */ | |||||
vcc_sys: vcc_sys { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc_sys"; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <4400000>; | |||||
regulator-max-microvolt = <4400000>; | |||||
vin-supply = <&vbus>; | |||||
}; | |||||
/* sourced from vcc_sys, sdio module operates internally at 3.3v */ | |||||
vcc_wl: vcc_wl { | |||||
compatible = "regulator-fixed"; | |||||
regulator-name = "vcc_wl"; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
vin-supply = <&vcc_sys>; | |||||
}; | |||||
}; | |||||
&combphy1_usq { | |||||
status = "okay"; | |||||
rockchip,enable-ssc; | |||||
}; | |||||
&combphy2_psq { | |||||
status = "okay"; | |||||
}; | |||||
&cpu0 { | |||||
cpu-supply = <&vdd_cpu>; | |||||
clocks = <&cru ARMCLK>; | |||||
}; | |||||
&cpu1 { | |||||
cpu-supply = <&vdd_cpu>; | |||||
clocks = <&cru ARMCLK>; | |||||
}; | |||||
&cpu2 { | |||||
cpu-supply = <&vdd_cpu>; | |||||
clocks = <&cru ARMCLK>; | |||||
}; | |||||
&cpu3 { | |||||
cpu-supply = <&vdd_cpu>; | |||||
clocks = <&cru ARMCLK>; | |||||
}; | |||||
&cpu_thermal { | |||||
trips { | |||||
cpu_hot: cpu_hot { | |||||
temperature = <55000>; | |||||
hysteresis = <2000>; | |||||
type = "active"; | |||||
}; | |||||
}; | |||||
cooling-maps { | |||||
map1 { | |||||
trip = <&cpu_hot>; | |||||
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | |||||
}; | |||||
}; | |||||
}; | |||||
&gmac1 { | |||||
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; | |||||
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; | |||||
clock_in_out = "input"; | |||||
phy-supply = <&vcc_3v3>; | |||||
phy-mode = "rgmii"; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&gmac1m0_miim | |||||
&gmac1m0_tx_bus2 | |||||
&gmac1m0_rx_bus2 | |||||
&gmac1m0_rgmii_clk | |||||
&gmac1m0_clkinout | |||||
&gmac1m0_rgmii_bus>; | |||||
snps,reset-gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>; | |||||
snps,reset-active-low; | |||||
/* Reset time is 20ms, 100ms for rtl8211f */ | |||||
snps,reset-delays-us = <0 20000 100000>; | |||||
tx_delay = <0x30>; | |||||
rx_delay = <0x10>; | |||||
phy-handle = <&rgmii_phy1>; | |||||
status = "okay"; | |||||
}; | |||||
&hdmi { | |||||
status = "okay"; | |||||
avdd-0v9-supply = <&vdda_0v9>; | |||||
avdd-1v8-supply = <&vcc_1v8>; | |||||
}; | |||||
&hdmi_in_vp0 { | |||||
status = "okay"; | |||||
}; | |||||
&gpu { | |||||
mali-supply = <&vdd_gpu>; | |||||
status = "okay"; | |||||
}; | |||||
&i2c0 { | |||||
status = "okay"; | |||||
vdd_cpu: regulator@1c { | |||||
compatible = "tcs,tcs4525"; | |||||
reg = <0x1c>; | |||||
fcs,suspend-voltage-selector = <1>; | |||||
regulator-name = "vdd_cpu"; | |||||
regulator-min-microvolt = <800000>; | |||||
regulator-max-microvolt = <1150000>; | |||||
regulator-ramp-delay = <2300>; | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
vin-supply = <&vcc_sys>; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
rk817: pmic@20 { | |||||
compatible = "rockchip,rk817"; | |||||
reg = <0x20>; | |||||
interrupt-parent = <&gpio0>; | |||||
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; | |||||
assigned-clocks = <&cru I2S1_MCLKOUT_TX>; | |||||
assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; | |||||
clock-names = "mclk"; | |||||
clocks = <&cru I2S1_MCLKOUT_TX>; | |||||
clock-output-names = "rk808-clkout1", "rk808-clkout2"; | |||||
#clock-cells = <1>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; | |||||
rockchip,system-power-controller; | |||||
#sound-dai-cells = <0>; | |||||
wakeup-source; | |||||
vcc1-supply = <&vcc_sys>; | |||||
vcc2-supply = <&vcc_sys>; | |||||
vcc3-supply = <&vcc_sys>; | |||||
vcc4-supply = <&vcc_sys>; | |||||
vcc5-supply = <&vcc_sys>; | |||||
vcc6-supply = <&vcc_sys>; | |||||
vcc7-supply = <&vcc_sys>; | |||||
vcc8-supply = <&vcc_sys>; | |||||
vcc9-supply = <&dcdc_boost>; | |||||
regulators { | |||||
vdd_logic: DCDC_REG1 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <500000>; | |||||
regulator-max-microvolt = <1350000>; | |||||
regulator-init-microvolt = <900000>; | |||||
regulator-ramp-delay = <6001>; | |||||
regulator-initial-mode = <0x2>; | |||||
regulator-name = "vdd_logic"; | |||||
regulator-state-mem { | |||||
regulator-on-in-suspend; | |||||
regulator-suspend-microvolt = <900000>; | |||||
}; | |||||
}; | |||||
vdd_gpu: DCDC_REG2 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <500000>; | |||||
regulator-max-microvolt = <1350000>; | |||||
regulator-init-microvolt = <900000>; | |||||
regulator-ramp-delay = <6001>; | |||||
regulator-initial-mode = <0x2>; | |||||
regulator-name = "vdd_gpu"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vcc_ddr: DCDC_REG3 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <1100000>; | |||||
regulator-max-microvolt = <1100000>; | |||||
regulator-initial-mode = <0x2>; | |||||
regulator-name = "vcc_ddr"; | |||||
regulator-state-mem { | |||||
regulator-on-in-suspend; | |||||
}; | |||||
}; | |||||
vcc_3v3: DCDC_REG4 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
regulator-initial-mode = <0x2>; | |||||
regulator-name = "vcc_3v3"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vcca1v8_pmu: LDO_REG1 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <1800000>; | |||||
regulator-max-microvolt = <1800000>; | |||||
regulator-name = "vcca1v8_pmu"; | |||||
regulator-state-mem { | |||||
regulator-on-in-suspend; | |||||
regulator-suspend-microvolt = <1800000>; | |||||
}; | |||||
}; | |||||
vdda_0v9: LDO_REG2 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <900000>; | |||||
regulator-max-microvolt = <900000>; | |||||
regulator-name = "vdda_0v9"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vdda0v9_pmu: LDO_REG3 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <900000>; | |||||
regulator-max-microvolt = <900000>; | |||||
regulator-name = "vdda0v9_pmu"; | |||||
regulator-state-mem { | |||||
regulator-on-in-suspend; | |||||
regulator-suspend-microvolt = <900000>; | |||||
}; | |||||
}; | |||||
vccio_acodec: LDO_REG4 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
regulator-name = "vccio_acodec"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vccio_sd: LDO_REG5 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <1800000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
regulator-name = "vccio_sd"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vcc3v3_pmu: LDO_REG6 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <3300000>; | |||||
regulator-max-microvolt = <3300000>; | |||||
regulator-name = "vcc3v3_pmu"; | |||||
regulator-state-mem { | |||||
regulator-on-in-suspend; | |||||
regulator-suspend-microvolt = <3300000>; | |||||
}; | |||||
}; | |||||
vcc_1v8: LDO_REG7 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <1800000>; | |||||
regulator-max-microvolt = <1800000>; | |||||
regulator-name = "vcc_1v8"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vcc1v8_dvp: LDO_REG8 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <1800000>; | |||||
regulator-max-microvolt = <1800000>; | |||||
regulator-name = "vcc1v8_dvp"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
vcc2v8_dvp: LDO_REG9 { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <2800000>; | |||||
regulator-max-microvolt = <2800000>; | |||||
regulator-name = "vcc2v8_dvp"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
dcdc_boost: BOOST { | |||||
regulator-always-on; | |||||
regulator-boot-on; | |||||
regulator-min-microvolt = <5000000>; | |||||
regulator-max-microvolt = <5000000>; | |||||
regulator-name = "boost"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
otg_switch: OTG_SWITCH { | |||||
regulator-name = "otg_switch"; | |||||
regulator-state-mem { | |||||
regulator-off-in-suspend; | |||||
}; | |||||
}; | |||||
}; | |||||
rk817_battery: battery { | |||||
monitored-battery = <&battery_cell>; | |||||
rockchip,resistor-sense-micro-ohms = <10000>; | |||||
rockchip,sleep-enter-current-microamp = <300000>; | |||||
rockchip,sleep-filter-current-microamp = <100000>; | |||||
}; | |||||
}; | |||||
}; | |||||
&i2s1_8ch { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&i2s1m0_sclktx | |||||
&i2s1m0_lrcktx | |||||
&i2s1m0_sdi0 | |||||
&i2s1m0_sdo0>; | |||||
rockchip,trcm-sync-tx-only; | |||||
status = "okay"; | |||||
}; | |||||
&mdio1 { | |||||
rgmii_phy1: ethernet-phy@0 { | |||||
compatible = "ethernet-phy-ieee802.3-c22"; | |||||
reg = <0>; | |||||
}; | |||||
}; | |||||
&pcie2x1 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&pcie_reset_h>; | |||||
reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; | |||||
status = "okay"; | |||||
vpcie3v3-supply = <&vcc3v3_pcie_p>; | |||||
}; | |||||
&pinctrl { | |||||
bt { | |||||
bt_enable_h: bt-enable-h { | |||||
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
bt_host_wake_l: bt-host-wake-l { | |||||
rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>; | |||||
}; | |||||
bt_wake_l: bt-wake-l { | |||||
rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
fan { | |||||
fan_en_h: fan-en-h { | |||||
rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
leds { | |||||
work_led_enable_h: work-led-enable-h { | |||||
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
diy_led_enable_h: diy-led-enable-h { | |||||
rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
pcie { | |||||
pcie_enable_h: pcie-enable-h { | |||||
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
pcie_reset_h: pcie-reset-h { | |||||
rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
pmic { | |||||
pmic_int_l: pmic-int-l { | |||||
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; | |||||
}; | |||||
hp_det_h: hp-det-h { | |||||
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
sdio-pwrseq { | |||||
wifi_enable_h: wifi-enable-h { | |||||
rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
usb2 { | |||||
vcc5v0_usb20_host_en_h: vcc5v0-usb20-host-en_h { | |||||
rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
vcc_sd { | |||||
vcc_sd_h: vcc-sd-h { | |||||
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; | |||||
}; | |||||
}; | |||||
}; | |||||
&pmu_io_domains { | |||||
status = "okay"; | |||||
pmuio1-supply = <&vcc3v3_pmu>; | |||||
pmuio2-supply = <&vcc3v3_pmu>; | |||||
vccio1-supply = <&vccio_acodec>; | |||||
vccio2-supply = <&vcc_1v8>; | |||||
vccio3-supply = <&vccio_sd>; | |||||
vccio4-supply = <&vcc_1v8>; | |||||
vccio5-supply = <&vcc_3v3>; | |||||
vccio6-supply = <&vcc1v8_dvp>; | |||||
vccio7-supply = <&vcc_3v3>; | |||||
}; | |||||
/* sata1 is muxed with the usb3 port */ | |||||
&sata1 { | |||||
status = "okay"; | |||||
}; | |||||
/* sata2 is muxed with the pcie2 slot*/ | |||||
&sata2 { | |||||
status = "disabled"; | |||||
}; | |||||
&sdhci { | |||||
bus-width = <8>; | |||||
mmc-hs200-1_8v; | |||||
non-removable; | |||||
vmmc-supply = <&vcc_3v3>; | |||||
vqmmc-supply = <&vcc_1v8>; | |||||
status = "okay"; | |||||
}; | |||||
&sdmmc0 { | |||||
bus-width = <4>; | |||||
cap-sd-highspeed; | |||||
cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; | |||||
disable-wp; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; | |||||
sd-uhs-sdr104; | |||||
vmmc-supply = <&vcc3v3_sd>; | |||||
vqmmc-supply = <&vccio_sd>; | |||||
status = "okay"; | |||||
}; | |||||
&spdif { | |||||
status = "okay"; | |||||
}; | |||||
&sdmmc1 { | |||||
bus-width = <4>; | |||||
cap-sd-highspeed; | |||||
cap-sdio-irq; | |||||
disable-wp; | |||||
keep-power-in-suspend; | |||||
mmc-pwrseq = <&sdio_pwrseq>; | |||||
non-removable; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; | |||||
sd-uhs-sdr104; | |||||
vmmc-supply = <&vcc_wl>; | |||||
vqmmc-supply = <&vcc_1v8>; | |||||
status = "okay"; | |||||
}; | |||||
&sfc { | |||||
#address-cells = <1>; | |||||
#size-cells = <0>; | |||||
status = "disabled"; | |||||
flash@0 { | |||||
compatible = "jedec,spi-nor"; | |||||
reg = <0>; | |||||
spi-max-frequency = <108000000>; | |||||
spi-rx-bus-width = <4>; | |||||
spi-tx-bus-width = <1>; | |||||
}; | |||||
}; | |||||
&tsadc { | |||||
/* tshut mode 0:CRU 1:GPIO */ | |||||
rockchip,hw-tshut-mode = <1>; | |||||
/* tshut polarity 0:LOW 1:HIGH */ | |||||
rockchip,hw-tshut-polarity = <0>; | |||||
status = "okay"; | |||||
}; | |||||
&uart0 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&uart0_xfer>; | |||||
status = "okay"; | |||||
}; | |||||
&uart1 { | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; | |||||
status = "okay"; | |||||
uart-has-rtscts; | |||||
bluetooth { | |||||
compatible = "brcm,bcm43438-bt"; | |||||
clocks = <&rk817 1>; | |||||
clock-names = "lpo"; | |||||
device-wake-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; | |||||
host-wake-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>; | |||||
shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; | |||||
pinctrl-names = "default"; | |||||
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; | |||||
vbat-supply = <&vcc_sys>; | |||||
vddio-supply = <&vcca1v8_pmu>; | |||||
}; | |||||
}; | |||||
&uart2 { | |||||
status = "okay"; | |||||
}; | |||||
&u2phy0_host { | |||||
phy-supply = <&vcc5v0_usb20_host>; | |||||
status = "okay"; | |||||
}; | |||||
&u2phy0_otg { | |||||
phy-supply = <&vcc5v0_usb20_otg>; | |||||
status = "okay"; | |||||
}; | |||||
&u2phy1_host { | |||||
phy-supply = <&vcc5v0_usb20_host>; | |||||
status = "okay"; | |||||
}; | |||||
&u2phy1_otg { | |||||
phy-supply = <&vcc5v0_usb20_host>; | |||||
status = "okay"; | |||||
}; | |||||
&usb2phy0 { | |||||
status = "okay"; | |||||
}; | |||||
&usb2phy1 { | |||||
status = "okay"; | |||||
}; | |||||
&usbdrd_dwc3 { | |||||
status = "okay"; | |||||
}; | |||||
&usbdrd30 { | |||||
status = "okay"; | |||||
}; | |||||
/* usb3 controller is muxed with sata1 */ | |||||
&usbhost_dwc3 { | |||||
status = "disabled"; | |||||
}; | |||||
/* usb3 controller is muxed with sata1 */ | |||||
&usbhost30 { | |||||
status = "disabled"; | |||||
}; | |||||
&usb_host0_ehci { | |||||
status = "okay"; | |||||
}; | |||||
&usb_host0_ohci { | |||||
status = "okay"; | |||||
}; | |||||
&usb_host1_ehci { | |||||
status = "okay"; | |||||
}; | |||||
&usb_host1_ohci { | |||||
status = "okay"; | |||||
}; | |||||
&vop { | |||||
status = "okay"; | |||||
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; | |||||
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; | |||||
}; | |||||
&vop_mmu { | |||||
status = "okay"; | |||||
}; | |||||
&vp0_out_hdmi { | |||||
status = "okay"; | |||||
}; |