# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/qcom,qdu1000-tlmm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. QDU1000/QRU1000 TLMM block

maintainers:
  - Melody Olvera <quic_molvera@quicinc.com>

description: |
  Top Level Mode Multiplexer pin controller found in the QDU1000 and
  QRU1000 SoCs.

allOf:
  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#

properties:
  compatible:
    const: qcom,qdu1000-tlmm

  reg:
    maxItems: 1

  interrupts: true
  interrupt-controller: true
  "#interrupt-cells": true
  gpio-controller: true

  gpio-reserved-ranges:
    minItems: 1
    maxItems: 76

  gpio-line-names:
    maxItems: 151

  "#gpio-cells": true
  gpio-ranges: true
  wakeup-parent: true

patternProperties:
  "-state$":
    oneOf:
      - $ref: "#/$defs/qcom-qdu1000-tlmm-state"
      - patternProperties:
          "-pins$":
            $ref: "#/$defs/qcom-qdu1000-tlmm-state"
        additionalProperties: false

$defs:
  qcom-qdu1000-tlmm-state:
    type: object
    description:
      Pinctrl node's client devices use subnodes for desired pin configuration.
      Client device subnodes use below standard properties.
    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
    unevaluatedProperties: false

    properties:
      pins:
        description:
          List of gpio pins affected by the properties specified in this
          subnode.
        items:
          oneOf:
            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-4][0-9]|150)$"
            - enum: [ sdc1_rclk, sdc1_clk, sdc1_cmd, sdc1_data ]
        minItems: 1
        maxItems: 36

      function:
        description:
          Specify the alternative function to be configured for the specified
          pins.
        enum: [ atest_char, atest_usb, char_exec, CMO_PRI, cmu_rng,
                dbg_out_clk, ddr_bist, ddr_pxi1, ddr_pxi2, ddr_pxi3, ddr_pxi4,
                ddr_pxi5, ddr_pxi6, ddr_pxi7, eth012_int_n, eth345_int_n,
                gcc_gp1, gcc_gp2, gcc_gp3, gpio, gps_pps_in, hardsync_pps_in,
                intr_c, jitter_bist_ref, pcie_clkreqn, phase_flag, pll_bist,
                pll_clk, prng_rosc, qdss_cti, qdss_gpio, qlink0_enable,
                qlink0_request, qlink0_wmss, qlink1_enable, qlink1_request,
                qlink1_wmss, qlink2_enable, qlink2_request, qlink2_wmss,
                qlink3_enable, qlink3_request, qlink3_wmss, qlink4_enable,
                qlink4_request, qlink4_wmss, qlink5_enable, qlink5_request,
                qlink5_wmss, qlink6_enable, qlink6_request, qlink6_wmss,
                qlink7_enable, qlink7_request, qlink7_wmss, qspi_clk, qspi_cs,
                qspi0, qspi1, qspi2, qspi3, qup00, qup01, qup02, qup03, qup04,
                qup05, qup06, qup07, qup08, qup10, qup11, qup12, qup13, qup14,
                qup15, qup16, qup17, qup20, qup21, qup22, SI5518_INT, smb_alert,
                smb_clk, smb_dat, tb_trig, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3,
                tgu_ch4, tgu_ch5, tgu_ch6, tgu_ch7, tmess_prng0, tmess_prng1,
                tmess_prng2, tmess_prng3, tod_pps_in, tsense_pwm1, tsense_pwm2,
                usb2phy_ac, usb_con_det, usb_dfp_en, usb_phy, vfr_0, vfr_1,
                vsense_trigger ]

    required:
      - pins

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    pinctrl@f000000 {
        compatible = "qcom,qdu1000-tlmm";
        reg = <0xf000000 0x1000000>;
        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
        gpio-controller;
        #gpio-cells = <2>;
        interrupt-controller;
        #interrupt-cells = <2>;
        gpio-ranges = <&tlmm 0 0 151>;
        wakeup-parent = <&pdc>;

        uart0-default-state {
            pins = "gpio6", "gpio7", "gpio8", "gpio9";
            function = "qup00";
        };
    };
