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