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

title: Qualcomm BAM Data Multiplexer

maintainers:
  - Stephan Gerhold <stephan@gerhold.net>

description: |
  The BAM Data Multiplexer provides access to the network data channels
  of modems integrated into many older Qualcomm SoCs, e.g. Qualcomm MSM8916
  or MSM8974. It is built using a simple protocol layer on top of a DMA engine
  (Qualcomm BAM DMA) and bidirectional interrupts to coordinate power control.

  Note that this schema does not directly describe a hardware block but rather
  a firmware convention that combines several other hardware blocks (such as the
  DMA engine). As such it is specific to a firmware version, not a particular
  SoC or hardware version.

properties:
  compatible:
    const: qcom,bam-dmux

  interrupts:
    description:
      Interrupts used by the modem to signal the AP.
      Both interrupts must be declared as IRQ_TYPE_EDGE_BOTH.
    items:
      - description: Power control
      - description: Power control acknowledgment

  interrupt-names:
    items:
      - const: pc
      - const: pc-ack

  qcom,smem-states:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: State bits used by the AP to signal the modem.
    items:
      - description: Power control
      - description: Power control acknowledgment

  qcom,smem-state-names:
    description: Names for the state bits used by the AP to signal the modem.
    items:
      - const: pc
      - const: pc-ack

  dmas:
    items:
      - description: TX DMA channel phandle
      - description: RX DMA channel phandle

  dma-names:
    items:
      - const: tx
      - const: rx

required:
  - compatible
  - interrupts
  - interrupt-names
  - qcom,smem-states
  - qcom,smem-state-names
  - dmas
  - dma-names

additionalProperties: false

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

    mpss: remoteproc {
        bam-dmux {
            compatible = "qcom,bam-dmux";

            interrupt-parent = <&modem_smsm>;
            interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
            interrupt-names = "pc", "pc-ack";

            qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
            qcom,smem-state-names = "pc", "pc-ack";

            dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
            dma-names = "tx", "rx";
        };
    };
