Commit df7c4a8c authored by Sven Peter's avatar Sven Peter Committed by Wolfram Sang
Browse files

dt-bindings: i2c: Add Apple I2C controller bindings



The Apple I2C controller is based on the PASemi I2C controller.
It is present on Apple SoCs such as the M1.

Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSven Peter <sven@svenpeter.dev>
Acked-by: default avatarOlof Johansson <olof@lixom.net>
Tested-by: default avatarChristian Zigotzky <chzigotzky@xenosoft.de>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent c5c34f57
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/i2c/apple,i2c.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Apple/PASemi I2C controller

maintainers:
  - Sven Peter <sven@svenpeter.dev>

description: |
  Apple SoCs such as the M1 come with a I2C controller based on the one found
  in machines with P. A. Semi's PWRficient processors.
  The bus is used to communicate with e.g. USB PD chips or the speaker
  amp.

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml#

properties:
  compatible:
    enum:
      - apple,t8103-i2c
      - apple,i2c

  reg:
    maxItems: 1

  clocks:
    items:
      - description: I2C bus reference clock

  interrupts:
    maxItems: 1

  clock-frequency:
    description: |
      Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
      used. This frequency is generated by dividing the reference clock.
      Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).

required:
  - compatible
  - reg
  - clocks
  - interrupts

unevaluatedProperties: false

examples:
  - |
    i2c@35010000 {
      compatible = "apple,t8103-i2c";
      reg = <0x35010000 0x4000>;
      interrupt-parent = <&aic>;
      interrupts = <0 627 4>;
      clocks = <&ref_clk>;
      #address-cells = <1>;
      #size-cells = <0>;
    };