1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd. 4 * 5 */ 6 7#include <dt-bindings/display/media-bus-format.h> 8#include "rk3562-evb1-lp4x-v10.dtsi" 9#include "rk3562-android.dtsi" 10#include "rk3562-rk817.dtsi" 11 12/ { 13 model = "Rockchip RK3562 EVB1 LP4X V10 Board + RK EVB MCU PANLE DISPLAY Ext Board"; 14 compatible = "rockchip,rk3562-evb1-lp4x-v10-mcu-k350c4516t", "rockchip,rk3562"; 15}; 16 17&backlight { 18 status = "okay"; 19 pwms = <&pwm9 0 25000 0>; 20}; 21 22&dsi { 23 status = "disabled"; 24}; 25 26&dsi_in_vp0 { 27 status = "disabled"; 28}; 29 30/* 31 * The pins of gmac0/pcie2x1 and rgb are multiplexed 32 */ 33&gmac0 { 34 status = "disabled"; 35}; 36 37&pcie2x1 { 38 status = "disabled"; 39}; 40 41&pwm9 { 42 status = "okay"; 43}; 44 45&rgb { 46 status = "okay"; 47 rockchip,data-sync-bypass; 48 pinctrl-names = "default"; 49 /* 50 * rgb3x8_pins_m0/rgb3x8_pins_m1 for serial mcu 51 * rgb565_pins for parallel mcu 52 */ 53 pinctrl-0 = <&rgb565_pins>; 54 55 /* 56 * 320x480 RGB/MCU screen K350C4516T 57 */ 58 mcu_panel: mcu-panel { 59 /* 60 * MEDIA_BUS_FMT_RGB888_3X8 for serial mcu 61 * MEDIA_BUS_FMT_RGB565_1X16 for parallel mcu 62 */ 63 bus-format = <MEDIA_BUS_FMT_RGB565_1X16>; 64 backlight = <&backlight>; 65 enable-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 66 enable-delay-ms = <20>; 67 reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 68 reset-value = <0>; 69 reset-delay-ms = <10>; 70 prepare-delay-ms = <20>; 71 unprepare-delay-ms = <20>; 72 disable-delay-ms = <20>; 73 width-mm = <217>; 74 height-mm = <136>; 75 76 // type:0 is cmd, 1 is data 77 panel-init-sequence = [ 78 //type delay num val1 val2 val3 79 00 00 01 e0 80 01 00 01 00 81 01 00 01 07 82 01 00 01 0f 83 01 00 01 0d 84 01 00 01 1b 85 01 00 01 0a 86 01 00 01 3c 87 01 00 01 78 88 01 00 01 4a 89 01 00 01 07 90 01 00 01 0e 91 01 00 01 09 92 01 00 01 1b 93 01 00 01 1e 94 01 00 01 0f 95 00 00 01 e1 96 01 00 01 00 97 01 00 01 22 98 01 00 01 24 99 01 00 01 06 100 01 00 01 12 101 01 00 01 07 102 01 00 01 36 103 01 00 01 47 104 01 00 01 47 105 01 00 01 06 106 01 00 01 0a 107 01 00 01 07 108 01 00 01 30 109 01 00 01 37 110 01 00 01 0f 111 112 00 00 01 c0 113 01 00 01 10 114 01 00 01 10 115 116 00 00 01 c1 117 01 00 01 41 118 119 00 00 01 c5 120 01 00 01 00 121 01 00 01 22 122 01 00 01 80 123 124 00 00 01 36 125 01 00 01 48 126 127 00 00 01 3a //interface pixel format 128 01 00 01 55 // bpp cfg 129 // 3 11 130 // 16 55 131 // 18 66 132 // 24 77 133 134 00 00 01 b0 //interface mode control 135 01 00 01 00 136 137 00 00 01 b1 //frame rate 60hz 138 01 00 01 a0 139 01 00 01 11 140 00 00 01 b4 141 01 00 01 02 142 00 00 01 B6 143 01 00 01 02 144 01 00 01 02 145 146 00 00 01 b7 147 01 00 01 c6 148 149 00 00 01 be 150 01 00 01 00 151 01 00 01 04 152 153 00 00 01 e9 154 01 00 01 00 155 156 00 00 01 f7 157 01 00 01 a9 158 01 00 01 51 159 01 00 01 2c 160 01 00 01 82 161 162 00 78 01 11 163 00 32 01 29 164 00 00 01 2c 165 ]; 166 167 panel-exit-sequence = [ 168 //type delay num val1 val2 val3 169 00 0a 01 28 170 00 78 01 10 171 ]; 172 173 display-timings { 174 native-mode = <&kd050fwfba002_timing>; 175 176 kd050fwfba002_timing: timing0 { 177 clock-frequency = <94081500>; 178 hactive = <320>; 179 vactive = <480>; 180 hback-porch = <10>; 181 hfront-porch = <5>; 182 vback-porch = <10>; 183 vfront-porch = <5>; 184 hsync-len = <10>; 185 vsync-len = <10>; 186 hsync-active = <0>; 187 vsync-active = <0>; 188 de-active = <0>; 189 pixelclk-active = <1>; 190 }; 191 }; 192 193 port { 194 panel_in_rgb: endpoint { 195 remote-endpoint = <&rgb_out_panel>; 196 }; 197 }; 198 }; 199 200 ports { 201 rgb_out: port@1 { 202 reg = <1>; 203 #address-cells = <1>; 204 #size-cells = <0>; 205 206 rgb_out_panel: endpoint@0 { 207 reg = <0>; 208 remote-endpoint = <&panel_in_rgb>; 209 }; 210 }; 211 }; 212}; 213 214&rgb_in_vp0 { 215 status = "okay"; 216}; 217 218&route_rgb { 219 status = "okay"; 220 connect = <&vp0_out_rgb>; 221}; 222 223/* 224 * The pins of sai0/vcc_mipicsi0 and rgb are multiplexed 225 */ 226&sai0 { 227 status = "disabled"; 228}; 229 230&vcc_mipicsi0 { 231 status = "disabled"; 232}; 233 234&video_phy { 235 status = "disabled"; 236}; 237 238&vop { 239 status = "okay"; 240}; 241 242&vp0 { 243 mcu-timing { 244 mcu-pix-total = <9>; 245 mcu-cs-pst = <1>; 246 mcu-cs-pend = <8>; 247 mcu-rw-pst = <2>; 248 mcu-rw-pend = <5>; 249 250 mcu-hold-mode = <0>; // default set to 0 251 }; 252}; 253