162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/dma/fsl,imx-sdma.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Joy Zou <joy.zou@nxp.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: dma-controller.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    oneOf:
1862306a36Sopenharmony_ci      - items:
1962306a36Sopenharmony_ci          - enum:
2062306a36Sopenharmony_ci              - fsl,imx50-sdma
2162306a36Sopenharmony_ci              - fsl,imx51-sdma
2262306a36Sopenharmony_ci              - fsl,imx53-sdma
2362306a36Sopenharmony_ci              - fsl,imx6q-sdma
2462306a36Sopenharmony_ci              - fsl,imx7d-sdma
2562306a36Sopenharmony_ci          - const: fsl,imx35-sdma
2662306a36Sopenharmony_ci      - items:
2762306a36Sopenharmony_ci          - enum:
2862306a36Sopenharmony_ci              - fsl,imx6sx-sdma
2962306a36Sopenharmony_ci              - fsl,imx6sl-sdma
3062306a36Sopenharmony_ci          - const: fsl,imx6q-sdma
3162306a36Sopenharmony_ci      - items:
3262306a36Sopenharmony_ci          - const: fsl,imx6ul-sdma
3362306a36Sopenharmony_ci          - const: fsl,imx6q-sdma
3462306a36Sopenharmony_ci          - const: fsl,imx35-sdma
3562306a36Sopenharmony_ci      - items:
3662306a36Sopenharmony_ci          - const: fsl,imx6sll-sdma
3762306a36Sopenharmony_ci          - const: fsl,imx6ul-sdma
3862306a36Sopenharmony_ci      - items:
3962306a36Sopenharmony_ci          - const: fsl,imx8mq-sdma
4062306a36Sopenharmony_ci          - const: fsl,imx7d-sdma
4162306a36Sopenharmony_ci      - items:
4262306a36Sopenharmony_ci          - enum:
4362306a36Sopenharmony_ci              - fsl,imx8mp-sdma
4462306a36Sopenharmony_ci              - fsl,imx8mn-sdma
4562306a36Sopenharmony_ci              - fsl,imx8mm-sdma
4662306a36Sopenharmony_ci          - const: fsl,imx8mq-sdma
4762306a36Sopenharmony_ci      - items:
4862306a36Sopenharmony_ci          - enum:
4962306a36Sopenharmony_ci              - fsl,imx25-sdma
5062306a36Sopenharmony_ci              - fsl,imx31-sdma
5162306a36Sopenharmony_ci              - fsl,imx35-sdma
5262306a36Sopenharmony_ci  reg:
5362306a36Sopenharmony_ci    maxItems: 1
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  interrupts:
5662306a36Sopenharmony_ci    maxItems: 1
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci  fsl,sdma-ram-script-name:
5962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
6062306a36Sopenharmony_ci    description: Should contain the full path of SDMA RAM scripts firmware.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci  "#dma-cells":
6362306a36Sopenharmony_ci    const: 3
6462306a36Sopenharmony_ci    description: |
6562306a36Sopenharmony_ci      The first cell: request/event ID
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci      The second cell: peripheral types ID
6862306a36Sopenharmony_ci        enum:
6962306a36Sopenharmony_ci          - MCU domain SSI: 0
7062306a36Sopenharmony_ci          - Shared SSI: 1
7162306a36Sopenharmony_ci          - MMC: 2
7262306a36Sopenharmony_ci          - SDHC: 3
7362306a36Sopenharmony_ci          - MCU domain UART: 4
7462306a36Sopenharmony_ci          - Shared UART: 5
7562306a36Sopenharmony_ci          - FIRI: 6
7662306a36Sopenharmony_ci          - MCU domain CSPI: 7
7762306a36Sopenharmony_ci          - Shared CSPI: 8
7862306a36Sopenharmony_ci          - SIM: 9
7962306a36Sopenharmony_ci          - ATA: 10
8062306a36Sopenharmony_ci          - CCM: 11
8162306a36Sopenharmony_ci          - External peripheral: 12
8262306a36Sopenharmony_ci          - Memory Stick Host Controller: 13
8362306a36Sopenharmony_ci          - Shared Memory Stick Host Controller: 14
8462306a36Sopenharmony_ci          - DSP: 15
8562306a36Sopenharmony_ci          - Memory: 16
8662306a36Sopenharmony_ci          - FIFO type Memory: 17
8762306a36Sopenharmony_ci          - SPDIF: 18
8862306a36Sopenharmony_ci          - IPU Memory: 19
8962306a36Sopenharmony_ci          - ASRC: 20
9062306a36Sopenharmony_ci          - ESAI: 21
9162306a36Sopenharmony_ci          - SSI Dual FIFO: 22
9262306a36Sopenharmony_ci              description: needs firmware more than ver 2
9362306a36Sopenharmony_ci          - Shared ASRC: 23
9462306a36Sopenharmony_ci          - SAI: 24
9562306a36Sopenharmony_ci          - HDMI Audio: 25
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci       The third cell: transfer priority ID
9862306a36Sopenharmony_ci         enum:
9962306a36Sopenharmony_ci           - High: 0
10062306a36Sopenharmony_ci           - Medium: 1
10162306a36Sopenharmony_ci           - Low: 2
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci  gpr:
10462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
10562306a36Sopenharmony_ci    description: The phandle to the General Purpose Register (GPR) node
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci  fsl,sdma-event-remap:
10862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-matrix
10962306a36Sopenharmony_ci    maxItems: 2
11062306a36Sopenharmony_ci    items:
11162306a36Sopenharmony_ci      items:
11262306a36Sopenharmony_ci        - description: GPR register offset
11362306a36Sopenharmony_ci        - description: GPR register shift
11462306a36Sopenharmony_ci        - description: GPR register value
11562306a36Sopenharmony_ci    description: |
11662306a36Sopenharmony_ci      Register bits of sdma event remap, the format is <reg shift val>.
11762306a36Sopenharmony_ci      The order is <RX>, <TX>.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci  clocks:
12062306a36Sopenharmony_ci    maxItems: 2
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci  clock-names:
12362306a36Sopenharmony_ci    items:
12462306a36Sopenharmony_ci      - const: ipg
12562306a36Sopenharmony_ci      - const: ahb
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci  iram:
12862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
12962306a36Sopenharmony_ci    description: The phandle to the On-chip RAM (OCRAM) node.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_cirequired:
13262306a36Sopenharmony_ci  - compatible
13362306a36Sopenharmony_ci  - reg
13462306a36Sopenharmony_ci  - interrupts
13562306a36Sopenharmony_ci  - fsl,sdma-ram-script-name
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciadditionalProperties: false
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ciexamples:
14062306a36Sopenharmony_ci  - |
14162306a36Sopenharmony_ci    sdma: dma-controller@83fb0000 {
14262306a36Sopenharmony_ci      compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
14362306a36Sopenharmony_ci      reg = <0x83fb0000 0x4000>;
14462306a36Sopenharmony_ci      interrupts = <6>;
14562306a36Sopenharmony_ci      #dma-cells = <3>;
14662306a36Sopenharmony_ci      fsl,sdma-ram-script-name = "sdma-imx51.bin";
14762306a36Sopenharmony_ci    };
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci...
150