qcom,i2c-qup.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/i2c/qcom,i2c-qup.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm Universal Peripheral (QUP) I2C controller
  7. maintainers:
  8. - Andy Gross <agross@kernel.org>
  9. - Bjorn Andersson <bjorn.andersson@linaro.org>
  10. - Krzysztof Kozlowski <krzk@kernel.org>
  11. allOf:
  12. - $ref: /schemas/i2c/i2c-controller.yaml#
  13. properties:
  14. compatible:
  15. enum:
  16. - qcom,i2c-qup-v1.1.1 # for 8660, 8960 and 8064
  17. - qcom,i2c-qup-v2.1.1 # for 8974 v1
  18. - qcom,i2c-qup-v2.2.1 # for 8974 v2 and later
  19. clocks:
  20. maxItems: 2
  21. clock-names:
  22. items:
  23. - const: core
  24. - const: iface
  25. clock-frequency:
  26. default: 100000
  27. dmas:
  28. maxItems: 2
  29. dma-names:
  30. items:
  31. - const: tx
  32. - const: rx
  33. interconnects:
  34. maxItems: 1
  35. interrupts:
  36. maxItems: 1
  37. pinctrl-0: true
  38. pinctrl-1: true
  39. pinctrl-names:
  40. minItems: 1
  41. items:
  42. - const: default
  43. - const: sleep
  44. power-domains:
  45. maxItems: 1
  46. reg:
  47. maxItems: 1
  48. required-opps:
  49. maxItems: 1
  50. required:
  51. - compatible
  52. - clock-names
  53. - clocks
  54. - interrupts
  55. - reg
  56. unevaluatedProperties: false
  57. examples:
  58. - |
  59. #include <dt-bindings/clock/qcom,gcc-msm8998.h>
  60. #include <dt-bindings/interconnect/qcom,msm8996.h>
  61. #include <dt-bindings/interrupt-controller/arm-gic.h>
  62. #include <dt-bindings/power/qcom-rpmpd.h>
  63. i2c@c175000 {
  64. compatible = "qcom,i2c-qup-v2.2.1";
  65. reg = <0x0c175000 0x600>;
  66. interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  67. clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
  68. <&gcc GCC_BLSP1_AHB_CLK>;
  69. clock-names = "core", "iface";
  70. dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
  71. dma-names = "tx", "rx";
  72. pinctrl-names = "default", "sleep";
  73. pinctrl-0 = <&blsp1_i2c1_default>;
  74. pinctrl-1 = <&blsp1_i2c1_sleep>;
  75. power-domains = <&rpmpd MSM8909_VDDCX>;
  76. required-opps = <&rpmpd_opp_svs_krait>;
  77. interconnects = <&pnoc MASTER_BLSP_1 &bimc SLAVE_EBI_CH0>;
  78. clock-frequency = <400000>;
  79. #address-cells = <1>;
  80. #size-cells = <0>;
  81. };