~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/display/renesas,du.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php