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