0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/i2c/apple,i2c.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: Apple/PASemi I2C controller
0008
0009 maintainers:
0010 - Sven Peter <sven@svenpeter.dev>
0011
0012 description: |
0013 Apple SoCs such as the M1 come with a I2C controller based on the one found
0014 in machines with P. A. Semi's PWRficient processors.
0015 The bus is used to communicate with e.g. USB PD chips or the speaker
0016 amp.
0017
0018 allOf:
0019 - $ref: /schemas/i2c/i2c-controller.yaml#
0020
0021 properties:
0022 compatible:
0023 items:
0024 - enum:
0025 - apple,t8103-i2c
0026 - apple,t6000-i2c
0027 - const: apple,i2c
0028
0029 reg:
0030 maxItems: 1
0031
0032 clocks:
0033 items:
0034 - description: I2C bus reference clock
0035
0036 interrupts:
0037 maxItems: 1
0038
0039 clock-frequency:
0040 description: |
0041 Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
0042 used. This frequency is generated by dividing the reference clock.
0043 Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
0044
0045 power-domains:
0046 maxItems: 1
0047
0048 required:
0049 - compatible
0050 - reg
0051 - clocks
0052 - interrupts
0053
0054 unevaluatedProperties: false
0055
0056 examples:
0057 - |
0058 i2c@35010000 {
0059 compatible = "apple,t8103-i2c", "apple,i2c";
0060 reg = <0x35010000 0x4000>;
0061 interrupt-parent = <&aic>;
0062 interrupts = <0 627 4>;
0063 clocks = <&ref_clk>;
0064 #address-cells = <1>;
0065 #size-cells = <0>;
0066 };