xref: /linux/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
171f333a1SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
271f333a1SKrzysztof Kozlowski%YAML 1.2
371f333a1SKrzysztof Kozlowski---
471f333a1SKrzysztof Kozlowski$id: http://devicetree.org/schemas/i2c/qcom,i2c-qup.yaml#
571f333a1SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
671f333a1SKrzysztof Kozlowski
771f333a1SKrzysztof Kozlowskititle: Qualcomm Universal Peripheral (QUP) I2C controller
871f333a1SKrzysztof Kozlowski
971f333a1SKrzysztof Kozlowskimaintainers:
1071f333a1SKrzysztof Kozlowski  - Andy Gross <agross@kernel.org>
1171f333a1SKrzysztof Kozlowski  - Bjorn Andersson <bjorn.andersson@linaro.org>
1271f333a1SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1371f333a1SKrzysztof Kozlowski
1471f333a1SKrzysztof KozlowskiallOf:
1571f333a1SKrzysztof Kozlowski  - $ref: /schemas/i2c/i2c-controller.yaml#
1671f333a1SKrzysztof Kozlowski
1771f333a1SKrzysztof Kozlowskiproperties:
1871f333a1SKrzysztof Kozlowski  compatible:
1971f333a1SKrzysztof Kozlowski    enum:
2071f333a1SKrzysztof Kozlowski      - qcom,i2c-qup-v1.1.1     # for 8660, 8960 and 8064
2171f333a1SKrzysztof Kozlowski      - qcom,i2c-qup-v2.1.1     # for 8974 v1
2271f333a1SKrzysztof Kozlowski      - qcom,i2c-qup-v2.2.1     # for 8974 v2 and later
2371f333a1SKrzysztof Kozlowski
2471f333a1SKrzysztof Kozlowski  clocks:
2571f333a1SKrzysztof Kozlowski    maxItems: 2
2671f333a1SKrzysztof Kozlowski
2771f333a1SKrzysztof Kozlowski  clock-names:
2871f333a1SKrzysztof Kozlowski    items:
2971f333a1SKrzysztof Kozlowski      - const: core
3071f333a1SKrzysztof Kozlowski      - const: iface
3171f333a1SKrzysztof Kozlowski
3271f333a1SKrzysztof Kozlowski  clock-frequency:
3371f333a1SKrzysztof Kozlowski    default: 100000
3471f333a1SKrzysztof Kozlowski
3571f333a1SKrzysztof Kozlowski  dmas:
3671f333a1SKrzysztof Kozlowski    maxItems: 2
3771f333a1SKrzysztof Kozlowski
3871f333a1SKrzysztof Kozlowski  dma-names:
3971f333a1SKrzysztof Kozlowski    items:
4071f333a1SKrzysztof Kozlowski      - const: tx
4171f333a1SKrzysztof Kozlowski      - const: rx
4271f333a1SKrzysztof Kozlowski
43*d1597144SStephan Gerhold  interconnects:
44*d1597144SStephan Gerhold    maxItems: 1
45*d1597144SStephan Gerhold
4671f333a1SKrzysztof Kozlowski  interrupts:
4771f333a1SKrzysztof Kozlowski    maxItems: 1
4871f333a1SKrzysztof Kozlowski
4971f333a1SKrzysztof Kozlowski  pinctrl-0: true
5071f333a1SKrzysztof Kozlowski  pinctrl-1: true
5171f333a1SKrzysztof Kozlowski
5271f333a1SKrzysztof Kozlowski  pinctrl-names:
5371f333a1SKrzysztof Kozlowski    minItems: 1
5471f333a1SKrzysztof Kozlowski    items:
5571f333a1SKrzysztof Kozlowski      - const: default
5671f333a1SKrzysztof Kozlowski      - const: sleep
5771f333a1SKrzysztof Kozlowski
5848277423SStephan Gerhold  power-domains:
5948277423SStephan Gerhold    maxItems: 1
6048277423SStephan Gerhold
6171f333a1SKrzysztof Kozlowski  reg:
6271f333a1SKrzysztof Kozlowski    maxItems: 1
6371f333a1SKrzysztof Kozlowski
6448277423SStephan Gerhold  required-opps:
6548277423SStephan Gerhold    maxItems: 1
6648277423SStephan Gerhold
6771f333a1SKrzysztof Kozlowskirequired:
6871f333a1SKrzysztof Kozlowski  - compatible
6971f333a1SKrzysztof Kozlowski  - clock-names
7071f333a1SKrzysztof Kozlowski  - clocks
7171f333a1SKrzysztof Kozlowski  - interrupts
7271f333a1SKrzysztof Kozlowski  - reg
7371f333a1SKrzysztof Kozlowski
7471f333a1SKrzysztof KozlowskiunevaluatedProperties: false
7571f333a1SKrzysztof Kozlowski
7671f333a1SKrzysztof Kozlowskiexamples:
7771f333a1SKrzysztof Kozlowski  - |
7871f333a1SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,gcc-msm8998.h>
79*d1597144SStephan Gerhold    #include <dt-bindings/interconnect/qcom,msm8996.h>
8071f333a1SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
8148277423SStephan Gerhold    #include <dt-bindings/power/qcom-rpmpd.h>
8271f333a1SKrzysztof Kozlowski
8371f333a1SKrzysztof Kozlowski    i2c@c175000 {
8471f333a1SKrzysztof Kozlowski        compatible = "qcom,i2c-qup-v2.2.1";
8571f333a1SKrzysztof Kozlowski        reg = <0x0c175000 0x600>;
8671f333a1SKrzysztof Kozlowski        interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
8771f333a1SKrzysztof Kozlowski
8871f333a1SKrzysztof Kozlowski        clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
8971f333a1SKrzysztof Kozlowski                 <&gcc GCC_BLSP1_AHB_CLK>;
9071f333a1SKrzysztof Kozlowski        clock-names = "core", "iface";
9171f333a1SKrzysztof Kozlowski        dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
9271f333a1SKrzysztof Kozlowski        dma-names = "tx", "rx";
9371f333a1SKrzysztof Kozlowski        pinctrl-names = "default", "sleep";
9471f333a1SKrzysztof Kozlowski        pinctrl-0 = <&blsp1_i2c1_default>;
9571f333a1SKrzysztof Kozlowski        pinctrl-1 = <&blsp1_i2c1_sleep>;
9648277423SStephan Gerhold        power-domains = <&rpmpd MSM8909_VDDCX>;
9748277423SStephan Gerhold        required-opps = <&rpmpd_opp_svs_krait>;
98*d1597144SStephan Gerhold        interconnects = <&pnoc MASTER_BLSP_1 &bimc SLAVE_EBI_CH0>;
9971f333a1SKrzysztof Kozlowski        clock-frequency = <400000>;
10071f333a1SKrzysztof Kozlowski
10171f333a1SKrzysztof Kozlowski        #address-cells = <1>;
10271f333a1SKrzysztof Kozlowski        #size-cells = <0>;
10371f333a1SKrzysztof Kozlowski    };
104