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