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:
23*4356fd60SJanne Grunau    items:
24*4356fd60SJanne Grunau      - const: apple,t8103-i2c
25*4356fd60SJanne 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
43df7c4a8cSSven Peterrequired:
44df7c4a8cSSven Peter  - compatible
45df7c4a8cSSven Peter  - reg
46df7c4a8cSSven Peter  - clocks
47df7c4a8cSSven Peter  - interrupts
48df7c4a8cSSven Peter
49df7c4a8cSSven PeterunevaluatedProperties: false
50df7c4a8cSSven Peter
51df7c4a8cSSven Peterexamples:
52df7c4a8cSSven Peter  - |
53df7c4a8cSSven Peter    i2c@35010000 {
54*4356fd60SJanne Grunau      compatible = "apple,t8103-i2c", "apple,i2c";
55df7c4a8cSSven Peter      reg = <0x35010000 0x4000>;
56df7c4a8cSSven Peter      interrupt-parent = <&aic>;
57df7c4a8cSSven Peter      interrupts = <0 627 4>;
58df7c4a8cSSven Peter      clocks = <&ref_clk>;
59df7c4a8cSSven Peter      #address-cells = <1>;
60df7c4a8cSSven Peter      #size-cells = <0>;
61df7c4a8cSSven Peter    };
62