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