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    items:
24      - const: apple,t8103-i2c
25      - const: apple,i2c
26
27  reg:
28    maxItems: 1
29
30  clocks:
31    items:
32      - description: I2C bus reference clock
33
34  interrupts:
35    maxItems: 1
36
37  clock-frequency:
38    description: |
39      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
40      used. This frequency is generated by dividing the reference clock.
41      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
42
43  power-domains:
44    maxItems: 1
45
46required:
47  - compatible
48  - reg
49  - clocks
50  - interrupts
51
52unevaluatedProperties: false
53
54examples:
55  - |
56    i2c@35010000 {
57      compatible = "apple,t8103-i2c", "apple,i2c";
58      reg = <0x35010000 0x4000>;
59      interrupt-parent = <&aic>;
60      interrupts = <0 627 4>;
61      clocks = <&ref_clk>;
62      #address-cells = <1>;
63      #size-cells = <0>;
64    };
65