1ae8f4223SKuldeep Singh# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2ae8f4223SKuldeep Singh%YAML 1.2 3ae8f4223SKuldeep Singh--- 4ae8f4223SKuldeep Singh$id: "http://devicetree.org/schemas/i2c/qcom,i2c-geni-qcom.yaml#" 5ae8f4223SKuldeep Singh$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6ae8f4223SKuldeep Singh 7ae8f4223SKuldeep Singhtitle: Qualcomm Geni based QUP I2C Controller 8ae8f4223SKuldeep Singh 9ae8f4223SKuldeep Singhmaintainers: 10ae8f4223SKuldeep Singh - Andy Gross <agross@kernel.org> 11ae8f4223SKuldeep Singh - Bjorn Andersson <bjorn.andersson@linaro.org> 12ae8f4223SKuldeep Singh 13ae8f4223SKuldeep Singhproperties: 14ae8f4223SKuldeep Singh compatible: 15*cb29d4e6SNeil Armstrong enum: 16*cb29d4e6SNeil Armstrong - qcom,geni-i2c 17*cb29d4e6SNeil Armstrong - qcom,geni-i2c-master-hub 18ae8f4223SKuldeep Singh 19ae8f4223SKuldeep Singh clocks: 20*cb29d4e6SNeil Armstrong minItems: 1 21*cb29d4e6SNeil Armstrong maxItems: 2 22ae8f4223SKuldeep Singh 23ae8f4223SKuldeep Singh clock-names: 24*cb29d4e6SNeil Armstrong minItems: 1 25*cb29d4e6SNeil Armstrong maxItems: 2 26ae8f4223SKuldeep Singh 27ae8f4223SKuldeep Singh clock-frequency: 28ae8f4223SKuldeep Singh default: 100000 29ae8f4223SKuldeep Singh 30ae8f4223SKuldeep Singh dmas: 31ae8f4223SKuldeep Singh maxItems: 2 32ae8f4223SKuldeep Singh 33ae8f4223SKuldeep Singh dma-names: 34ae8f4223SKuldeep Singh items: 35ae8f4223SKuldeep Singh - const: tx 36ae8f4223SKuldeep Singh - const: rx 37ae8f4223SKuldeep Singh 38ae8f4223SKuldeep Singh interconnects: 39*cb29d4e6SNeil Armstrong minItems: 2 40ae8f4223SKuldeep Singh maxItems: 3 41ae8f4223SKuldeep Singh 42ae8f4223SKuldeep Singh interconnect-names: 43*cb29d4e6SNeil Armstrong minItems: 2 44*cb29d4e6SNeil Armstrong maxItems: 3 45ae8f4223SKuldeep Singh 46ae8f4223SKuldeep Singh interrupts: 47ae8f4223SKuldeep Singh maxItems: 1 48ae8f4223SKuldeep Singh 49ae8f4223SKuldeep Singh pinctrl-0: true 50ae8f4223SKuldeep Singh pinctrl-1: true 51ae8f4223SKuldeep Singh 52ae8f4223SKuldeep Singh pinctrl-names: 53ae8f4223SKuldeep Singh minItems: 1 54ae8f4223SKuldeep Singh items: 55ae8f4223SKuldeep Singh - const: default 56ae8f4223SKuldeep Singh - const: sleep 57ae8f4223SKuldeep Singh 58ae8f4223SKuldeep Singh power-domains: 59ae8f4223SKuldeep Singh maxItems: 1 60ae8f4223SKuldeep Singh 61ae8f4223SKuldeep Singh reg: 62ae8f4223SKuldeep Singh maxItems: 1 63ae8f4223SKuldeep Singh 64ae8f4223SKuldeep Singh required-opps: 65ae8f4223SKuldeep Singh maxItems: 1 66ae8f4223SKuldeep Singh 67ae8f4223SKuldeep Singhrequired: 68ae8f4223SKuldeep Singh - compatible 69ae8f4223SKuldeep Singh - interrupts 70ae8f4223SKuldeep Singh - clocks 71ae8f4223SKuldeep Singh - clock-names 72ae8f4223SKuldeep Singh - reg 73ae8f4223SKuldeep Singh 74*cb29d4e6SNeil ArmstrongallOf: 75*cb29d4e6SNeil Armstrong - $ref: /schemas/i2c/i2c-controller.yaml# 76*cb29d4e6SNeil Armstrong - if: 77*cb29d4e6SNeil Armstrong properties: 78*cb29d4e6SNeil Armstrong compatible: 79*cb29d4e6SNeil Armstrong contains: 80*cb29d4e6SNeil Armstrong const: qcom,geni-i2c-master-hub 81*cb29d4e6SNeil Armstrong then: 82*cb29d4e6SNeil Armstrong properties: 83*cb29d4e6SNeil Armstrong clocks: 84*cb29d4e6SNeil Armstrong minItems: 2 85*cb29d4e6SNeil Armstrong 86*cb29d4e6SNeil Armstrong clock-names: 87*cb29d4e6SNeil Armstrong items: 88*cb29d4e6SNeil Armstrong - const: se 89*cb29d4e6SNeil Armstrong - const: core 90*cb29d4e6SNeil Armstrong 91*cb29d4e6SNeil Armstrong dmas: false 92*cb29d4e6SNeil Armstrong dma-names: false 93*cb29d4e6SNeil Armstrong 94*cb29d4e6SNeil Armstrong interconnects: 95*cb29d4e6SNeil Armstrong maxItems: 2 96*cb29d4e6SNeil Armstrong 97*cb29d4e6SNeil Armstrong interconnect-names: 98*cb29d4e6SNeil Armstrong items: 99*cb29d4e6SNeil Armstrong - const: qup-core 100*cb29d4e6SNeil Armstrong - const: qup-config 101*cb29d4e6SNeil Armstrong else: 102*cb29d4e6SNeil Armstrong properties: 103*cb29d4e6SNeil Armstrong clocks: 104*cb29d4e6SNeil Armstrong maxItems: 1 105*cb29d4e6SNeil Armstrong 106*cb29d4e6SNeil Armstrong clock-names: 107*cb29d4e6SNeil Armstrong const: se 108*cb29d4e6SNeil Armstrong 109*cb29d4e6SNeil Armstrong interconnects: 110*cb29d4e6SNeil Armstrong minItems: 3 111*cb29d4e6SNeil Armstrong 112*cb29d4e6SNeil Armstrong interconnect-names: 113*cb29d4e6SNeil Armstrong items: 114*cb29d4e6SNeil Armstrong - const: qup-core 115*cb29d4e6SNeil Armstrong - const: qup-config 116*cb29d4e6SNeil Armstrong - const: qup-memory 117*cb29d4e6SNeil Armstrong 118ae8f4223SKuldeep SinghunevaluatedProperties: false 119ae8f4223SKuldeep Singh 120ae8f4223SKuldeep Singhexamples: 121ae8f4223SKuldeep Singh - | 122ae8f4223SKuldeep Singh #include <dt-bindings/interrupt-controller/arm-gic.h> 123ae8f4223SKuldeep Singh #include <dt-bindings/clock/qcom,gcc-sc7180.h> 124ae8f4223SKuldeep Singh #include <dt-bindings/interconnect/qcom,sc7180.h> 125ae8f4223SKuldeep Singh #include <dt-bindings/power/qcom-rpmpd.h> 126ae8f4223SKuldeep Singh 127ae8f4223SKuldeep Singh i2c@88000 { 128ae8f4223SKuldeep Singh compatible = "qcom,geni-i2c"; 129ae8f4223SKuldeep Singh reg = <0x00880000 0x4000>; 130ae8f4223SKuldeep Singh clock-names = "se"; 131ae8f4223SKuldeep Singh clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 132ae8f4223SKuldeep Singh pinctrl-names = "default"; 133ae8f4223SKuldeep Singh pinctrl-0 = <&qup_i2c0_default>; 134ae8f4223SKuldeep Singh interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 135ae8f4223SKuldeep Singh #address-cells = <1>; 136ae8f4223SKuldeep Singh #size-cells = <0>; 137ae8f4223SKuldeep Singh interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, 138ae8f4223SKuldeep Singh <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, 139ae8f4223SKuldeep Singh <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 140ae8f4223SKuldeep Singh interconnect-names = "qup-core", "qup-config", "qup-memory"; 141ae8f4223SKuldeep Singh power-domains = <&rpmhpd SC7180_CX>; 142ae8f4223SKuldeep Singh required-opps = <&rpmhpd_opp_low_svs>; 143ae8f4223SKuldeep Singh }; 144ae8f4223SKuldeep Singh... 145