Rename the Rockchip RK3399 SoC dtsi files and, consequently, adjust their contents and the contents of the affected board dts(i) files appropriately, to "encapsulate" the different CPU and GPU OPPs for each of the supported RK3399 SoC variants into the respective SoC variant dtsi files. Moving the OPPs to the SoC variant dtsi files, instead of requiring the board dts(i) files to include both the SoC variant dtsi file and the right OPP variant dtsi file, reduces the possibility for mismatched inclusion and improves the overall hierarchical representation of data. These changes follow the approach used for the Rockchip RK3588 SoC variants, which was introduced and described further in commitdef88eb4d8("arm64: dts: rockchip: Prepare RK3588 SoC dtsi files for per-variant OPPs"). Please see that commit for a more detailed explanation. No functional changes are introduced, which was validated by decompiling and comparing all affected dtb files before and after these changes. In more detail, all decompiled dtb files remain exactly the same, except the files list below, which results from all of them stemming from the same base board dtsi file (rk3399-rock-pi-4.dtsi), while all of them include one of the three different RK3399 SoC variant dtsi files by themselves: - rk3399-rock-4se.dtb - rk3399-rock-pi-4a.dtb - rk3399-rock-pi-4a-plus.dtb - rk3399-rock-pi-4b.dtb - rk3399-rock-pi-4b-plus.dtb - rk3399-rock-pi-4c.dtb When compared with the decompiled original dtb files, these dtb files have some of their blocks shuffled around a bit and some of their phandles have different values, as a result of the changes to the order in which the building blocks from the parent dtsi files are included into them, but they still effectively remain the same as the originals. The only exception to the "include only a SoC variant dtsi" is found in rk3399-evb.dts, which includes rk3399-base.dtsi instead of rk3399.dtsi. This is intentional, because this board dts file doesn't enable the TSADC, so including rk3399.dtsi would enable the SoC to go into higher OPPs with no thermal throttling in place. Let's hope that people interested in this board will fix this in the future. As a side note, due to the nature of introduced changes, this commit is best viewed using the --break-rewrites option for git-log(1). Related-to:def88eb4d8("arm64: dts: rockchip: Prepare RK3588 SoC dtsi files for per-variant OPPs") Signed-off-by: Dragan Simic <dsimic@manjaro.org> Link: https://lore.kernel.org/r/9417b5c5b64f9aceea64530a85a536169a3e7466.1721532747.git.dsimic@manjaro.org Signed-off-by: Heiko Stuebner <heiko@sntech.de>
764 lines
15 KiB
Devicetree
764 lines
15 KiB
Devicetree
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/dts-v1/;
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include "rk3399.dtsi"
|
|
|
|
/ {
|
|
model = "Hugsun X99 TV BOX";
|
|
compatible = "hugsun,x99", "rockchip,rk3399";
|
|
|
|
aliases {
|
|
ethernet0 = &gmac;
|
|
mmc0 = &sdio0;
|
|
mmc1 = &sdmmc;
|
|
mmc2 = &sdhci;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial2:1500000n8";
|
|
};
|
|
|
|
clkin_gmac: external-gmac-clock {
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <125000000>;
|
|
clock-output-names = "clkin_gmac";
|
|
#clock-cells = <0>;
|
|
};
|
|
|
|
dc_5v: dc-5v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "dc_5v";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
|
|
ir-receiver {
|
|
compatible = "gpio-ir-receiver";
|
|
gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ir_rx>;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&power_led_pin>;
|
|
|
|
power_led: led-0 {
|
|
label = "blue:power";
|
|
gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
|
|
default-state = "on";
|
|
linux,default-trigger = "default-on";
|
|
};
|
|
};
|
|
|
|
vcc_sys: vcc-sys {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc_sys";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
vin-supply = <&dc_5v>;
|
|
};
|
|
|
|
vcc_phy: vcc-phy-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc_phy";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcc1v8_s0: vcc1v8-s0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc1v8_s0";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vcc3v3_sys: vcc3v3-sys {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc3v3_sys";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
vin-supply = <&vcc_sys>;
|
|
};
|
|
|
|
vcc5v0_host: vcc5v0-host-regulator {
|
|
compatible = "regulator-fixed";
|
|
enable-active-high;
|
|
gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&host_vbus_drv>;
|
|
regulator-name = "vcc5v0_host";
|
|
regulator-always-on;
|
|
};
|
|
|
|
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_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 = <&dc_5v>;
|
|
};
|
|
|
|
vdd_log: vdd-log {
|
|
compatible = "pwm-regulator";
|
|
pwms = <&pwm2 0 25000 1>;
|
|
pwm-supply = <&vcc_sys>;
|
|
regulator-name = "vdd_log";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1400000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
sdio_pwrseq: sdio-pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
clocks = <&rk808 1>;
|
|
clock-names = "ext_clock";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wifi_reg_on_h>;
|
|
reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
};
|
|
|
|
&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_phy>;
|
|
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";
|
|
};
|
|
|
|
&gpu {
|
|
status = "okay";
|
|
mali-supply = <&vdd_gpu>;
|
|
};
|
|
|
|
&hdmi {
|
|
ddc-i2c-bus = <&i2c3>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdmi_cec>;
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi_sound {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
i2c-scl-rising-time-ns = <180>;
|
|
i2c-scl-falling-time-ns = <30>;
|
|
clock-frequency = <400000>;
|
|
|
|
vdd_cpu_b: syr827@40 {
|
|
compatible = "silergy,syr827";
|
|
reg = <0x40>;
|
|
regulator-compatible = "fan53555-reg";
|
|
pinctrl-0 = <&vsel1_pin>;
|
|
regulator-name = "vdd_cpu_b";
|
|
regulator-min-microvolt = <712500>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-ramp-delay = <1000>;
|
|
fcs,suspend-voltage-selector = <1>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
vin-supply = <&vcc_sys>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vdd_gpu: syr828@41 {
|
|
compatible = "silergy,syr828";
|
|
reg = <0x41>;
|
|
regulator-compatible = "fan53555-reg";
|
|
pinctrl-0 = <&vsel2_pin>;
|
|
regulator-name = "vdd_gpu";
|
|
regulator-min-microvolt = <712500>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-ramp-delay = <1000>;
|
|
fcs,suspend-voltage-selector = <1>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
vin-supply = <&vcc_sys>;
|
|
regulator-initial-mode = <1>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
rk808: pmic@1b {
|
|
compatible = "rockchip,rk808";
|
|
reg = <0x1b>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pmic_int_l>;
|
|
rockchip,system-power-controller;
|
|
wakeup-source;
|
|
#clock-cells = <1>;
|
|
clock-output-names = "xin32k", "rtc_clko_wifi";
|
|
|
|
vcc1-supply = <&vcc_sys>;
|
|
vcc2-supply = <&vcc_sys>;
|
|
vcc3-supply = <&vcc_sys>;
|
|
vcc4-supply = <&vcc_sys>;
|
|
vcc6-supply = <&vcc_sys>;
|
|
vcc7-supply = <&vcc_sys>;
|
|
vcc8-supply = <&vcc3v3_sys>;
|
|
vcc9-supply = <&vcc_sys>;
|
|
vcc10-supply = <&vcc_sys>;
|
|
vcc11-supply = <&vcc_sys>;
|
|
vcc12-supply = <&vcc3v3_sys>;
|
|
vddio-supply = <&vcc_1v8>;
|
|
|
|
regulators {
|
|
vdd_center: DCDC_REG1 {
|
|
regulator-name = "vdd_center";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vdd_cpu_l: DCDC_REG2 {
|
|
regulator-name = "vdd_cpu_l";
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
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-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcc1v8_dvp: LDO_REG1 {
|
|
regulator-name = "vcc1v8_dvp";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcca1v8_hdmi: LDO_REG2 {
|
|
regulator-name = "vcca1v8_hdmi";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcca_1v8: LDO_REG3 {
|
|
regulator-name = "vcca_1v8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1800000>;
|
|
};
|
|
};
|
|
|
|
vcc_sd: LDO_REG4 {
|
|
regulator-name = "vcc_sd";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcc3v0_sd: LDO_REG5 {
|
|
regulator-name = "vcc3v0_sd";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3000000>;
|
|
};
|
|
};
|
|
|
|
vcc_1v5: LDO_REG6 {
|
|
regulator-name = "vcc_1v5";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <1500000>;
|
|
};
|
|
};
|
|
|
|
vcca0v9_hdmi: LDO_REG7 {
|
|
regulator-name = "vcca0v9_hdmi";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vcc_3v0: LDO_REG8 {
|
|
regulator-name = "vcc_3v0";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3000000>;
|
|
};
|
|
};
|
|
|
|
vcc3v3_s3: SWITCH_REG1 {
|
|
regulator-name = "vcc3v3_s3";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc3v3_s0: SWITCH_REG2 {
|
|
regulator-name = "vcc3v3_s0";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-state-mem {
|
|
regulator-on-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 = <40>;
|
|
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";
|
|
};
|
|
};
|
|
|
|
&i2c7 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s0 {
|
|
rockchip,playback-channels = <8>;
|
|
rockchip,capture-channels = <8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s1 {
|
|
rockchip,playback-channels = <2>;
|
|
rockchip,capture-channels = <2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&io_domains {
|
|
status = "okay";
|
|
audio-supply = <&vcc1v8_s0>;
|
|
bt656-supply = <&vcc1v8_s0>;
|
|
gpio1830-supply = <&vcc_3v0>;
|
|
sdmmc-supply = <&vcc_sd>;
|
|
};
|
|
|
|
&pmu_io_domains {
|
|
status = "okay";
|
|
pmu1830-supply = <&vcc_1v8>;
|
|
};
|
|
|
|
&pinctrl {
|
|
fusb30x {
|
|
fusb0_int: fusb0-int {
|
|
rockchip,pins =
|
|
<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
|
|
gmac {
|
|
rgmii_sleep_pins: rgmii-sleep-pins {
|
|
rockchip,pins =
|
|
<3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
|
|
};
|
|
};
|
|
|
|
ir {
|
|
ir_rx: ir-rx {
|
|
rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
power_led_pin: power-led-pin {
|
|
rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pmic {
|
|
pmic_int_l: pmic-int-l {
|
|
rockchip,pins =
|
|
<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
|
|
vsel1_pin: vsel1-pin {
|
|
rockchip,pins =
|
|
<1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
};
|
|
|
|
vsel2_pin: vsel2-pin {
|
|
rockchip,pins =
|
|
<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
};
|
|
};
|
|
|
|
sdio {
|
|
bt_host_wake_l: bt-host-wake-l {
|
|
rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
bt_reg_on_h: bt-reg-on-h {
|
|
/* external pullup to VCC1V8_PMUPLL */
|
|
rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
bt_wake_l: bt-wake-l {
|
|
rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
wifi_reg_on_h: wifi-reg_on-h {
|
|
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
wifi {
|
|
wifi_host_wake_l: wifi-host-wake-l {
|
|
rockchip,pins = <0 RK_PA3 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 {
|
|
host_vbus_drv: host-vbus-drv {
|
|
rockchip,pins =
|
|
<4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pwm2 {
|
|
status = "okay";
|
|
pinctrl-0 = <&pwm2_pin_pull_down>;
|
|
};
|
|
|
|
&saradc {
|
|
vref-supply = <&vcc1v8_s0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc {
|
|
clock-frequency = <150000000>;
|
|
max-frequency = <150000000>;
|
|
bus-width = <4>;
|
|
cap-mmc-highspeed;
|
|
cap-sd-highspeed;
|
|
disable-wp;
|
|
vqmmc-supply = <&vcc_sd>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
|
|
card-detect-delay = <800>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci {
|
|
bus-width = <8>;
|
|
mmc-hs400-1_8v;
|
|
mmc-hs400-enhanced-strobe;
|
|
non-removable;
|
|
keep-power-in-suspend;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdio0 {
|
|
bus-width = <4>;
|
|
clock-frequency = <50000000>;
|
|
cap-sdio-irq;
|
|
cap-sd-highspeed;
|
|
keep-power-in-suspend;
|
|
mmc-pwrseq = <&sdio_pwrseq>;
|
|
non-removable;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
|
sd-uhs-sdr104;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
brcmf: wifi@1 {
|
|
compatible = "brcm,bcm4329-fmac";
|
|
reg = <1>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "host-wake";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wifi_host_wake_l>;
|
|
};
|
|
};
|
|
|
|
&spdif {
|
|
status = "okay";
|
|
pinctrl-0 = <&spdif_bus_1>;
|
|
};
|
|
|
|
&spi1 {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
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>;
|
|
rockchip,hw-tshut-temp = <110000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&u2phy0 {
|
|
status = "okay";
|
|
|
|
u2phy0_host: host-port {
|
|
phy-supply = <&vcc5v0_typec>;
|
|
status = "okay";
|
|
};
|
|
|
|
u2phy0_otg: otg-port {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&u2phy1 {
|
|
status = "okay";
|
|
|
|
u2phy1_host: host-port {
|
|
phy-supply = <&vcc5v0_host>;
|
|
status = "okay";
|
|
};
|
|
|
|
u2phy1_otg: otg-port {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>;
|
|
status = "okay";
|
|
|
|
bluetooth {
|
|
compatible = "brcm,bcm43438-bt";
|
|
clocks = <&rk808 1>;
|
|
clock-names = "ext_clock";
|
|
device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
|
|
host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
|
shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
|
|
max-speed = <4000000>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>;
|
|
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 = "host";
|
|
};
|
|
|
|
&usbdrd3_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usbdrd_dwc3_1 {
|
|
status = "okay";
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&vopb {
|
|
status = "okay";
|
|
};
|
|
|
|
&vopb_mmu {
|
|
status = "okay";
|
|
};
|