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