rockchip
This commit is contained in:
528
rk3399-sapphire-excavator-lp4-linux.dts
Normal file
528
rk3399-sapphire-excavator-lp4-linux.dts
Normal file
@@ -0,0 +1,528 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
// Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd.
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "rk3399-excavator-sapphire.dtsi"
|
||||
#include "rk3399-linux.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Rockchip RK3399 Excavator Board (Linux Opensource)";
|
||||
compatible = "rockchip,rk3399-excavator-linux", "rockchip,rk3399";
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <
|
||||
0 1 2 3 4 5 6 7
|
||||
8 9 10 11 12 13 14 15
|
||||
16 17 18 19 20 21 22 23
|
||||
24 25 26 27 28 29 30 31
|
||||
32 33 34 35 36 37 38 39
|
||||
40 41 42 43 44 45 46 47
|
||||
48 49 50 51 52 53 54 55
|
||||
56 57 58 59 60 61 62 63
|
||||
64 65 66 67 68 69 70 71
|
||||
72 73 74 75 76 77 78 79
|
||||
80 81 82 83 84 85 86 87
|
||||
88 89 90 91 92 93 94 95
|
||||
96 97 98 99 100 101 102 103
|
||||
104 105 106 107 108 109 110 111
|
||||
112 113 114 115 116 117 118 119
|
||||
120 121 122 123 124 125 126 127
|
||||
128 129 130 131 132 133 134 135
|
||||
136 137 138 139 140 141 142 143
|
||||
144 145 146 147 148 149 150 151
|
||||
152 153 154 155 156 157 158 159
|
||||
160 161 162 163 164 165 166 167
|
||||
168 169 170 171 172 173 174 175
|
||||
176 177 178 179 180 181 182 183
|
||||
184 185 186 187 188 189 190 191
|
||||
192 193 194 195 196 197 198 199
|
||||
200 201 202 203 204 205 206 207
|
||||
208 209 210 211 212 213 214 215
|
||||
216 217 218 219 220 221 222 223
|
||||
224 225 226 227 228 229 230 231
|
||||
232 233 234 235 236 237 238 239
|
||||
240 241 242 243 244 245 246 247
|
||||
248 249 250 251 252 253 254 255>;
|
||||
default-brightness-level = <200>;
|
||||
pwms = <&pwm0 0 25000 0>;
|
||||
enable-gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
vcc_lcd: vcc-lcd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_lcd";
|
||||
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <20000>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
compatible = "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <&vcc_lcd>;
|
||||
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
||||
prepare-delay-ms = <20>;
|
||||
enable-delay-ms = <20>;
|
||||
width-mm = <120>;
|
||||
height-mm = <160>;
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing0>;
|
||||
|
||||
timing0: timing0 {
|
||||
clock-frequency = <200000000>;
|
||||
hactive = <1536>;
|
||||
vactive = <2048>;
|
||||
hfront-porch = <12>;
|
||||
hsync-len = <16>;
|
||||
hback-porch = <48>;
|
||||
vfront-porch = <8>;
|
||||
vsync-len = <4>;
|
||||
vback-porch = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
de-active = <0>;
|
||||
pixelclk-active = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&edp_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_sound: hdmi-sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
ext_cam_clk: external-camera-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <27000000>;
|
||||
clock-output-names = "CLK_CAMERA_27MHZ";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
adc-keys {
|
||||
compatible = "adc-keys";
|
||||
io-channels = <&saradc 1>;
|
||||
io-channel-names = "buttons";
|
||||
poll-interval = <100>;
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
|
||||
button-up {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
press-threshold-microvolt = <100000>;
|
||||
};
|
||||
|
||||
button-down {
|
||||
label = "Volume Down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
back {
|
||||
label = "Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
press-threshold-microvolt = <985000>;
|
||||
};
|
||||
|
||||
menu {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
press-threshold-microvolt = <1314000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dfi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dmc {
|
||||
status = "okay";
|
||||
center-supply = <&vdd_center>;
|
||||
upthreshold = <40>;
|
||||
downdifferential = <20>;
|
||||
system-status-freq = <
|
||||
/*system status freq(KHz)*/
|
||||
SYS_STATUS_NORMAL 856000
|
||||
SYS_STATUS_REBOOT 856000
|
||||
SYS_STATUS_SUSPEND 328000
|
||||
SYS_STATUS_VIDEO_1080P 666000
|
||||
SYS_STATUS_VIDEO_4K 856000
|
||||
SYS_STATUS_VIDEO_4K_10B 856000
|
||||
SYS_STATUS_PERFORMANCE 856000
|
||||
SYS_STATUS_BOOST 856000
|
||||
SYS_STATUS_DUALVIEW 856000
|
||||
SYS_STATUS_ISP 856000
|
||||
>;
|
||||
vop-bw-dmc-freq = <
|
||||
/* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
|
||||
0 762 416000
|
||||
763 3012 666000
|
||||
3013 99999 856000
|
||||
>;
|
||||
|
||||
vop-pn-msch-readlatency = <
|
||||
0 0x20
|
||||
4 0x20
|
||||
>;
|
||||
|
||||
auto-min-freq = <328000>;
|
||||
auto-freq-en = <0>;
|
||||
};
|
||||
|
||||
&dmc_opp_table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-200000000 {
|
||||
opp-hz = /bits/ 64 <200000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-300000000 {
|
||||
opp-hz = /bits/ 64 <300000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-328000000 {
|
||||
opp-hz = /bits/ 64 <328000000>;
|
||||
opp-microvolt = <900000>;
|
||||
};
|
||||
opp-400000000 {
|
||||
opp-hz = /bits/ 64 <400000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-416000000 {
|
||||
opp-hz = /bits/ 64 <416000000>;
|
||||
opp-microvolt = <900000>;
|
||||
};
|
||||
opp-528000000 {
|
||||
opp-hz = /bits/ 64 <528000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-600000000 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-666000000 {
|
||||
opp-hz = /bits/ 64 <666000000>;
|
||||
opp-microvolt = <900000>;
|
||||
};
|
||||
opp-800000000 {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
opp-856000000 {
|
||||
opp-hz = /bits/ 64 <856000000>;
|
||||
opp-microvolt = <900000>;
|
||||
};
|
||||
opp-928000000 {
|
||||
opp-hz = /bits/ 64 <928000000>;
|
||||
opp-microvolt = <900000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&rkisp1_0 {
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
isp0_mipi_in: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&dphy_rx0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mipi_dphy_rx0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mipi_in_ucam0: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&ucam_out0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dphy_rx0_out: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&isp0_mipi_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&isp0_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rkisp1_1 {
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
isp1_mipi_in: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&dphy_tx1rx1_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mipi_dphy_tx1rx1 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mipi_in_ucam1: endpoint@1 {
|
||||
reg = <1>;
|
||||
/* Unlinked camera */
|
||||
//remote-endpoint = <&ucam_out1>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dphy_tx1rx1_out: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&isp1_mipi_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&isp1_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vccadc_ref>;
|
||||
};
|
||||
|
||||
&display_subsystem {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&route_edp {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&edp {
|
||||
status = "okay";
|
||||
force-hpd;
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
edp_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&edp_in_vopb {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_in_vopl {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
gsl3673: gsl3673@40 {
|
||||
compatible = "GSL,GSL3673";
|
||||
reg = <0x40>;
|
||||
screen_max_x = <1536>;
|
||||
screen_max_y = <2048>;
|
||||
irq_gpio_number = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
|
||||
rst_gpio_number = <&gpio4 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
tc358749x: tc358749x@f {
|
||||
compatible = "toshiba,tc358749";
|
||||
reg = <0xf>;
|
||||
clocks = <&ext_cam_clk>;
|
||||
clock-names = "refclk";
|
||||
reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmiin_gpios>;
|
||||
status = "disabled";
|
||||
port {
|
||||
hdmiin_out0: endpoint {
|
||||
/* Unlinked mipi dphy rx0 */
|
||||
//remote-endpoint = <&mipi_in_ucam0>;
|
||||
data-lanes = <1 2 3 4>;
|
||||
clock-noncontinuous;
|
||||
link-frequencies =
|
||||
/bits/ 64 <297000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ov13850: ov13850@10 {
|
||||
compatible = "ovti,ov13850";
|
||||
status = "okay";
|
||||
reg = <0x10>;
|
||||
clocks = <&cru SCLK_CIF_OUT>;
|
||||
clock-names = "xvclk";
|
||||
|
||||
/* conflict with csi-ctl-gpios */
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
|
||||
pwdn-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "rockchip,camera_default";
|
||||
pinctrl-0 = <&cif_clkout>;
|
||||
|
||||
port {
|
||||
ucam_out0: endpoint {
|
||||
remote-endpoint = <&mipi_in_ucam0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb {
|
||||
status = "okay";
|
||||
assigned-clocks = <&cru DCLK_VOP0_DIV>;
|
||||
assigned-clock-parents = <&cru PLL_CPLL>;
|
||||
};
|
||||
|
||||
&vopb_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl {
|
||||
status = "okay";
|
||||
assigned-clocks = <&cru DCLK_VOP1_DIV>;
|
||||
assigned-clock-parents = <&cru PLL_VPLL>;
|
||||
};
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
buttons {
|
||||
pwrbtn: pwrbtn {
|
||||
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
lcd-panel {
|
||||
lcd_panel_reset: lcd-panel-reset {
|
||||
rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmiin {
|
||||
hdmiin_gpios: hdmiin-gpios {
|
||||
rockchip,pins =
|
||||
<2 RK_PA5 RK_FUNC_GPIO &pcfg_output_high>,
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_output_high>,
|
||||
<2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>,
|
||||
<2 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>,
|
||||
<2 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>,
|
||||
<2 RK_PB2 RK_FUNC_GPIO &pcfg_output_low>,
|
||||
<2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user