xref: /openbmc/linux/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
13c208843SAkash Asthana# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
23c208843SAkash Asthana%YAML 1.2
33c208843SAkash Asthana---
4*2961ab05SRob Herring$id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml#
5*2961ab05SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
63c208843SAkash Asthana
73c208843SAkash Asthanatitle: GENI Serial Engine QUP Wrapper Controller
83c208843SAkash Asthana
93c208843SAkash Asthanamaintainers:
1092298ea3SKrzysztof Kozlowski  - Bjorn Andersson <bjorn.andersson@linaro.org>
113c208843SAkash Asthana
123c208843SAkash Asthanadescription: |
133c208843SAkash Asthana Generic Interface (GENI) based Qualcomm Universal Peripheral (QUP) wrapper
143c208843SAkash Asthana is a programmable module for supporting a wide range of serial interfaces
153c208843SAkash Asthana like UART, SPI, I2C, I3C, etc. A single QUP module can provide upto 8 Serial
163c208843SAkash Asthana Interfaces, using its internal Serial Engines. The GENI Serial Engine QUP
173c208843SAkash Asthana Wrapper controller is modeled as a node with zero or more child nodes each
183c208843SAkash Asthana representing a serial engine.
193c208843SAkash Asthana
203c208843SAkash Asthanaproperties:
213c208843SAkash Asthana  compatible:
223c208843SAkash Asthana    enum:
233c208843SAkash Asthana      - qcom,geni-se-qup
24af45de83SNeil Armstrong      - qcom,geni-se-i2c-master-hub
253c208843SAkash Asthana
263c208843SAkash Asthana  reg:
273c208843SAkash Asthana    description: QUP wrapper common register address and length.
283c208843SAkash Asthana    maxItems: 1
293c208843SAkash Asthana
303c208843SAkash Asthana  clock-names:
31af45de83SNeil Armstrong    minItems: 1
32af45de83SNeil Armstrong    maxItems: 2
333c208843SAkash Asthana
343c208843SAkash Asthana  clocks:
35af45de83SNeil Armstrong    minItems: 1
36af45de83SNeil Armstrong    maxItems: 2
373c208843SAkash Asthana
383c208843SAkash Asthana  "#address-cells":
393c208843SAkash Asthana    const: 2
403c208843SAkash Asthana
413c208843SAkash Asthana  "#size-cells":
423c208843SAkash Asthana    const: 2
433c208843SAkash Asthana
443c208843SAkash Asthana  ranges: true
453c208843SAkash Asthana
46add953dcSAkash Asthana  interconnects:
47add953dcSAkash Asthana    maxItems: 1
48add953dcSAkash Asthana
49add953dcSAkash Asthana  interconnect-names:
50add953dcSAkash Asthana    const: qup-core
51add953dcSAkash Asthana
52a95fc720SCaleb Connolly  iommus:
53a95fc720SCaleb Connolly    maxItems: 1
54a95fc720SCaleb Connolly
553c208843SAkash Asthanarequired:
563c208843SAkash Asthana  - compatible
573c208843SAkash Asthana  - reg
583c208843SAkash Asthana  - clock-names
593c208843SAkash Asthana  - clocks
603c208843SAkash Asthana  - "#address-cells"
613c208843SAkash Asthana  - "#size-cells"
623c208843SAkash Asthana  - ranges
633c208843SAkash Asthana
643c208843SAkash AsthanapatternProperties:
653c208843SAkash Asthana  "spi@[0-9a-f]+$":
663c208843SAkash Asthana    type: object
673c208843SAkash Asthana    description: GENI serial engine based SPI controller. SPI in master mode
683c208843SAkash Asthana                 supports up to 50MHz, up to four chip selects, programmable
693c208843SAkash Asthana                 data path from 4 bits to 32 bits and numerous protocol
703c208843SAkash Asthana                 variants.
717b5d4421SKrzysztof Kozlowski    $ref: /schemas/spi/qcom,spi-geni-qcom.yaml#
723c208843SAkash Asthana
733c208843SAkash Asthana  "i2c@[0-9a-f]+$":
743c208843SAkash Asthana    type: object
753c208843SAkash Asthana    description: GENI serial engine based I2C controller.
76fcf2c0f7SKuldeep Singh    $ref: /schemas/i2c/qcom,i2c-geni-qcom.yaml#
773c208843SAkash Asthana
783c208843SAkash Asthana  "serial@[0-9a-f]+$":
793c208843SAkash Asthana    type: object
803c208843SAkash Asthana    description: GENI Serial Engine based UART Controller.
816579f392SKuldeep Singh    $ref: /schemas/serial/qcom,serial-geni-qcom.yaml#
823c208843SAkash Asthana
83af45de83SNeil ArmstrongallOf:
84af45de83SNeil Armstrong  - if:
85af45de83SNeil Armstrong      properties:
86af45de83SNeil Armstrong        compatible:
87af45de83SNeil Armstrong          contains:
88af45de83SNeil Armstrong            const: qcom,geni-se-i2c-master-hub
89af45de83SNeil Armstrong    then:
90af45de83SNeil Armstrong      properties:
91af45de83SNeil Armstrong        clock-names:
92af45de83SNeil Armstrong          items:
93af45de83SNeil Armstrong            - const: s-ahb
94af45de83SNeil Armstrong
95af45de83SNeil Armstrong        clocks:
96af45de83SNeil Armstrong          items:
97af45de83SNeil Armstrong            - description: Slave AHB Clock
98af45de83SNeil Armstrong
99af45de83SNeil Armstrong        iommus: false
100af45de83SNeil Armstrong
101af45de83SNeil Armstrong      patternProperties:
102af45de83SNeil Armstrong        "spi@[0-9a-f]+$": false
103af45de83SNeil Armstrong        "serial@[0-9a-f]+$": false
104af45de83SNeil Armstrong    else:
105af45de83SNeil Armstrong      properties:
106af45de83SNeil Armstrong        clock-names:
107af45de83SNeil Armstrong          items:
108af45de83SNeil Armstrong            - const: m-ahb
109af45de83SNeil Armstrong            - const: s-ahb
110af45de83SNeil Armstrong
111af45de83SNeil Armstrong        clocks:
112af45de83SNeil Armstrong          items:
113af45de83SNeil Armstrong            - description: Master AHB Clock
114af45de83SNeil Armstrong            - description: Slave AHB Clock
115af45de83SNeil Armstrong
1165be478f9SRob HerringadditionalProperties: false
1173c208843SAkash Asthana
1183c208843SAkash Asthanaexamples:
1193c208843SAkash Asthana  - |
1203c208843SAkash Asthana    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
1213c208843SAkash Asthana    #include <dt-bindings/interrupt-controller/arm-gic.h>
1223c208843SAkash Asthana
1233c208843SAkash Asthana    soc {
1243c208843SAkash Asthana        #address-cells = <2>;
1253c208843SAkash Asthana        #size-cells = <2>;
1263c208843SAkash Asthana
1273c208843SAkash Asthana        geniqup@8c0000 {
1283c208843SAkash Asthana            compatible = "qcom,geni-se-qup";
1293c208843SAkash Asthana            reg = <0 0x008c0000 0 0x6000>;
1303c208843SAkash Asthana            clock-names = "m-ahb", "s-ahb";
1313c208843SAkash Asthana            clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1323c208843SAkash Asthana                <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1333c208843SAkash Asthana            #address-cells = <2>;
1343c208843SAkash Asthana            #size-cells = <2>;
1353c208843SAkash Asthana            ranges;
1363c208843SAkash Asthana
1373c208843SAkash Asthana            i2c0: i2c@a94000 {
1383c208843SAkash Asthana                compatible = "qcom,geni-i2c";
1393c208843SAkash Asthana                reg = <0 0xa94000 0 0x4000>;
1403c208843SAkash Asthana                interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1413c208843SAkash Asthana                clock-names = "se";
1423c208843SAkash Asthana                clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1433c208843SAkash Asthana                pinctrl-names = "default", "sleep";
1443c208843SAkash Asthana                pinctrl-0 = <&qup_1_i2c_5_active>;
1453c208843SAkash Asthana                pinctrl-1 = <&qup_1_i2c_5_sleep>;
1463c208843SAkash Asthana                #address-cells = <1>;
1473c208843SAkash Asthana                #size-cells = <0>;
1483c208843SAkash Asthana            };
1493c208843SAkash Asthana
1503c208843SAkash Asthana            uart0: serial@a88000 {
1513c208843SAkash Asthana                compatible = "qcom,geni-uart";
1523c208843SAkash Asthana                reg = <0 0xa88000 0 0x7000>;
1533c208843SAkash Asthana                interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1543c208843SAkash Asthana                clock-names = "se";
1553c208843SAkash Asthana                clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1563c208843SAkash Asthana                pinctrl-names = "default", "sleep";
1573c208843SAkash Asthana                pinctrl-0 = <&qup_1_uart_3_active>;
1583c208843SAkash Asthana                pinctrl-1 = <&qup_1_uart_3_sleep>;
1593c208843SAkash Asthana            };
1603c208843SAkash Asthana        };
1613c208843SAkash Asthana    };
1623c208843SAkash Asthana
1633c208843SAkash Asthana...
164