xref: /linux/Documentation/devicetree/bindings/i2c/apple,i2c.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1df7c4a8cSSven Peter# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2df7c4a8cSSven Peter%YAML 1.2
3df7c4a8cSSven Peter---
4*fc114c75SRob Herring$id: http://devicetree.org/schemas/i2c/apple,i2c.yaml#
5*fc114c75SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6df7c4a8cSSven Peter
7df7c4a8cSSven Petertitle: Apple/PASemi I2C controller
8df7c4a8cSSven Peter
9df7c4a8cSSven Petermaintainers:
10df7c4a8cSSven Peter  - Sven Peter <sven@svenpeter.dev>
11df7c4a8cSSven Peter
12df7c4a8cSSven Peterdescription: |
13df7c4a8cSSven Peter  Apple SoCs such as the M1 come with a I2C controller based on the one found
14df7c4a8cSSven Peter  in machines with P. A. Semi's PWRficient processors.
15df7c4a8cSSven Peter  The bus is used to communicate with e.g. USB PD chips or the speaker
16df7c4a8cSSven Peter  amp.
17df7c4a8cSSven Peter
18df7c4a8cSSven PeterallOf:
19df7c4a8cSSven Peter  - $ref: /schemas/i2c/i2c-controller.yaml#
20df7c4a8cSSven Peter
21df7c4a8cSSven Peterproperties:
22df7c4a8cSSven Peter  compatible:
234356fd60SJanne Grunau    items:
24b66652c7SHector Martin      - enum:
25b66652c7SHector Martin          - apple,t8103-i2c
261e8edd6aSJanne Grunau          - apple,t8112-i2c
27b66652c7SHector Martin          - apple,t6000-i2c
284356fd60SJanne Grunau      - const: apple,i2c
29df7c4a8cSSven Peter
30df7c4a8cSSven Peter  reg:
31df7c4a8cSSven Peter    maxItems: 1
32df7c4a8cSSven Peter
33df7c4a8cSSven Peter  clocks:
34df7c4a8cSSven Peter    items:
35df7c4a8cSSven Peter      - description: I2C bus reference clock
36df7c4a8cSSven Peter
37df7c4a8cSSven Peter  interrupts:
38df7c4a8cSSven Peter    maxItems: 1
39df7c4a8cSSven Peter
40df7c4a8cSSven Peter  clock-frequency:
41df7c4a8cSSven Peter    description: |
42df7c4a8cSSven Peter      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
43df7c4a8cSSven Peter      used. This frequency is generated by dividing the reference clock.
44df7c4a8cSSven Peter      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
45df7c4a8cSSven Peter
466f826055SHector Martin  power-domains:
476f826055SHector Martin    maxItems: 1
486f826055SHector Martin
49df7c4a8cSSven Peterrequired:
50df7c4a8cSSven Peter  - compatible
51df7c4a8cSSven Peter  - reg
52df7c4a8cSSven Peter  - clocks
53df7c4a8cSSven Peter  - interrupts
54df7c4a8cSSven Peter
55df7c4a8cSSven PeterunevaluatedProperties: false
56df7c4a8cSSven Peter
57df7c4a8cSSven Peterexamples:
58df7c4a8cSSven Peter  - |
59df7c4a8cSSven Peter    i2c@35010000 {
604356fd60SJanne Grunau      compatible = "apple,t8103-i2c", "apple,i2c";
61df7c4a8cSSven Peter      reg = <0x35010000 0x4000>;
62df7c4a8cSSven Peter      interrupt-parent = <&aic>;
63df7c4a8cSSven Peter      interrupts = <0 627 4>;
64df7c4a8cSSven Peter      clocks = <&ref_clk>;
65df7c4a8cSSven Peter      #address-cells = <1>;
66df7c4a8cSSven Peter      #size-cells = <0>;
67df7c4a8cSSven Peter    };
68