apple,i2c.yaml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. title: Apple/PASemi I2C controller
  7. maintainers:
  8. - Sven Peter <sven@svenpeter.dev>
  9. description: |
  10. Apple SoCs such as the M1 come with a I2C controller based on the one found
  11. in machines with P. A. Semi's PWRficient processors.
  12. The bus is used to communicate with e.g. USB PD chips or the speaker
  13. amp.
  14. allOf:
  15. - $ref: /schemas/i2c/i2c-controller.yaml#
  16. properties:
  17. compatible:
  18. oneOf:
  19. - items:
  20. - const: apple,t6020-i2c
  21. - const: apple,t8103-i2c
  22. - items:
  23. - enum:
  24. # Do not add additional SoC to this list.
  25. - apple,s5l8960x-i2c
  26. - apple,t7000-i2c
  27. - apple,s8000-i2c
  28. - apple,t8010-i2c
  29. - apple,t8015-i2c
  30. - apple,t8103-i2c
  31. - apple,t8112-i2c
  32. - apple,t6000-i2c
  33. - const: apple,i2c
  34. reg:
  35. maxItems: 1
  36. clocks:
  37. items:
  38. - description: I2C bus reference clock
  39. interrupts:
  40. maxItems: 1
  41. clock-frequency:
  42. description: |
  43. Desired I2C bus clock frequency in Hz. If not specified, 100 kHz will be
  44. used. This frequency is generated by dividing the reference clock.
  45. Allowed values are between ref_clk/(16*4) and ref_clk/(16*255).
  46. power-domains:
  47. maxItems: 1
  48. required:
  49. - compatible
  50. - reg
  51. - clocks
  52. - interrupts
  53. unevaluatedProperties: false
  54. examples:
  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. };