xref: /freebsd/sys/contrib/device-tree/Bindings/media/cec/amlogic,meson-gx-ao-cec.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
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/cec/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
36allOf:
37  - $ref: cec-common.yaml#
38  - if:
39      properties:
40        compatible:
41          contains:
42            enum:
43              - amlogic,meson-gx-ao-cec
44
45    then:
46      properties:
47        clocks:
48          items:
49            - description: AO-CEC clock
50
51        clock-names:
52          items:
53            - const: core
54
55  - if:
56      properties:
57        compatible:
58          contains:
59            enum:
60              - amlogic,meson-g12a-ao-cec
61              - amlogic,meson-sm1-ao-cec
62
63    then:
64      properties:
65        clocks:
66          items:
67            - description: AO-CEC clock generator source
68
69        clock-names:
70          items:
71            - const: oscin
72
73required:
74  - compatible
75  - reg
76  - interrupts
77  - hdmi-phandle
78  - clocks
79  - clock-names
80
81unevaluatedProperties: false
82
83examples:
84  - |
85    cec_AO: cec@100 {
86        compatible = "amlogic,meson-gx-ao-cec";
87        reg = <0x00100 0x14>;
88        interrupts = <199>;
89        clocks = <&clkc_cec>;
90        clock-names = "core";
91        hdmi-phandle = <&hdmi_tx>;
92    };
93