xref: /linux/Documentation/devicetree/bindings/i2c/apple,i2c.yaml (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/apple,i2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple/PASemi I2C controller
8
9maintainers:
10  - Sven Peter <sven@svenpeter.dev>
11
12description: |
13  Apple SoCs such as the M1 come with a I2C controller based on the one found
14  in machines with P. A. Semi's PWRficient processors.
15  The bus is used to communicate with e.g. USB PD chips or the speaker
16  amp.
17
18allOf:
19  - $ref: /schemas/i2c/i2c-controller.yaml#
20
21properties:
22  compatible:
23    oneOf:
24      - items:
25          - const: apple,t6020-i2c
26          - const: apple,t8103-i2c
27      - items:
28          - enum:
29              # Do not add additional SoC to this list.
30              - apple,s5l8960x-i2c
31              - apple,t7000-i2c
32              - apple,s8000-i2c
33              - apple,t8010-i2c
34              - apple,t8015-i2c
35              - apple,t8103-i2c
36              - apple,t8112-i2c
37              - apple,t6000-i2c
38          - const: apple,i2c
39
40  reg:
41    maxItems: 1
42
43  clocks:
44    items:
45      - description: I2C bus reference clock
46
47  interrupts:
48    maxItems: 1
49
50  clock-frequency:
51    description: |
52      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
53      used. This frequency is generated by dividing the reference clock.
54      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
55
56  power-domains:
57    maxItems: 1
58
59required:
60  - compatible
61  - reg
62  - clocks
63  - interrupts
64
65unevaluatedProperties: false
66
67examples:
68  - |
69    i2c@35010000 {
70      compatible = "apple,t8103-i2c", "apple,i2c";
71      reg = <0x35010000 0x4000>;
72      interrupt-parent = <&aic>;
73      interrupts = <0 627 4>;
74      clocks = <&ref_clk>;
75      #address-cells = <1>;
76      #size-cells = <0>;
77    };
78