xref: /linux/Documentation/devicetree/bindings/i2c/apple,i2c.yaml (revision 6f8260557d490364c2b49872127c379de9b141ac)
1df7c4a8cSSven Peter# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2df7c4a8cSSven Peter%YAML 1.2
3df7c4a8cSSven Peter---
4df7c4a8cSSven Peter$id: "http://devicetree.org/schemas/i2c/apple,i2c.yaml#"
5df7c4a8cSSven Peter$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:
244356fd60SJanne Grunau      - const: apple,t8103-i2c
254356fd60SJanne Grunau      - const: apple,i2c
26df7c4a8cSSven Peter
27df7c4a8cSSven Peter  reg:
28df7c4a8cSSven Peter    maxItems: 1
29df7c4a8cSSven Peter
30df7c4a8cSSven Peter  clocks:
31df7c4a8cSSven Peter    items:
32df7c4a8cSSven Peter      - description: I2C bus reference clock
33df7c4a8cSSven Peter
34df7c4a8cSSven Peter  interrupts:
35df7c4a8cSSven Peter    maxItems: 1
36df7c4a8cSSven Peter
37df7c4a8cSSven Peter  clock-frequency:
38df7c4a8cSSven Peter    description: |
39df7c4a8cSSven Peter      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
40df7c4a8cSSven Peter      used. This frequency is generated by dividing the reference clock.
41df7c4a8cSSven Peter      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
42df7c4a8cSSven Peter
43*6f826055SHector Martin  power-domains:
44*6f826055SHector Martin    maxItems: 1
45*6f826055SHector Martin
46df7c4a8cSSven Peterrequired:
47df7c4a8cSSven Peter  - compatible
48df7c4a8cSSven Peter  - reg
49df7c4a8cSSven Peter  - clocks
50df7c4a8cSSven Peter  - interrupts
51df7c4a8cSSven Peter
52df7c4a8cSSven PeterunevaluatedProperties: false
53df7c4a8cSSven Peter
54df7c4a8cSSven Peterexamples:
55df7c4a8cSSven Peter  - |
56df7c4a8cSSven Peter    i2c@35010000 {
574356fd60SJanne Grunau      compatible = "apple,t8103-i2c", "apple,i2c";
58df7c4a8cSSven Peter      reg = <0x35010000 0x4000>;
59df7c4a8cSSven Peter      interrupt-parent = <&aic>;
60df7c4a8cSSven Peter      interrupts = <0 627 4>;
61df7c4a8cSSven Peter      clocks = <&ref_clk>;
62df7c4a8cSSven Peter      #address-cells = <1>;
63df7c4a8cSSven Peter      #size-cells = <0>;
64df7c4a8cSSven Peter    };
65