316 lines
6.2 KiB
Plaintext
316 lines
6.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2022 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "rv1103g-evb-v11.dts"
|
|
#include <dt-bindings/display/media-bus-format.h>
|
|
|
|
/ {
|
|
backlight: backlight {
|
|
status = "okay";
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm7 0 25000 0>;
|
|
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 = <50>;
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
linux,cma {
|
|
compatible = "shared-dma-pool";
|
|
inactive;
|
|
reusable;
|
|
size = <0x1000000>;
|
|
linux,cma-default;
|
|
};
|
|
|
|
drm_logo: drm-logo@00000000 {
|
|
compatible = "rockchip,drm-logo";
|
|
reg = <0x0 0x0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&display_subsystem {
|
|
status = "okay";
|
|
logo-memory-region = <&drm_logo>;
|
|
};
|
|
|
|
/*
|
|
* The pins of i2c4m2 and lcd are multiplexed
|
|
*/
|
|
&i2c4 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&pwm7 {
|
|
status = "okay";
|
|
pinctrl-names = "active";
|
|
pinctrl-0 = <&pwm7m2_pins>;
|
|
};
|
|
|
|
&rgb {
|
|
status = "okay";
|
|
rockchip,data-sync-bypass;
|
|
pinctrl-names = "default";
|
|
/*
|
|
* rgb3x8_pins for RGB3x8(8bit)
|
|
* rgb565_pins for RGB565(16bit)
|
|
*/
|
|
pinctrl-0 = <&rgb3x8_pins>;
|
|
|
|
/*
|
|
* 320x480 RGB/MCU screen K350C4516T
|
|
*/
|
|
mcu_panel: mcu-panel {
|
|
/*
|
|
* MEDIA_BUS_FMT_RGB888_3X8 for RGB3x8(8bit)
|
|
* MEDIA_BUS_FMT_RGB565_1X16 for RGB565(16bit)
|
|
*/
|
|
bus-format = <MEDIA_BUS_FMT_RGB888_3X8>;
|
|
backlight = <&backlight>;
|
|
enable-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>;
|
|
enable-delay-ms = <20>;
|
|
reset-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>;
|
|
reset-delay-ms = <10>;
|
|
prepare-delay-ms = <20>;
|
|
unprepare-delay-ms = <20>;
|
|
disable-delay-ms = <20>;
|
|
init-delay-ms = <10>;
|
|
width-mm = <217>;
|
|
height-mm = <136>;
|
|
|
|
// type:0 is cmd, 1 is data
|
|
panel-init-sequence = [
|
|
//type delay num val1 val2 val3
|
|
00 00 01 e0
|
|
01 00 01 00
|
|
01 00 01 07
|
|
01 00 01 0f
|
|
01 00 01 0d
|
|
01 00 01 1b
|
|
01 00 01 0a
|
|
01 00 01 3c
|
|
01 00 01 78
|
|
01 00 01 4a
|
|
01 00 01 07
|
|
01 00 01 0e
|
|
01 00 01 09
|
|
01 00 01 1b
|
|
01 00 01 1e
|
|
01 00 01 0f
|
|
00 00 01 e1
|
|
01 00 01 00
|
|
01 00 01 22
|
|
01 00 01 24
|
|
01 00 01 06
|
|
01 00 01 12
|
|
01 00 01 07
|
|
01 00 01 36
|
|
01 00 01 47
|
|
01 00 01 47
|
|
01 00 01 06
|
|
01 00 01 0a
|
|
01 00 01 07
|
|
01 00 01 30
|
|
01 00 01 37
|
|
01 00 01 0f
|
|
|
|
00 00 01 c0
|
|
01 00 01 10
|
|
01 00 01 10
|
|
|
|
00 00 01 c1
|
|
01 00 01 41
|
|
|
|
00 00 01 c5
|
|
01 00 01 00
|
|
01 00 01 22
|
|
01 00 01 80
|
|
|
|
00 00 01 36
|
|
01 00 01 48
|
|
|
|
00 00 01 3a
|
|
01 00 01 66 /*
|
|
* interface pixel format:
|
|
* 66 for RGB3x8(8bit)
|
|
* 55 for RGB565(16bit)
|
|
*/
|
|
|
|
00 00 01 b0
|
|
01 00 01 00
|
|
|
|
00 00 01 b1
|
|
01 00 01 70 /*
|
|
* frame rate control:
|
|
* 70 (45hz) for RGB3x8(8bit)
|
|
* a0 (60hz) for RGB565(16bit)
|
|
*/
|
|
01 00 01 11
|
|
00 00 01 b4
|
|
01 00 01 02
|
|
00 00 01 B6
|
|
01 00 01 02 /*
|
|
* display function control:
|
|
* 32 for RGB
|
|
* 02 for MCU
|
|
*/
|
|
01 00 01 02
|
|
|
|
00 00 01 b7
|
|
01 00 01 c6
|
|
|
|
00 00 01 be
|
|
01 00 01 00
|
|
01 00 01 04
|
|
|
|
00 00 01 e9
|
|
01 00 01 00
|
|
|
|
00 00 01 f7
|
|
01 00 01 a9
|
|
01 00 01 51
|
|
01 00 01 2c
|
|
01 00 01 82
|
|
|
|
00 78 01 11
|
|
00 32 01 29
|
|
00 00 01 2c
|
|
];
|
|
|
|
panel-exit-sequence = [
|
|
//type delay num val1 val2 val3
|
|
00 0a 01 28
|
|
00 78 01 10
|
|
];
|
|
|
|
display-timings {
|
|
native-mode = <&kd050fwfba002_timing>;
|
|
|
|
kd050fwfba002_timing: timing0 {
|
|
/*
|
|
* 7840125 for frame rate 45Hz
|
|
* 10453500 for frame rate 60Hz
|
|
*/
|
|
clock-frequency = <7840125>;
|
|
hactive = <320>;
|
|
vactive = <480>;
|
|
hback-porch = <10>;
|
|
hfront-porch = <5>;
|
|
vback-porch = <10>;
|
|
vfront-porch = <5>;
|
|
hsync-len = <10>;
|
|
vsync-len = <10>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
de-active = <0>;
|
|
pixelclk-active = <1>;
|
|
};
|
|
};
|
|
|
|
port {
|
|
panel_in_rgb: endpoint {
|
|
remote-endpoint = <&rgb_out_panel>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ports {
|
|
rgb_out: port@1 {
|
|
reg = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rgb_out_panel: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&panel_in_rgb>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&rgb_in_vop {
|
|
status = "okay";
|
|
};
|
|
|
|
&route_rgb {
|
|
status = "disabled";
|
|
};
|
|
|
|
/*
|
|
* The pins of vcc3v3_sd/vcc3v3_wifi and lcd are multiplexed
|
|
*/
|
|
&vcc3v3_sd {
|
|
status = "disabled";
|
|
};
|
|
|
|
&vcc3v3_wifi {
|
|
status = "disabled";
|
|
};
|
|
|
|
&vop {
|
|
status = "okay";
|
|
|
|
/*
|
|
* Default config is as follows:
|
|
*
|
|
* mcu-pix-total = <9>;
|
|
* mcu-cs-pst = <1>;
|
|
* mcu-cs-pend = <8>;
|
|
* mcu-rw-pst = <2>;
|
|
* mcu-rw-pend = <5>;
|
|
* mcu-hold-mode = <0>; // default set to 0
|
|
*
|
|
* To increase the frame rate, reduce all parameters because
|
|
* the max dclk rate of mcu is 150M in rv1103/rv1106.
|
|
*/
|
|
mcu-timing {
|
|
mcu-pix-total = <5>;
|
|
mcu-cs-pst = <1>;
|
|
mcu-cs-pend = <4>;
|
|
mcu-rw-pst = <2>;
|
|
mcu-rw-pend = <3>;
|
|
|
|
mcu-hold-mode = <0>; // default set to 0
|
|
};
|
|
};
|