1*d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*d5b0e70fSEmmanuel Vadot%YAML 1.2 3*d5b0e70fSEmmanuel Vadot--- 4*d5b0e70fSEmmanuel Vadot$id: "http://devicetree.org/schemas/i2c/qcom,i2c-geni-qcom.yaml#" 5*d5b0e70fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6*d5b0e70fSEmmanuel Vadot 7*d5b0e70fSEmmanuel Vadottitle: Qualcomm Geni based 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 13*d5b0e70fSEmmanuel VadotallOf: 14*d5b0e70fSEmmanuel Vadot - $ref: /schemas/i2c/i2c-controller.yaml# 15*d5b0e70fSEmmanuel Vadot 16*d5b0e70fSEmmanuel Vadotproperties: 17*d5b0e70fSEmmanuel Vadot compatible: 18*d5b0e70fSEmmanuel Vadot const: qcom,geni-i2c 19*d5b0e70fSEmmanuel Vadot 20*d5b0e70fSEmmanuel Vadot clocks: 21*d5b0e70fSEmmanuel Vadot maxItems: 1 22*d5b0e70fSEmmanuel Vadot 23*d5b0e70fSEmmanuel Vadot clock-names: 24*d5b0e70fSEmmanuel Vadot const: se 25*d5b0e70fSEmmanuel Vadot 26*d5b0e70fSEmmanuel Vadot clock-frequency: 27*d5b0e70fSEmmanuel Vadot default: 100000 28*d5b0e70fSEmmanuel Vadot 29*d5b0e70fSEmmanuel Vadot dmas: 30*d5b0e70fSEmmanuel Vadot maxItems: 2 31*d5b0e70fSEmmanuel Vadot 32*d5b0e70fSEmmanuel Vadot dma-names: 33*d5b0e70fSEmmanuel Vadot items: 34*d5b0e70fSEmmanuel Vadot - const: tx 35*d5b0e70fSEmmanuel Vadot - const: rx 36*d5b0e70fSEmmanuel Vadot 37*d5b0e70fSEmmanuel Vadot interconnects: 38*d5b0e70fSEmmanuel Vadot maxItems: 3 39*d5b0e70fSEmmanuel Vadot 40*d5b0e70fSEmmanuel Vadot interconnect-names: 41*d5b0e70fSEmmanuel Vadot items: 42*d5b0e70fSEmmanuel Vadot - const: qup-core 43*d5b0e70fSEmmanuel Vadot - const: qup-config 44*d5b0e70fSEmmanuel Vadot - const: qup-memory 45*d5b0e70fSEmmanuel Vadot 46*d5b0e70fSEmmanuel Vadot interrupts: 47*d5b0e70fSEmmanuel Vadot maxItems: 1 48*d5b0e70fSEmmanuel Vadot 49*d5b0e70fSEmmanuel Vadot pinctrl-0: true 50*d5b0e70fSEmmanuel Vadot pinctrl-1: true 51*d5b0e70fSEmmanuel Vadot 52*d5b0e70fSEmmanuel Vadot pinctrl-names: 53*d5b0e70fSEmmanuel Vadot minItems: 1 54*d5b0e70fSEmmanuel Vadot items: 55*d5b0e70fSEmmanuel Vadot - const: default 56*d5b0e70fSEmmanuel Vadot - const: sleep 57*d5b0e70fSEmmanuel Vadot 58*d5b0e70fSEmmanuel Vadot power-domains: 59*d5b0e70fSEmmanuel Vadot maxItems: 1 60*d5b0e70fSEmmanuel Vadot 61*d5b0e70fSEmmanuel Vadot reg: 62*d5b0e70fSEmmanuel Vadot maxItems: 1 63*d5b0e70fSEmmanuel Vadot 64*d5b0e70fSEmmanuel Vadot required-opps: 65*d5b0e70fSEmmanuel Vadot maxItems: 1 66*d5b0e70fSEmmanuel Vadot 67*d5b0e70fSEmmanuel Vadotrequired: 68*d5b0e70fSEmmanuel Vadot - compatible 69*d5b0e70fSEmmanuel Vadot - interrupts 70*d5b0e70fSEmmanuel Vadot - clocks 71*d5b0e70fSEmmanuel Vadot - clock-names 72*d5b0e70fSEmmanuel Vadot - reg 73*d5b0e70fSEmmanuel Vadot 74*d5b0e70fSEmmanuel VadotunevaluatedProperties: false 75*d5b0e70fSEmmanuel Vadot 76*d5b0e70fSEmmanuel Vadotexamples: 77*d5b0e70fSEmmanuel Vadot - | 78*d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 79*d5b0e70fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sc7180.h> 80*d5b0e70fSEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sc7180.h> 81*d5b0e70fSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 82*d5b0e70fSEmmanuel Vadot 83*d5b0e70fSEmmanuel Vadot i2c@88000 { 84*d5b0e70fSEmmanuel Vadot compatible = "qcom,geni-i2c"; 85*d5b0e70fSEmmanuel Vadot reg = <0x00880000 0x4000>; 86*d5b0e70fSEmmanuel Vadot clock-names = "se"; 87*d5b0e70fSEmmanuel Vadot clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 88*d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 89*d5b0e70fSEmmanuel Vadot pinctrl-0 = <&qup_i2c0_default>; 90*d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 91*d5b0e70fSEmmanuel Vadot #address-cells = <1>; 92*d5b0e70fSEmmanuel Vadot #size-cells = <0>; 93*d5b0e70fSEmmanuel Vadot interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, 94*d5b0e70fSEmmanuel Vadot <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, 95*d5b0e70fSEmmanuel Vadot <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 96*d5b0e70fSEmmanuel Vadot interconnect-names = "qup-core", "qup-config", "qup-memory"; 97*d5b0e70fSEmmanuel Vadot power-domains = <&rpmhpd SC7180_CX>; 98*d5b0e70fSEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 99*d5b0e70fSEmmanuel Vadot }; 100*d5b0e70fSEmmanuel Vadot... 101