mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2026-01-27 12:35:36 +01:00
commitd201c92bffupstream. Correct the specified regulator-min-microvolt value for the buck DCDC_REG2 regulator, which is part of the Rockchip RK809 PMIC, in the Pine64 Quartz64 Model B board dts. According to the RK809 datasheet, version 1.01, this regulator is capable of producing voltages as low as 0.5 V on its output, instead of going down to 0.9 V only, which is additionally confirmed by the regulator-min-microvolt values found in the board dts files for the other supported boards that use the same RK809 PMIC. This allows the DVFS to clock the GPU on the Quartz64 Model B below 700 MHz, all the way down to 200 MHz, which saves some power and reduces the amount of generated heat a bit, improving the thermal headroom and possibly improving the bursty CPU and GPU performance on this board. This also eliminates the following warnings in the kernel log: core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (200000000) core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (300000000) core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (400000000) core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (600000000) Fixes:dcc8c66bef("arm64: dts: rockchip: add Pine64 Quartz64-B device tree") Cc: stable@vger.kernel.org Reported-By: Diederik de Haas <didi.debian@cknow.org> Signed-off-by: Dragan Simic <dsimic@manjaro.org> Tested-by: Diederik de Haas <didi.debian@cknow.org> Link: https://lore.kernel.org/r/e70742ea2df432bf57b3f7de542d81ca22b0da2f.1716225483.git.dsimic@manjaro.org Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
738 lines
15 KiB
Plaintext
738 lines
15 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
#include <dt-bindings/soc/rockchip,vop2.h>
|
|
#include "rk3566.dtsi"
|
|
|
|
/ {
|
|
model = "Pine64 RK3566 Quartz64-B Board";
|
|
compatible = "pine64,quartz64-b", "rockchip,rk3566";
|
|
|
|
aliases {
|
|
ethernet0 = &gmac1;
|
|
mmc0 = &sdmmc0;
|
|
mmc1 = &sdhci;
|
|
mmc2 = &sdmmc1;
|
|
};
|
|
|
|
chosen: chosen {
|
|
stdout-path = "serial2:1500000n8";
|
|
};
|
|
|
|
gmac1_clkin: external-gmac1-clock {
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <125000000>;
|
|
clock-output-names = "gmac1_clkin";
|
|
#clock-cells = <0>;
|
|
};
|
|
|
|
hdmi-con {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_con_in: endpoint {
|
|
remote-endpoint = <&hdmi_out_con>;
|
|
};
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led-user {
|
|
label = "user-led";
|
|
default-state = "on";
|
|
gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&user_led_enable_h>;
|
|
retain-state-suspended;
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,format = "i2s";
|
|
simple-audio-card,name = "Analog RK809";
|
|
simple-audio-card,mclk-fs = <256>;
|
|
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&i2s1_8ch>;
|
|
};
|
|
|
|
simple-audio-card,codec {
|
|
sound-dai = <&rk809>;
|
|
};
|
|
};
|
|
|
|
sdio_pwrseq: sdio-pwrseq {
|
|
status = "okay";
|
|
compatible = "mmc-pwrseq-simple";
|
|
clocks = <&rk809 1>;
|
|
clock-names = "ext_clock";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wifi_enable_h>;
|
|
reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
|
|
post-power-on-delay-ms = <100>;
|
|
power-off-delay-us = <5000000>;
|
|
};
|
|
|
|
vcc3v3_pcie_p: vcc3v3-pcie-p-regulator {
|
|
compatible = "regulator-fixed";
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie_enable_h>;
|
|
regulator-name = "vcc3v3_pcie_p";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
vin-supply = <&vcc_3v3>;
|
|
};
|
|
|
|
vcc5v0_in: vcc5v0-in-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_in";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
|
|
vcc5v0_sys: vcc5v0-sys-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_sys";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
vin-supply = <&vcc5v0_in>;
|
|
};
|
|
|
|
vcc3v3_sys: vcc3v3-sys-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc3v3_sys";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
|
|
vcc5v0_usb30_host: vcc5v0-usb30-host-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_usb30_host";
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vcc5v0_usb30_host_en_h>;
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
|
|
vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0_usb_otg";
|
|
enable-active-high;
|
|
gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vcc5v0_usb_otg_en_h>;
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
};
|
|
};
|
|
|
|
&combphy1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&combphy2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <&vdd_cpu>;
|
|
};
|
|
|
|
&cpu1 {
|
|
cpu-supply = <&vdd_cpu>;
|
|
};
|
|
|
|
&cpu2 {
|
|
cpu-supply = <&vdd_cpu>;
|
|
};
|
|
|
|
&cpu3 {
|
|
cpu-supply = <&vdd_cpu>;
|
|
};
|
|
|
|
&gmac1 {
|
|
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
|
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
|
clock_in_out = "input";
|
|
phy-mode = "rgmii";
|
|
phy-supply = <&vcc_3v3>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gmac1m1_miim
|
|
&gmac1m1_tx_bus2
|
|
&gmac1m1_rx_bus2
|
|
&gmac1m1_rgmii_clk
|
|
&gmac1m1_clkinout
|
|
&gmac1m1_rgmii_bus>;
|
|
snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
|
|
snps,reset-active-low;
|
|
/* Reset time is 20ms, 100ms for rtl8211f, also works well here */
|
|
snps,reset-delays-us = <0 20000 100000>;
|
|
tx_delay = <0x4f>;
|
|
rx_delay = <0x24>;
|
|
phy-handle = <&rgmii_phy1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&gpu {
|
|
mali-supply = <&vdd_gpu>;
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi {
|
|
avdd-0v9-supply = <&vdda0v9_image>;
|
|
avdd-1v8-supply = <&vcca1v8_image>;
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi_in {
|
|
hdmi_in_vp0: endpoint {
|
|
remote-endpoint = <&vp0_out_hdmi>;
|
|
};
|
|
};
|
|
|
|
&hdmi_out {
|
|
hdmi_out_con: endpoint {
|
|
remote-endpoint = <&hdmi_con_in>;
|
|
};
|
|
};
|
|
|
|
&hdmi_sound {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
vdd_cpu: regulator@1c {
|
|
compatible = "tcs,tcs4525";
|
|
reg = <0x1c>;
|
|
fcs,suspend-voltage-selector = <1>;
|
|
regulator-name = "vdd_cpu";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
regulator-ramp-delay = <2300>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
vin-supply = <&vcc5v0_sys>;
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
rk809: pmic@20 {
|
|
compatible = "rockchip,rk809";
|
|
reg = <0x20>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
|
assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
|
clock-names = "mclk";
|
|
clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
|
|
rockchip,system-power-controller;
|
|
#sound-dai-cells = <0>;
|
|
wakeup-source;
|
|
#clock-cells = <1>;
|
|
|
|
vcc1-supply = <&vcc3v3_sys>;
|
|
vcc2-supply = <&vcc3v3_sys>;
|
|
vcc3-supply = <&vcc3v3_sys>;
|
|
vcc4-supply = <&vcc3v3_sys>;
|
|
vcc5-supply = <&vcc3v3_sys>;
|
|
vcc6-supply = <&vcc3v3_sys>;
|
|
vcc7-supply = <&vcc3v3_sys>;
|
|
vcc8-supply = <&vcc3v3_sys>;
|
|
vcc9-supply = <&vcc3v3_sys>;
|
|
|
|
regulators {
|
|
vdd_log: DCDC_REG1 {
|
|
regulator-name = "vdd_log";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vdd_gpu: DCDC_REG2 {
|
|
regulator-name = "vdd_gpu";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-ramp-delay = <6001>;
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vcc_ddr: DCDC_REG3 {
|
|
regulator-name = "vcc_ddr";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-initial-mode = <0x2>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
};
|
|
};
|
|
|
|
vdd_npu: DCDC_REG4 {
|
|
regulator-name = "vdd_npu";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-initial-mode = <0x2>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
vcc_1v8: DCDC_REG5 {
|
|
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>;
|
|
};
|
|
};
|
|
|
|
vdda0v9_image: LDO_REG1 {
|
|
regulator-name = "vdda0v9_image";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vdda_0v9: LDO_REG2 {
|
|
regulator-name = "vdda_0v9";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vdda0v9_pmu: LDO_REG3 {
|
|
regulator-name = "vdda0v9_pmu";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <900000>;
|
|
};
|
|
};
|
|
|
|
vccio_acodec: LDO_REG4 {
|
|
regulator-name = "vccio_acodec";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
|
|
};
|
|
};
|
|
|
|
vccio_sd: LDO_REG5 {
|
|
regulator-name = "vccio_sd";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcc3v3_pmu: LDO_REG6 {
|
|
regulator-name = "vcc3v3_pmu";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-suspend-microvolt = <3300000>;
|
|
};
|
|
};
|
|
|
|
vcca_1v8: LDO_REG7 {
|
|
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>;
|
|
};
|
|
};
|
|
|
|
vcca1v8_pmu: LDO_REG8 {
|
|
regulator-name = "vcca1v8_pmu";
|
|
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>;
|
|
};
|
|
};
|
|
|
|
vcca1v8_image: LDO_REG9 {
|
|
regulator-name = "vcca1v8_image";
|
|
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_3v3: SWITCH_REG1 {
|
|
regulator-boot-on;
|
|
regulator-name = "vcc_3v3";
|
|
};
|
|
|
|
vcc3v3_sd: SWITCH_REG2 {
|
|
regulator-name = "vcc3v3_sd";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* i2c2_m1 exposed on csi port, pulled up to vcc_3v3 */
|
|
&i2c2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c2m1_xfer>;
|
|
status = "okay";
|
|
};
|
|
|
|
/* i2c3_m1 exposed on dsi port, pulled up to vcc_3v3 */
|
|
&i2c3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c3m1_xfer>;
|
|
status = "okay";
|
|
};
|
|
|
|
/*
|
|
* i2c4_m0 is exposed on PI40, pulled up to vcc_3v3
|
|
* pin 27 - i2c4_sda_m0
|
|
* pin 28 - i2c4_scl_m0
|
|
*/
|
|
&i2c4 {
|
|
status = "okay";
|
|
};
|
|
|
|
/*
|
|
* i2c5_m0 is exposed on PI40
|
|
* pin 29 - i2c5_scl_m0
|
|
* pin 31 - i2c5_sda_m0
|
|
*/
|
|
&i2c5 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&i2s0_8ch {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s1_8ch {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2s1m0_sclktx
|
|
&i2s1m0_lrcktx
|
|
&i2s1m0_sdi0
|
|
&i2s1m0_sdo0>;
|
|
rockchip,trcm-sync-tx-only;
|
|
status = "okay";
|
|
};
|
|
|
|
&mdio1 {
|
|
rgmii_phy1: ethernet-phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0x1>;
|
|
};
|
|
};
|
|
|
|
&pcie2x1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie_reset_h>;
|
|
reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
|
|
vpcie3v3-supply = <&vcc3v3_pcie_p>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
bt {
|
|
bt_enable_h: bt-enable-h {
|
|
rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
bt_host_wake_l: bt-host-wake-l {
|
|
rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
};
|
|
|
|
bt_wake_l: bt-wake-l {
|
|
rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
user_led_enable_h: user-led-enable-h {
|
|
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pcie {
|
|
pcie_enable_h: pcie-enable-h {
|
|
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
pcie_reset_h: pcie-reset-h {
|
|
rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
pmic {
|
|
pmic_int: pmic_int {
|
|
rockchip,pins =
|
|
<0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
|
|
sdio-pwrseq {
|
|
wifi_enable_h: wifi-enable-h {
|
|
rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
usb {
|
|
vcc5v0_usb30_host_en_h: vcc5v0-usb30-host-en_h {
|
|
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
vcc5v0_usb_otg_en_h: vcc5v0-usb-otg-en_h {
|
|
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pmu_io_domains {
|
|
status = "okay";
|
|
pmuio1-supply = <&vcc3v3_pmu>;
|
|
pmuio2-supply = <&vcca1v8_pmu>;
|
|
vccio1-supply = <&vccio_acodec>;
|
|
vccio2-supply = <&vcc_1v8>;
|
|
vccio3-supply = <&vccio_sd>;
|
|
vccio4-supply = <&vcca1v8_pmu>;
|
|
vccio5-supply = <&vcc_3v3>;
|
|
vccio6-supply = <&vcc_3v3>;
|
|
vccio7-supply = <&vcc_3v3>;
|
|
};
|
|
|
|
&saradc {
|
|
vref-supply = <&vcca_1v8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci {
|
|
bus-width = <8>;
|
|
mmc-hs200-1_8v;
|
|
non-removable;
|
|
vmmc-supply = <&vcc_3v3>;
|
|
vqmmc-supply = <&vcc_1v8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc0 {
|
|
bus-width = <4>;
|
|
cap-sd-highspeed;
|
|
cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
disable-wp;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
|
sd-uhs-sdr50;
|
|
vmmc-supply = <&vcc3v3_sd>;
|
|
vqmmc-supply = <&vccio_sd>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdmmc1 {
|
|
bus-width = <4>;
|
|
cap-sd-highspeed;
|
|
cap-sdio-irq;
|
|
keep-power-in-suspend;
|
|
mmc-pwrseq = <&sdio_pwrseq>;
|
|
non-removable;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
|
|
vmmc-supply = <&vcc3v3_sys>;
|
|
vqmmc-supply = <&vcca1v8_pmu>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sfc {
|
|
pinctrl-0 = <&fspi_pins>;
|
|
pinctrl-names = "default";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <24000000>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-tx-bus-width = <1>;
|
|
};
|
|
};
|
|
|
|
&tsadc {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
|
|
status = "okay";
|
|
uart-has-rtscts;
|
|
|
|
bluetooth {
|
|
compatible = "brcm,bcm4345c5";
|
|
clocks = <&rk809 1>;
|
|
clock-names = "lpo";
|
|
device-wakeup-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
|
|
host-wakeup-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
|
|
shutdown-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
|
vbat-supply = <&vcc3v3_sys>;
|
|
vddio-supply = <&vcca1v8_pmu>;
|
|
};
|
|
};
|
|
|
|
/*
|
|
* uart2_m0 is exposed on PI40
|
|
* pin 8 - uart2_tx_m0
|
|
* pin 10 - uart2_rx_m0
|
|
*/
|
|
&uart2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy0_host {
|
|
phy-supply = <&vcc5v0_usb30_host>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy0_otg {
|
|
phy-supply = <&vcc5v0_usb_otg>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy1_otg {
|
|
phy-supply = <&vcc5v0_usb30_host>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_xhci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host1_xhci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_ehci {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_host0_ohci {
|
|
status = "okay";
|
|
};
|
|
|
|
&vop {
|
|
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
|
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vop_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vp0 {
|
|
vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
|
reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
|
remote-endpoint = <&hdmi_in_vp0>;
|
|
};
|
|
};
|