1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2019 BayLibre, SAS
3%YAML 1.2
4---
5$id: "http://devicetree.org/schemas/media/amlogic,meson-gx-ao-cec.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Amlogic Meson AO-CEC Controller
9
10maintainers:
11  - Neil Armstrong <neil.armstrong@linaro.org>
12
13description: |
14  The Amlogic Meson AO-CEC module is present is Amlogic SoCs and its purpose is
15  to handle communication between HDMI connected devices over the CEC bus.
16
17properties:
18  compatible:
19    enum:
20      - amlogic,meson-gx-ao-cec # GXBB, GXL, GXM, G12A and SM1 AO_CEC_A module
21      - amlogic,meson-g12a-ao-cec # G12A AO_CEC_B module
22      - amlogic,meson-sm1-ao-cec # SM1 AO_CEC_B module
23
24  reg:
25    maxItems: 1
26
27  clocks:
28    maxItems: 1
29
30  clock-names:
31    maxItems: 1
32
33  interrupts:
34    maxItems: 1
35
36  hdmi-phandle:
37    description: phandle to the HDMI controller
38    $ref: /schemas/types.yaml#/definitions/phandle
39
40allOf:
41  - if:
42      properties:
43        compatible:
44          contains:
45            enum:
46              - amlogic,meson-gx-ao-cec
47
48    then:
49      properties:
50        clocks:
51          items:
52            - description: AO-CEC clock
53
54        clock-names:
55          items:
56            - const: core
57
58  - if:
59      properties:
60        compatible:
61          contains:
62            enum:
63              - amlogic,meson-g12a-ao-cec
64              - amlogic,meson-sm1-ao-cec
65
66    then:
67      properties:
68        clocks:
69          items:
70            - description: AO-CEC clock generator source
71
72        clock-names:
73          items:
74            - const: oscin
75
76required:
77  - compatible
78  - reg
79  - interrupts
80  - hdmi-phandle
81  - clocks
82  - clock-names
83
84additionalProperties: false
85
86examples:
87  - |
88    cec_AO: cec@100 {
89        compatible = "amlogic,meson-gx-ao-cec";
90        reg = <0x00100 0x14>;
91        interrupts = <199>;
92        clocks = <&clkc_cec>;
93        clock-names = "core";
94        hdmi-phandle = <&hdmi_tx>;
95    };
96