Skip to content

Instantly share code, notes, and snippets.

@nuumio
Last active December 28, 2021 17:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nuumio/9593a6ff36ff3d02e9c3e269c88d0825 to your computer and use it in GitHub Desktop.
Save nuumio/9593a6ff36ff3d02e9c3e269c88d0825 to your computer and use it in GitHub Desktop.
rk3399-rockpro64; control fan "directly" via pwm, not hwmon; linux 5.8.1; modded dt
# pwmchip1 is the one connected to fan header.
# To use it you'll have to export pwm channel first:
cd /sys/class/pwm/pwmchip1
echo 0 > export
# That should create channel dir "pwm0". In there
# you'll have to set period and duty cycle, and then
# enable the pwm.
cd pwm0
# Period is in nanoseconds, I'm just guessing 50000 is the one used
# in hwmon (in fan node).
echo 50000 > period
# Duty cycle is in nanoseconds in range [0, period], let's do 50%
echo 25000 > duty_cycle
# Now enable it
echo 1 > enable
# Duty cycle can be adjusted later (other values too)
sleep 5
# Moar!
echo 40000 > duty_cycle
// This is 5.8.1 dts with pwm-fan disabled (decompiled dtb -> dts with dtc then edited)
// For dtb -> dts: dtc -I dtb -O rk3399-rockpro64-v2.dtb > rk3399-rockpro64-v2-5.8.1-no-fan.dts
// For dts -> dtb: dtc -I dts -O dtb rk3399-rockpro64-v2-5.8.1-no-fan.dts > rk3399-rockpro64-v2.dtb
// Replace with existing dtb (somewhere in /boot) and reboot.
/dts-v1/;
/ {
compatible = "pine64,rockpro64-v2.0\0pine64,rockpro64\0rockchip,rk3399";
interrupt-parent = <0x01>;
#address-cells = <0x02>;
#size-cells = <0x02>;
model = "Pine64 RockPro64 v2.0";
aliases {
ethernet0 = "/ethernet@fe300000";
i2c0 = "/i2c@ff3c0000";
i2c1 = "/i2c@ff110000";
i2c2 = "/i2c@ff120000";
i2c3 = "/i2c@ff130000";
i2c4 = "/i2c@ff3d0000";
i2c5 = "/i2c@ff140000";
i2c6 = "/i2c@ff150000";
i2c7 = "/i2c@ff160000";
i2c8 = "/i2c@ff3e0000";
serial0 = "/serial@ff180000";
serial1 = "/serial@ff190000";
serial2 = "/serial@ff1a0000";
serial3 = "/serial@ff1b0000";
serial4 = "/serial@ff370000";
};
cpus {
#address-cells = <0x02>;
#size-cells = <0x00>;
cpu-map {
cluster0 {
core0 {
cpu = <0x02>;
};
core1 {
cpu = <0x03>;
};
core2 {
cpu = <0x04>;
};
core3 {
cpu = <0x05>;
};
};
cluster1 {
core0 {
cpu = <0x06>;
};
core1 {
cpu = <0x07>;
};
};
};
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x00 0x00>;
enable-method = "psci";
capacity-dmips-mhz = <0x1e5>;
clocks = <0x08 0x08>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x64>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0b>;
cpu-supply = <0x0c>;
phandle = <0x02>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x00 0x01>;
enable-method = "psci";
capacity-dmips-mhz = <0x1e5>;
clocks = <0x08 0x08>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x64>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0b>;
cpu-supply = <0x0c>;
phandle = <0x03>;
};
cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x00 0x02>;
enable-method = "psci";
capacity-dmips-mhz = <0x1e5>;
clocks = <0x08 0x08>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x64>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0b>;
cpu-supply = <0x0c>;
phandle = <0x04>;
};
cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x00 0x03>;
enable-method = "psci";
capacity-dmips-mhz = <0x1e5>;
clocks = <0x08 0x08>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x64>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0b>;
cpu-supply = <0x0c>;
phandle = <0x05>;
};
cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x00 0x100>;
enable-method = "psci";
capacity-dmips-mhz = <0x400>;
clocks = <0x08 0x09>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x1b4>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0d>;
cpu-supply = <0x0e>;
phandle = <0x06>;
};
cpu@101 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0x00 0x101>;
enable-method = "psci";
capacity-dmips-mhz = <0x400>;
clocks = <0x08 0x09>;
#cooling-cells = <0x02>;
dynamic-power-coefficient = <0x1b4>;
cpu-idle-states = <0x09 0x0a>;
operating-points-v2 = <0x0d>;
cpu-supply = <0x0e>;
phandle = <0x07>;
};
idle-states {
entry-method = "psci";
cpu-sleep {
compatible = "arm,idle-state";
local-timer-stop;
arm,psci-suspend-param = <0x10000>;
entry-latency-us = <0x78>;
exit-latency-us = <0xfa>;
min-residency-us = <0x384>;
phandle = <0x09>;
};
cluster-sleep {
compatible = "arm,idle-state";
local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <0x190>;
exit-latency-us = <0x1f4>;
min-residency-us = <0x7d0>;
phandle = <0x0a>;
};
};
};
display-subsystem {
compatible = "rockchip,display-subsystem";
ports = <0x0f 0x10>;
};
pmu_a53 {
compatible = "arm,cortex-a53-pmu";
interrupts = <0x01 0x07 0x08 0x11>;
};
pmu_a72 {
compatible = "arm,cortex-a72-pmu";
interrupts = <0x01 0x07 0x08 0x12>;
};
psci {
compatible = "arm,psci-1.0";
method = "smc";
};
timer {
compatible = "arm,armv8-timer";
interrupts = <0x01 0x0d 0x08 0x00 0x01 0x0e 0x08 0x00 0x01 0x0b 0x08 0x00 0x01 0x0a 0x08 0x00>;
arm,no-tick-in-suspend;
};
xin24m {
compatible = "fixed-clock";
clock-frequency = <0x16e3600>;
clock-output-names = "xin24m";
#clock-cells = <0x00>;
phandle = <0xca>;
};
bus {
compatible = "simple-bus";
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
phandle = <0xcb>;
dma-controller@ff6d0000 {
compatible = "arm,pl330\0arm,primecell";
reg = <0x00 0xff6d0000 0x00 0x4000>;
interrupts = <0x00 0x05 0x04 0x00 0x00 0x06 0x04 0x00>;
#dma-cells = <0x01>;
clocks = <0x08 0xd3>;
clock-names = "apb_pclk";
phandle = <0x5b>;
};
dma-controller@ff6e0000 {
compatible = "arm,pl330\0arm,primecell";
reg = <0x00 0xff6e0000 0x00 0x4000>;
interrupts = <0x00 0x07 0x04 0x00 0x00 0x08 0x04 0x00>;
#dma-cells = <0x01>;
clocks = <0x08 0xd4>;
clock-names = "apb_pclk";
phandle = <0x4a>;
};
};
pcie@f8000000 {
compatible = "rockchip,rk3399-pcie";
reg = <0x00 0xf8000000 0x00 0x2000000 0x00 0xfd000000 0x00 0x1000000>;
reg-names = "axi-base\0apb-base";
#address-cells = <0x03>;
#size-cells = <0x02>;
#interrupt-cells = <0x01>;
aspm-no-l0s;
bus-range = <0x00 0x1f>;
clocks = <0x08 0xc5 0x08 0xc4 0x08 0x147 0x08 0xa0>;
clock-names = "aclk\0aclk-perf\0hclk\0pm";
interrupts = <0x00 0x31 0x04 0x00 0x00 0x32 0x04 0x00 0x00 0x33 0x04 0x00>;
interrupt-names = "sys\0legacy\0client";
interrupt-map-mask = <0x00 0x00 0x00 0x07>;
interrupt-map = <0x00 0x00 0x00 0x01 0x13 0x00 0x00 0x00 0x00 0x02 0x13 0x01 0x00 0x00 0x00 0x03 0x13 0x02 0x00 0x00 0x00 0x04 0x13 0x03>;
linux,pci-domain = <0x00>;
max-link-speed = <0x02>;
msi-map = <0x00 0x14 0x00 0x1000>;
phys = <0x15 0x00 0x15 0x01 0x15 0x02 0x15 0x03>;
phy-names = "pcie-phy-0\0pcie-phy-1\0pcie-phy-2\0pcie-phy-3";
ranges = <0x83000000 0x00 0xfa000000 0x00 0xfa000000 0x00 0x1e00000 0x81000000 0x00 0xfbe00000 0x00 0xfbe00000 0x00 0x100000>;
resets = <0x08 0x82 0x08 0x83 0x08 0x84 0x08 0x85 0x08 0x86 0x08 0x81 0x08 0x80>;
reset-names = "core\0mgmt\0mgmt-sticky\0pipe\0pm\0pclk\0aclk";
status = "okay";
ep-gpios = <0x16 0x1c 0x00>;
num-lanes = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x17>;
vpcie3v3-supply = <0x18>;
bus-scan-delay-ms = <0x3e8>;
phandle = <0xcc>;
interrupt-controller {
interrupt-controller;
#address-cells = <0x00>;
#interrupt-cells = <0x01>;
phandle = <0x13>;
};
};
ethernet@fe300000 {
compatible = "rockchip,rk3399-gmac";
reg = <0x00 0xfe300000 0x00 0x10000>;
interrupts = <0x00 0x0c 0x04 0x00>;
interrupt-names = "macirq";
clocks = <0x08 0x69 0x08 0x67 0x08 0x68 0x08 0x66 0x08 0x6a 0x08 0xd5 0x08 0x166>;
clock-names = "stmmaceth\0mac_clk_rx\0mac_clk_tx\0clk_mac_ref\0clk_mac_refout\0aclk_mac\0pclk_mac";
power-domains = <0x19 0x16>;
resets = <0x08 0x89>;
reset-names = "stmmaceth";
rockchip,grf = <0x1a>;
snps,txpbl = <0x04>;
status = "okay";
assigned-clocks = <0x08 0xa6>;
assigned-clock-parents = <0x1b>;
clock_in_out = "input";
phy-supply = <0x1c>;
phy-mode = "rgmii";
pinctrl-names = "default";
pinctrl-0 = <0x1d>;
snps,reset-gpio = <0x1e 0x0f 0x01>;
snps,reset-active-low;
snps,reset-delays-us = <0x00 0x2710 0xc350>;
tx_delay = <0x28>;
rx_delay = <0x11>;
phandle = <0xcd>;
};
mmc@fe310000 {
compatible = "rockchip,rk3399-dw-mshc\0rockchip,rk3288-dw-mshc";
reg = <0x00 0xfe310000 0x00 0x4000>;
interrupts = <0x00 0x40 0x04 0x00>;
max-frequency = <0x8f0d180>;
clocks = <0x08 0x1ee 0x08 0x4d 0x08 0x9c 0x08 0x9d>;
clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
fifo-depth = <0x100>;
power-domains = <0x19 0x1c>;
resets = <0x08 0x79>;
reset-names = "reset";
status = "okay";
bus-width = <0x04>;
cap-sd-highspeed;
cap-sdio-irq;
disable-wp;
keep-power-in-suspend;
mmc-pwrseq = <0x1f>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <0x20 0x21 0x22>;
sd-uhs-sdr104;
phandle = <0xce>;
};
mmc@fe320000 {
compatible = "rockchip,rk3399-dw-mshc\0rockchip,rk3288-dw-mshc";
reg = <0x00 0xfe320000 0x00 0x4000>;
interrupts = <0x00 0x41 0x04 0x00>;
max-frequency = <0x8f0d180>;
assigned-clocks = <0x08 0x1cd>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x1ce 0x08 0x4c 0x08 0x9a 0x08 0x9b>;
clock-names = "biu\0ciu\0ciu-drive\0ciu-sample";
fifo-depth = <0x100>;
power-domains = <0x19 0x1b>;
resets = <0x08 0x7a>;
reset-names = "reset";
status = "okay";
bus-width = <0x04>;
cap-sd-highspeed;
cd-gpios = <0x23 0x07 0x01>;
disable-wp;
pinctrl-names = "default";
pinctrl-0 = <0x24 0x25 0x26>;
vmmc-supply = <0x27>;
vqmmc-supply = <0x28>;
phandle = <0xcf>;
};
sdhci@fe330000 {
compatible = "rockchip,rk3399-sdhci-5.1\0arasan,sdhci-5.1";
reg = <0x00 0xfe330000 0x00 0x10000>;
interrupts = <0x00 0x0b 0x04 0x00>;
arasan,soc-ctl-syscon = <0x1a>;
assigned-clocks = <0x08 0x4e>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x4e 0x08 0xf0>;
clock-names = "clk_xin\0clk_ahb";
clock-output-names = "emmc_cardclock";
#clock-cells = <0x00>;
phys = <0x29>;
phy-names = "phy_arasan";
power-domains = <0x19 0x17>;
disable-cqe-dcmd;
status = "okay";
bus-width = <0x08>;
mmc-hs200-1_8v;
non-removable;
phandle = <0x97>;
};
usb@fe380000 {
compatible = "generic-ehci";
reg = <0x00 0xfe380000 0x00 0x20000>;
interrupts = <0x00 0x1a 0x04 0x00>;
clocks = <0x08 0x1c8 0x08 0x1c9 0x2a>;
phys = <0x2b>;
phy-names = "usb";
status = "okay";
phandle = <0xd0>;
};
usb@fe3a0000 {
compatible = "generic-ohci";
reg = <0x00 0xfe3a0000 0x00 0x20000>;
interrupts = <0x00 0x1c 0x04 0x00>;
clocks = <0x08 0x1c8 0x08 0x1c9 0x2a>;
phys = <0x2b>;
phy-names = "usb";
status = "okay";
phandle = <0xd1>;
};
usb@fe3c0000 {
compatible = "generic-ehci";
reg = <0x00 0xfe3c0000 0x00 0x20000>;
interrupts = <0x00 0x1e 0x04 0x00>;
clocks = <0x08 0x1ca 0x08 0x1cb 0x2c>;
phys = <0x2d>;
phy-names = "usb";
status = "okay";
phandle = <0xd2>;
};
usb@fe3e0000 {
compatible = "generic-ohci";
reg = <0x00 0xfe3e0000 0x00 0x20000>;
interrupts = <0x00 0x20 0x04 0x00>;
clocks = <0x08 0x1ca 0x08 0x1cb 0x2c>;
phys = <0x2d>;
phy-names = "usb";
status = "okay";
phandle = <0xd3>;
};
usb@fe800000 {
compatible = "rockchip,rk3399-dwc3";
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
clocks = <0x08 0x81 0x08 0x83 0x08 0xf6 0x08 0xf8 0x08 0xf4 0x08 0xf9>;
clock-names = "ref_clk\0suspend_clk\0bus_clk\0aclk_usb3_rksoc_axi_perf\0aclk_usb3\0grf_clk";
resets = <0x08 0x125>;
reset-names = "usb3-otg";
status = "okay";
phandle = <0xd4>;
usb@fe800000 {
compatible = "snps,dwc3";
reg = <0x00 0xfe800000 0x00 0x100000>;
interrupts = <0x00 0x69 0x04 0x00>;
clocks = <0x08 0x81 0x08 0xf6 0x08 0x83>;
clock-names = "ref\0bus_early\0suspend";
dr_mode = "otg";
phys = <0x2e 0x2f>;
phy-names = "usb2-phy\0usb3-phy";
phy_type = "utmi_wide";
snps,dis_enblslpm_quirk;
snps,dis-u2-freeclk-exists-quirk;
snps,dis_u2_susphy_quirk;
snps,dis-del-phy-power-chg-quirk;
snps,dis-tx-ipgap-linecheck-quirk;
power-domains = <0x19 0x18>;
status = "okay";
phandle = <0xd5>;
};
};
usb@fe900000 {
compatible = "rockchip,rk3399-dwc3";
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
clocks = <0x08 0x82 0x08 0x84 0x08 0xf7 0x08 0xf8 0x08 0xf4 0x08 0xf9>;
clock-names = "ref_clk\0suspend_clk\0bus_clk\0aclk_usb3_rksoc_axi_perf\0aclk_usb3\0grf_clk";
resets = <0x08 0x126>;
reset-names = "usb3-otg";
status = "okay";
phandle = <0xd6>;
usb@fe900000 {
compatible = "snps,dwc3";
reg = <0x00 0xfe900000 0x00 0x100000>;
interrupts = <0x00 0x6e 0x04 0x00>;
clocks = <0x08 0x82 0x08 0xf7 0x08 0x84>;
clock-names = "ref\0bus_early\0suspend";
dr_mode = "host";
phys = <0x30 0x31>;
phy-names = "usb2-phy\0usb3-phy";
phy_type = "utmi_wide";
snps,dis_enblslpm_quirk;
snps,dis-u2-freeclk-exists-quirk;
snps,dis_u2_susphy_quirk;
snps,dis-del-phy-power-chg-quirk;
snps,dis-tx-ipgap-linecheck-quirk;
power-domains = <0x19 0x18>;
status = "okay";
phandle = <0xd7>;
};
};
dp@fec00000 {
compatible = "rockchip,rk3399-cdn-dp";
reg = <0x00 0xfec00000 0x00 0x100000>;
interrupts = <0x00 0x09 0x04 0x00>;
assigned-clocks = <0x08 0x72 0x08 0xa1>;
assigned-clock-rates = <0x5f5e100 0xbebc200>;
clocks = <0x08 0x72 0x08 0x175 0x08 0xa1 0x08 0x16f>;
clock-names = "core-clk\0pclk\0spdif\0grf";
phys = <0x32 0x33>;
power-domains = <0x19 0x15>;
resets = <0x08 0x103 0x08 0x148 0x08 0x14a 0x08 0xfd>;
reset-names = "spdif\0dptx\0apb\0core";
rockchip,grf = <0x1a>;
#sound-dai-cells = <0x01>;
status = "disabled";
phandle = <0xd8>;
ports {
port {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0xd9>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0x34>;
phandle = <0xa7>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0x35>;
phandle = <0xa1>;
};
};
};
};
interrupt-controller@fee00000 {
compatible = "arm,gic-v3";
#interrupt-cells = <0x04>;
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
interrupt-controller;
reg = <0x00 0xfee00000 0x00 0x10000 0x00 0xfef00000 0x00 0xc0000 0x00 0xfff00000 0x00 0x10000 0x00 0xfff10000 0x00 0x10000 0x00 0xfff20000 0x00 0x10000>;
interrupts = <0x01 0x09 0x04 0x00>;
phandle = <0x01>;
interrupt-controller@fee20000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <0x01>;
reg = <0x00 0xfee20000 0x00 0x20000>;
phandle = <0x14>;
};
ppi-partitions {
interrupt-partition-0 {
affinity = <0x02 0x03 0x04 0x05>;
phandle = <0x11>;
};
interrupt-partition-1 {
affinity = <0x06 0x07>;
phandle = <0x12>;
};
};
};
saradc@ff100000 {
compatible = "rockchip,rk3399-saradc";
reg = <0x00 0xff100000 0x00 0x100>;
interrupts = <0x00 0x3e 0x04 0x00>;
#io-channel-cells = <0x01>;
clocks = <0x08 0x50 0x08 0x165>;
clock-names = "saradc\0apb_pclk";
resets = <0x08 0xd4>;
reset-names = "saradc-apb";
status = "okay";
vref-supply = <0x36>;
phandle = <0xda>;
};
i2c@ff110000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff110000 0x00 0x1000>;
assigned-clocks = <0x08 0x41>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x41 0x08 0x155>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x3b 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x37>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "okay";
i2c-scl-rising-time-ns = <0x12c>;
i2c-scl-falling-time-ns = <0x0f>;
phandle = <0xdb>;
codec@10 {
compatible = "everest,es8316";
reg = <0x10>;
clocks = <0x08 0x59>;
clock-names = "mclk";
#sound-dai-cells = <0x00>;
phandle = <0xdc>;
port {
endpoint {
remote-endpoint = <0x38>;
phandle = <0x9b>;
};
};
};
};
i2c@ff120000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff120000 0x00 0x1000>;
assigned-clocks = <0x08 0x42>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x42 0x08 0x156>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x23 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x39>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xdd>;
};
i2c@ff130000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff130000 0x00 0x1000>;
assigned-clocks = <0x08 0x43>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x43 0x08 0x157>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x22 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x3a>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "okay";
i2c-scl-rising-time-ns = <0x1c2>;
i2c-scl-falling-time-ns = <0x0f>;
phandle = <0xaa>;
};
i2c@ff140000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff140000 0x00 0x1000>;
assigned-clocks = <0x08 0x44>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x44 0x08 0x158>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x26 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x3b>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xde>;
};
i2c@ff150000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff150000 0x00 0x1000>;
assigned-clocks = <0x08 0x45>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x45 0x08 0x159>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x25 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x3c>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xdf>;
};
i2c@ff160000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff160000 0x00 0x1000>;
assigned-clocks = <0x08 0x46>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x08 0x46 0x08 0x15a>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x24 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x3d>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xe0>;
};
serial@ff180000 {
compatible = "rockchip,rk3399-uart\0snps,dw-apb-uart";
reg = <0x00 0xff180000 0x00 0x100>;
clocks = <0x08 0x51 0x08 0x160>;
clock-names = "baudclk\0apb_pclk";
interrupts = <0x00 0x63 0x04 0x00>;
reg-shift = <0x02>;
reg-io-width = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x3e 0x3f 0x40>;
status = "okay";
phandle = <0xe1>;
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <0x41 0x01>;
clock-names = "lpo";
device-wakeup-gpios = <0x16 0x1b 0x00>;
host-wakeup-gpios = <0x23 0x04 0x00>;
shutdown-gpios = <0x23 0x09 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x42 0x43 0x44>;
vbat-supply = <0x45>;
vddio-supply = <0x46>;
};
};
serial@ff190000 {
compatible = "rockchip,rk3399-uart\0snps,dw-apb-uart";
reg = <0x00 0xff190000 0x00 0x100>;
clocks = <0x08 0x52 0x08 0x161>;
clock-names = "baudclk\0apb_pclk";
interrupts = <0x00 0x62 0x04 0x00>;
reg-shift = <0x02>;
reg-io-width = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x47>;
status = "disabled";
phandle = <0xe2>;
};
serial@ff1a0000 {
compatible = "rockchip,rk3399-uart\0snps,dw-apb-uart";
reg = <0x00 0xff1a0000 0x00 0x100>;
clocks = <0x08 0x53 0x08 0x162>;
clock-names = "baudclk\0apb_pclk";
interrupts = <0x00 0x64 0x04 0x00>;
reg-shift = <0x02>;
reg-io-width = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x48>;
status = "okay";
phandle = <0xe3>;
};
serial@ff1b0000 {
compatible = "rockchip,rk3399-uart\0snps,dw-apb-uart";
reg = <0x00 0xff1b0000 0x00 0x100>;
clocks = <0x08 0x54 0x08 0x163>;
clock-names = "baudclk\0apb_pclk";
interrupts = <0x00 0x65 0x04 0x00>;
reg-shift = <0x02>;
reg-io-width = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x49>;
status = "disabled";
phandle = <0xe4>;
};
spi@ff1c0000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff1c0000 0x00 0x1000>;
clocks = <0x08 0x47 0x08 0x15b>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x44 0x04 0x00>;
dmas = <0x4a 0x0a 0x4a 0x0b>;
dma-names = "tx\0rx";
pinctrl-names = "default";
pinctrl-0 = <0x4b 0x4c 0x4d 0x4e>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xe5>;
};
spi@ff1d0000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff1d0000 0x00 0x1000>;
clocks = <0x08 0x48 0x08 0x15c>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x35 0x04 0x00>;
dmas = <0x4a 0x0c 0x4a 0x0d>;
dma-names = "tx\0rx";
pinctrl-names = "default";
pinctrl-0 = <0x4f 0x50 0x51 0x52>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "okay";
phandle = <0xe6>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x00>;
spi-max-frequency = <0x989680>;
};
};
spi@ff1e0000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff1e0000 0x00 0x1000>;
clocks = <0x08 0x49 0x08 0x15d>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x34 0x04 0x00>;
dmas = <0x4a 0x0e 0x4a 0x0f>;
dma-names = "tx\0rx";
pinctrl-names = "default";
pinctrl-0 = <0x53 0x54 0x55 0x56>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xe7>;
};
spi@ff1f0000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff1f0000 0x00 0x1000>;
clocks = <0x08 0x4a 0x08 0x15e>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x43 0x04 0x00>;
dmas = <0x4a 0x12 0x4a 0x13>;
dma-names = "tx\0rx";
pinctrl-names = "default";
pinctrl-0 = <0x57 0x58 0x59 0x5a>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xe8>;
};
spi@ff200000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff200000 0x00 0x1000>;
clocks = <0x08 0x4b 0x08 0x15f>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x84 0x04 0x00>;
dmas = <0x5b 0x08 0x5b 0x09>;
dma-names = "tx\0rx";
pinctrl-names = "default";
pinctrl-0 = <0x5c 0x5d 0x5e 0x5f>;
power-domains = <0x19 0x1c>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xe9>;
};
thermal-zones {
phandle = <0xea>;
cpu {
polling-delay-passive = <0x64>;
polling-delay = <0x3e8>;
thermal-sensors = <0x60 0x00>;
phandle = <0xeb>;
trips {
cpu_alert0 {
temperature = <0x11170>;
hysteresis = <0x7d0>;
type = "passive";
phandle = <0x61>;
};
cpu_alert1 {
temperature = <0x124f8>;
hysteresis = <0x7d0>;
type = "passive";
phandle = <0x62>;
};
cpu_crit {
temperature = <0x17318>;
hysteresis = <0x7d0>;
type = "critical";
phandle = <0xec>;
};
};
cooling-maps {
map0 {
trip = <0x61>;
cooling-device = <0x06 0xffffffff 0xffffffff 0x07 0xffffffff 0xffffffff>;
};
map1 {
trip = <0x62>;
cooling-device = <0x02 0xffffffff 0xffffffff 0x03 0xffffffff 0xffffffff 0x04 0xffffffff 0xffffffff 0x05 0xffffffff 0xffffffff 0x06 0xffffffff 0xffffffff 0x07 0xffffffff 0xffffffff>;
};
};
};
gpu {
polling-delay-passive = <0x64>;
polling-delay = <0x3e8>;
thermal-sensors = <0x60 0x01>;
phandle = <0xed>;
trips {
gpu_alert0 {
temperature = <0x124f8>;
hysteresis = <0x7d0>;
type = "passive";
phandle = <0x63>;
};
gpu_crit {
temperature = <0x17318>;
hysteresis = <0x7d0>;
type = "critical";
phandle = <0xee>;
};
};
cooling-maps {
map0 {
trip = <0x63>;
cooling-device = <0x64 0xffffffff 0xffffffff>;
};
};
};
};
tsadc@ff260000 {
compatible = "rockchip,rk3399-tsadc";
reg = <0x00 0xff260000 0x00 0x100>;
interrupts = <0x00 0x61 0x04 0x00>;
assigned-clocks = <0x08 0x4f>;
assigned-clock-rates = <0xb71b0>;
clocks = <0x08 0x4f 0x08 0x164>;
clock-names = "tsadc\0apb_pclk";
resets = <0x08 0xe8>;
reset-names = "tsadc-apb";
rockchip,grf = <0x1a>;
rockchip,hw-tshut-temp = <0x17318>;
pinctrl-names = "init\0default\0sleep";
pinctrl-0 = <0x65>;
pinctrl-1 = <0x66>;
pinctrl-2 = <0x65>;
#thermal-sensor-cells = <0x01>;
status = "okay";
rockchip,hw-tshut-mode = <0x01>;
rockchip,hw-tshut-polarity = <0x01>;
phandle = <0x60>;
};
qos@ffa58000 {
compatible = "syscon";
reg = <0x00 0xffa58000 0x00 0x20>;
phandle = <0x6e>;
};
qos@ffa5c000 {
compatible = "syscon";
reg = <0x00 0xffa5c000 0x00 0x20>;
phandle = <0x6f>;
};
qos@ffa60080 {
compatible = "syscon";
reg = <0x00 0xffa60080 0x00 0x20>;
phandle = <0xef>;
};
qos@ffa60100 {
compatible = "syscon";
reg = <0x00 0xffa60100 0x00 0x20>;
phandle = <0xf0>;
};
qos@ffa60180 {
compatible = "syscon";
reg = <0x00 0xffa60180 0x00 0x20>;
phandle = <0xf1>;
};
qos@ffa70000 {
compatible = "syscon";
reg = <0x00 0xffa70000 0x00 0x20>;
phandle = <0x72>;
};
qos@ffa70080 {
compatible = "syscon";
reg = <0x00 0xffa70080 0x00 0x20>;
phandle = <0x73>;
};
qos@ffa74000 {
compatible = "syscon";
reg = <0x00 0xffa74000 0x00 0x20>;
phandle = <0x70>;
};
qos@ffa76000 {
compatible = "syscon";
reg = <0x00 0xffa76000 0x00 0x20>;
phandle = <0x71>;
};
qos@ffa90000 {
compatible = "syscon";
reg = <0x00 0xffa90000 0x00 0x20>;
phandle = <0x74>;
};
qos@ffa98000 {
compatible = "syscon";
reg = <0x00 0xffa98000 0x00 0x20>;
phandle = <0x67>;
};
qos@ffaa0000 {
compatible = "syscon";
reg = <0x00 0xffaa0000 0x00 0x20>;
phandle = <0x75>;
};
qos@ffaa0080 {
compatible = "syscon";
reg = <0x00 0xffaa0080 0x00 0x20>;
phandle = <0x76>;
};
qos@ffaa8000 {
compatible = "syscon";
reg = <0x00 0xffaa8000 0x00 0x20>;
phandle = <0x77>;
};
qos@ffaa8080 {
compatible = "syscon";
reg = <0x00 0xffaa8080 0x00 0x20>;
phandle = <0x78>;
};
qos@ffab0000 {
compatible = "syscon";
reg = <0x00 0xffab0000 0x00 0x20>;
phandle = <0x68>;
};
qos@ffab0080 {
compatible = "syscon";
reg = <0x00 0xffab0080 0x00 0x20>;
phandle = <0x69>;
};
qos@ffab8000 {
compatible = "syscon";
reg = <0x00 0xffab8000 0x00 0x20>;
phandle = <0x6a>;
};
qos@ffac0000 {
compatible = "syscon";
reg = <0x00 0xffac0000 0x00 0x20>;
phandle = <0x6b>;
};
qos@ffac0080 {
compatible = "syscon";
reg = <0x00 0xffac0080 0x00 0x20>;
phandle = <0x6c>;
};
qos@ffac8000 {
compatible = "syscon";
reg = <0x00 0xffac8000 0x00 0x20>;
phandle = <0x79>;
};
qos@ffac8080 {
compatible = "syscon";
reg = <0x00 0xffac8080 0x00 0x20>;
phandle = <0x7a>;
};
qos@ffad0000 {
compatible = "syscon";
reg = <0x00 0xffad0000 0x00 0x20>;
phandle = <0x7b>;
};
qos@ffad8080 {
compatible = "syscon";
reg = <0x00 0xffad8080 0x00 0x20>;
phandle = <0xf2>;
};
qos@ffae0000 {
compatible = "syscon";
reg = <0x00 0xffae0000 0x00 0x20>;
phandle = <0x6d>;
};
power-management@ff310000 {
compatible = "rockchip,rk3399-pmu\0syscon\0simple-mfd";
reg = <0x00 0xff310000 0x00 0x1000>;
phandle = <0xf3>;
power-controller {
compatible = "rockchip,rk3399-power-controller";
#power-domain-cells = <0x01>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x19>;
pd_iep@34 {
reg = <0x22>;
clocks = <0x08 0xe1 0x08 0x1dd>;
pm_qos = <0x67>;
};
pd_rga@33 {
reg = <0x21>;
clocks = <0x08 0xdc 0x08 0x1e5>;
pm_qos = <0x68 0x69>;
};
pd_vcodec@31 {
reg = <0x1f>;
clocks = <0x08 0xeb 0x08 0x1ea>;
pm_qos = <0x6a>;
};
pd_vdu@32 {
reg = <0x20>;
clocks = <0x08 0xed 0x08 0x1ec>;
pm_qos = <0x6b 0x6c>;
};
pd_gpu@35 {
reg = <0x23>;
clocks = <0x08 0xd0>;
pm_qos = <0x6d>;
};
pd_edp@25 {
reg = <0x19>;
clocks = <0x08 0x16c>;
};
pd_emmc@23 {
reg = <0x17>;
clocks = <0x08 0xf0>;
pm_qos = <0x6e>;
};
pd_gmac@22 {
reg = <0x16>;
clocks = <0x08 0xd5 0x08 0x166>;
pm_qos = <0x6f>;
};
pd_sd@27 {
reg = <0x1b>;
clocks = <0x08 0x1ce 0x08 0x4c>;
pm_qos = <0x70>;
};
pd_sdioaudio@28 {
reg = <0x1c>;
clocks = <0x08 0x1ee>;
pm_qos = <0x71>;
};
pd_tcpc0@8 {
reg = <0x08>;
clocks = <0x08 0x7e 0x08 0x7d>;
};
pd_tcpc1@9 {
reg = <0x09>;
clocks = <0x08 0x80 0x08 0x7f>;
};
pd_usb3@24 {
reg = <0x18>;
clocks = <0x08 0xf4>;
pm_qos = <0x72 0x73>;
};
pd_vio@15 {
reg = <0x0f>;
#address-cells = <0x01>;
#size-cells = <0x00>;
pd_hdcp@21 {
reg = <0x15>;
clocks = <0x08 0xde 0x08 0x1e7 0x08 0x172>;
pm_qos = <0x74>;
};
pd_isp0@19 {
reg = <0x13>;
clocks = <0x08 0xe5 0x08 0x1df>;
pm_qos = <0x75 0x76>;
};
pd_isp1@20 {
reg = <0x14>;
clocks = <0x08 0xe6 0x08 0x1e0>;
pm_qos = <0x77 0x78>;
};
pd_vo@16 {
reg = <0x10>;
#address-cells = <0x01>;
#size-cells = <0x00>;
pd_vopb@17 {
reg = <0x11>;
clocks = <0x08 0xd9 0x08 0x1d9>;
pm_qos = <0x79 0x7a>;
};
pd_vopl@18 {
reg = <0x12>;
clocks = <0x08 0xdb 0x08 0x1db>;
pm_qos = <0x7b>;
};
};
};
};
};
syscon@ff320000 {
compatible = "rockchip,rk3399-pmugrf\0syscon\0simple-mfd";
reg = <0x00 0xff320000 0x00 0x1000>;
phandle = <0x94>;
io-domains {
compatible = "rockchip,rk3399-pmu-io-voltage-domain";
status = "okay";
pmu1830-supply = <0x7c>;
phandle = <0xf4>;
};
};
spi@ff350000 {
compatible = "rockchip,rk3399-spi\0rockchip,rk3066-spi";
reg = <0x00 0xff350000 0x00 0x1000>;
clocks = <0x7d 0x03 0x7d 0x1f>;
clock-names = "spiclk\0apb_pclk";
interrupts = <0x00 0x3c 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x7e 0x7f 0x80 0x81>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0xf5>;
};
serial@ff370000 {
compatible = "rockchip,rk3399-uart\0snps,dw-apb-uart";
reg = <0x00 0xff370000 0x00 0x100>;
clocks = <0x7d 0x06 0x7d 0x22>;
clock-names = "baudclk\0apb_pclk";
interrupts = <0x00 0x66 0x04 0x00>;
reg-shift = <0x02>;
reg-io-width = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x82>;
status = "disabled";
phandle = <0xf6>;
};
i2c@ff3c0000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff3c0000 0x00 0x1000>;
assigned-clocks = <0x7d 0x09>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x7d 0x09 0x7d 0x1b>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x39 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x83>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "okay";
clock-frequency = <0x61a80>;
i2c-scl-rising-time-ns = <0xa8>;
i2c-scl-falling-time-ns = <0x04>;
phandle = <0xf7>;
pmic@1b {
compatible = "rockchip,rk808";
reg = <0x1b>;
interrupt-parent = <0x1e>;
interrupts = <0x0a 0x08>;
#clock-cells = <0x01>;
clock-output-names = "xin32k\0rk808-clkout2";
pinctrl-names = "default";
pinctrl-0 = <0x84>;
rockchip,system-power-controller;
wakeup-source;
vcc1-supply = <0x85>;
vcc2-supply = <0x85>;
vcc3-supply = <0x85>;
vcc4-supply = <0x85>;
vcc6-supply = <0x85>;
vcc7-supply = <0x85>;
vcc8-supply = <0x45>;
vcc9-supply = <0x85>;
vcc10-supply = <0x85>;
vcc11-supply = <0x85>;
vcc12-supply = <0x45>;
vddio-supply = <0x86>;
phandle = <0x41>;
regulators {
DCDC_REG1 {
regulator-name = "vdd_center";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0xb71b0>;
regulator-max-microvolt = <0x149970>;
regulator-ramp-delay = <0x1771>;
phandle = <0xf8>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
DCDC_REG2 {
regulator-name = "vdd_cpu_l";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0xb71b0>;
regulator-max-microvolt = <0x149970>;
regulator-ramp-delay = <0x1771>;
phandle = <0x0c>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
DCDC_REG3 {
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
phandle = <0xf9>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
DCDC_REG4 {
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
phandle = <0x46>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <0x1b7740>;
};
};
LDO_REG1 {
regulator-name = "vcc1v8_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
phandle = <0x95>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
LDO_REG2 {
regulator-name = "vcc3v0_touch";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x2dc6c0>;
regulator-max-microvolt = <0x2dc6c0>;
phandle = <0xfa>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
LDO_REG3 {
regulator-name = "vcca_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
phandle = <0x86>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <0x1b7740>;
};
};
LDO_REG4 {
regulator-name = "vcc_sdio";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x2dc6c0>;
phandle = <0x28>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <0x2dc6c0>;
};
};
LDO_REG5 {
regulator-name = "vcca3v0_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x2dc6c0>;
regulator-max-microvolt = <0x2dc6c0>;
phandle = <0xfb>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
LDO_REG6 {
regulator-name = "vcc_1v5";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x16e360>;
regulator-max-microvolt = <0x16e360>;
phandle = <0xfc>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <0x16e360>;
};
};
LDO_REG7 {
regulator-name = "vcca1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
phandle = <0xfd>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
LDO_REG8 {
regulator-name = "vcc_3v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x2dc6c0>;
regulator-max-microvolt = <0x2dc6c0>;
phandle = <0x7c>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <0x2dc6c0>;
};
};
SWITCH_REG1 {
regulator-name = "vcc3v3_s3";
regulator-always-on;
regulator-boot-on;
phandle = <0x1c>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
SWITCH_REG2 {
regulator-name = "vcc3v3_s0";
regulator-always-on;
regulator-boot-on;
phandle = <0xfe>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};
regulator@40 {
compatible = "silergy,syr827";
reg = <0x40>;
fcs,suspend-voltage-selector = <0x01>;
pinctrl-names = "default";
pinctrl-0 = <0x87>;
regulator-name = "vdd_cpu_b";
regulator-min-microvolt = <0xadf34>;
regulator-max-microvolt = <0x16e360>;
regulator-ramp-delay = <0x3e8>;
regulator-always-on;
regulator-boot-on;
vin-supply = <0x85>;
phandle = <0x0e>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
regulator@41 {
compatible = "silergy,syr828";
reg = <0x41>;
fcs,suspend-voltage-selector = <0x01>;
pinctrl-names = "default";
pinctrl-0 = <0x88>;
regulator-name = "vdd_gpu";
regulator-min-microvolt = <0xadf34>;
regulator-max-microvolt = <0x16e360>;
regulator-ramp-delay = <0x3e8>;
regulator-always-on;
regulator-boot-on;
vin-supply = <0x85>;
phandle = <0xb6>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
i2c@ff3d0000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff3d0000 0x00 0x1000>;
assigned-clocks = <0x7d 0x0a>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x7d 0x0a 0x7d 0x1c>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x38 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x89>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "okay";
i2c-scl-rising-time-ns = <0x258>;
i2c-scl-falling-time-ns = <0x14>;
phandle = <0xff>;
typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <0x8a>;
interrupts = <0x02 0x08>;
pinctrl-names = "default";
pinctrl-0 = <0x8b>;
vbus-supply = <0x8c>;
status = "okay";
phandle = <0x100>;
};
};
i2c@ff3e0000 {
compatible = "rockchip,rk3399-i2c";
reg = <0x00 0xff3e0000 0x00 0x1000>;
assigned-clocks = <0x7d 0x0b>;
assigned-clock-rates = <0xbebc200>;
clocks = <0x7d 0x0b 0x7d 0x1d>;
clock-names = "i2c\0pclk";
interrupts = <0x00 0x3a 0x04 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x8d>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0x101>;
};
pwm@ff420000 {
compatible = "rockchip,rk3399-pwm\0rockchip,rk3288-pwm";
reg = <0x00 0xff420000 0x00 0x10>;
#pwm-cells = <0x03>;
pinctrl-names = "default";
pinctrl-0 = <0x8e>;
clocks = <0x7d 0x1e>;
clock-names = "pwm";
status = "okay";
phandle = <0x102>;
};
pwm@ff420010 {
compatible = "rockchip,rk3399-pwm\0rockchip,rk3288-pwm";
reg = <0x00 0xff420010 0x00 0x10>;
#pwm-cells = <0x03>;
pinctrl-names = "default";
pinctrl-0 = <0x8f>;
clocks = <0x7d 0x1e>;
clock-names = "pwm";
status = "okay";
phandle = <0xc0>;
};
pwm@ff420020 {
compatible = "rockchip,rk3399-pwm\0rockchip,rk3288-pwm";
reg = <0x00 0xff420020 0x00 0x10>;
#pwm-cells = <0x03>;
pinctrl-names = "default";
pinctrl-0 = <0x90>;
clocks = <0x7d 0x1e>;
clock-names = "pwm";
status = "okay";
phandle = <0xc9>;
};
pwm@ff420030 {
compatible = "rockchip,rk3399-pwm\0rockchip,rk3288-pwm";
reg = <0x00 0xff420030 0x00 0x10>;
#pwm-cells = <0x03>;
pinctrl-names = "default";
pinctrl-0 = <0x91>;
clocks = <0x7d 0x1e>;
clock-names = "pwm";
status = "disabled";
phandle = <0x103>;
};
video-codec@ff650000 {
compatible = "rockchip,rk3399-vpu";
reg = <0x00 0xff650000 0x00 0x800>;
interrupts = <0x00 0x72 0x04 0x00 0x00 0x71 0x04 0x00>;
interrupt-names = "vepu\0vdpu";
clocks = <0x08 0xeb 0x08 0x1ea>;
clock-names = "aclk\0hclk";
iommus = <0x92>;
power-domains = <0x19 0x1f>;
phandle = <0x104>;
};
iommu@ff650800 {
compatible = "rockchip,iommu";
reg = <0x00 0xff650800 0x00 0x40>;
interrupts = <0x00 0x73 0x04 0x00>;
interrupt-names = "vpu_mmu";
clocks = <0x08 0xeb 0x08 0x1ea>;
clock-names = "aclk\0iface";
#iommu-cells = <0x00>;
power-domains = <0x19 0x1f>;
phandle = <0x92>;
};
video-codec@ff660000 {
compatible = "rockchip,rk3399-vdec";
reg = <0x00 0xff660000 0x00 0x400>;
interrupts = <0x00 0x74 0x04 0x00>;
interrupt-names = "vdpu";
clocks = <0x08 0xed 0x08 0x1ec 0x08 0x9f 0x08 0x9e>;
clock-names = "axi\0ahb\0cabac\0core";
iommus = <0x93>;
power-domains = <0x19 0x20>;
phandle = <0x105>;
};
iommu@ff660480 {
compatible = "rockchip,iommu";
reg = <0x00 0xff660480 0x00 0x40 0x00 0xff6604c0 0x00 0x40>;
interrupts = <0x00 0x75 0x04 0x00>;
interrupt-names = "vdec_mmu";
clocks = <0x08 0xed 0x08 0x1ec>;
clock-names = "aclk\0iface";
power-domains = <0x19 0x20>;
#iommu-cells = <0x00>;
phandle = <0x93>;
};
iommu@ff670800 {
compatible = "rockchip,iommu";
reg = <0x00 0xff670800 0x00 0x40>;
interrupts = <0x00 0x2a 0x04 0x00>;
interrupt-names = "iep_mmu";
clocks = <0x08 0xe1 0x08 0x1dd>;
clock-names = "aclk\0iface";
#iommu-cells = <0x00>;
status = "disabled";
phandle = <0x106>;
};
rga@ff680000 {
compatible = "rockchip,rk3399-rga";
reg = <0x00 0xff680000 0x00 0x10000>;
interrupts = <0x00 0x37 0x04 0x00>;
clocks = <0x08 0xdc 0x08 0x1e5 0x08 0x6d>;
clock-names = "aclk\0hclk\0sclk";
resets = <0x08 0x6a 0x08 0x67 0x08 0x69>;
reset-names = "core\0axi\0ahb";
power-domains = <0x19 0x21>;
phandle = <0x107>;
};
efuse@ff690000 {
compatible = "rockchip,rk3399-efuse";
reg = <0x00 0xff690000 0x00 0x80>;
#address-cells = <0x01>;
#size-cells = <0x01>;
clocks = <0x08 0x17d>;
clock-names = "pclk_efuse";
phandle = <0x108>;
cpu-id@7 {
reg = <0x07 0x10>;
phandle = <0x109>;
};
cpu-leakage@17 {
reg = <0x17 0x01>;
phandle = <0x10a>;
};
gpu-leakage@18 {
reg = <0x18 0x01>;
phandle = <0x10b>;
};
center-leakage@19 {
reg = <0x19 0x01>;
phandle = <0x10c>;
};
cpu-leakage@1a {
reg = <0x1a 0x01>;
phandle = <0x10d>;
};
logic-leakage@1b {
reg = <0x1b 0x01>;
phandle = <0x10e>;
};
wafer-info@1c {
reg = <0x1c 0x01>;
phandle = <0x10f>;
};
};
pmu-clock-controller@ff750000 {
compatible = "rockchip,rk3399-pmucru";
reg = <0x00 0xff750000 0x00 0x1000>;
rockchip,grf = <0x94>;
#clock-cells = <0x01>;
#reset-cells = <0x01>;
assigned-clocks = <0x7d 0x01>;
assigned-clock-rates = <0x284af100>;
phandle = <0x7d>;
};
clock-controller@ff760000 {
compatible = "rockchip,rk3399-cru";
reg = <0x00 0xff760000 0x00 0x1000>;
rockchip,grf = <0x1a>;
#clock-cells = <0x01>;
#reset-cells = <0x01>;
assigned-clocks = <0x08 0x05 0x08 0x04 0x08 0x06 0x08 0xc0 0x08 0x1c0 0x08 0x140 0x08 0xc2 0x08 0x1c1 0x08 0x142 0x08 0xc9 0x08 0x1c2 0x08 0x143 0x08 0xe3 0x08 0xde 0x08 0x106 0x08 0x178>;
assigned-clock-rates = <0x2367b880 0x2faf0800 0x3b9aca00 0x8f0d180 0x47868c0 0x23c3460 0x5f5e100 0x5f5e100 0x2faf080 0x23c34600 0x5f5e100 0x2faf080 0x17d78400 0x17d78400 0xbebc200 0xbebc200>;
phandle = <0x08>;
};
syscon@ff770000 {
compatible = "rockchip,rk3399-grf\0syscon\0simple-mfd";
reg = <0x00 0xff770000 0x00 0x10000>;
#address-cells = <0x01>;
#size-cells = <0x01>;
phandle = <0x1a>;
io-domains {
compatible = "rockchip,rk3399-io-voltage-domain";
status = "okay";
bt656-supply = <0x95>;
audio-supply = <0x7c>;
sdmmc-supply = <0x28>;
gpio1830-supply = <0x7c>;
phandle = <0x110>;
};
usb2-phy@e450 {
compatible = "rockchip,rk3399-usb2phy";
reg = <0xe450 0x10>;
clocks = <0x08 0x7b>;
clock-names = "phyclk";
#clock-cells = <0x00>;
clock-output-names = "clk_usbphy0_480m";
status = "okay";
phandle = <0x2a>;
host-port {
#phy-cells = <0x00>;
interrupts = <0x00 0x1b 0x04 0x00>;
interrupt-names = "linestate";
status = "okay";
phy-supply = <0x96>;
phandle = <0x2b>;
};
otg-port {
#phy-cells = <0x00>;
interrupts = <0x00 0x67 0x04 0x00 0x00 0x68 0x04 0x00 0x00 0x6a 0x04 0x00>;
interrupt-names = "otg-bvalid\0otg-id\0linestate";
status = "okay";
phandle = <0x2e>;
};
};
usb2-phy@e460 {
compatible = "rockchip,rk3399-usb2phy";
reg = <0xe460 0x10>;
clocks = <0x08 0x7c>;
clock-names = "phyclk";
#clock-cells = <0x00>;
clock-output-names = "clk_usbphy1_480m";
status = "okay";
phandle = <0x2c>;
host-port {
#phy-cells = <0x00>;
interrupts = <0x00 0x1f 0x04 0x00>;
interrupt-names = "linestate";
status = "okay";
phy-supply = <0x96>;
phandle = <0x2d>;
};
otg-port {
#phy-cells = <0x00>;
interrupts = <0x00 0x6c 0x04 0x00 0x00 0x6d 0x04 0x00 0x00 0x6f 0x04 0x00>;
interrupt-names = "otg-bvalid\0otg-id\0linestate";
status = "okay";
phandle = <0x30>;
};
};
phy@f780 {
compatible = "rockchip,rk3399-emmc-phy";
reg = <0xf780 0x24>;
clocks = <0x97>;
clock-names = "emmcclk";
#phy-cells = <0x00>;
status = "okay";
phandle = <0x29>;
};
pcie-phy {
compatible = "rockchip,rk3399-pcie-phy";
clocks = <0x08 0x8a>;
clock-names = "refclk";
#phy-cells = <0x01>;
resets = <0x08 0x87>;
drive-impedance-ohm = <0x32>;
reset-names = "phy";
status = "okay";
phandle = <0x15>;
};
};
phy@ff7c0000 {
compatible = "rockchip,rk3399-typec-phy";
reg = <0x00 0xff7c0000 0x00 0x40000>;
clocks = <0x08 0x7e 0x08 0x7d>;
clock-names = "tcpdcore\0tcpdphy-ref";
assigned-clocks = <0x08 0x7e>;
assigned-clock-rates = <0x2faf080>;
power-domains = <0x19 0x08>;
resets = <0x08 0x95 0x08 0x94 0x08 0x14c>;
reset-names = "uphy\0uphy-pipe\0uphy-tcphy";
rockchip,grf = <0x1a>;
status = "okay";
phandle = <0x111>;
dp-port {
#phy-cells = <0x00>;
phandle = <0x32>;
};
usb3-port {
#phy-cells = <0x00>;
phandle = <0x2f>;
};
};
phy@ff800000 {
compatible = "rockchip,rk3399-typec-phy";
reg = <0x00 0xff800000 0x00 0x40000>;
clocks = <0x08 0x80 0x08 0x7f>;
clock-names = "tcpdcore\0tcpdphy-ref";
assigned-clocks = <0x08 0x80>;
assigned-clock-rates = <0x2faf080>;
power-domains = <0x19 0x09>;
resets = <0x08 0x9d 0x08 0x9c 0x08 0x14d>;
reset-names = "uphy\0uphy-pipe\0uphy-tcphy";
rockchip,grf = <0x1a>;
status = "okay";
phandle = <0x112>;
dp-port {
#phy-cells = <0x00>;
phandle = <0x33>;
};
usb3-port {
#phy-cells = <0x00>;
phandle = <0x31>;
};
};
watchdog@ff848000 {
compatible = "snps,dw-wdt";
reg = <0x00 0xff848000 0x00 0x100>;
clocks = <0x08 0x17c>;
interrupts = <0x00 0x78 0x04 0x00>;
};
rktimer@ff850000 {
compatible = "rockchip,rk3399-timer";
reg = <0x00 0xff850000 0x00 0x1000>;
interrupts = <0x00 0x51 0x04 0x00>;
clocks = <0x08 0x168 0x08 0x5a>;
clock-names = "pclk\0timer";
phandle = <0x113>;
};
spdif@ff870000 {
compatible = "rockchip,rk3399-spdif";
reg = <0x00 0xff870000 0x00 0x1000>;
interrupts = <0x00 0x42 0x04 0x00>;
dmas = <0x5b 0x07>;
dma-names = "tx";
clock-names = "mclk\0hclk";
clocks = <0x08 0x55 0x08 0x1d7>;
pinctrl-names = "default";
pinctrl-0 = <0x98>;
power-domains = <0x19 0x1c>;
#sound-dai-cells = <0x00>;
status = "disabled";
phandle = <0x114>;
};
i2s@ff880000 {
compatible = "rockchip,rk3399-i2s\0rockchip,rk3066-i2s";
reg = <0x00 0xff880000 0x00 0x1000>;
rockchip,grf = <0x1a>;
interrupts = <0x00 0x27 0x04 0x00>;
dmas = <0x5b 0x00 0x5b 0x01>;
dma-names = "tx\0rx";
clock-names = "i2s_clk\0i2s_hclk";
clocks = <0x08 0x56 0x08 0x1d4>;
pinctrl-names = "default";
pinctrl-0 = <0x99>;
power-domains = <0x19 0x1c>;
#sound-dai-cells = <0x00>;
status = "okay";
rockchip,playback-channels = <0x08>;
rockchip,capture-channels = <0x08>;
phandle = <0x115>;
};
i2s@ff890000 {
compatible = "rockchip,rk3399-i2s\0rockchip,rk3066-i2s";
reg = <0x00 0xff890000 0x00 0x1000>;
interrupts = <0x00 0x28 0x04 0x00>;
dmas = <0x5b 0x02 0x5b 0x03>;
dma-names = "tx\0rx";
clock-names = "i2s_clk\0i2s_hclk";
clocks = <0x08 0x57 0x08 0x1d5>;
pinctrl-names = "default";
pinctrl-0 = <0x9a>;
power-domains = <0x19 0x1c>;
#sound-dai-cells = <0x00>;
status = "okay";
rockchip,playback-channels = <0x02>;
rockchip,capture-channels = <0x02>;
phandle = <0x116>;
port {
phandle = <0xc2>;
endpoint {
dai-format = "i2s";
mclk-fs = <0x100>;
remote-endpoint = <0x9b>;
phandle = <0x38>;
};
};
};
i2s@ff8a0000 {
compatible = "rockchip,rk3399-i2s\0rockchip,rk3066-i2s";
reg = <0x00 0xff8a0000 0x00 0x1000>;
interrupts = <0x00 0x29 0x04 0x00>;
dmas = <0x5b 0x04 0x5b 0x05>;
dma-names = "tx\0rx";
clock-names = "i2s_clk\0i2s_hclk";
clocks = <0x08 0x58 0x08 0x1d6>;
power-domains = <0x19 0x1c>;
#sound-dai-cells = <0x00>;
status = "okay";
phandle = <0xa8>;
};
vop@ff8f0000 {
compatible = "rockchip,rk3399-vop-lit";
reg = <0x00 0xff8f0000 0x00 0x3efc>;
interrupts = <0x00 0x77 0x04 0x00>;
assigned-clocks = <0x08 0xdb 0x08 0x1db>;
assigned-clock-rates = <0x17d78400 0x5f5e100>;
clocks = <0x08 0xdb 0x08 0xb5 0x08 0x1db>;
clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
iommus = <0x9c>;
power-domains = <0x19 0x12>;
resets = <0x08 0x113 0x08 0x117 0x08 0x119>;
reset-names = "axi\0ahb\0dclk";
status = "okay";
phandle = <0x117>;
port {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x0f>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0x9d>;
phandle = <0xaf>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0x9e>;
phandle = <0xb4>;
};
endpoint@2 {
reg = <0x02>;
remote-endpoint = <0x9f>;
phandle = <0xad>;
};
endpoint@3 {
reg = <0x03>;
remote-endpoint = <0xa0>;
phandle = <0xb1>;
};
endpoint@4 {
reg = <0x04>;
remote-endpoint = <0xa1>;
phandle = <0x35>;
};
};
};
iommu@ff8f3f00 {
compatible = "rockchip,iommu";
reg = <0x00 0xff8f3f00 0x00 0x100>;
interrupts = <0x00 0x77 0x04 0x00>;
interrupt-names = "vopl_mmu";
clocks = <0x08 0xdb 0x08 0x1db>;
clock-names = "aclk\0iface";
power-domains = <0x19 0x12>;
#iommu-cells = <0x00>;
status = "okay";
phandle = <0x9c>;
};
vop@ff900000 {
compatible = "rockchip,rk3399-vop-big";
reg = <0x00 0xff900000 0x00 0x3efc>;
interrupts = <0x00 0x76 0x04 0x00>;
assigned-clocks = <0x08 0xd9 0x08 0x1d9>;
assigned-clock-rates = <0x17d78400 0x5f5e100>;
clocks = <0x08 0xd9 0x08 0xb4 0x08 0x1d9>;
clock-names = "aclk_vop\0dclk_vop\0hclk_vop";
iommus = <0xa2>;
power-domains = <0x19 0x11>;
resets = <0x08 0x112 0x08 0x116 0x08 0x118>;
reset-names = "axi\0ahb\0dclk";
status = "okay";
phandle = <0x118>;
port {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x10>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0xa3>;
phandle = <0xb3>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0xa4>;
phandle = <0xae>;
};
endpoint@2 {
reg = <0x02>;
remote-endpoint = <0xa5>;
phandle = <0xac>;
};
endpoint@3 {
reg = <0x03>;
remote-endpoint = <0xa6>;
phandle = <0xb0>;
};
endpoint@4 {
reg = <0x04>;
remote-endpoint = <0xa7>;
phandle = <0x34>;
};
};
};
iommu@ff903f00 {
compatible = "rockchip,iommu";
reg = <0x00 0xff903f00 0x00 0x100>;
interrupts = <0x00 0x76 0x04 0x00>;
interrupt-names = "vopb_mmu";
clocks = <0x08 0xd9 0x08 0x1d9>;
clock-names = "aclk\0iface";
power-domains = <0x19 0x11>;
#iommu-cells = <0x00>;
status = "okay";
phandle = <0xa2>;
};
iommu@ff914000 {
compatible = "rockchip,iommu";
reg = <0x00 0xff914000 0x00 0x100 0x00 0xff915000 0x00 0x100>;
interrupts = <0x00 0x2b 0x04 0x00>;
interrupt-names = "isp0_mmu";
clocks = <0x08 0xe9 0x08 0x1e3>;
clock-names = "aclk\0iface";
#iommu-cells = <0x00>;
power-domains = <0x19 0x13>;
rockchip,disable-mmu-reset;
phandle = <0x119>;
};
iommu@ff924000 {
compatible = "rockchip,iommu";
reg = <0x00 0xff924000 0x00 0x100 0x00 0xff925000 0x00 0x100>;
interrupts = <0x00 0x2c 0x04 0x00>;
interrupt-names = "isp1_mmu";
clocks = <0x08 0xea 0x08 0x1e4>;
clock-names = "aclk\0iface";
#iommu-cells = <0x00>;
power-domains = <0x19 0x14>;
rockchip,disable-mmu-reset;
phandle = <0x11a>;
};
hdmi-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <0x100>;
simple-audio-card,name = "hdmi-sound";
status = "okay";
phandle = <0x11b>;
simple-audio-card,cpu {
sound-dai = <0xa8>;
};
simple-audio-card,codec {
sound-dai = <0xa9>;
};
};
hdmi@ff940000 {
compatible = "rockchip,rk3399-dw-hdmi";
reg = <0x00 0xff940000 0x00 0x20000>;
interrupts = <0x00 0x17 0x04 0x00>;
clocks = <0x08 0x174 0x08 0x71 0x08 0x07 0x08 0x16f 0x08 0x70>;
clock-names = "iahb\0isfr\0vpll\0grf\0cec";
power-domains = <0x19 0x15>;
reg-io-width = <0x04>;
rockchip,grf = <0x1a>;
#sound-dai-cells = <0x00>;
status = "okay";
ddc-i2c-bus = <0xaa>;
pinctrl-names = "default";
pinctrl-0 = <0xab>;
phandle = <0xa9>;
ports {
port {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x11c>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0xac>;
phandle = <0xa5>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0xad>;
phandle = <0x9f>;
};
};
};
};
mipi@ff960000 {
compatible = "rockchip,rk3399-mipi-dsi\0snps,dw-mipi-dsi";
reg = <0x00 0xff960000 0x00 0x8000>;
interrupts = <0x00 0x2d 0x04 0x00>;
clocks = <0x08 0xa2 0x08 0x170 0x08 0xa3 0x08 0x16f>;
clock-names = "ref\0pclk\0phy_cfg\0grf";
power-domains = <0x19 0x0f>;
resets = <0x08 0xfb>;
reset-names = "apb";
rockchip,grf = <0x1a>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0x11d>;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
reg = <0x00>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x11e>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0xae>;
phandle = <0xa4>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0xaf>;
phandle = <0x9d>;
};
};
};
};
mipi@ff968000 {
compatible = "rockchip,rk3399-mipi-dsi\0snps,dw-mipi-dsi";
reg = <0x00 0xff968000 0x00 0x8000>;
interrupts = <0x00 0x2e 0x04 0x00>;
clocks = <0x08 0xa2 0x08 0x171 0x08 0xa4 0x08 0x16f>;
clock-names = "ref\0pclk\0phy_cfg\0grf";
power-domains = <0x19 0x0f>;
resets = <0x08 0xfc>;
reset-names = "apb";
rockchip,grf = <0x1a>;
#address-cells = <0x01>;
#size-cells = <0x00>;
status = "disabled";
phandle = <0x11f>;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
reg = <0x00>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x120>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0xb0>;
phandle = <0xa6>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0xb1>;
phandle = <0xa0>;
};
};
};
};
edp@ff970000 {
compatible = "rockchip,rk3399-edp";
reg = <0x00 0xff970000 0x00 0x8000>;
interrupts = <0x00 0x0a 0x04 0x00>;
clocks = <0x08 0x16a 0x08 0x16c 0x08 0x16f>;
clock-names = "dp\0pclk\0grf";
pinctrl-names = "default";
pinctrl-0 = <0xb2>;
power-domains = <0x19 0x19>;
resets = <0x08 0x11d>;
reset-names = "dp";
rockchip,grf = <0x1a>;
status = "disabled";
phandle = <0x121>;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
reg = <0x00>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x122>;
endpoint@0 {
reg = <0x00>;
remote-endpoint = <0xb3>;
phandle = <0xa3>;
};
endpoint@1 {
reg = <0x01>;
remote-endpoint = <0xb4>;
phandle = <0x9e>;
};
};
};
};
gpu@ff9a0000 {
compatible = "rockchip,rk3399-mali\0arm,mali-t860";
reg = <0x00 0xff9a0000 0x00 0x10000>;
interrupts = <0x00 0x14 0x04 0x00 0x00 0x15 0x04 0x00 0x00 0x13 0x04 0x00>;
interrupt-names = "job\0mmu\0gpu";
clocks = <0x08 0xd0>;
#cooling-cells = <0x02>;
power-domains = <0x19 0x23>;
status = "okay";
operating-points-v2 = <0xb5>;
mali-supply = <0xb6>;
phandle = <0x64>;
};
pinctrl {
compatible = "rockchip,rk3399-pinctrl";
rockchip,grf = <0x1a>;
rockchip,pmu = <0x94>;
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
phandle = <0x123>;
gpio0@ff720000 {
compatible = "rockchip,gpio-bank";
reg = <0x00 0xff720000 0x00 0x100>;
clocks = <0x7d 0x17>;
interrupts = <0x00 0x0e 0x04 0x00>;
gpio-controller;
#gpio-cells = <0x02>;
interrupt-controller;
#interrupt-cells = <0x02>;
phandle = <0x23>;
};
gpio1@ff730000 {
compatible = "rockchip,gpio-bank";
reg = <0x00 0xff730000 0x00 0x100>;
clocks = <0x7d 0x18>;
interrupts = <0x00 0x0f 0x04 0x00>;
gpio-controller;
#gpio-cells = <0x02>;
interrupt-controller;
#interrupt-cells = <0x02>;
phandle = <0x8a>;
};
gpio2@ff780000 {
compatible = "rockchip,gpio-bank";
reg = <0x00 0xff780000 0x00 0x100>;
clocks = <0x08 0x150>;
interrupts = <0x00 0x10 0x04 0x00>;
gpio-controller;
#gpio-cells = <0x02>;
interrupt-controller;
#interrupt-cells = <0x02>;
phandle = <0x16>;
};
gpio3@ff788000 {
compatible = "rockchip,gpio-bank";
reg = <0x00 0xff788000 0x00 0x100>;
clocks = <0x08 0x151>;
interrupts = <0x00 0x11 0x04 0x00>;
gpio-controller;
#gpio-cells = <0x02>;
interrupt-controller;
#interrupt-cells = <0x02>;
phandle = <0x1e>;
};
gpio4@ff790000 {
compatible = "rockchip,gpio-bank";
reg = <0x00 0xff790000 0x00 0x100>;
clocks = <0x08 0x152>;
interrupts = <0x00 0x12 0x04 0x00>;
gpio-controller;
#gpio-cells = <0x02>;
interrupt-controller;
#interrupt-cells = <0x02>;
phandle = <0xc5>;
};
pcfg-pull-up {
bias-pull-up;
phandle = <0xba>;
};
pcfg-pull-down {
bias-pull-down;
phandle = <0xbb>;
};
pcfg-pull-none {
bias-disable;
phandle = <0xb7>;
};
pcfg-pull-none-12ma {
bias-disable;
drive-strength = <0x0c>;
phandle = <0xb9>;
};
pcfg-pull-none-13ma {
bias-disable;
drive-strength = <0x0d>;
phandle = <0xb8>;
};
pcfg-pull-none-18ma {
bias-disable;
drive-strength = <0x12>;
phandle = <0x124>;
};
pcfg-pull-none-20ma {
bias-disable;
drive-strength = <0x14>;
phandle = <0x125>;
};
pcfg-pull-up-2ma {
bias-pull-up;
drive-strength = <0x02>;
phandle = <0x126>;
};
pcfg-pull-up-8ma {
bias-pull-up;
drive-strength = <0x08>;
phandle = <0x127>;
};
pcfg-pull-up-18ma {
bias-pull-up;
drive-strength = <0x12>;
phandle = <0x128>;
};
pcfg-pull-up-20ma {
bias-pull-up;
drive-strength = <0x14>;
phandle = <0x129>;
};
pcfg-pull-down-4ma {
bias-pull-down;
drive-strength = <0x04>;
phandle = <0x12a>;
};
pcfg-pull-down-8ma {
bias-pull-down;
drive-strength = <0x08>;
phandle = <0x12b>;
};
pcfg-pull-down-12ma {
bias-pull-down;
drive-strength = <0x0c>;
phandle = <0x12c>;
};
pcfg-pull-down-18ma {
bias-pull-down;
drive-strength = <0x12>;
phandle = <0x12d>;
};
pcfg-pull-down-20ma {
bias-pull-down;
drive-strength = <0x14>;
phandle = <0x12e>;
};
pcfg-output-high {
output-high;
phandle = <0x12f>;
};
pcfg-output-low {
output-low;
phandle = <0x130>;
};
clock {
clk-32k {
rockchip,pins = <0x00 0x00 0x02 0xb7>;
phandle = <0x131>;
};
};
edp {
edp-hpd {
rockchip,pins = <0x04 0x17 0x02 0xb7>;
phandle = <0xb2>;
};
};
gmac {
rgmii-pins {
rockchip,pins = <0x03 0x11 0x01 0xb8 0x03 0x0e 0x01 0xb7 0x03 0x0d 0x01 0xb7 0x03 0x0c 0x01 0xb8 0x03 0x0b 0x01 0xb7 0x03 0x09 0x01 0xb7 0x03 0x08 0x01 0xb7 0x03 0x07 0x01 0xb7 0x03 0x06 0x01 0xb7 0x03 0x05 0x01 0xb8 0x03 0x04 0x01 0xb8 0x03 0x03 0x01 0xb7 0x03 0x02 0x01 0xb7 0x03 0x01 0x01 0xb8 0x03 0x00 0x01 0xb8>;
phandle = <0x1d>;
};
rmii-pins {
rockchip,pins = <0x03 0x0d 0x01 0xb7 0x03 0x0c 0x01 0xb8 0x03 0x0b 0x01 0xb7 0x03 0x0a 0x01 0xb7 0x03 0x09 0x01 0xb7 0x03 0x08 0x01 0xb7 0x03 0x07 0x01 0xb7 0x03 0x06 0x01 0xb7 0x03 0x05 0x01 0xb8 0x03 0x04 0x01 0xb8>;
phandle = <0x132>;
};
};
i2c0 {
i2c0-xfer {
rockchip,pins = <0x01 0x0f 0x02 0xb7 0x01 0x10 0x02 0xb7>;
phandle = <0x83>;
};
};
i2c1 {
i2c1-xfer {
rockchip,pins = <0x04 0x02 0x01 0xb7 0x04 0x01 0x01 0xb7>;
phandle = <0x37>;
};
};
i2c2 {
i2c2-xfer {
rockchip,pins = <0x02 0x01 0x02 0xb9 0x02 0x00 0x02 0xb9>;
phandle = <0x39>;
};
};
i2c3 {
i2c3-xfer {
rockchip,pins = <0x04 0x11 0x01 0xb7 0x04 0x10 0x01 0xb7>;
phandle = <0x3a>;
};
};
i2c4 {
i2c4-xfer {
rockchip,pins = <0x01 0x0c 0x01 0xb7 0x01 0x0b 0x01 0xb7>;
phandle = <0x89>;
};
};
i2c5 {
i2c5-xfer {
rockchip,pins = <0x03 0x0b 0x02 0xb7 0x03 0x0a 0x02 0xb7>;
phandle = <0x3b>;
};
};
i2c6 {
i2c6-xfer {
rockchip,pins = <0x02 0x0a 0x02 0xb7 0x02 0x09 0x02 0xb7>;
phandle = <0x3c>;
};
};
i2c7 {
i2c7-xfer {
rockchip,pins = <0x02 0x08 0x02 0xb7 0x02 0x07 0x02 0xb7>;
phandle = <0x3d>;
};
};
i2c8 {
i2c8-xfer {
rockchip,pins = <0x01 0x15 0x01 0xb7 0x01 0x14 0x01 0xb7>;
phandle = <0x8d>;
};
};
i2s0 {
i2s0-2ch-bus {
rockchip,pins = <0x03 0x18 0x01 0xb7 0x03 0x19 0x01 0xb7 0x03 0x1a 0x01 0xb7 0x03 0x1b 0x01 0xb7 0x03 0x1f 0x01 0xb7 0x04 0x00 0x01 0xb7>;
phandle = <0x133>;
};
i2s0-8ch-bus {
rockchip,pins = <0x03 0x18 0x01 0xb7 0x03 0x19 0x01 0xb7 0x03 0x1a 0x01 0xb7 0x03 0x1b 0x01 0xb7 0x03 0x1c 0x01 0xb7 0x03 0x1d 0x01 0xb7 0x03 0x1e 0x01 0xb7 0x03 0x1f 0x01 0xb7 0x04 0x00 0x01 0xb7>;
phandle = <0x99>;
};
};
i2s1 {
i2s1-2ch-bus {
rockchip,pins = <0x04 0x03 0x01 0xb7 0x04 0x04 0x01 0xb7 0x04 0x05 0x01 0xb7 0x04 0x06 0x01 0xb7 0x04 0x07 0x01 0xb7>;
phandle = <0x9a>;
};
};
sdio0 {
sdio0-bus1 {
rockchip,pins = <0x02 0x14 0x01 0xba>;
phandle = <0x134>;
};
sdio0-bus4 {
rockchip,pins = <0x02 0x14 0x01 0xba 0x02 0x15 0x01 0xba 0x02 0x16 0x01 0xba 0x02 0x17 0x01 0xba>;
phandle = <0x20>;
};
sdio0-cmd {
rockchip,pins = <0x02 0x18 0x01 0xba>;
phandle = <0x21>;
};
sdio0-clk {
rockchip,pins = <0x02 0x19 0x01 0xb7>;
phandle = <0x22>;
};
sdio0-cd {
rockchip,pins = <0x02 0x1a 0x01 0xba>;
phandle = <0x135>;
};
sdio0-pwr {
rockchip,pins = <0x02 0x1b 0x01 0xba>;
phandle = <0x136>;
};
sdio0-bkpwr {
rockchip,pins = <0x02 0x1c 0x01 0xba>;
phandle = <0x137>;
};
sdio0-wp {
rockchip,pins = <0x00 0x03 0x01 0xba>;
phandle = <0x138>;
};
sdio0-int {
rockchip,pins = <0x00 0x04 0x01 0xba>;
phandle = <0x139>;
};
};
sdmmc {
sdmmc-bus1 {
rockchip,pins = <0x04 0x08 0x01 0xba>;
phandle = <0x13a>;
};
sdmmc-bus4 {
rockchip,pins = <0x04 0x08 0x01 0xba 0x04 0x09 0x01 0xba 0x04 0x0a 0x01 0xba 0x04 0x0b 0x01 0xba>;
phandle = <0x26>;
};
sdmmc-clk {
rockchip,pins = <0x04 0x0c 0x01 0xb7>;
phandle = <0x24>;
};
sdmmc-cmd {
rockchip,pins = <0x04 0x0d 0x01 0xba>;
phandle = <0x25>;
};
sdmmc-cd {
rockchip,pins = <0x00 0x07 0x01 0xba>;
phandle = <0x13b>;
};
sdmmc-wp {
rockchip,pins = <0x00 0x08 0x01 0xba>;
phandle = <0x13c>;
};
};
sleep {
ap-pwroff {
rockchip,pins = <0x01 0x05 0x01 0xb7>;
phandle = <0x13d>;
};
ddrio-pwroff {
rockchip,pins = <0x00 0x01 0x01 0xb7>;
phandle = <0x13e>;
};
};
spdif {
spdif-bus {
rockchip,pins = <0x04 0x15 0x01 0xb7>;
phandle = <0x98>;
};
spdif-bus-1 {
rockchip,pins = <0x03 0x10 0x03 0xb7>;
phandle = <0x13f>;
};
};
spi0 {
spi0-clk {
rockchip,pins = <0x03 0x06 0x02 0xba>;
phandle = <0x4b>;
};
spi0-cs0 {
rockchip,pins = <0x03 0x07 0x02 0xba>;
phandle = <0x4e>;
};
spi0-cs1 {
rockchip,pins = <0x03 0x08 0x02 0xba>;
phandle = <0x140>;
};
spi0-tx {
rockchip,pins = <0x03 0x05 0x02 0xba>;
phandle = <0x4c>;
};
spi0-rx {
rockchip,pins = <0x03 0x04 0x02 0xba>;
phandle = <0x4d>;
};
};
spi1 {
spi1-clk {
rockchip,pins = <0x01 0x09 0x02 0xba>;
phandle = <0x4f>;
};
spi1-cs0 {
rockchip,pins = <0x01 0x0a 0x02 0xba>;
phandle = <0x52>;
};
spi1-rx {
rockchip,pins = <0x01 0x07 0x02 0xba>;
phandle = <0x51>;
};
spi1-tx {
rockchip,pins = <0x01 0x08 0x02 0xba>;
phandle = <0x50>;
};
};
spi2 {
spi2-clk {
rockchip,pins = <0x02 0x0b 0x01 0xba>;
phandle = <0x53>;
};
spi2-cs0 {
rockchip,pins = <0x02 0x0c 0x01 0xba>;
phandle = <0x56>;
};
spi2-rx {
rockchip,pins = <0x02 0x09 0x01 0xba>;
phandle = <0x55>;
};
spi2-tx {
rockchip,pins = <0x02 0x0a 0x01 0xba>;
phandle = <0x54>;
};
};
spi3 {
spi3-clk {
rockchip,pins = <0x01 0x11 0x01 0xba>;
phandle = <0x7e>;
};
spi3-cs0 {
rockchip,pins = <0x01 0x12 0x01 0xba>;
phandle = <0x81>;
};
spi3-rx {
rockchip,pins = <0x01 0x0f 0x01 0xba>;
phandle = <0x80>;
};
spi3-tx {
rockchip,pins = <0x01 0x10 0x01 0xba>;
phandle = <0x7f>;
};
};
spi4 {
spi4-clk {
rockchip,pins = <0x03 0x02 0x02 0xba>;
phandle = <0x57>;
};
spi4-cs0 {
rockchip,pins = <0x03 0x03 0x02 0xba>;
phandle = <0x5a>;
};
spi4-rx {
rockchip,pins = <0x03 0x00 0x02 0xba>;
phandle = <0x59>;
};
spi4-tx {
rockchip,pins = <0x03 0x01 0x02 0xba>;
phandle = <0x58>;
};
};
spi5 {
spi5-clk {
rockchip,pins = <0x02 0x16 0x02 0xba>;
phandle = <0x5c>;
};
spi5-cs0 {
rockchip,pins = <0x02 0x17 0x02 0xba>;
phandle = <0x5f>;
};
spi5-rx {
rockchip,pins = <0x02 0x14 0x02 0xba>;
phandle = <0x5e>;
};
spi5-tx {
rockchip,pins = <0x02 0x15 0x02 0xba>;
phandle = <0x5d>;
};
};
testclk {
test-clkout0 {
rockchip,pins = <0x00 0x00 0x01 0xb7>;
phandle = <0x141>;
};
test-clkout1 {
rockchip,pins = <0x02 0x19 0x02 0xb7>;
phandle = <0x142>;
};
test-clkout2 {
rockchip,pins = <0x00 0x08 0x03 0xb7>;
phandle = <0x143>;
};
};
tsadc {
otp-gpio {
rockchip,pins = <0x01 0x06 0x00 0xb7>;
phandle = <0x65>;
};
otp-out {
rockchip,pins = <0x01 0x06 0x01 0xb7>;
phandle = <0x66>;
};
};
uart0 {
uart0-xfer {
rockchip,pins = <0x02 0x10 0x01 0xba 0x02 0x11 0x01 0xb7>;
phandle = <0x3e>;
};
uart0-cts {
rockchip,pins = <0x02 0x12 0x01 0xb7>;
phandle = <0x3f>;
};
uart0-rts {
rockchip,pins = <0x02 0x13 0x01 0xb7>;
phandle = <0x40>;
};
};
uart1 {
uart1-xfer {
rockchip,pins = <0x03 0x0c 0x02 0xba 0x03 0x0d 0x02 0xb7>;
phandle = <0x47>;
};
};
uart2a {
uart2a-xfer {
rockchip,pins = <0x04 0x08 0x02 0xba 0x04 0x09 0x02 0xb7>;
phandle = <0x144>;
};
};
uart2b {
uart2b-xfer {
rockchip,pins = <0x04 0x10 0x02 0xba 0x04 0x11 0x02 0xb7>;
phandle = <0x145>;
};
};
uart2c {
uart2c-xfer {
rockchip,pins = <0x04 0x13 0x01 0xba 0x04 0x14 0x01 0xb7>;
phandle = <0x48>;
};
};
uart3 {
uart3-xfer {
rockchip,pins = <0x03 0x0e 0x02 0xba 0x03 0x0f 0x02 0xb7>;
phandle = <0x49>;
};
uart3-cts {
rockchip,pins = <0x03 0x10 0x02 0xb7>;
phandle = <0x146>;
};
uart3-rts {
rockchip,pins = <0x03 0x11 0x02 0xb7>;
phandle = <0x147>;
};
};
uart4 {
uart4-xfer {
rockchip,pins = <0x01 0x07 0x01 0xba 0x01 0x08 0x01 0xb7>;
phandle = <0x82>;
};
};
uarthdcp {
uarthdcp-xfer {
rockchip,pins = <0x04 0x15 0x02 0xba 0x04 0x16 0x02 0xb7>;
phandle = <0x148>;
};
};
pwm0 {
pwm0-pin {
rockchip,pins = <0x04 0x12 0x01 0xb7>;
phandle = <0x8e>;
};
pwm0-pin-pull-down {
rockchip,pins = <0x04 0x12 0x01 0xbb>;
phandle = <0x149>;
};
vop0-pwm-pin {
rockchip,pins = <0x04 0x12 0x02 0xb7>;
phandle = <0x14a>;
};
vop1-pwm-pin {
rockchip,pins = <0x04 0x12 0x03 0xb7>;
phandle = <0x14b>;
};
};
pwm1 {
pwm1-pin {
rockchip,pins = <0x04 0x16 0x01 0xb7>;
phandle = <0x8f>;
};
pwm1-pin-pull-down {
rockchip,pins = <0x04 0x16 0x01 0xbb>;
phandle = <0x14c>;
};
};
pwm2 {
pwm2-pin {
rockchip,pins = <0x01 0x13 0x01 0xb7>;
phandle = <0x90>;
};
pwm2-pin-pull-down {
rockchip,pins = <0x01 0x13 0x01 0xbb>;
phandle = <0x14d>;
};
};
pwm3a {
pwm3a-pin {
rockchip,pins = <0x00 0x06 0x01 0xb7>;
phandle = <0x91>;
};
};
pwm3b {
pwm3b-pin {
rockchip,pins = <0x01 0x0e 0x01 0xb7>;
phandle = <0x14e>;
};
};
hdmi {
hdmi-i2c-xfer {
rockchip,pins = <0x04 0x11 0x03 0xb7 0x04 0x10 0x03 0xb7>;
phandle = <0x14f>;
};
hdmi-cec {
rockchip,pins = <0x04 0x17 0x01 0xb7>;
phandle = <0xab>;
};
};
pcie {
pci-clkreqn-cpm {
rockchip,pins = <0x02 0x1a 0x00 0xb7>;
phandle = <0x150>;
};
pci-clkreqnb-cpm {
rockchip,pins = <0x04 0x18 0x00 0xb7>;
phandle = <0x151>;
};
pcie-perst {
rockchip,pins = <0x02 0x1c 0x00 0xb7>;
phandle = <0x17>;
};
pcie-pwr-en {
rockchip,pins = <0x01 0x18 0x00 0xb7>;
phandle = <0xc4>;
};
};
bt {
bt-enable-h {
rockchip,pins = <0x00 0x09 0x00 0xb7>;
phandle = <0x44>;
};
bt-host-wake-l {
rockchip,pins = <0x00 0x04 0x00 0xbb>;
phandle = <0x42>;
};
bt-wake-l {
rockchip,pins = <0x02 0x1b 0x00 0xb7>;
phandle = <0x43>;
};
};
buttons {
pwrbtn {
rockchip,pins = <0x00 0x05 0x00 0xba>;
phandle = <0xbc>;
};
};
fusb302x {
fusb0-int {
rockchip,pins = <0x01 0x02 0x00 0xba>;
phandle = <0x8b>;
};
};
leds {
work_led-gpio {
rockchip,pins = <0x00 0x0b 0x00 0xb7>;
phandle = <0xbd>;
};
diy_led-gpio {
rockchip,pins = <0x00 0x02 0x00 0xb7>;
phandle = <0xbe>;
};
};
pmic {
pmic-int-l {
rockchip,pins = <0x03 0x0a 0x00 0xba>;
phandle = <0x84>;
};
vsel1-gpio {
rockchip,pins = <0x01 0x11 0x00 0xbb>;
phandle = <0x87>;
};
vsel2-gpio {
rockchip,pins = <0x01 0x0e 0x00 0xbb>;
phandle = <0x88>;
};
};
sdcard {
sdmmc0-pwr-h {
rockchip,pins = <0x00 0x01 0x00 0xb7>;
phandle = <0xc3>;
};
};
sdio-pwrseq {
wifi-enable-h {
rockchip,pins = <0x00 0x0a 0x00 0xb7>;
phandle = <0xc1>;
};
};
usb-typec {
vcc5v0_typec_en {
rockchip,pins = <0x01 0x03 0x00 0xba>;
phandle = <0xc8>;
};
};
usb2 {
vcc5v0-host-en {
rockchip,pins = <0x04 0x1a 0x00 0xb7>;
phandle = <0xc6>;
};
};
};
rockchip-suspend {
compatible = "rockchip,pm-rk3399";
status = "disabled";
rockchip,sleep-debug-en = <0x00>;
rockchip,virtual-poweroff = <0x00>;
rockchip,sleep-mode-config = <0xfe>;
rockchip,wakeup-config = <0x04>;
phandle = <0x152>;
};
opp-table0 {
compatible = "operating-points-v2";
opp-shared;
phandle = <0x0b>;
opp00 {
opp-hz = <0x00 0x18519600>;
opp-microvolt = <0xc3500>;
clock-latency-ns = <0x9c40>;
};
opp01 {
opp-hz = <0x00 0x23c34600>;
opp-microvolt = <0xc3500>;
};
opp02 {
opp-hz = <0x00 0x30a32c00>;
opp-microvolt = <0xcf850>;
};
opp03 {
opp-hz = <0x00 0x3c14dc00>;
opp-microvolt = <0xe1d48>;
};
opp04 {
opp-hz = <0x00 0x47868c00>;
opp-microvolt = <0xf4240>;
};
opp05 {
opp-hz = <0x00 0x54667200>;
opp-microvolt = <0x112a88>;
};
};
opp-table1 {
compatible = "operating-points-v2";
opp-shared;
phandle = <0x0d>;
opp00 {
opp-hz = <0x00 0x18519600>;
opp-microvolt = <0xc3500>;
clock-latency-ns = <0x9c40>;
};
opp01 {
opp-hz = <0x00 0x23c34600>;
opp-microvolt = <0xc3500>;
};
opp02 {
opp-hz = <0x00 0x30a32c00>;
opp-microvolt = <0xc96a8>;
};
opp03 {
opp-hz = <0x00 0x3c14dc00>;
opp-microvolt = <0xd59f8>;
};
opp04 {
opp-hz = <0x00 0x47868c00>;
opp-microvolt = <0xe7ef0>;
};
opp05 {
opp-hz = <0x00 0x54667200>;
opp-microvolt = <0xfa3e8>;
};
opp06 {
opp-hz = <0x00 0x5fd82200>;
opp-microvolt = <0x10c8e0>;
};
opp07 {
opp-hz = <0x00 0x6b49d200>;
opp-microvolt = <0x124f80>;
};
};
opp-table2 {
compatible = "operating-points-v2";
phandle = <0xb5>;
opp00 {
opp-hz = <0x00 0xbebc200>;
opp-microvolt = <0xc3500>;
};
opp01 {
opp-hz = <0x00 0x11b3dc40>;
opp-microvolt = <0xc3500>;
};
opp02 {
opp-hz = <0x00 0x17d78400>;
opp-microvolt = <0xc96a8>;
};
opp03 {
opp-hz = <0x00 0x1dcd6500>;
opp-microvolt = <0xd59f8>;
};
opp04 {
opp-hz = <0x00 0x23c34600>;
opp-microvolt = <0xe1d48>;
};
opp05 {
opp-hz = <0x00 0x2faf0800>;
opp-microvolt = <0x10c8e0>;
};
};
chosen {
stdout-path = "serial2:1500000n8";
};
external-gmac-clock {
compatible = "fixed-clock";
clock-frequency = <0x7735940>;
clock-output-names = "clkin_gmac";
#clock-cells = <0x00>;
phandle = <0x1b>;
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <0xbc>;
power {
debounce-interval = <0x64>;
gpios = <0x23 0x05 0x01>;
label = "GPIO Key Power";
linux,code = <0x74>;
wakeup-source;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <0xbd 0xbe>;
work-led {
label = "work";
default-state = "on";
gpios = <0x23 0x0b 0x00>;
};
diy-led {
label = "diy";
default-state = "off";
gpios = <0x23 0x02 0x00>;
};
};
pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <0x02>;
fan-supply = <0xbf>;
pwms = <0xc0 0x00 0xc350 0x00>;
status = "disabled";
phandle = <0x153>;
};
sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <0x41 0x01>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <0xc1>;
reset-gpios = <0x23 0x0a 0x01>;
phandle = <0x1f>;
};
sound {
compatible = "audio-graph-card";
label = "rockchip,rk3399";
dais = <0xc2>;
};
vcc12v-dcin {
compatible = "regulator-fixed";
regulator-name = "vcc12v_dcin";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0xb71b00>;
regulator-max-microvolt = <0xb71b00>;
phandle = <0xbf>;
};
vcc1v8-s3 {
compatible = "regulator-fixed";
regulator-name = "vcc1v8_s3";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
vin-supply = <0x46>;
phandle = <0x36>;
};
vcc3v0-sd {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0x23 0x01 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0xc3>;
regulator-name = "vcc3v0_sd";
regulator-always-on;
regulator-min-microvolt = <0x2dc6c0>;
regulator-max-microvolt = <0x2dc6c0>;
vin-supply = <0x45>;
phandle = <0x27>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3-pcie-regulator {
compatible = "regulator-fixed";
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
enable-active-high;
gpio = <0x8a 0x18 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0xc4>;
regulator-name = "vcc3v3_pcie";
regulator-always-on;
regulator-boot-on;
vin-supply = <0xbf>;
phandle = <0x18>;
};
vcc3v3-sys {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
vin-supply = <0x85>;
phandle = <0x45>;
};
vcc5v0-host-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0xc5 0x1a 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0xc6>;
regulator-name = "vcc5v0_host";
regulator-always-on;
vin-supply = <0xc7>;
phandle = <0x96>;
};
vcc5v0-typec-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0x8a 0x03 0x00>;
pinctrl-names = "default";
pinctrl-0 = <0xc8>;
regulator-name = "vcc5v0_typec";
regulator-always-on;
vin-supply = <0xc7>;
phandle = <0x8c>;
};
vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x4c4b40>;
regulator-max-microvolt = <0x4c4b40>;
vin-supply = <0xbf>;
phandle = <0x85>;
};
vcc5v0-usb {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_usb";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0x4c4b40>;
regulator-max-microvolt = <0x4c4b40>;
vin-supply = <0xbf>;
phandle = <0xc7>;
};
vdd-log {
compatible = "pwm-regulator";
pwms = <0xc9 0x00 0x61a8 0x01>;
regulator-name = "vdd_log";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <0xc3500>;
regulator-max-microvolt = <0x19f0a0>;
vin-supply = <0x85>;
phandle = <0x154>;
};
__symbols__ {
cpu_l0 = "/cpus/cpu@0";
cpu_l1 = "/cpus/cpu@1";
cpu_l2 = "/cpus/cpu@2";
cpu_l3 = "/cpus/cpu@3";
cpu_b0 = "/cpus/cpu@100";
cpu_b1 = "/cpus/cpu@101";
CPU_SLEEP = "/cpus/idle-states/cpu-sleep";
CLUSTER_SLEEP = "/cpus/idle-states/cluster-sleep";
xin24m = "/xin24m";
amba = "/bus";
dmac_bus = "/bus/dma-controller@ff6d0000";
dmac_peri = "/bus/dma-controller@ff6e0000";
pcie0 = "/pcie@f8000000";
pcie0_intc = "/pcie@f8000000/interrupt-controller";
gmac = "/ethernet@fe300000";
sdio0 = "/mmc@fe310000";
sdmmc = "/mmc@fe320000";
sdhci = "/sdhci@fe330000";
usb_host0_ehci = "/usb@fe380000";
usb_host0_ohci = "/usb@fe3a0000";
usb_host1_ehci = "/usb@fe3c0000";
usb_host1_ohci = "/usb@fe3e0000";
usbdrd3_0 = "/usb@fe800000";
usbdrd_dwc3_0 = "/usb@fe800000/usb@fe800000";
usbdrd3_1 = "/usb@fe900000";
usbdrd_dwc3_1 = "/usb@fe900000/usb@fe900000";
cdn_dp = "/dp@fec00000";
dp_in = "/dp@fec00000/ports/port";
dp_in_vopb = "/dp@fec00000/ports/port/endpoint@0";
dp_in_vopl = "/dp@fec00000/ports/port/endpoint@1";
gic = "/interrupt-controller@fee00000";
its = "/interrupt-controller@fee00000/interrupt-controller@fee20000";
ppi_cluster0 = "/interrupt-controller@fee00000/ppi-partitions/interrupt-partition-0";
ppi_cluster1 = "/interrupt-controller@fee00000/ppi-partitions/interrupt-partition-1";
saradc = "/saradc@ff100000";
i2c1 = "/i2c@ff110000";
es8316 = "/i2c@ff110000/codec@10";
es8316_p0_0 = "/i2c@ff110000/codec@10/port/endpoint";
i2c2 = "/i2c@ff120000";
i2c3 = "/i2c@ff130000";
i2c5 = "/i2c@ff140000";
i2c6 = "/i2c@ff150000";
i2c7 = "/i2c@ff160000";
uart0 = "/serial@ff180000";
uart1 = "/serial@ff190000";
uart2 = "/serial@ff1a0000";
uart3 = "/serial@ff1b0000";
spi0 = "/spi@ff1c0000";
spi1 = "/spi@ff1d0000";
spi2 = "/spi@ff1e0000";
spi4 = "/spi@ff1f0000";
spi5 = "/spi@ff200000";
thermal_zones = "/thermal-zones";
cpu_thermal = "/thermal-zones/cpu";
cpu_alert0 = "/thermal-zones/cpu/trips/cpu_alert0";
cpu_alert1 = "/thermal-zones/cpu/trips/cpu_alert1";
cpu_crit = "/thermal-zones/cpu/trips/cpu_crit";
gpu_thermal = "/thermal-zones/gpu";
gpu_alert0 = "/thermal-zones/gpu/trips/gpu_alert0";
gpu_crit = "/thermal-zones/gpu/trips/gpu_crit";
tsadc = "/tsadc@ff260000";
qos_emmc = "/qos@ffa58000";
qos_gmac = "/qos@ffa5c000";
qos_pcie = "/qos@ffa60080";
qos_usb_host0 = "/qos@ffa60100";
qos_usb_host1 = "/qos@ffa60180";
qos_usb_otg0 = "/qos@ffa70000";
qos_usb_otg1 = "/qos@ffa70080";
qos_sd = "/qos@ffa74000";
qos_sdioaudio = "/qos@ffa76000";
qos_hdcp = "/qos@ffa90000";
qos_iep = "/qos@ffa98000";
qos_isp0_m0 = "/qos@ffaa0000";
qos_isp0_m1 = "/qos@ffaa0080";
qos_isp1_m0 = "/qos@ffaa8000";
qos_isp1_m1 = "/qos@ffaa8080";
qos_rga_r = "/qos@ffab0000";
qos_rga_w = "/qos@ffab0080";
qos_video_m0 = "/qos@ffab8000";
qos_video_m1_r = "/qos@ffac0000";
qos_video_m1_w = "/qos@ffac0080";
qos_vop_big_r = "/qos@ffac8000";
qos_vop_big_w = "/qos@ffac8080";
qos_vop_little = "/qos@ffad0000";
qos_perihp = "/qos@ffad8080";
qos_gpu = "/qos@ffae0000";
pmu = "/power-management@ff310000";
power = "/power-management@ff310000/power-controller";
pmugrf = "/syscon@ff320000";
pmu_io_domains = "/syscon@ff320000/io-domains";
spi3 = "/spi@ff350000";
uart4 = "/serial@ff370000";
i2c0 = "/i2c@ff3c0000";
rk808 = "/i2c@ff3c0000/pmic@1b";
vdd_center = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG1";
vdd_cpu_l = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG2";
vcc_ddr = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG3";
vcc_1v8 = "/i2c@ff3c0000/pmic@1b/regulators/DCDC_REG4";
vcc1v8_dvp = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG1";
vcc3v0_touch = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG2";
vcca_1v8 = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG3";
vcc_sdio = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG4";
vcca3v0_codec = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG5";
vcc_1v5 = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG6";
vcca1v8_codec = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG7";
vcc_3v0 = "/i2c@ff3c0000/pmic@1b/regulators/LDO_REG8";
vcc3v3_s3 = "/i2c@ff3c0000/pmic@1b/regulators/SWITCH_REG1";
vcc_lan = "/i2c@ff3c0000/pmic@1b/regulators/SWITCH_REG1";
vcc3v3_s0 = "/i2c@ff3c0000/pmic@1b/regulators/SWITCH_REG2";
vdd_cpu_b = "/i2c@ff3c0000/regulator@40";
vdd_gpu = "/i2c@ff3c0000/regulator@41";
i2c4 = "/i2c@ff3d0000";
fusb0 = "/i2c@ff3d0000/typec-portc@22";
i2c8 = "/i2c@ff3e0000";
pwm0 = "/pwm@ff420000";
pwm1 = "/pwm@ff420010";
pwm2 = "/pwm@ff420020";
pwm3 = "/pwm@ff420030";
vpu = "/video-codec@ff650000";
vpu_mmu = "/iommu@ff650800";
vdec = "/video-codec@ff660000";
vdec_mmu = "/iommu@ff660480";
iep_mmu = "/iommu@ff670800";
rga = "/rga@ff680000";
efuse0 = "/efuse@ff690000";
cpu_id = "/efuse@ff690000/cpu-id@7";
cpub_leakage = "/efuse@ff690000/cpu-leakage@17";
gpu_leakage = "/efuse@ff690000/gpu-leakage@18";
center_leakage = "/efuse@ff690000/center-leakage@19";
cpul_leakage = "/efuse@ff690000/cpu-leakage@1a";
logic_leakage = "/efuse@ff690000/logic-leakage@1b";
wafer_info = "/efuse@ff690000/wafer-info@1c";
pmucru = "/pmu-clock-controller@ff750000";
cru = "/clock-controller@ff760000";
grf = "/syscon@ff770000";
io_domains = "/syscon@ff770000/io-domains";
u2phy0 = "/syscon@ff770000/usb2-phy@e450";
u2phy0_host = "/syscon@ff770000/usb2-phy@e450/host-port";
u2phy0_otg = "/syscon@ff770000/usb2-phy@e450/otg-port";
u2phy1 = "/syscon@ff770000/usb2-phy@e460";
u2phy1_host = "/syscon@ff770000/usb2-phy@e460/host-port";
u2phy1_otg = "/syscon@ff770000/usb2-phy@e460/otg-port";
emmc_phy = "/syscon@ff770000/phy@f780";
pcie_phy = "/syscon@ff770000/pcie-phy";
tcphy0 = "/phy@ff7c0000";
tcphy0_dp = "/phy@ff7c0000/dp-port";
tcphy0_usb3 = "/phy@ff7c0000/usb3-port";
tcphy1 = "/phy@ff800000";
tcphy1_dp = "/phy@ff800000/dp-port";
tcphy1_usb3 = "/phy@ff800000/usb3-port";
rktimer = "/rktimer@ff850000";
spdif = "/spdif@ff870000";
i2s0 = "/i2s@ff880000";
i2s1 = "/i2s@ff890000";
i2s1_p0 = "/i2s@ff890000/port";
i2s1_p0_0 = "/i2s@ff890000/port/endpoint";
i2s2 = "/i2s@ff8a0000";
vopl = "/vop@ff8f0000";
vopl_out = "/vop@ff8f0000/port";
vopl_out_mipi = "/vop@ff8f0000/port/endpoint@0";
vopl_out_edp = "/vop@ff8f0000/port/endpoint@1";
vopl_out_hdmi = "/vop@ff8f0000/port/endpoint@2";
vopl_out_mipi1 = "/vop@ff8f0000/port/endpoint@3";
vopl_out_dp = "/vop@ff8f0000/port/endpoint@4";
vopl_mmu = "/iommu@ff8f3f00";
vopb = "/vop@ff900000";
vopb_out = "/vop@ff900000/port";
vopb_out_edp = "/vop@ff900000/port/endpoint@0";
vopb_out_mipi = "/vop@ff900000/port/endpoint@1";
vopb_out_hdmi = "/vop@ff900000/port/endpoint@2";
vopb_out_mipi1 = "/vop@ff900000/port/endpoint@3";
vopb_out_dp = "/vop@ff900000/port/endpoint@4";
vopb_mmu = "/iommu@ff903f00";
isp0_mmu = "/iommu@ff914000";
isp1_mmu = "/iommu@ff924000";
hdmi_sound = "/hdmi-sound";
hdmi = "/hdmi@ff940000";
hdmi_in = "/hdmi@ff940000/ports/port";
hdmi_in_vopb = "/hdmi@ff940000/ports/port/endpoint@0";
hdmi_in_vopl = "/hdmi@ff940000/ports/port/endpoint@1";
mipi_dsi = "/mipi@ff960000";
mipi_in = "/mipi@ff960000/ports/port@0";
mipi_in_vopb = "/mipi@ff960000/ports/port@0/endpoint@0";
mipi_in_vopl = "/mipi@ff960000/ports/port@0/endpoint@1";
mipi_dsi1 = "/mipi@ff968000";
mipi1_in = "/mipi@ff968000/ports/port@0";
mipi1_in_vopb = "/mipi@ff968000/ports/port@0/endpoint@0";
mipi1_in_vopl = "/mipi@ff968000/ports/port@0/endpoint@1";
edp = "/edp@ff970000";
edp_in = "/edp@ff970000/ports/port@0";
edp_in_vopb = "/edp@ff970000/ports/port@0/endpoint@0";
edp_in_vopl = "/edp@ff970000/ports/port@0/endpoint@1";
gpu = "/gpu@ff9a0000";
pinctrl = "/pinctrl";
gpio0 = "/pinctrl/gpio0@ff720000";
gpio1 = "/pinctrl/gpio1@ff730000";
gpio2 = "/pinctrl/gpio2@ff780000";
gpio3 = "/pinctrl/gpio3@ff788000";
gpio4 = "/pinctrl/gpio4@ff790000";
pcfg_pull_up = "/pinctrl/pcfg-pull-up";
pcfg_pull_down = "/pinctrl/pcfg-pull-down";
pcfg_pull_none = "/pinctrl/pcfg-pull-none";
pcfg_pull_none_12ma = "/pinctrl/pcfg-pull-none-12ma";
pcfg_pull_none_13ma = "/pinctrl/pcfg-pull-none-13ma";
pcfg_pull_none_18ma = "/pinctrl/pcfg-pull-none-18ma";
pcfg_pull_none_20ma = "/pinctrl/pcfg-pull-none-20ma";
pcfg_pull_up_2ma = "/pinctrl/pcfg-pull-up-2ma";
pcfg_pull_up_8ma = "/pinctrl/pcfg-pull-up-8ma";
pcfg_pull_up_18ma = "/pinctrl/pcfg-pull-up-18ma";
pcfg_pull_up_20ma = "/pinctrl/pcfg-pull-up-20ma";
pcfg_pull_down_4ma = "/pinctrl/pcfg-pull-down-4ma";
pcfg_pull_down_8ma = "/pinctrl/pcfg-pull-down-8ma";
pcfg_pull_down_12ma = "/pinctrl/pcfg-pull-down-12ma";
pcfg_pull_down_18ma = "/pinctrl/pcfg-pull-down-18ma";
pcfg_pull_down_20ma = "/pinctrl/pcfg-pull-down-20ma";
pcfg_output_high = "/pinctrl/pcfg-output-high";
pcfg_output_low = "/pinctrl/pcfg-output-low";
clk_32k = "/pinctrl/clock/clk-32k";
edp_hpd = "/pinctrl/edp/edp-hpd";
rgmii_pins = "/pinctrl/gmac/rgmii-pins";
rmii_pins = "/pinctrl/gmac/rmii-pins";
i2c0_xfer = "/pinctrl/i2c0/i2c0-xfer";
i2c1_xfer = "/pinctrl/i2c1/i2c1-xfer";
i2c2_xfer = "/pinctrl/i2c2/i2c2-xfer";
i2c3_xfer = "/pinctrl/i2c3/i2c3-xfer";
i2c4_xfer = "/pinctrl/i2c4/i2c4-xfer";
i2c5_xfer = "/pinctrl/i2c5/i2c5-xfer";
i2c6_xfer = "/pinctrl/i2c6/i2c6-xfer";
i2c7_xfer = "/pinctrl/i2c7/i2c7-xfer";
i2c8_xfer = "/pinctrl/i2c8/i2c8-xfer";
i2s0_2ch_bus = "/pinctrl/i2s0/i2s0-2ch-bus";
i2s0_8ch_bus = "/pinctrl/i2s0/i2s0-8ch-bus";
i2s1_2ch_bus = "/pinctrl/i2s1/i2s1-2ch-bus";
sdio0_bus1 = "/pinctrl/sdio0/sdio0-bus1";
sdio0_bus4 = "/pinctrl/sdio0/sdio0-bus4";
sdio0_cmd = "/pinctrl/sdio0/sdio0-cmd";
sdio0_clk = "/pinctrl/sdio0/sdio0-clk";
sdio0_cd = "/pinctrl/sdio0/sdio0-cd";
sdio0_pwr = "/pinctrl/sdio0/sdio0-pwr";
sdio0_bkpwr = "/pinctrl/sdio0/sdio0-bkpwr";
sdio0_wp = "/pinctrl/sdio0/sdio0-wp";
sdio0_int = "/pinctrl/sdio0/sdio0-int";
sdmmc_bus1 = "/pinctrl/sdmmc/sdmmc-bus1";
sdmmc_bus4 = "/pinctrl/sdmmc/sdmmc-bus4";
sdmmc_clk = "/pinctrl/sdmmc/sdmmc-clk";
sdmmc_cmd = "/pinctrl/sdmmc/sdmmc-cmd";
sdmmc_cd = "/pinctrl/sdmmc/sdmmc-cd";
sdmmc_wp = "/pinctrl/sdmmc/sdmmc-wp";
ap_pwroff = "/pinctrl/sleep/ap-pwroff";
ddrio_pwroff = "/pinctrl/sleep/ddrio-pwroff";
spdif_bus = "/pinctrl/spdif/spdif-bus";
spdif_bus_1 = "/pinctrl/spdif/spdif-bus-1";
spi0_clk = "/pinctrl/spi0/spi0-clk";
spi0_cs0 = "/pinctrl/spi0/spi0-cs0";
spi0_cs1 = "/pinctrl/spi0/spi0-cs1";
spi0_tx = "/pinctrl/spi0/spi0-tx";
spi0_rx = "/pinctrl/spi0/spi0-rx";
spi1_clk = "/pinctrl/spi1/spi1-clk";
spi1_cs0 = "/pinctrl/spi1/spi1-cs0";
spi1_rx = "/pinctrl/spi1/spi1-rx";
spi1_tx = "/pinctrl/spi1/spi1-tx";
spi2_clk = "/pinctrl/spi2/spi2-clk";
spi2_cs0 = "/pinctrl/spi2/spi2-cs0";
spi2_rx = "/pinctrl/spi2/spi2-rx";
spi2_tx = "/pinctrl/spi2/spi2-tx";
spi3_clk = "/pinctrl/spi3/spi3-clk";
spi3_cs0 = "/pinctrl/spi3/spi3-cs0";
spi3_rx = "/pinctrl/spi3/spi3-rx";
spi3_tx = "/pinctrl/spi3/spi3-tx";
spi4_clk = "/pinctrl/spi4/spi4-clk";
spi4_cs0 = "/pinctrl/spi4/spi4-cs0";
spi4_rx = "/pinctrl/spi4/spi4-rx";
spi4_tx = "/pinctrl/spi4/spi4-tx";
spi5_clk = "/pinctrl/spi5/spi5-clk";
spi5_cs0 = "/pinctrl/spi5/spi5-cs0";
spi5_rx = "/pinctrl/spi5/spi5-rx";
spi5_tx = "/pinctrl/spi5/spi5-tx";
test_clkout0 = "/pinctrl/testclk/test-clkout0";
test_clkout1 = "/pinctrl/testclk/test-clkout1";
test_clkout2 = "/pinctrl/testclk/test-clkout2";
otp_gpio = "/pinctrl/tsadc/otp-gpio";
otp_out = "/pinctrl/tsadc/otp-out";
uart0_xfer = "/pinctrl/uart0/uart0-xfer";
uart0_cts = "/pinctrl/uart0/uart0-cts";
uart0_rts = "/pinctrl/uart0/uart0-rts";
uart1_xfer = "/pinctrl/uart1/uart1-xfer";
uart2a_xfer = "/pinctrl/uart2a/uart2a-xfer";
uart2b_xfer = "/pinctrl/uart2b/uart2b-xfer";
uart2c_xfer = "/pinctrl/uart2c/uart2c-xfer";
uart3_xfer = "/pinctrl/uart3/uart3-xfer";
uart3_cts = "/pinctrl/uart3/uart3-cts";
uart3_rts = "/pinctrl/uart3/uart3-rts";
uart4_xfer = "/pinctrl/uart4/uart4-xfer";
uarthdcp_xfer = "/pinctrl/uarthdcp/uarthdcp-xfer";
pwm0_pin = "/pinctrl/pwm0/pwm0-pin";
pwm0_pin_pull_down = "/pinctrl/pwm0/pwm0-pin-pull-down";
vop0_pwm_pin = "/pinctrl/pwm0/vop0-pwm-pin";
vop1_pwm_pin = "/pinctrl/pwm0/vop1-pwm-pin";
pwm1_pin = "/pinctrl/pwm1/pwm1-pin";
pwm1_pin_pull_down = "/pinctrl/pwm1/pwm1-pin-pull-down";
pwm2_pin = "/pinctrl/pwm2/pwm2-pin";
pwm2_pin_pull_down = "/pinctrl/pwm2/pwm2-pin-pull-down";
pwm3a_pin = "/pinctrl/pwm3a/pwm3a-pin";
pwm3b_pin = "/pinctrl/pwm3b/pwm3b-pin";
hdmi_i2c_xfer = "/pinctrl/hdmi/hdmi-i2c-xfer";
hdmi_cec = "/pinctrl/hdmi/hdmi-cec";
pcie_clkreqn_cpm = "/pinctrl/pcie/pci-clkreqn-cpm";
pcie_clkreqnb_cpm = "/pinctrl/pcie/pci-clkreqnb-cpm";
pcie_perst = "/pinctrl/pcie/pcie-perst";
pcie_pwr_en = "/pinctrl/pcie/pcie-pwr-en";
bt_enable_h = "/pinctrl/bt/bt-enable-h";
bt_host_wake_l = "/pinctrl/bt/bt-host-wake-l";
bt_wake_l = "/pinctrl/bt/bt-wake-l";
pwrbtn = "/pinctrl/buttons/pwrbtn";
fusb0_int = "/pinctrl/fusb302x/fusb0-int";
work_led_gpio = "/pinctrl/leds/work_led-gpio";
diy_led_gpio = "/pinctrl/leds/diy_led-gpio";
pmic_int_l = "/pinctrl/pmic/pmic-int-l";
vsel1_gpio = "/pinctrl/pmic/vsel1-gpio";
vsel2_gpio = "/pinctrl/pmic/vsel2-gpio";
sdmmc0_pwr_h = "/pinctrl/sdcard/sdmmc0-pwr-h";
wifi_enable_h = "/pinctrl/sdio-pwrseq/wifi-enable-h";
vcc5v0_typec_en = "/pinctrl/usb-typec/vcc5v0_typec_en";
vcc5v0_host_en = "/pinctrl/usb2/vcc5v0-host-en";
rockchip_suspend = "/rockchip-suspend";
cluster0_opp = "/opp-table0";
cluster1_opp = "/opp-table1";
gpu_opp_table = "/opp-table2";
clkin_gmac = "/external-gmac-clock";
fan = "/pwm-fan";
sdio_pwrseq = "/sdio-pwrseq";
vcc12v_dcin = "/vcc12v-dcin";
vcc1v8_s3 = "/vcc1v8-s3";
vcca1v8_s3 = "/vcc1v8-s3";
vcc3v0_sd = "/vcc3v0-sd";
vcc3v3_pcie = "/vcc3v3-pcie-regulator";
vcc3v3_sys = "/vcc3v3-sys";
vcc5v0_host = "/vcc5v0-host-regulator";
vcc5v0_typec = "/vcc5v0-typec-regulator";
vcc5v0_sys = "/vcc5v0-sys";
vcc5v0_usb = "/vcc5v0-usb";
vdd_log = "/vdd-log";
};
};
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
* Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
*/
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/pwm/pwm.h>
#include "rk3399.dtsi"
#include "rk3399-opp.dtsi"
/ {
chosen {
stdout-path = "serial2:1500000n8";
};
clkin_gmac: external-gmac-clock {
compatible = "fixed-clock";
clock-frequency = <125000000>;
clock-output-names = "clkin_gmac";
#clock-cells = <0>;
};
gpio-keys {
compatible = "gpio-keys";
autorepeat;
pinctrl-names = "default";
pinctrl-0 = <&pwrbtn>;
power {
debounce-interval = <100>;
gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
label = "GPIO Key Power";
linux,code = <KEY_POWER>;
wakeup-source;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
work-led {
label = "work";
default-state = "on";
gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
};
diy-led {
label = "diy";
default-state = "off";
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
};
};
fan: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
fan-supply = <&vcc12v_dcin>;
pwms = <&pwm1 0 50000 0>;
status = "disabled";
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk808 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
};
sound {
compatible = "audio-graph-card";
label = "rockchip,rk3399";
dais = <&i2s1_p0>;
};
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>;
};
/* switched by pmic_sleep */
vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
compatible = "regulator-fixed";
regulator-name = "vcc1v8_s3";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_1v8>;
};
/* micro SD card power */
vcc3v0_sd: vcc3v0-sd {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc0_pwr_h>;
regulator-name = "vcc3v0_sd";
regulator-always-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
vin-supply = <&vcc3v3_sys>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_pcie: vcc3v3-pcie-regulator {
compatible = "regulator-fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pcie_pwr_en>;
regulator-name = "vcc3v3_pcie";
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc12v_dcin>;
};
vcc3v3_sys: vcc3v3-sys {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc5v0_sys>;
};
/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
vcc5v0_host: vcc5v0-host-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_host_en>;
regulator-name = "vcc5v0_host";
regulator-always-on;
vin-supply = <&vcc5v0_usb>;
};
vcc5v0_typec: vcc5v0-typec-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_typec_en>;
regulator-name = "vcc5v0_typec";
regulator-always-on;
vin-supply = <&vcc5v0_usb>;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
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>;
};
vdd_log: vdd-log {
compatible = "pwm-regulator";
pwms = <&pwm2 0 25000 1>;
regulator-name = "vdd_log";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1700000>;
vin-supply = <&vcc5v0_sys>;
};
};
&cpu_l0 {
cpu-supply = <&vdd_cpu_l>;
};
&cpu_l1 {
cpu-supply = <&vdd_cpu_l>;
};
&cpu_l2 {
cpu-supply = <&vdd_cpu_l>;
};
&cpu_l3 {
cpu-supply = <&vdd_cpu_l>;
};
&cpu_b0 {
cpu-supply = <&vdd_cpu_b>;
};
&cpu_b1 {
cpu-supply = <&vdd_cpu_b>;
};
&emmc_phy {
status = "okay";
};
&gmac {
assigned-clocks = <&cru SCLK_RMII_SRC>;
assigned-clock-parents = <&clkin_gmac>;
clock_in_out = "input";
phy-supply = <&vcc_lan>;
phy-mode = "rgmii";
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>;
snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 50000>;
tx_delay = <0x28>;
rx_delay = <0x11>;
status = "okay";
};
&hdmi {
ddc-i2c-bus = <&i2c3>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_cec>;
status = "okay";
};
&hdmi_sound {
status = "okay";
};
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay";
};
&i2c0 {
clock-frequency = <400000>;
i2c-scl-rising-time-ns = <168>;
i2c-scl-falling-time-ns = <4>;
status = "okay";
rk808: pmic@1b {
compatible = "rockchip,rk808";
reg = <0x1b>;
interrupt-parent = <&gpio3>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <1>;
clock-output-names = "xin32k", "rk808-clkout2";
pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc6-supply = <&vcc5v0_sys>;
vcc7-supply = <&vcc5v0_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
vcc10-supply = <&vcc5v0_sys>;
vcc11-supply = <&vcc5v0_sys>;
vcc12-supply = <&vcc3v3_sys>;
vddio-supply = <&vcca_1v8>;
regulators {
vdd_center: DCDC_REG1 {
regulator-name = "vdd_center";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_cpu_l: DCDC_REG2 {
regulator-name = "vdd_cpu_l";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc_1v8: DCDC_REG4 {
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcc1v8_dvp: LDO_REG1 {
regulator-name = "vcc1v8_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v0_touch: LDO_REG2 {
regulator-name = "vcc3v0_touch";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcca_1v8: LDO_REG3 {
regulator-name = "vcca_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcc_sdio: LDO_REG4 {
regulator-name = "vcc_sdio";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcca3v0_codec: LDO_REG5 {
regulator-name = "vcca3v0_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_1v5: LDO_REG6 {
regulator-name = "vcc_1v5";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1500000>;
};
};
vcca1v8_codec: LDO_REG7 {
regulator-name = "vcca1v8_codec";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_3v0: LDO_REG8 {
regulator-name = "vcc_3v0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3000000>;
};
};
vcc3v3_s3: vcc_lan: SWITCH_REG1 {
regulator-name = "vcc3v3_s3";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_s0: SWITCH_REG2 {
regulator-name = "vcc3v3_s0";
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};
vdd_cpu_b: regulator@40 {
compatible = "silergy,syr827";
reg = <0x40>;
fcs,suspend-voltage-selector = <1>;
pinctrl-names = "default";
pinctrl-0 = <&vsel1_gpio>;
regulator-name = "vdd_cpu_b";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_gpu: regulator@41 {
compatible = "silergy,syr828";
reg = <0x41>;
fcs,suspend-voltage-selector = <1>;
pinctrl-names = "default";
pinctrl-0 = <&vsel2_gpio>;
regulator-name = "vdd_gpu";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&i2c1 {
i2c-scl-rising-time-ns = <300>;
i2c-scl-falling-time-ns = <15>;
status = "okay";
};
&i2c3 {
i2c-scl-rising-time-ns = <450>;
i2c-scl-falling-time-ns = <15>;
status = "okay";
};
&i2c4 {
i2c-scl-rising-time-ns = <600>;
i2c-scl-falling-time-ns = <20>;
status = "okay";
fusb0: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio1>;
interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&fusb0_int>;
vbus-supply = <&vcc5v0_typec>;
status = "okay";
};
};
&i2s0 {
rockchip,playback-channels = <8>;
rockchip,capture-channels = <8>;
status = "okay";
};
&i2s1 {
rockchip,playback-channels = <2>;
rockchip,capture-channels = <2>;
status = "okay";
i2s1_p0: port {
i2s1_p0_0: endpoint {
dai-format = "i2s";
mclk-fs = <256>;
remote-endpoint = <&es8316_p0_0>;
};
};
};
&i2s2 {
status = "okay";
};
&io_domains {
status = "okay";
bt656-supply = <&vcc1v8_dvp>;
audio-supply = <&vcc_3v0>;
sdmmc-supply = <&vcc_sdio>;
gpio1830-supply = <&vcc_3v0>;
};
&pcie0 {
ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
num-lanes = <4>;
max-link-speed = <2>;
pinctrl-names = "default";
pinctrl-0 = <&pcie_perst>;
vpcie3v3-supply = <&vcc3v3_pcie>;
bus-scan-delay-ms = <1000>;
status = "okay";
};
&pcie_phy {
status = "okay";
};
&pmu_io_domains {
pmu1830-supply = <&vcc_3v0>;
status = "okay";
};
&pinctrl {
bt {
bt_enable_h: bt-enable-h {
rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_host_wake_l: bt-host-wake-l {
rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
};
bt_wake_l: bt-wake-l {
rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
buttons {
pwrbtn: pwrbtn {
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
fusb302x {
fusb0_int: fusb0-int {
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
leds {
work_led_gpio: work_led-gpio {
rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
diy_led_gpio: diy_led-gpio {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pcie {
pcie_perst: pcie-perst {
rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
};
pcie_pwr_en: pcie-pwr-en {
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
vsel1_gpio: vsel1-gpio {
rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
};
vsel2_gpio: vsel2-gpio {
rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
sdcard {
sdmmc0_pwr_h: sdmmc0-pwr-h {
rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
usb-typec {
vcc5v0_typec_en: vcc5v0_typec_en {
rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
usb2 {
vcc5v0_host_en: vcc5v0-host-en {
rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&pwm0 {
status = "okay";
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&saradc {
vref-supply = <&vcca1v8_s3>;
status = "okay";
};
&sdio0 {
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 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
sd-uhs-sdr104;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-sd-highspeed;
cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
disable-wp;
max-frequency = <150000000>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
vmmc-supply = <&vcc3v0_sd>;
vqmmc-supply = <&vcc_sdio>;
status = "okay";
};
&sdhci {
bus-width = <8>;
mmc-hs200-1_8v;
non-removable;
status = "okay";
};
&spi1 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
};
};
&tcphy0 {
status = "okay";
};
&tcphy1 {
status = "okay";
};
&tsadc {
/* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-mode = <1>;
/* tshut polarity 0:LOW 1:HIGH */
rockchip,hw-tshut-polarity = <1>;
status = "okay";
};
&u2phy0 {
status = "okay";
u2phy0_otg: otg-port {
status = "okay";
};
u2phy0_host: host-port {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
};
&u2phy1 {
status = "okay";
u2phy1_otg: otg-port {
status = "okay";
};
u2phy1_host: host-port {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <&rk808 1>;
clock-names = "lpo";
device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
vbat-supply = <&vcc3v3_sys>;
vddio-supply = <&vcc_1v8>;
};
};
&uart2 {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&usb_host1_ehci {
status = "okay";
};
&usb_host1_ohci {
status = "okay";
};
&usbdrd3_0 {
status = "okay";
};
&usbdrd_dwc3_0 {
status = "okay";
dr_mode = "otg";
};
&usbdrd3_1 {
status = "okay";
};
&usbdrd_dwc3_1 {
status = "okay";
dr_mode = "host";
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment