xref: /freebsd/sys/contrib/device-tree/Bindings/display/brcm,bcm2711-hdmi.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/display/brcm,bcm2711-hdmi.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Broadcom BCM2711 HDMI Controller
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Eric Anholt <eric@anholt.net>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotproperties:
136be33864SEmmanuel Vadot  compatible:
146be33864SEmmanuel Vadot    enum:
156be33864SEmmanuel Vadot      - brcm,bcm2711-hdmi0
166be33864SEmmanuel Vadot      - brcm,bcm2711-hdmi1
176be33864SEmmanuel Vadot
186be33864SEmmanuel Vadot  reg:
196be33864SEmmanuel Vadot    items:
206be33864SEmmanuel Vadot      - description: HDMI controller register range
216be33864SEmmanuel Vadot      - description: DVP register range
226be33864SEmmanuel Vadot      - description: HDMI PHY register range
236be33864SEmmanuel Vadot      - description: Rate Manager register range
246be33864SEmmanuel Vadot      - description: Packet RAM register range
256be33864SEmmanuel Vadot      - description: Metadata RAM register range
266be33864SEmmanuel Vadot      - description: CSC register range
276be33864SEmmanuel Vadot      - description: CEC register range
286be33864SEmmanuel Vadot      - description: HD register range
296be33864SEmmanuel Vadot
306be33864SEmmanuel Vadot  reg-names:
316be33864SEmmanuel Vadot    items:
326be33864SEmmanuel Vadot      - const: hdmi
336be33864SEmmanuel Vadot      - const: dvp
346be33864SEmmanuel Vadot      - const: phy
356be33864SEmmanuel Vadot      - const: rm
366be33864SEmmanuel Vadot      - const: packet
376be33864SEmmanuel Vadot      - const: metadata
386be33864SEmmanuel Vadot      - const: csc
396be33864SEmmanuel Vadot      - const: cec
406be33864SEmmanuel Vadot      - const: hd
416be33864SEmmanuel Vadot
426be33864SEmmanuel Vadot  clocks:
436be33864SEmmanuel Vadot    items:
446be33864SEmmanuel Vadot      - description: The HDMI state machine clock
456be33864SEmmanuel Vadot      - description: The Pixel BVB clock
466be33864SEmmanuel Vadot      - description: The HDMI Audio parent clock
476be33864SEmmanuel Vadot      - description: The HDMI CEC parent clock
486be33864SEmmanuel Vadot
496be33864SEmmanuel Vadot  clock-names:
506be33864SEmmanuel Vadot    items:
516be33864SEmmanuel Vadot      - const: hdmi
526be33864SEmmanuel Vadot      - const: bvb
536be33864SEmmanuel Vadot      - const: audio
546be33864SEmmanuel Vadot      - const: cec
556be33864SEmmanuel Vadot
565def4c47SEmmanuel Vadot  interrupts:
575def4c47SEmmanuel Vadot    items:
585def4c47SEmmanuel Vadot      - description: CEC TX interrupt
595def4c47SEmmanuel Vadot      - description: CEC RX interrupt
605def4c47SEmmanuel Vadot      - description: CEC stuck at low interrupt
615def4c47SEmmanuel Vadot      - description: Wake-up interrupt
625def4c47SEmmanuel Vadot      - description: Hotplug connected interrupt
635def4c47SEmmanuel Vadot      - description: Hotplug removed interrupt
645def4c47SEmmanuel Vadot
655def4c47SEmmanuel Vadot  interrupt-names:
665def4c47SEmmanuel Vadot    items:
675def4c47SEmmanuel Vadot      - const: cec-tx
685def4c47SEmmanuel Vadot      - const: cec-rx
695def4c47SEmmanuel Vadot      - const: cec-low
705def4c47SEmmanuel Vadot      - const: wakeup
715def4c47SEmmanuel Vadot      - const: hpd-connected
725def4c47SEmmanuel Vadot      - const: hpd-removed
735def4c47SEmmanuel Vadot
746be33864SEmmanuel Vadot  ddc:
75c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
766be33864SEmmanuel Vadot    description: >
776be33864SEmmanuel Vadot      Phandle of the I2C controller used for DDC EDID probing
786be33864SEmmanuel Vadot
796be33864SEmmanuel Vadot  hpd-gpios:
805def4c47SEmmanuel Vadot    maxItems: 1
816be33864SEmmanuel Vadot    description: >
826be33864SEmmanuel Vadot      The GPIO pin for the HDMI hotplug detect (if it doesn't appear
836be33864SEmmanuel Vadot      as an interrupt/status bit in the HDMI controller itself)
846be33864SEmmanuel Vadot
856be33864SEmmanuel Vadot  dmas:
866be33864SEmmanuel Vadot    maxItems: 1
876be33864SEmmanuel Vadot    description: >
886be33864SEmmanuel Vadot      Should contain one entry pointing to the DMA channel used to
896be33864SEmmanuel Vadot      transfer audio data.
906be33864SEmmanuel Vadot
916be33864SEmmanuel Vadot  dma-names:
926be33864SEmmanuel Vadot    const: audio-rx
936be33864SEmmanuel Vadot
946be33864SEmmanuel Vadot  resets:
956be33864SEmmanuel Vadot    maxItems: 1
966be33864SEmmanuel Vadot
976be33864SEmmanuel Vadot  wifi-2.4ghz-coexistence:
986be33864SEmmanuel Vadot    type: boolean
996be33864SEmmanuel Vadot    description: >
1006be33864SEmmanuel Vadot      Should the pixel frequencies in the WiFi frequencies range be
1016be33864SEmmanuel Vadot      avoided?
1026be33864SEmmanuel Vadot
1036be33864SEmmanuel Vadotrequired:
1046be33864SEmmanuel Vadot  - compatible
1056be33864SEmmanuel Vadot  - reg
1066be33864SEmmanuel Vadot  - reg-names
1076be33864SEmmanuel Vadot  - clocks
1086be33864SEmmanuel Vadot  - resets
1096be33864SEmmanuel Vadot  - ddc
1106be33864SEmmanuel Vadot
1116be33864SEmmanuel VadotadditionalProperties: false
1126be33864SEmmanuel Vadot
1136be33864SEmmanuel Vadotexamples:
1146be33864SEmmanuel Vadot  - |
1156be33864SEmmanuel Vadot    hdmi0: hdmi@7ef00700 {
1166be33864SEmmanuel Vadot        compatible = "brcm,bcm2711-hdmi0";
1176be33864SEmmanuel Vadot        reg = <0x7ef00700 0x300>,
1186be33864SEmmanuel Vadot              <0x7ef00300 0x200>,
1196be33864SEmmanuel Vadot              <0x7ef00f00 0x80>,
1206be33864SEmmanuel Vadot              <0x7ef00f80 0x80>,
1216be33864SEmmanuel Vadot              <0x7ef01b00 0x200>,
1226be33864SEmmanuel Vadot              <0x7ef01f00 0x400>,
1236be33864SEmmanuel Vadot              <0x7ef00200 0x80>,
1246be33864SEmmanuel Vadot              <0x7ef04300 0x100>,
1256be33864SEmmanuel Vadot              <0x7ef20000 0x100>;
1266be33864SEmmanuel Vadot        reg-names = "hdmi",
1276be33864SEmmanuel Vadot                    "dvp",
1286be33864SEmmanuel Vadot                    "phy",
1296be33864SEmmanuel Vadot                    "rm",
1306be33864SEmmanuel Vadot                    "packet",
1316be33864SEmmanuel Vadot                    "metadata",
1326be33864SEmmanuel Vadot                    "csc",
1336be33864SEmmanuel Vadot                    "cec",
1346be33864SEmmanuel Vadot                    "hd";
1356be33864SEmmanuel Vadot        clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
1366be33864SEmmanuel Vadot        clock-names = "hdmi", "bvb", "audio", "cec";
1376be33864SEmmanuel Vadot        resets = <&dvp 0>;
1386be33864SEmmanuel Vadot        ddc = <&ddc0>;
1396be33864SEmmanuel Vadot    };
1406be33864SEmmanuel Vadot
1416be33864SEmmanuel Vadot...
142