Documentation / devicetree / bindings / soc / qcom / qcom,sa8255p-geni-se-qup.yaml


Based on kernel version 6.17. Page generated on 2025-10-03 10:04 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom,sa8255p-geni-se-qup.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GENI Serial Engine QUP Wrapper Controller

maintainers:
  - Praveen Talari <quic_ptalari@quicinc.com>

description:
  Generic Interface (GENI) based Qualcomm Universal Peripheral (QUP) wrapper
  is a programmable module for supporting a wide range of serial interfaces
  like UART, SPI, I2C, I3C, etc. A single QUP module can provide up to 8 Serial
  Interfaces, using its internal Serial Engines. The GENI Serial Engine QUP
  Wrapper controller is modeled as a node with zero or more child nodes each
  representing a serial engine.

properties:
  compatible:
    const: qcom,sa8255p-geni-se-qup

  reg:
    description: QUP wrapper common register address and length.
    maxItems: 1
 
  "#address-cells":
    const: 2
 
  "#size-cells":
    const: 2

  ranges: true

  iommus:
    maxItems: 1

  dma-coherent: true

patternProperties:
  "spi@[0-9a-f]+$":
    type: object
    description: GENI serial engine based SPI controller. SPI in master mode
                 supports up to 50MHz, up to four chip selects, programmable
                 data path from 4 bits to 32 bits and numerous protocol
                 variants.
    additionalProperties: true

    properties:
      compatible:
        const: qcom,sa8255p-geni-spi

  "i2c@[0-9a-f]+$":
    type: object
    description: GENI serial engine based I2C controller.
    additionalProperties: true

    properties:
      compatible:
        const: qcom,sa8255p-geni-i2c

  "serial@[0-9a-f]+$":
    type: object
    description: GENI Serial Engine based UART Controller.
    additionalProperties: true

    properties:
      compatible:
        enum:
          - qcom,sa8255p-geni-uart
          - qcom,sa8255p-geni-debug-uart

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"
  - ranges

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
    soc {
        #address-cells = <2>;
        #size-cells = <2>;
 
        geniqup@9c0000 {
            compatible = "qcom,sa8255p-geni-se-qup";
            reg = <0 0x9c0000 0 0x6000>;
            #address-cells = <2>;
            #size-cells = <2>;
            ranges;
 
            serial@990000 {
                compatible = "qcom,sa8255p-geni-uart";
                reg = <0 0x990000 0 0x4000>;
                interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
                power-domains = <&scmi0_pd 0>, <&scmi0_dvfs 0>;
                power-domain-names = "power", "perf";
            };
        };
    };
...