295 lines
6.0 KiB
Plaintext
295 lines
6.0 KiB
Plaintext
/*
|
|
* Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
|
|
*
|
|
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "rk3399-sapphire.dtsi"
|
|
#include "rk3399-linux.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Rockchip RK3399 Videostrong Board (Linux Opensource)";
|
|
compatible = "rockchip,rk3399-videostrong-linux", "rockchip,rk3399";
|
|
|
|
fiq_debugger: fiq-debugger {
|
|
compatible = "rockchip,fiq-debugger";
|
|
rockchip,serial-id = <2>;
|
|
rockchip,signal-irq = <182>;
|
|
rockchip,wake-irq = <0>;
|
|
rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
|
|
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2c_xfer>;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
autorepeat;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pwrbtn>;
|
|
|
|
button@0 {
|
|
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_POWER>;
|
|
label = "GPIO Key Power";
|
|
linux,input-type = <1>;
|
|
gpio-key,wakeup = <1>;
|
|
debounce-interval = <100>;
|
|
};
|
|
};
|
|
|
|
hdmi_sound: hdmi-sound {
|
|
status = "okay";
|
|
};
|
|
|
|
rt5640-sound {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,format = "i2s";
|
|
simple-audio-card,name = "rockchip,rt5640-codec";
|
|
simple-audio-card,mclk-fs = <256>;
|
|
simple-audio-card,widgets =
|
|
"Microphone", "Mic Jack",
|
|
"Headphone", "Headphone Jack";
|
|
simple-audio-card,routing =
|
|
"Mic Jack", "MICBIAS1",
|
|
"IN1P", "Mic Jack",
|
|
"Headphone Jack", "HPOL",
|
|
"Headphone Jack", "HPOR";
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&i2s1>;
|
|
};
|
|
simple-audio-card,codec {
|
|
sound-dai = <&rt5640>;
|
|
};
|
|
};
|
|
|
|
sdio_pwrseq: sdio-pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
clocks = <&rk808 1>;
|
|
clock-names = "ext_clock";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wifi_enable_h>;
|
|
|
|
/*
|
|
* On the module itself this is one of these (depending
|
|
* on the actual card populated):
|
|
* - SDIO_RESET_L_WL_REG_ON
|
|
* - PDN (power down when low)
|
|
*/
|
|
reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; /* GPIO0_B2 */
|
|
};
|
|
|
|
spdif-sound {
|
|
status = "okay";
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "ROCKCHIP,SPDIF";
|
|
simple-audio-card,mclk-fs = <128>;
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&spdif>;
|
|
};
|
|
simple-audio-card,codec {
|
|
sound-dai = <&spdif_out>;
|
|
};
|
|
};
|
|
|
|
spdif_out: spdif-out {
|
|
status = "okay";
|
|
compatible = "linux,spdif-dit";
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
|
|
vccadc_ref: vccadc-ref {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc1v8_sys";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
wireless-bluetooth {
|
|
compatible = "bluetooth-platdata";
|
|
clocks = <&rk808 1>;
|
|
clock-names = "ext_clock";
|
|
uart_rts_gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; /* GPIO2_C3 */
|
|
pinctrl-names = "default", "rts_gpio";
|
|
pinctrl-0 = <&uart0_rts>;
|
|
pinctrl-1 = <&uart0_gpios>;
|
|
BT,reset_gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>; /* GPIO0_B1 */
|
|
BT,wake_gpio = <&gpio2 26 GPIO_ACTIVE_HIGH>; /* GPIO2_D2 */
|
|
BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */
|
|
status = "okay";
|
|
};
|
|
|
|
wireless-wlan {
|
|
compatible = "wlan-platdata";
|
|
rockchip,grf = <&grf>;
|
|
wifi_chip_type = "ap6354";
|
|
sdio_vref = <1800>;
|
|
WIFI,host_wake_irq = <&gpio0 3 GPIO_ACTIVE_HIGH>; /* GPIO0_a3 */
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&dfi {
|
|
status = "okay";
|
|
};
|
|
|
|
&display_subsystem {
|
|
status = "okay";
|
|
};
|
|
|
|
&dmc {
|
|
status = "okay";
|
|
center-supply = <&vdd_center>;
|
|
upthreshold = <40>;
|
|
downdifferential = <20>;
|
|
system-status-freq = <
|
|
/* system status freq(KHz) */
|
|
SYS_STATUS_NORMAL 800000
|
|
SYS_STATUS_REBOOT 528000
|
|
SYS_STATUS_SUSPEND 200000
|
|
SYS_STATUS_VIDEO_1080P 200000
|
|
SYS_STATUS_VIDEO_4K 600000
|
|
SYS_STATUS_VIDEO_4K_10B 800000
|
|
SYS_STATUS_PERFORMANCE 800000
|
|
SYS_STATUS_BOOST 400000
|
|
SYS_STATUS_DUALVIEW 600000
|
|
SYS_STATUS_ISP 600000
|
|
>;
|
|
vop-bw-dmc-freq = <
|
|
/* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
|
|
0 577 200000
|
|
578 1701 300000
|
|
1702 99999 400000
|
|
>;
|
|
auto-min-freq = <200000>;
|
|
};
|
|
|
|
&hdmi {
|
|
/* remove the hdmi_cec, reused by edp_hpd */
|
|
pinctrl-0 = <&hdmi_i2c_xfer>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
#sound-dai-cells = <0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
i2c-scl-rising-time-ns = <300>;
|
|
i2c-scl-falling-time-ns = <15>;
|
|
|
|
rt5640: rt5640@1c {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "realtek,rt5640";
|
|
reg = <0x1c>;
|
|
clocks = <&cru SCLK_I2S_8CH_OUT>;
|
|
clock-names = "mclk";
|
|
realtek,in1-differential;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2s_8ch_mclk>;
|
|
};
|
|
};
|
|
|
|
&i2s1 {
|
|
status = "okay";
|
|
rockchip,i2s-broken-burst-len;
|
|
rockchip,playback-channels = <2>;
|
|
rockchip,capture-channels = <2>;
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
|
|
&rkvdec {
|
|
status = "okay";
|
|
/* 0 means ion, 1 means drm */
|
|
//allocator = <0>;
|
|
};
|
|
|
|
&rockchip_suspend {
|
|
status = "okay";
|
|
rockchip,sleep-debug-en = <1>;
|
|
rockchip,sleep-mode-config = <
|
|
(0
|
|
| RKPM_SLP_ARMPD
|
|
| RKPM_SLP_PERILPPD
|
|
| RKPM_SLP_DDR_RET
|
|
| RKPM_SLP_PLLPD
|
|
| RKPM_SLP_CENTER_PD
|
|
| RKPM_SLP_AP_PWROFF
|
|
)
|
|
>;
|
|
rockchip,wakeup-config = <
|
|
(0
|
|
| RKPM_GPIO_WKUP_EN
|
|
| RKPM_PWM_WKUP_EN
|
|
)
|
|
>;
|
|
rockchip,pwm-regulator-config = <
|
|
(0
|
|
| PWM2_REGULATOR_EN
|
|
)
|
|
>;
|
|
rockchip,power-ctrl =
|
|
<&gpio1 17 GPIO_ACTIVE_HIGH>,
|
|
<&gpio1 14 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
&spdif {
|
|
status = "okay";
|
|
pinctrl-0 = <&spdif_bus>;
|
|
i2c-scl-rising-time-ns = <450>;
|
|
i2c-scl-falling-time-ns = <15>;
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_xfer &uart0_cts>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vopb {
|
|
status = "okay";
|
|
};
|
|
|
|
&vopb_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&vopl {
|
|
status = "okay";
|
|
};
|
|
|
|
&vopl_mmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&pinctrl {
|
|
buttons {
|
|
pwrbtn: pwrbtn {
|
|
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
|
|
sdio-pwrseq {
|
|
wifi_enable_h: wifi-enable-h {
|
|
rockchip,pins =
|
|
<0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
wireless-bluetooth {
|
|
uart0_gpios: uart0-gpios {
|
|
rockchip,pins =
|
|
<2 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
};
|