1d6a4371cSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2d6a4371cSKrzysztof Kozlowski%YAML 1.2 3d6a4371cSKrzysztof Kozlowski--- 4d6a4371cSKrzysztof Kozlowski$id: http://devicetree.org/schemas/spi/qcom,spi-qup.yaml# 5d6a4371cSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6d6a4371cSKrzysztof Kozlowski 7d6a4371cSKrzysztof Kozlowskititle: Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI) 8d6a4371cSKrzysztof Kozlowski 9d6a4371cSKrzysztof Kozlowskimaintainers: 10d6a4371cSKrzysztof Kozlowski - Andy Gross <agross@kernel.org> 11d6a4371cSKrzysztof Kozlowski - Bjorn Andersson <bjorn.andersson@linaro.org> 12d6a4371cSKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 13d6a4371cSKrzysztof Kozlowski 14d6a4371cSKrzysztof Kozlowskidescription: 15d6a4371cSKrzysztof Kozlowski The QUP core is an AHB slave that provides a common data path (an output FIFO 16d6a4371cSKrzysztof Kozlowski and an input FIFO) for serial peripheral interface (SPI) mini-core. 17d6a4371cSKrzysztof Kozlowski 18d6a4371cSKrzysztof Kozlowski SPI in master mode supports up to 50MHz, up to four chip selects, 19d6a4371cSKrzysztof Kozlowski programmable data path from 4 bits to 32 bits and numerous protocol variants. 20d6a4371cSKrzysztof Kozlowski 21d6a4371cSKrzysztof KozlowskiallOf: 22d6a4371cSKrzysztof Kozlowski - $ref: /schemas/spi/spi-controller.yaml# 23d6a4371cSKrzysztof Kozlowski 24d6a4371cSKrzysztof Kozlowskiproperties: 25d6a4371cSKrzysztof Kozlowski compatible: 26d6a4371cSKrzysztof Kozlowski enum: 27d6a4371cSKrzysztof Kozlowski - qcom,spi-qup-v1.1.1 # for 8660, 8960 and 8064 28d6a4371cSKrzysztof Kozlowski - qcom,spi-qup-v2.1.1 # for 8974 and later 29d6a4371cSKrzysztof Kozlowski - qcom,spi-qup-v2.2.1 # for 8974 v2 and later 30d6a4371cSKrzysztof Kozlowski 31d6a4371cSKrzysztof Kozlowski clocks: 32d6a4371cSKrzysztof Kozlowski maxItems: 2 33d6a4371cSKrzysztof Kozlowski 34d6a4371cSKrzysztof Kozlowski clock-names: 35d6a4371cSKrzysztof Kozlowski items: 36d6a4371cSKrzysztof Kozlowski - const: core 37d6a4371cSKrzysztof Kozlowski - const: iface 38d6a4371cSKrzysztof Kozlowski 39d6a4371cSKrzysztof Kozlowski dmas: 40d6a4371cSKrzysztof Kozlowski maxItems: 2 41d6a4371cSKrzysztof Kozlowski 42d6a4371cSKrzysztof Kozlowski dma-names: 43d6a4371cSKrzysztof Kozlowski items: 44d6a4371cSKrzysztof Kozlowski - const: tx 45d6a4371cSKrzysztof Kozlowski - const: rx 46d6a4371cSKrzysztof Kozlowski 47*d15befc0SStephan Gerhold interconnects: 48*d15befc0SStephan Gerhold maxItems: 1 49*d15befc0SStephan Gerhold 50d6a4371cSKrzysztof Kozlowski interrupts: 51d6a4371cSKrzysztof Kozlowski maxItems: 1 52d6a4371cSKrzysztof Kozlowski 53e6419c35SStephan Gerhold operating-points-v2: true 54e6419c35SStephan Gerhold 55e6419c35SStephan Gerhold power-domains: 56e6419c35SStephan Gerhold maxItems: 1 57e6419c35SStephan Gerhold 58d6a4371cSKrzysztof Kozlowski reg: 59d6a4371cSKrzysztof Kozlowski maxItems: 1 60d6a4371cSKrzysztof Kozlowski 61d6a4371cSKrzysztof Kozlowskirequired: 62d6a4371cSKrzysztof Kozlowski - compatible 63d6a4371cSKrzysztof Kozlowski - clocks 64d6a4371cSKrzysztof Kozlowski - clock-names 65d6a4371cSKrzysztof Kozlowski - interrupts 66d6a4371cSKrzysztof Kozlowski - reg 67d6a4371cSKrzysztof Kozlowski 68d6a4371cSKrzysztof KozlowskiunevaluatedProperties: false 69d6a4371cSKrzysztof Kozlowski 70d6a4371cSKrzysztof Kozlowskiexamples: 71d6a4371cSKrzysztof Kozlowski - | 72d6a4371cSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-msm8996.h> 73*d15befc0SStephan Gerhold #include <dt-bindings/interconnect/qcom,msm8996.h> 74d6a4371cSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 75e6419c35SStephan Gerhold #include <dt-bindings/power/qcom-rpmpd.h> 76d6a4371cSKrzysztof Kozlowski 77d6a4371cSKrzysztof Kozlowski spi@7575000 { 78d6a4371cSKrzysztof Kozlowski compatible = "qcom,spi-qup-v2.2.1"; 79d6a4371cSKrzysztof Kozlowski reg = <0x07575000 0x600>; 80d6a4371cSKrzysztof Kozlowski interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 81d6a4371cSKrzysztof Kozlowski clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 82d6a4371cSKrzysztof Kozlowski <&gcc GCC_BLSP1_AHB_CLK>; 83d6a4371cSKrzysztof Kozlowski clock-names = "core", "iface"; 84d6a4371cSKrzysztof Kozlowski pinctrl-names = "default", "sleep"; 85d6a4371cSKrzysztof Kozlowski pinctrl-0 = <&blsp1_spi1_default>; 86d6a4371cSKrzysztof Kozlowski pinctrl-1 = <&blsp1_spi1_sleep>; 87d6a4371cSKrzysztof Kozlowski dmas = <&blsp1_dma 12>, <&blsp1_dma 13>; 88d6a4371cSKrzysztof Kozlowski dma-names = "tx", "rx"; 89e6419c35SStephan Gerhold power-domains = <&rpmpd MSM8996_VDDCX>; 90e6419c35SStephan Gerhold operating-points-v2 = <&spi_opp_table>; 91*d15befc0SStephan Gerhold interconnects = <&pnoc MASTER_BLSP_1 &bimc SLAVE_EBI_CH0>; 92d6a4371cSKrzysztof Kozlowski #address-cells = <1>; 93d6a4371cSKrzysztof Kozlowski #size-cells = <0>; 94d6a4371cSKrzysztof Kozlowski }; 95