Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
Extension
.yaml
Size
7872 bytes
Lines
267
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 Texas Instruments Incorporated
# Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/ti/k3-bcdma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments K3 DMSS BCDMA

maintainers:
  - Peter Ujfalusi <peter.ujfalusi@gmail.com>

description: |
  The Block Copy DMA (BCDMA) is intended to perform similar functions as the TR
  mode channels of K3 UDMA-P.
  BCDMA includes block copy channels and Split channels.

  Block copy channels mainly used for memory to memory transfers, but with
  optional triggers a block copy channel can service peripherals by accessing
  directly to memory mapped registers or area.

  Split channels can be used to service PSI-L based peripherals.
  The peripherals can be PSI-L native or legacy, non PSI-L native peripherals
  with PDMAs. PDMA is tasked to act as a bridge between the PSI-L fabric and the
  legacy peripheral.

  PDMAs can be configured via BCDMA split channel's peer registers to match with
  the configuration of the legacy peripheral.

properties:
  compatible:
    enum:
      - ti,am62a-dmss-bcdma-csirx
      - ti,am64-dmss-bcdma
      - ti,j721s2-dmss-bcdma-csi
      - ti,j722s-dmss-bcdma-csi

  reg:
    minItems: 3
    maxItems: 9

  reg-names:
    minItems: 3
    maxItems: 9

  "#dma-cells":
    const: 3
    description: |
      cell 1: type of the BCDMA channel to be used to service the peripheral:
        0 - split channel
        1 - block copy channel using global trigger 1
        2 - block copy channel using global trigger 2
        3 - block copy channel using local trigger

      cell 2: parameter for the channel:
        if cell 1 is 0 (split channel):
          PSI-L thread ID of the remote (to BCDMA) end.
          Valid ranges for thread ID depends on the data movement direction:
          for source thread IDs (rx): 0 - 0x7fff
          for destination thread IDs (tx): 0x8000 - 0xffff

          Please refer to the device documentation for the PSI-L thread map and
          also the PSI-L peripheral chapter for the correct thread ID.
        if cell 1 is 1 or 2 (block copy channel using global trigger):
          Unused, ignored

          The trigger must be configured for the channel externally to BCDMA,
          channels using global triggers should not be requested directly, but
          via DMA event router.

Annotation

Implementation Notes