13c208843SAkash Asthana# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 23c208843SAkash Asthana%YAML 1.2 33c208843SAkash Asthana--- 42961ab05SRob Herring$id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml# 52961ab05SRob 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 55274707b7SKonrad Dybcio dma-coherent: true 56274707b7SKonrad Dybcio 57*e6512225SViken Dadhaniya firmware-name: 58*e6512225SViken Dadhaniya maxItems: 1 59*e6512225SViken Dadhaniya description: Specify the name of the QUP firmware to load. 60*e6512225SViken Dadhaniya 613c208843SAkash Asthanarequired: 623c208843SAkash Asthana - compatible 633c208843SAkash Asthana - reg 643c208843SAkash Asthana - clock-names 653c208843SAkash Asthana - clocks 663c208843SAkash Asthana - "#address-cells" 673c208843SAkash Asthana - "#size-cells" 683c208843SAkash Asthana - ranges 693c208843SAkash Asthana 703c208843SAkash AsthanapatternProperties: 713c208843SAkash Asthana "spi@[0-9a-f]+$": 723c208843SAkash Asthana type: object 733c208843SAkash Asthana description: GENI serial engine based SPI controller. SPI in master mode 743c208843SAkash Asthana supports up to 50MHz, up to four chip selects, programmable 753c208843SAkash Asthana data path from 4 bits to 32 bits and numerous protocol 763c208843SAkash Asthana variants. 777b5d4421SKrzysztof Kozlowski $ref: /schemas/spi/qcom,spi-geni-qcom.yaml# 783c208843SAkash Asthana 793c208843SAkash Asthana "i2c@[0-9a-f]+$": 803c208843SAkash Asthana type: object 813c208843SAkash Asthana description: GENI serial engine based I2C controller. 82fcf2c0f7SKuldeep Singh $ref: /schemas/i2c/qcom,i2c-geni-qcom.yaml# 833c208843SAkash Asthana 843c208843SAkash Asthana "serial@[0-9a-f]+$": 853c208843SAkash Asthana type: object 863c208843SAkash Asthana description: GENI Serial Engine based UART Controller. 876579f392SKuldeep Singh $ref: /schemas/serial/qcom,serial-geni-qcom.yaml# 883c208843SAkash Asthana 89af45de83SNeil ArmstrongallOf: 90af45de83SNeil Armstrong - if: 91af45de83SNeil Armstrong properties: 92af45de83SNeil Armstrong compatible: 93af45de83SNeil Armstrong contains: 94af45de83SNeil Armstrong const: qcom,geni-se-i2c-master-hub 95af45de83SNeil Armstrong then: 96af45de83SNeil Armstrong properties: 97af45de83SNeil Armstrong clock-names: 98af45de83SNeil Armstrong items: 99af45de83SNeil Armstrong - const: s-ahb 100af45de83SNeil Armstrong 101af45de83SNeil Armstrong clocks: 102af45de83SNeil Armstrong items: 103af45de83SNeil Armstrong - description: Slave AHB Clock 104af45de83SNeil Armstrong 105af45de83SNeil Armstrong iommus: false 106af45de83SNeil Armstrong 107af45de83SNeil Armstrong patternProperties: 108af45de83SNeil Armstrong "spi@[0-9a-f]+$": false 109af45de83SNeil Armstrong "serial@[0-9a-f]+$": false 110af45de83SNeil Armstrong else: 111af45de83SNeil Armstrong properties: 112af45de83SNeil Armstrong clock-names: 113af45de83SNeil Armstrong items: 114af45de83SNeil Armstrong - const: m-ahb 115af45de83SNeil Armstrong - const: s-ahb 116af45de83SNeil Armstrong 117af45de83SNeil Armstrong clocks: 118af45de83SNeil Armstrong items: 119af45de83SNeil Armstrong - description: Master AHB Clock 120af45de83SNeil Armstrong - description: Slave AHB Clock 121af45de83SNeil Armstrong 1225be478f9SRob HerringadditionalProperties: false 1233c208843SAkash Asthana 1243c208843SAkash Asthanaexamples: 1253c208843SAkash Asthana - | 1263c208843SAkash Asthana #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1273c208843SAkash Asthana #include <dt-bindings/interrupt-controller/arm-gic.h> 1283c208843SAkash Asthana 1293c208843SAkash Asthana soc { 1303c208843SAkash Asthana #address-cells = <2>; 1313c208843SAkash Asthana #size-cells = <2>; 1323c208843SAkash Asthana 1333c208843SAkash Asthana geniqup@8c0000 { 1343c208843SAkash Asthana compatible = "qcom,geni-se-qup"; 1353c208843SAkash Asthana reg = <0 0x008c0000 0 0x6000>; 1363c208843SAkash Asthana clock-names = "m-ahb", "s-ahb"; 1373c208843SAkash Asthana clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 1383c208843SAkash Asthana <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 1393c208843SAkash Asthana #address-cells = <2>; 1403c208843SAkash Asthana #size-cells = <2>; 1413c208843SAkash Asthana ranges; 142*e6512225SViken Dadhaniya firmware-name = "qcom/sa8775p/qupv3fw.elf"; 1433c208843SAkash Asthana 1443c208843SAkash Asthana i2c0: i2c@a94000 { 1453c208843SAkash Asthana compatible = "qcom,geni-i2c"; 1463c208843SAkash Asthana reg = <0 0xa94000 0 0x4000>; 1473c208843SAkash Asthana interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 1483c208843SAkash Asthana clock-names = "se"; 1493c208843SAkash Asthana clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 1503c208843SAkash Asthana pinctrl-names = "default", "sleep"; 1513c208843SAkash Asthana pinctrl-0 = <&qup_1_i2c_5_active>; 1523c208843SAkash Asthana pinctrl-1 = <&qup_1_i2c_5_sleep>; 1533c208843SAkash Asthana #address-cells = <1>; 1543c208843SAkash Asthana #size-cells = <0>; 1553c208843SAkash Asthana }; 1563c208843SAkash Asthana 1573c208843SAkash Asthana uart0: serial@a88000 { 1583c208843SAkash Asthana compatible = "qcom,geni-uart"; 1593c208843SAkash Asthana reg = <0 0xa88000 0 0x7000>; 1603c208843SAkash Asthana interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1613c208843SAkash Asthana clock-names = "se"; 1623c208843SAkash Asthana clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 1633c208843SAkash Asthana pinctrl-names = "default", "sleep"; 1643c208843SAkash Asthana pinctrl-0 = <&qup_1_uart_3_active>; 1653c208843SAkash Asthana pinctrl-1 = <&qup_1_uart_3_sleep>; 1663c208843SAkash Asthana }; 1673c208843SAkash Asthana }; 1683c208843SAkash Asthana }; 1693c208843SAkash Asthana 1703c208843SAkash Asthana... 171