xref: /linux/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
15bdcae1fSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25bdcae1fSKrzysztof Kozlowski%YAML 1.2
35bdcae1fSKrzysztof Kozlowski---
45bdcae1fSKrzysztof Kozlowski$id: http://devicetree.org/schemas/spi/qcom,spi-geni-qcom.yaml#
55bdcae1fSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
65bdcae1fSKrzysztof Kozlowski
75bdcae1fSKrzysztof Kozlowskititle: GENI based Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI)
85bdcae1fSKrzysztof Kozlowski
95bdcae1fSKrzysztof Kozlowskimaintainers:
105bdcae1fSKrzysztof Kozlowski  - Andy Gross <agross@kernel.org>
115bdcae1fSKrzysztof Kozlowski  - Bjorn Andersson <bjorn.andersson@linaro.org>
125bdcae1fSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
135bdcae1fSKrzysztof Kozlowski
145bdcae1fSKrzysztof Kozlowskidescription:
155bdcae1fSKrzysztof Kozlowski  The QUP v3 core is a GENI based AHB slave that provides a common data path
165bdcae1fSKrzysztof Kozlowski  (an output FIFO and an input FIFO) for serial peripheral interface (SPI)
175bdcae1fSKrzysztof Kozlowski  mini-core.
185bdcae1fSKrzysztof Kozlowski
195bdcae1fSKrzysztof Kozlowski  SPI in master mode supports up to 50MHz, up to four chip selects,
205bdcae1fSKrzysztof Kozlowski  programmable data path from 4 bits to 32 bits and numerous protocol variants.
215bdcae1fSKrzysztof Kozlowski
225bdcae1fSKrzysztof Kozlowski  SPI Controller nodes must be child of GENI based Qualcomm Universal
235bdcae1fSKrzysztof Kozlowski  Peripharal. Please refer GENI based QUP wrapper controller node bindings
245bdcae1fSKrzysztof Kozlowski  described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml.
255bdcae1fSKrzysztof Kozlowski
265bdcae1fSKrzysztof KozlowskiallOf:
275bdcae1fSKrzysztof Kozlowski  - $ref: /schemas/spi/spi-controller.yaml#
285bdcae1fSKrzysztof Kozlowski
295bdcae1fSKrzysztof Kozlowskiproperties:
305bdcae1fSKrzysztof Kozlowski  compatible:
315bdcae1fSKrzysztof Kozlowski    const: qcom,geni-spi
325bdcae1fSKrzysztof Kozlowski
335bdcae1fSKrzysztof Kozlowski  clocks:
345bdcae1fSKrzysztof Kozlowski    maxItems: 1
355bdcae1fSKrzysztof Kozlowski
365bdcae1fSKrzysztof Kozlowski  clock-names:
375bdcae1fSKrzysztof Kozlowski    const: se
385bdcae1fSKrzysztof Kozlowski
395bdcae1fSKrzysztof Kozlowski  dmas:
405bdcae1fSKrzysztof Kozlowski    maxItems: 2
415bdcae1fSKrzysztof Kozlowski
425bdcae1fSKrzysztof Kozlowski  dma-names:
435bdcae1fSKrzysztof Kozlowski    items:
445bdcae1fSKrzysztof Kozlowski      - const: tx
455bdcae1fSKrzysztof Kozlowski      - const: rx
465bdcae1fSKrzysztof Kozlowski
475bdcae1fSKrzysztof Kozlowski  interconnects:
48*ee912312SKrzysztof Kozlowski    minItems: 2
49*ee912312SKrzysztof Kozlowski    maxItems: 3
505bdcae1fSKrzysztof Kozlowski
515bdcae1fSKrzysztof Kozlowski  interconnect-names:
52*ee912312SKrzysztof Kozlowski    minItems: 2
535bdcae1fSKrzysztof Kozlowski    items:
545bdcae1fSKrzysztof Kozlowski      - const: qup-core
555bdcae1fSKrzysztof Kozlowski      - const: qup-config
56*ee912312SKrzysztof Kozlowski      - const: qup-memory
575bdcae1fSKrzysztof Kozlowski
585bdcae1fSKrzysztof Kozlowski  interrupts:
595bdcae1fSKrzysztof Kozlowski    maxItems: 1
605bdcae1fSKrzysztof Kozlowski
615bdcae1fSKrzysztof Kozlowski  operating-points-v2: true
625bdcae1fSKrzysztof Kozlowski
635bdcae1fSKrzysztof Kozlowski  power-domains:
645bdcae1fSKrzysztof Kozlowski    maxItems: 1
655bdcae1fSKrzysztof Kozlowski
665bdcae1fSKrzysztof Kozlowski  reg:
675bdcae1fSKrzysztof Kozlowski    maxItems: 1
685bdcae1fSKrzysztof Kozlowski
695bdcae1fSKrzysztof Kozlowskirequired:
705bdcae1fSKrzysztof Kozlowski  - compatible
715bdcae1fSKrzysztof Kozlowski  - clocks
725bdcae1fSKrzysztof Kozlowski  - clock-names
735bdcae1fSKrzysztof Kozlowski  - interrupts
745bdcae1fSKrzysztof Kozlowski  - reg
755bdcae1fSKrzysztof Kozlowski
765bdcae1fSKrzysztof KozlowskiunevaluatedProperties: false
775bdcae1fSKrzysztof Kozlowski
785bdcae1fSKrzysztof Kozlowskiexamples:
795bdcae1fSKrzysztof Kozlowski  - |
805bdcae1fSKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
815bdcae1fSKrzysztof Kozlowski    #include <dt-bindings/interconnect/qcom,sc7180.h>
825bdcae1fSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
835bdcae1fSKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
845bdcae1fSKrzysztof Kozlowski
855bdcae1fSKrzysztof Kozlowski    spi@880000 {
865bdcae1fSKrzysztof Kozlowski        compatible = "qcom,geni-spi";
875bdcae1fSKrzysztof Kozlowski        reg = <0x00880000 0x4000>;
885bdcae1fSKrzysztof Kozlowski        clock-names = "se";
895bdcae1fSKrzysztof Kozlowski        clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
905bdcae1fSKrzysztof Kozlowski        pinctrl-names = "default";
915bdcae1fSKrzysztof Kozlowski        pinctrl-0 = <&qup_spi0_default>;
925bdcae1fSKrzysztof Kozlowski        interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
935bdcae1fSKrzysztof Kozlowski        #address-cells = <1>;
945bdcae1fSKrzysztof Kozlowski        #size-cells = <0>;
955bdcae1fSKrzysztof Kozlowski        power-domains = <&rpmhpd SC7180_CX>;
965bdcae1fSKrzysztof Kozlowski        operating-points-v2 = <&qup_opp_table>;
975bdcae1fSKrzysztof Kozlowski        interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
985bdcae1fSKrzysztof Kozlowski                        <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>;
995bdcae1fSKrzysztof Kozlowski        interconnect-names = "qup-core", "qup-config";
1005bdcae1fSKrzysztof Kozlowski    };
1015bdcae1fSKrzysztof Kozlowski
1025bdcae1fSKrzysztof Kozlowski  - |
1035bdcae1fSKrzysztof Kozlowski    #include <dt-bindings/dma/qcom-gpi.h>
1045bdcae1fSKrzysztof Kozlowski
1055bdcae1fSKrzysztof Kozlowski    spi@884000 {
1065bdcae1fSKrzysztof Kozlowski        compatible = "qcom,geni-spi";
1075bdcae1fSKrzysztof Kozlowski        reg = <0x00884000 0x4000>;
1085bdcae1fSKrzysztof Kozlowski        clock-names = "se";
1095bdcae1fSKrzysztof Kozlowski        clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1105bdcae1fSKrzysztof Kozlowski        dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1115bdcae1fSKrzysztof Kozlowski               <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1125bdcae1fSKrzysztof Kozlowski        dma-names = "tx", "rx";
1135bdcae1fSKrzysztof Kozlowski        pinctrl-names = "default";
1145bdcae1fSKrzysztof Kozlowski        pinctrl-0 = <&qup_spi1_default>;
1155bdcae1fSKrzysztof Kozlowski        interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1165bdcae1fSKrzysztof Kozlowski        #address-cells = <1>;
1175bdcae1fSKrzysztof Kozlowski        #size-cells = <0>;
1185bdcae1fSKrzysztof Kozlowski    };
119