xref: /linux/Documentation/devicetree/bindings/i2c/apple,i2c.yaml (revision fc114c75680da73c3815512d880f69cecc9a9b87)
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
26b66652c7SHector Martin          - apple,t6000-i2c
274356fd60SJanne Grunau      - const: apple,i2c
28df7c4a8cSSven Peter
29df7c4a8cSSven Peter  reg:
30df7c4a8cSSven Peter    maxItems: 1
31df7c4a8cSSven Peter
32df7c4a8cSSven Peter  clocks:
33df7c4a8cSSven Peter    items:
34df7c4a8cSSven Peter      - description: I2C bus reference clock
35df7c4a8cSSven Peter
36df7c4a8cSSven Peter  interrupts:
37df7c4a8cSSven Peter    maxItems: 1
38df7c4a8cSSven Peter
39df7c4a8cSSven Peter  clock-frequency:
40df7c4a8cSSven Peter    description: |
41df7c4a8cSSven Peter      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
42df7c4a8cSSven Peter      used. This frequency is generated by dividing the reference clock.
43df7c4a8cSSven Peter      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
44df7c4a8cSSven Peter
456f826055SHector Martin  power-domains:
466f826055SHector Martin    maxItems: 1
476f826055SHector Martin
48df7c4a8cSSven Peterrequired:
49df7c4a8cSSven Peter  - compatible
50df7c4a8cSSven Peter  - reg
51df7c4a8cSSven Peter  - clocks
52df7c4a8cSSven Peter  - interrupts
53df7c4a8cSSven Peter
54df7c4a8cSSven PeterunevaluatedProperties: false
55df7c4a8cSSven Peter
56df7c4a8cSSven Peterexamples:
57df7c4a8cSSven Peter  - |
58df7c4a8cSSven Peter    i2c@35010000 {
594356fd60SJanne Grunau      compatible = "apple,t8103-i2c", "apple,i2c";
60df7c4a8cSSven Peter      reg = <0x35010000 0x4000>;
61df7c4a8cSSven Peter      interrupt-parent = <&aic>;
62df7c4a8cSSven Peter      interrupts = <0 627 4>;
63df7c4a8cSSven Peter      clocks = <&ref_clk>;
64df7c4a8cSSven Peter      #address-cells = <1>;
65df7c4a8cSSven Peter      #size-cells = <0>;
66df7c4a8cSSven Peter    };
67