1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/display/ren 4 $id: http://devicetree.org/schemas/display/renesas,du.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Renesas R-Car Display Unit (DU) 7 title: Renesas R-Car Display Unit (DU) 8 8 9 maintainers: 9 maintainers: 10 - Laurent Pinchart <laurent.pinchart+renesas@ 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 11 11 12 description: | 12 description: | 13 These DT bindings describe the Display Unit 13 These DT bindings describe the Display Unit embedded in the Renesas R-Car 14 Gen1, R-Car Gen2, R-Car Gen3, RZ/G1 and RZ/G 14 Gen1, R-Car Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs. 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 enum: 18 enum: 19 - renesas,du-r8a7742 # for RZ/G1H compat 19 - renesas,du-r8a7742 # for RZ/G1H compatible DU 20 - renesas,du-r8a7743 # for RZ/G1M compat 20 - renesas,du-r8a7743 # for RZ/G1M compatible DU 21 - renesas,du-r8a7744 # for RZ/G1N compat 21 - renesas,du-r8a7744 # for RZ/G1N compatible DU 22 - renesas,du-r8a7745 # for RZ/G1E compat 22 - renesas,du-r8a7745 # for RZ/G1E compatible DU 23 - renesas,du-r8a77470 # for RZ/G1C compa 23 - renesas,du-r8a77470 # for RZ/G1C compatible DU 24 - renesas,du-r8a774a1 # for RZ/G2M compa 24 - renesas,du-r8a774a1 # for RZ/G2M compatible DU 25 - renesas,du-r8a774b1 # for RZ/G2N compa 25 - renesas,du-r8a774b1 # for RZ/G2N compatible DU 26 - renesas,du-r8a774c0 # for RZ/G2E compa 26 - renesas,du-r8a774c0 # for RZ/G2E compatible DU 27 - renesas,du-r8a774e1 # for RZ/G2H compa 27 - renesas,du-r8a774e1 # for RZ/G2H compatible DU 28 - renesas,du-r8a7779 # for R-Car H1 comp 28 - renesas,du-r8a7779 # for R-Car H1 compatible DU 29 - renesas,du-r8a7790 # for R-Car H2 comp 29 - renesas,du-r8a7790 # for R-Car H2 compatible DU 30 - renesas,du-r8a7791 # for R-Car M2-W co 30 - renesas,du-r8a7791 # for R-Car M2-W compatible DU 31 - renesas,du-r8a7792 # for R-Car V2H com 31 - renesas,du-r8a7792 # for R-Car V2H compatible DU 32 - renesas,du-r8a7793 # for R-Car M2-N co 32 - renesas,du-r8a7793 # for R-Car M2-N compatible DU 33 - renesas,du-r8a7794 # for R-Car E2 comp 33 - renesas,du-r8a7794 # for R-Car E2 compatible DU 34 - renesas,du-r8a7795 # for R-Car H3 comp 34 - renesas,du-r8a7795 # for R-Car H3 compatible DU 35 - renesas,du-r8a7796 # for R-Car M3-W co 35 - renesas,du-r8a7796 # for R-Car M3-W compatible DU 36 - renesas,du-r8a77961 # for R-Car M3-W+ 36 - renesas,du-r8a77961 # for R-Car M3-W+ compatible DU 37 - renesas,du-r8a77965 # for R-Car M3-N c 37 - renesas,du-r8a77965 # for R-Car M3-N compatible DU 38 - renesas,du-r8a77970 # for R-Car V3M co 38 - renesas,du-r8a77970 # for R-Car V3M compatible DU 39 - renesas,du-r8a77980 # for R-Car V3H co 39 - renesas,du-r8a77980 # for R-Car V3H compatible DU 40 - renesas,du-r8a77990 # for R-Car E3 com 40 - renesas,du-r8a77990 # for R-Car E3 compatible DU 41 - renesas,du-r8a77995 # for R-Car D3 com 41 - renesas,du-r8a77995 # for R-Car D3 compatible DU 42 - renesas,du-r8a779a0 # for R-Car V3U co 42 - renesas,du-r8a779a0 # for R-Car V3U compatible DU 43 - renesas,du-r8a779g0 # for R-Car V4H co << 44 43 45 reg: 44 reg: 46 maxItems: 1 45 maxItems: 1 47 46 48 # See compatible-specific constraints below. 47 # See compatible-specific constraints below. 49 clocks: true 48 clocks: true 50 clock-names: true 49 clock-names: true 51 interrupts: 50 interrupts: 52 description: Interrupt specifiers, one per 51 description: Interrupt specifiers, one per DU channel 53 resets: true 52 resets: true 54 reset-names: true 53 reset-names: true 55 54 56 power-domains: 55 power-domains: 57 maxItems: 1 56 maxItems: 1 58 57 59 ports: 58 ports: 60 $ref: /schemas/graph.yaml#/properties/port 59 $ref: /schemas/graph.yaml#/properties/ports 61 description: | 60 description: | 62 The connections to the DU output video p 61 The connections to the DU output video ports are modeled using the OF 63 graph bindings specified in Documentatio 62 graph bindings specified in Documentation/devicetree/bindings/graph.txt. 64 The number of ports and their assignment 63 The number of ports and their assignment are model-dependent. Each port 65 shall have a single endpoint. 64 shall have a single endpoint. 66 65 67 patternProperties: 66 patternProperties: 68 "^port@[0-3]$": 67 "^port@[0-3]$": 69 $ref: /schemas/graph.yaml#/properties/ 68 $ref: /schemas/graph.yaml#/properties/port 70 unevaluatedProperties: false 69 unevaluatedProperties: false 71 70 72 required: 71 required: 73 - port@0 72 - port@0 74 - port@1 73 - port@1 75 74 76 unevaluatedProperties: false 75 unevaluatedProperties: false 77 76 78 renesas,cmms: 77 renesas,cmms: 79 $ref: /schemas/types.yaml#/definitions/pha !! 78 $ref: "/schemas/types.yaml#/definitions/phandle-array" 80 items: 79 items: 81 maxItems: 1 80 maxItems: 1 82 description: 81 description: 83 A list of phandles to the CMM instances 82 A list of phandles to the CMM instances present in the SoC, one for each 84 available DU channel. 83 available DU channel. 85 84 86 renesas,vsps: 85 renesas,vsps: 87 $ref: /schemas/types.yaml#/definitions/pha !! 86 $ref: "/schemas/types.yaml#/definitions/phandle-array" 88 items: 87 items: 89 items: 88 items: 90 - description: phandle to VSP instance 89 - description: phandle to VSP instance that serves the DU channel 91 - description: Channel index identifyi 90 - description: Channel index identifying the LIF instance in that VSP 92 description: 91 description: 93 A list of phandle and channel index tupl 92 A list of phandle and channel index tuples to the VSPs that handle the 94 memory interfaces for the DU channels. 93 memory interfaces for the DU channels. 95 94 96 required: 95 required: 97 - compatible 96 - compatible 98 - reg 97 - reg 99 - clocks 98 - clocks 100 - interrupts 99 - interrupts 101 - ports 100 - ports 102 101 103 allOf: 102 allOf: 104 - if: 103 - if: 105 properties: 104 properties: 106 compatible: 105 compatible: 107 contains: 106 contains: 108 const: renesas,du-r8a7779 107 const: renesas,du-r8a7779 109 then: 108 then: 110 properties: 109 properties: 111 clocks: 110 clocks: 112 minItems: 1 111 minItems: 1 113 items: 112 items: 114 - description: Functional clock 113 - description: Functional clock 115 - description: DU_DOTCLKIN0 input 114 - description: DU_DOTCLKIN0 input clock 116 - description: DU_DOTCLKIN1 input 115 - description: DU_DOTCLKIN1 input clock 117 116 118 clock-names: 117 clock-names: 119 minItems: 1 118 minItems: 1 120 items: 119 items: 121 - const: du.0 120 - const: du.0 122 - pattern: '^dclkin\.[01]$' 121 - pattern: '^dclkin\.[01]$' 123 - pattern: '^dclkin\.[01]$' 122 - pattern: '^dclkin\.[01]$' 124 123 125 interrupts: 124 interrupts: 126 maxItems: 1 125 maxItems: 1 127 126 128 resets: 127 resets: 129 maxItems: 1 128 maxItems: 1 130 129 131 ports: 130 ports: 132 properties: 131 properties: 133 port@0: 132 port@0: 134 description: DPAD 0 133 description: DPAD 0 135 port@1: 134 port@1: 136 description: DPAD 1 135 description: DPAD 1 137 # port@2 is TCON, not supported ye 136 # port@2 is TCON, not supported yet 138 port@2: false 137 port@2: false 139 port@3: false 138 port@3: false 140 139 141 required: 140 required: 142 - port@0 141 - port@0 143 - port@1 142 - port@1 144 143 145 required: 144 required: 146 - interrupts 145 - interrupts 147 146 148 - if: 147 - if: 149 properties: 148 properties: 150 compatible: 149 compatible: 151 contains: 150 contains: 152 enum: 151 enum: 153 - renesas,du-r8a7743 152 - renesas,du-r8a7743 154 - renesas,du-r8a7744 153 - renesas,du-r8a7744 155 - renesas,du-r8a7791 154 - renesas,du-r8a7791 156 - renesas,du-r8a7793 155 - renesas,du-r8a7793 157 then: 156 then: 158 properties: 157 properties: 159 clocks: 158 clocks: 160 minItems: 2 159 minItems: 2 161 items: 160 items: 162 - description: Functional clock fo 161 - description: Functional clock for DU0 163 - description: Functional clock fo 162 - description: Functional clock for DU1 164 - description: DU_DOTCLKIN0 input 163 - description: DU_DOTCLKIN0 input clock 165 - description: DU_DOTCLKIN1 input 164 - description: DU_DOTCLKIN1 input clock 166 165 167 clock-names: 166 clock-names: 168 minItems: 2 167 minItems: 2 169 items: 168 items: 170 - const: du.0 169 - const: du.0 171 - const: du.1 170 - const: du.1 172 - pattern: '^dclkin\.[01]$' 171 - pattern: '^dclkin\.[01]$' 173 - pattern: '^dclkin\.[01]$' 172 - pattern: '^dclkin\.[01]$' 174 173 175 interrupts: 174 interrupts: 176 maxItems: 2 175 maxItems: 2 177 176 178 resets: 177 resets: 179 maxItems: 1 178 maxItems: 1 180 179 181 reset-names: 180 reset-names: 182 items: 181 items: 183 - const: du.0 182 - const: du.0 184 183 185 ports: 184 ports: 186 properties: 185 properties: 187 port@0: 186 port@0: 188 description: DPAD 0 187 description: DPAD 0 189 port@1: 188 port@1: 190 description: LVDS 0 189 description: LVDS 0 191 # port@2 is TCON, not supported ye 190 # port@2 is TCON, not supported yet 192 port@2: false 191 port@2: false 193 port@3: false 192 port@3: false 194 193 195 required: 194 required: 196 - port@0 195 - port@0 197 - port@1 196 - port@1 198 197 199 required: 198 required: 200 - clock-names 199 - clock-names 201 - interrupts 200 - interrupts 202 - resets 201 - resets 203 - reset-names 202 - reset-names 204 203 205 - if: 204 - if: 206 properties: 205 properties: 207 compatible: 206 compatible: 208 contains: 207 contains: 209 enum: 208 enum: 210 - renesas,du-r8a7745 209 - renesas,du-r8a7745 211 - renesas,du-r8a7792 210 - renesas,du-r8a7792 212 then: 211 then: 213 properties: 212 properties: 214 clocks: 213 clocks: 215 minItems: 2 214 minItems: 2 216 items: 215 items: 217 - description: Functional clock fo 216 - description: Functional clock for DU0 218 - description: Functional clock fo 217 - description: Functional clock for DU1 219 - description: DU_DOTCLKIN0 input 218 - description: DU_DOTCLKIN0 input clock 220 - description: DU_DOTCLKIN1 input 219 - description: DU_DOTCLKIN1 input clock 221 220 222 clock-names: 221 clock-names: 223 minItems: 2 222 minItems: 2 224 items: 223 items: 225 - const: du.0 224 - const: du.0 226 - const: du.1 225 - const: du.1 227 - pattern: '^dclkin\.[01]$' 226 - pattern: '^dclkin\.[01]$' 228 - pattern: '^dclkin\.[01]$' 227 - pattern: '^dclkin\.[01]$' 229 228 230 interrupts: 229 interrupts: 231 maxItems: 2 230 maxItems: 2 232 231 233 resets: 232 resets: 234 maxItems: 1 233 maxItems: 1 235 234 236 reset-names: 235 reset-names: 237 items: 236 items: 238 - const: du.0 237 - const: du.0 239 238 240 ports: 239 ports: 241 properties: 240 properties: 242 port@0: 241 port@0: 243 description: DPAD 0 242 description: DPAD 0 244 port@1: 243 port@1: 245 description: DPAD 1 244 description: DPAD 1 246 port@2: false 245 port@2: false 247 port@3: false 246 port@3: false 248 247 249 required: 248 required: 250 - port@0 249 - port@0 251 - port@1 250 - port@1 252 251 253 required: 252 required: 254 - clock-names 253 - clock-names 255 - interrupts 254 - interrupts 256 - resets 255 - resets 257 - reset-names 256 - reset-names 258 257 259 - if: 258 - if: 260 properties: 259 properties: 261 compatible: 260 compatible: 262 contains: 261 contains: 263 enum: 262 enum: 264 - renesas,du-r8a7794 263 - renesas,du-r8a7794 265 then: 264 then: 266 properties: 265 properties: 267 clocks: 266 clocks: 268 minItems: 2 267 minItems: 2 269 items: 268 items: 270 - description: Functional clock fo 269 - description: Functional clock for DU0 271 - description: Functional clock fo 270 - description: Functional clock for DU1 272 - description: DU_DOTCLKIN0 input 271 - description: DU_DOTCLKIN0 input clock 273 - description: DU_DOTCLKIN1 input 272 - description: DU_DOTCLKIN1 input clock 274 273 275 clock-names: 274 clock-names: 276 minItems: 2 275 minItems: 2 277 items: 276 items: 278 - const: du.0 277 - const: du.0 279 - const: du.1 278 - const: du.1 280 - pattern: '^dclkin\.[01]$' 279 - pattern: '^dclkin\.[01]$' 281 - pattern: '^dclkin\.[01]$' 280 - pattern: '^dclkin\.[01]$' 282 281 283 interrupts: 282 interrupts: 284 maxItems: 2 283 maxItems: 2 285 284 286 resets: 285 resets: 287 maxItems: 1 286 maxItems: 1 288 287 289 reset-names: 288 reset-names: 290 items: 289 items: 291 - const: du.0 290 - const: du.0 292 291 293 ports: 292 ports: 294 properties: 293 properties: 295 port@0: 294 port@0: 296 description: DPAD 0 295 description: DPAD 0 297 port@1: 296 port@1: 298 description: DPAD 1 297 description: DPAD 1 299 # port@2 is TCON, not supported ye 298 # port@2 is TCON, not supported yet 300 port@2: false 299 port@2: false 301 port@3: false 300 port@3: false 302 301 303 required: 302 required: 304 - port@0 303 - port@0 305 - port@1 304 - port@1 306 305 307 required: 306 required: 308 - clock-names 307 - clock-names 309 - interrupts 308 - interrupts 310 - resets 309 - resets 311 - reset-names 310 - reset-names 312 311 313 - if: 312 - if: 314 properties: 313 properties: 315 compatible: 314 compatible: 316 contains: 315 contains: 317 enum: 316 enum: 318 - renesas,du-r8a77470 317 - renesas,du-r8a77470 319 then: 318 then: 320 properties: 319 properties: 321 clocks: 320 clocks: 322 minItems: 2 321 minItems: 2 323 items: 322 items: 324 - description: Functional clock fo 323 - description: Functional clock for DU0 325 - description: Functional clock fo 324 - description: Functional clock for DU1 326 - description: DU_DOTCLKIN0 input 325 - description: DU_DOTCLKIN0 input clock 327 - description: DU_DOTCLKIN1 input 326 - description: DU_DOTCLKIN1 input clock 328 327 329 clock-names: 328 clock-names: 330 minItems: 2 329 minItems: 2 331 items: 330 items: 332 - const: du.0 331 - const: du.0 333 - const: du.1 332 - const: du.1 334 - pattern: '^dclkin\.[01]$' 333 - pattern: '^dclkin\.[01]$' 335 - pattern: '^dclkin\.[01]$' 334 - pattern: '^dclkin\.[01]$' 336 335 337 interrupts: 336 interrupts: 338 maxItems: 2 337 maxItems: 2 339 338 340 resets: 339 resets: 341 maxItems: 1 340 maxItems: 1 342 341 343 reset-names: 342 reset-names: 344 items: 343 items: 345 - const: du.0 344 - const: du.0 346 345 347 ports: 346 ports: 348 properties: 347 properties: 349 port@0: 348 port@0: 350 description: DPAD 0 349 description: DPAD 0 351 port@1: 350 port@1: 352 description: DPAD 1 351 description: DPAD 1 353 port@2: 352 port@2: 354 description: LVDS 0 353 description: LVDS 0 355 # port@3 is DVENC, not supported y 354 # port@3 is DVENC, not supported yet 356 port@3: false 355 port@3: false 357 356 358 required: 357 required: 359 - port@0 358 - port@0 360 - port@1 359 - port@1 361 - port@2 360 - port@2 362 361 363 required: 362 required: 364 - clock-names 363 - clock-names 365 - interrupts 364 - interrupts 366 - resets 365 - resets 367 - reset-names 366 - reset-names 368 367 369 - if: 368 - if: 370 properties: 369 properties: 371 compatible: 370 compatible: 372 contains: 371 contains: 373 enum: 372 enum: 374 - renesas,du-r8a7742 373 - renesas,du-r8a7742 375 - renesas,du-r8a7790 374 - renesas,du-r8a7790 376 then: 375 then: 377 properties: 376 properties: 378 clocks: 377 clocks: 379 minItems: 3 378 minItems: 3 380 items: 379 items: 381 - description: Functional clock fo 380 - description: Functional clock for DU0 382 - description: Functional clock fo 381 - description: Functional clock for DU1 383 - description: Functional clock fo 382 - description: Functional clock for DU2 384 - description: DU_DOTCLKIN0 input 383 - description: DU_DOTCLKIN0 input clock 385 - description: DU_DOTCLKIN1 input 384 - description: DU_DOTCLKIN1 input clock 386 - description: DU_DOTCLKIN2 input 385 - description: DU_DOTCLKIN2 input clock 387 386 388 clock-names: 387 clock-names: 389 minItems: 3 388 minItems: 3 390 items: 389 items: 391 - const: du.0 390 - const: du.0 392 - const: du.1 391 - const: du.1 393 - const: du.2 392 - const: du.2 394 - pattern: '^dclkin\.[012]$' 393 - pattern: '^dclkin\.[012]$' 395 - pattern: '^dclkin\.[012]$' 394 - pattern: '^dclkin\.[012]$' 396 - pattern: '^dclkin\.[012]$' 395 - pattern: '^dclkin\.[012]$' 397 396 398 interrupts: 397 interrupts: 399 maxItems: 3 398 maxItems: 3 400 399 401 resets: 400 resets: 402 maxItems: 1 401 maxItems: 1 403 402 404 reset-names: 403 reset-names: 405 items: 404 items: 406 - const: du.0 405 - const: du.0 407 406 408 ports: 407 ports: 409 properties: 408 properties: 410 port@0: 409 port@0: 411 description: DPAD 0 410 description: DPAD 0 412 port@1: 411 port@1: 413 description: LVDS 0 412 description: LVDS 0 414 port@2: 413 port@2: 415 description: LVDS 1 414 description: LVDS 1 416 # port@3 is TCON, not supported ye 415 # port@3 is TCON, not supported yet 417 port@3: false 416 port@3: false 418 417 419 required: 418 required: 420 - port@0 419 - port@0 421 - port@1 420 - port@1 422 - port@2 421 - port@2 423 422 424 required: 423 required: 425 - clock-names 424 - clock-names 426 - interrupts 425 - interrupts 427 - resets 426 - resets 428 - reset-names 427 - reset-names 429 428 430 - if: 429 - if: 431 properties: 430 properties: 432 compatible: 431 compatible: 433 contains: 432 contains: 434 enum: 433 enum: 435 - renesas,du-r8a7795 434 - renesas,du-r8a7795 436 then: 435 then: 437 properties: 436 properties: 438 clocks: 437 clocks: 439 minItems: 4 438 minItems: 4 440 items: 439 items: 441 - description: Functional clock fo 440 - description: Functional clock for DU0 442 - description: Functional clock fo 441 - description: Functional clock for DU1 443 - description: Functional clock fo 442 - description: Functional clock for DU2 444 - description: Functional clock fo 443 - description: Functional clock for DU4 445 - description: DU_DOTCLKIN0 input 444 - description: DU_DOTCLKIN0 input clock 446 - description: DU_DOTCLKIN1 input 445 - description: DU_DOTCLKIN1 input clock 447 - description: DU_DOTCLKIN2 input 446 - description: DU_DOTCLKIN2 input clock 448 - description: DU_DOTCLKIN3 input 447 - description: DU_DOTCLKIN3 input clock 449 448 450 clock-names: 449 clock-names: 451 minItems: 4 450 minItems: 4 452 items: 451 items: 453 - const: du.0 452 - const: du.0 454 - const: du.1 453 - const: du.1 455 - const: du.2 454 - const: du.2 456 - const: du.3 455 - const: du.3 457 - pattern: '^dclkin\.[0123]$' 456 - pattern: '^dclkin\.[0123]$' 458 - pattern: '^dclkin\.[0123]$' 457 - pattern: '^dclkin\.[0123]$' 459 - pattern: '^dclkin\.[0123]$' 458 - pattern: '^dclkin\.[0123]$' 460 - pattern: '^dclkin\.[0123]$' 459 - pattern: '^dclkin\.[0123]$' 461 460 462 interrupts: 461 interrupts: 463 maxItems: 4 462 maxItems: 4 464 463 465 resets: 464 resets: 466 maxItems: 2 465 maxItems: 2 467 466 468 reset-names: 467 reset-names: 469 items: 468 items: 470 - const: du.0 469 - const: du.0 471 - const: du.2 470 - const: du.2 472 471 473 ports: 472 ports: 474 properties: 473 properties: 475 port@0: 474 port@0: 476 description: DPAD 0 475 description: DPAD 0 477 port@1: 476 port@1: 478 description: HDMI 0 477 description: HDMI 0 479 port@2: 478 port@2: 480 description: HDMI 1 479 description: HDMI 1 481 port@3: 480 port@3: 482 description: LVDS 0 481 description: LVDS 0 483 482 484 required: 483 required: 485 - port@0 484 - port@0 486 - port@1 485 - port@1 487 - port@2 486 - port@2 488 - port@3 487 - port@3 489 488 490 renesas,cmms: 489 renesas,cmms: 491 minItems: 4 490 minItems: 4 492 491 493 renesas,vsps: 492 renesas,vsps: 494 minItems: 4 493 minItems: 4 495 494 496 required: 495 required: 497 - clock-names 496 - clock-names 498 - interrupts 497 - interrupts 499 - resets 498 - resets 500 - reset-names 499 - reset-names 501 - renesas,vsps 500 - renesas,vsps 502 501 503 - if: 502 - if: 504 properties: 503 properties: 505 compatible: 504 compatible: 506 contains: 505 contains: 507 enum: 506 enum: 508 - renesas,du-r8a774a1 507 - renesas,du-r8a774a1 509 - renesas,du-r8a7796 508 - renesas,du-r8a7796 510 - renesas,du-r8a77961 509 - renesas,du-r8a77961 511 then: 510 then: 512 properties: 511 properties: 513 clocks: 512 clocks: 514 minItems: 3 513 minItems: 3 515 items: 514 items: 516 - description: Functional clock fo 515 - description: Functional clock for DU0 517 - description: Functional clock fo 516 - description: Functional clock for DU1 518 - description: Functional clock fo 517 - description: Functional clock for DU2 519 - description: DU_DOTCLKIN0 input 518 - description: DU_DOTCLKIN0 input clock 520 - description: DU_DOTCLKIN1 input 519 - description: DU_DOTCLKIN1 input clock 521 - description: DU_DOTCLKIN2 input 520 - description: DU_DOTCLKIN2 input clock 522 521 523 clock-names: 522 clock-names: 524 minItems: 3 523 minItems: 3 525 items: 524 items: 526 - const: du.0 525 - const: du.0 527 - const: du.1 526 - const: du.1 528 - const: du.2 527 - const: du.2 529 - pattern: '^dclkin\.[012]$' 528 - pattern: '^dclkin\.[012]$' 530 - pattern: '^dclkin\.[012]$' 529 - pattern: '^dclkin\.[012]$' 531 - pattern: '^dclkin\.[012]$' 530 - pattern: '^dclkin\.[012]$' 532 531 533 interrupts: 532 interrupts: 534 maxItems: 3 533 maxItems: 3 535 534 536 resets: 535 resets: 537 maxItems: 2 536 maxItems: 2 538 537 539 reset-names: 538 reset-names: 540 items: 539 items: 541 - const: du.0 540 - const: du.0 542 - const: du.2 541 - const: du.2 543 542 544 ports: 543 ports: 545 properties: 544 properties: 546 port@0: 545 port@0: 547 description: DPAD 0 546 description: DPAD 0 548 port@1: 547 port@1: 549 description: HDMI 0 548 description: HDMI 0 550 port@2: 549 port@2: 551 description: LVDS 0 550 description: LVDS 0 552 port@3: false 551 port@3: false 553 552 554 required: 553 required: 555 - port@0 554 - port@0 556 - port@1 555 - port@1 557 - port@2 556 - port@2 558 557 559 renesas,cmms: 558 renesas,cmms: 560 minItems: 3 559 minItems: 3 561 560 562 renesas,vsps: 561 renesas,vsps: 563 minItems: 3 562 minItems: 3 564 563 565 required: 564 required: 566 - clock-names 565 - clock-names 567 - interrupts 566 - interrupts 568 - resets 567 - resets 569 - reset-names 568 - reset-names 570 - renesas,vsps 569 - renesas,vsps 571 570 572 - if: 571 - if: 573 properties: 572 properties: 574 compatible: 573 compatible: 575 contains: 574 contains: 576 enum: 575 enum: 577 - renesas,du-r8a774b1 576 - renesas,du-r8a774b1 578 - renesas,du-r8a774e1 577 - renesas,du-r8a774e1 579 - renesas,du-r8a77965 578 - renesas,du-r8a77965 580 then: 579 then: 581 properties: 580 properties: 582 clocks: 581 clocks: 583 minItems: 3 582 minItems: 3 584 items: 583 items: 585 - description: Functional clock fo 584 - description: Functional clock for DU0 586 - description: Functional clock fo 585 - description: Functional clock for DU1 587 - description: Functional clock fo 586 - description: Functional clock for DU3 588 - description: DU_DOTCLKIN0 input 587 - description: DU_DOTCLKIN0 input clock 589 - description: DU_DOTCLKIN1 input 588 - description: DU_DOTCLKIN1 input clock 590 - description: DU_DOTCLKIN3 input 589 - description: DU_DOTCLKIN3 input clock 591 590 592 clock-names: 591 clock-names: 593 minItems: 3 592 minItems: 3 594 items: 593 items: 595 - const: du.0 594 - const: du.0 596 - const: du.1 595 - const: du.1 597 - const: du.3 596 - const: du.3 598 - pattern: '^dclkin\.[013]$' 597 - pattern: '^dclkin\.[013]$' 599 - pattern: '^dclkin\.[013]$' 598 - pattern: '^dclkin\.[013]$' 600 - pattern: '^dclkin\.[013]$' 599 - pattern: '^dclkin\.[013]$' 601 600 602 interrupts: 601 interrupts: 603 maxItems: 3 602 maxItems: 3 604 603 605 resets: 604 resets: 606 maxItems: 2 605 maxItems: 2 607 606 608 reset-names: 607 reset-names: 609 items: 608 items: 610 - const: du.0 609 - const: du.0 611 - const: du.3 610 - const: du.3 612 611 613 ports: 612 ports: 614 properties: 613 properties: 615 port@0: 614 port@0: 616 description: DPAD 0 615 description: DPAD 0 617 port@1: 616 port@1: 618 description: HDMI 0 617 description: HDMI 0 619 port@2: 618 port@2: 620 description: LVDS 0 619 description: LVDS 0 621 port@3: false 620 port@3: false 622 621 623 required: 622 required: 624 - port@0 623 - port@0 625 - port@1 624 - port@1 626 - port@2 625 - port@2 627 626 628 renesas,cmms: 627 renesas,cmms: 629 minItems: 3 628 minItems: 3 630 629 631 renesas,vsps: 630 renesas,vsps: 632 minItems: 3 631 minItems: 3 633 632 634 required: 633 required: 635 - clock-names 634 - clock-names 636 - interrupts 635 - interrupts 637 - resets 636 - resets 638 - reset-names 637 - reset-names 639 - renesas,vsps 638 - renesas,vsps 640 639 641 - if: 640 - if: 642 properties: 641 properties: 643 compatible: 642 compatible: 644 contains: 643 contains: 645 enum: 644 enum: 646 - renesas,du-r8a77970 645 - renesas,du-r8a77970 647 - renesas,du-r8a77980 646 - renesas,du-r8a77980 648 then: 647 then: 649 properties: 648 properties: 650 clocks: 649 clocks: 651 minItems: 1 650 minItems: 1 652 items: 651 items: 653 - description: Functional clock fo 652 - description: Functional clock for DU0 654 - description: DU_DOTCLKIN0 input 653 - description: DU_DOTCLKIN0 input clock 655 654 656 clock-names: 655 clock-names: 657 minItems: 1 656 minItems: 1 658 items: 657 items: 659 - const: du.0 658 - const: du.0 660 - const: dclkin.0 659 - const: dclkin.0 661 660 662 interrupts: 661 interrupts: 663 maxItems: 1 662 maxItems: 1 664 663 665 resets: 664 resets: 666 maxItems: 1 665 maxItems: 1 667 666 668 reset-names: 667 reset-names: 669 items: 668 items: 670 - const: du.0 669 - const: du.0 671 670 672 ports: 671 ports: 673 properties: 672 properties: 674 port@0: 673 port@0: 675 description: DPAD 0 674 description: DPAD 0 676 port@1: 675 port@1: 677 description: LVDS 0 676 description: LVDS 0 678 port@2: false 677 port@2: false 679 port@3: false 678 port@3: false 680 679 681 required: 680 required: 682 - port@0 681 - port@0 683 - port@1 682 - port@1 684 683 685 renesas,vsps: 684 renesas,vsps: 686 minItems: 1 685 minItems: 1 687 686 688 required: 687 required: 689 - clock-names 688 - clock-names 690 - interrupts 689 - interrupts 691 - resets 690 - resets 692 - reset-names 691 - reset-names 693 - renesas,vsps 692 - renesas,vsps 694 693 695 - if: 694 - if: 696 properties: 695 properties: 697 compatible: 696 compatible: 698 contains: 697 contains: 699 enum: 698 enum: 700 - renesas,du-r8a774c0 699 - renesas,du-r8a774c0 701 - renesas,du-r8a77990 700 - renesas,du-r8a77990 702 - renesas,du-r8a77995 701 - renesas,du-r8a77995 703 then: 702 then: 704 properties: 703 properties: 705 clocks: 704 clocks: 706 minItems: 2 705 minItems: 2 707 items: 706 items: 708 - description: Functional clock fo 707 - description: Functional clock for DU0 709 - description: Functional clock fo 708 - description: Functional clock for DU1 710 - description: DU_DOTCLKIN0 input 709 - description: DU_DOTCLKIN0 input clock 711 - description: DU_DOTCLKIN1 input 710 - description: DU_DOTCLKIN1 input clock 712 711 713 clock-names: 712 clock-names: 714 minItems: 2 713 minItems: 2 715 items: 714 items: 716 - const: du.0 715 - const: du.0 717 - const: du.1 716 - const: du.1 718 - pattern: '^dclkin\.[01]$' 717 - pattern: '^dclkin\.[01]$' 719 - pattern: '^dclkin\.[01]$' 718 - pattern: '^dclkin\.[01]$' 720 719 721 interrupts: 720 interrupts: 722 maxItems: 2 721 maxItems: 2 723 722 724 resets: 723 resets: 725 maxItems: 1 724 maxItems: 1 726 725 727 reset-names: 726 reset-names: 728 items: 727 items: 729 - const: du.0 728 - const: du.0 730 729 731 ports: 730 ports: 732 properties: 731 properties: 733 port@0: 732 port@0: 734 description: DPAD 0 733 description: DPAD 0 735 port@1: 734 port@1: 736 description: LVDS 0 735 description: LVDS 0 737 port@2: 736 port@2: 738 description: LVDS 1 737 description: LVDS 1 739 # port@3 is TCON, not supported ye 738 # port@3 is TCON, not supported yet 740 port@3: false 739 port@3: false 741 740 742 required: 741 required: 743 - port@0 742 - port@0 744 - port@1 743 - port@1 745 - port@2 744 - port@2 746 745 747 renesas,cmms: 746 renesas,cmms: 748 minItems: 2 747 minItems: 2 749 748 750 renesas,vsps: 749 renesas,vsps: 751 minItems: 2 750 minItems: 2 752 751 753 required: 752 required: 754 - clock-names 753 - clock-names 755 - interrupts 754 - interrupts 756 - resets 755 - resets 757 - reset-names 756 - reset-names 758 - renesas,vsps 757 - renesas,vsps 759 758 760 - if: 759 - if: 761 properties: 760 properties: 762 compatible: 761 compatible: 763 contains: 762 contains: 764 enum: 763 enum: 765 - renesas,du-r8a779a0 764 - renesas,du-r8a779a0 766 - renesas,du-r8a779g0 << 767 then: 765 then: 768 properties: 766 properties: 769 clocks: 767 clocks: 770 items: 768 items: 771 - description: Functional clock 769 - description: Functional clock 772 770 773 clock-names: 771 clock-names: 774 items: 772 items: 775 - const: du.0 773 - const: du.0 776 774 777 interrupts: 775 interrupts: 778 maxItems: 2 776 maxItems: 2 779 777 780 resets: 778 resets: 781 maxItems: 1 779 maxItems: 1 782 780 783 reset-names: 781 reset-names: 784 items: 782 items: 785 - const: du.0 783 - const: du.0 786 784 787 ports: 785 ports: 788 properties: 786 properties: 789 port@0: 787 port@0: 790 description: DSI 0 788 description: DSI 0 791 port@1: 789 port@1: 792 description: DSI 1 790 description: DSI 1 793 port@2: false 791 port@2: false 794 port@3: false 792 port@3: false 795 793 796 required: 794 required: 797 - port@0 795 - port@0 798 - port@1 796 - port@1 799 797 800 renesas,vsps: 798 renesas,vsps: 801 minItems: 2 799 minItems: 2 802 800 803 required: 801 required: 804 - clock-names 802 - clock-names 805 - interrupts 803 - interrupts 806 - resets 804 - resets 807 - reset-names 805 - reset-names 808 - renesas,vsps 806 - renesas,vsps 809 807 810 additionalProperties: false 808 additionalProperties: false 811 809 812 examples: 810 examples: 813 # R-Car H3 ES2.0 DU 811 # R-Car H3 ES2.0 DU 814 - | 812 - | 815 #include <dt-bindings/clock/renesas-cpg-ms 813 #include <dt-bindings/clock/renesas-cpg-mssr.h> 816 #include <dt-bindings/interrupt-controller 814 #include <dt-bindings/interrupt-controller/arm-gic.h> 817 815 818 display@feb00000 { 816 display@feb00000 { 819 compatible = "renesas,du-r8a7795"; 817 compatible = "renesas,du-r8a7795"; 820 reg = <0xfeb00000 0x80000>; 818 reg = <0xfeb00000 0x80000>; 821 interrupts = <GIC_SPI 256 IRQ_TYPE_LEV 819 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 822 <GIC_SPI 268 IRQ_TYPE_LEV 820 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 823 <GIC_SPI 269 IRQ_TYPE_LEV 821 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, 824 <GIC_SPI 270 IRQ_TYPE_LEV 822 <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; 825 clocks = <&cpg CPG_MOD 724>, 823 clocks = <&cpg CPG_MOD 724>, 826 <&cpg CPG_MOD 723>, 824 <&cpg CPG_MOD 723>, 827 <&cpg CPG_MOD 722>, 825 <&cpg CPG_MOD 722>, 828 <&cpg CPG_MOD 721>; 826 <&cpg CPG_MOD 721>; 829 clock-names = "du.0", "du.1", "du.2", 827 clock-names = "du.0", "du.1", "du.2", "du.3"; 830 resets = <&cpg 724>, <&cpg 722>; 828 resets = <&cpg 724>, <&cpg 722>; 831 reset-names = "du.0", "du.2"; 829 reset-names = "du.0", "du.2"; 832 830 833 renesas,cmms = <&cmm0>, <&cmm1>, <&cmm 831 renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>; 834 renesas,vsps = <&vspd0 0>, <&vspd1 0>, 832 renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>; 835 833 836 ports { 834 ports { 837 #address-cells = <1>; 835 #address-cells = <1>; 838 #size-cells = <0>; 836 #size-cells = <0>; 839 837 840 port@0 { 838 port@0 { 841 reg = <0>; 839 reg = <0>; 842 endpoint { 840 endpoint { 843 remote-endpoint = <&adv712 841 remote-endpoint = <&adv7123_in>; 844 }; 842 }; 845 }; 843 }; 846 port@1 { 844 port@1 { 847 reg = <1>; 845 reg = <1>; 848 endpoint { 846 endpoint { 849 remote-endpoint = <&dw_hdm 847 remote-endpoint = <&dw_hdmi0_in>; 850 }; 848 }; 851 }; 849 }; 852 port@2 { 850 port@2 { 853 reg = <2>; 851 reg = <2>; 854 endpoint { 852 endpoint { 855 remote-endpoint = <&dw_hdm 853 remote-endpoint = <&dw_hdmi1_in>; 856 }; 854 }; 857 }; 855 }; 858 port@3 { 856 port@3 { 859 reg = <3>; 857 reg = <3>; 860 endpoint { 858 endpoint { 861 remote-endpoint = <&lvds0_ 859 remote-endpoint = <&lvds0_in>; 862 }; 860 }; 863 }; 861 }; 864 }; 862 }; 865 }; 863 }; 866 864 867 ... 865 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.