xref: /freebsd/sys/contrib/device-tree/Bindings/dma/fsl,imx-sdma.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2cb7aa33aSEmmanuel Vadot%YAML 1.2
3cb7aa33aSEmmanuel Vadot---
4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/fsl,imx-sdma.yaml#
5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadotmaintainers:
10cb7aa33aSEmmanuel Vadot  - Joy Zou <joy.zou@nxp.com>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel VadotallOf:
13cb7aa33aSEmmanuel Vadot  - $ref: dma-controller.yaml#
14cb7aa33aSEmmanuel Vadot
15cb7aa33aSEmmanuel Vadotproperties:
16cb7aa33aSEmmanuel Vadot  compatible:
17cb7aa33aSEmmanuel Vadot    oneOf:
18cb7aa33aSEmmanuel Vadot      - items:
19cb7aa33aSEmmanuel Vadot          - enum:
20cb7aa33aSEmmanuel Vadot              - fsl,imx50-sdma
21cb7aa33aSEmmanuel Vadot              - fsl,imx51-sdma
22cb7aa33aSEmmanuel Vadot              - fsl,imx53-sdma
23cb7aa33aSEmmanuel Vadot              - fsl,imx6q-sdma
24cb7aa33aSEmmanuel Vadot              - fsl,imx7d-sdma
25cb7aa33aSEmmanuel Vadot          - const: fsl,imx35-sdma
26cb7aa33aSEmmanuel Vadot      - items:
27cb7aa33aSEmmanuel Vadot          - enum:
28cb7aa33aSEmmanuel Vadot              - fsl,imx6sx-sdma
29cb7aa33aSEmmanuel Vadot              - fsl,imx6sl-sdma
30cb7aa33aSEmmanuel Vadot          - const: fsl,imx6q-sdma
31cb7aa33aSEmmanuel Vadot      - items:
32cb7aa33aSEmmanuel Vadot          - const: fsl,imx6ul-sdma
33cb7aa33aSEmmanuel Vadot          - const: fsl,imx6q-sdma
34cb7aa33aSEmmanuel Vadot          - const: fsl,imx35-sdma
35cb7aa33aSEmmanuel Vadot      - items:
36cb7aa33aSEmmanuel Vadot          - const: fsl,imx6sll-sdma
37cb7aa33aSEmmanuel Vadot          - const: fsl,imx6ul-sdma
38cb7aa33aSEmmanuel Vadot      - items:
39cb7aa33aSEmmanuel Vadot          - const: fsl,imx8mq-sdma
40cb7aa33aSEmmanuel Vadot          - const: fsl,imx7d-sdma
41cb7aa33aSEmmanuel Vadot      - items:
42cb7aa33aSEmmanuel Vadot          - enum:
43cb7aa33aSEmmanuel Vadot              - fsl,imx8mp-sdma
44cb7aa33aSEmmanuel Vadot              - fsl,imx8mn-sdma
45cb7aa33aSEmmanuel Vadot              - fsl,imx8mm-sdma
46cb7aa33aSEmmanuel Vadot          - const: fsl,imx8mq-sdma
47cb7aa33aSEmmanuel Vadot      - items:
48cb7aa33aSEmmanuel Vadot          - enum:
49cb7aa33aSEmmanuel Vadot              - fsl,imx25-sdma
50cb7aa33aSEmmanuel Vadot              - fsl,imx31-sdma
51cb7aa33aSEmmanuel Vadot              - fsl,imx35-sdma
52cb7aa33aSEmmanuel Vadot  reg:
53cb7aa33aSEmmanuel Vadot    maxItems: 1
54cb7aa33aSEmmanuel Vadot
55cb7aa33aSEmmanuel Vadot  interrupts:
56cb7aa33aSEmmanuel Vadot    maxItems: 1
57cb7aa33aSEmmanuel Vadot
58cb7aa33aSEmmanuel Vadot  fsl,sdma-ram-script-name:
59cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
60cb7aa33aSEmmanuel Vadot    description: Should contain the full path of SDMA RAM scripts firmware.
61cb7aa33aSEmmanuel Vadot
62cb7aa33aSEmmanuel Vadot  "#dma-cells":
63cb7aa33aSEmmanuel Vadot    const: 3
64cb7aa33aSEmmanuel Vadot    description: |
65cb7aa33aSEmmanuel Vadot      The first cell: request/event ID
66cb7aa33aSEmmanuel Vadot
67cb7aa33aSEmmanuel Vadot      The second cell: peripheral types ID
68cb7aa33aSEmmanuel Vadot        enum:
69cb7aa33aSEmmanuel Vadot          - MCU domain SSI: 0
70cb7aa33aSEmmanuel Vadot          - Shared SSI: 1
71cb7aa33aSEmmanuel Vadot          - MMC: 2
72cb7aa33aSEmmanuel Vadot          - SDHC: 3
73cb7aa33aSEmmanuel Vadot          - MCU domain UART: 4
74cb7aa33aSEmmanuel Vadot          - Shared UART: 5
75cb7aa33aSEmmanuel Vadot          - FIRI: 6
76cb7aa33aSEmmanuel Vadot          - MCU domain CSPI: 7
77cb7aa33aSEmmanuel Vadot          - Shared CSPI: 8
78cb7aa33aSEmmanuel Vadot          - SIM: 9
79cb7aa33aSEmmanuel Vadot          - ATA: 10
80cb7aa33aSEmmanuel Vadot          - CCM: 11
81cb7aa33aSEmmanuel Vadot          - External peripheral: 12
82cb7aa33aSEmmanuel Vadot          - Memory Stick Host Controller: 13
83cb7aa33aSEmmanuel Vadot          - Shared Memory Stick Host Controller: 14
84cb7aa33aSEmmanuel Vadot          - DSP: 15
85cb7aa33aSEmmanuel Vadot          - Memory: 16
86cb7aa33aSEmmanuel Vadot          - FIFO type Memory: 17
87cb7aa33aSEmmanuel Vadot          - SPDIF: 18
88cb7aa33aSEmmanuel Vadot          - IPU Memory: 19
89cb7aa33aSEmmanuel Vadot          - ASRC: 20
90cb7aa33aSEmmanuel Vadot          - ESAI: 21
91cb7aa33aSEmmanuel Vadot          - SSI Dual FIFO: 22
92cb7aa33aSEmmanuel Vadot              description: needs firmware more than ver 2
93cb7aa33aSEmmanuel Vadot          - Shared ASRC: 23
94cb7aa33aSEmmanuel Vadot          - SAI: 24
9501950c46SEmmanuel Vadot          - Multi SAI: 25
9601950c46SEmmanuel Vadot          - HDMI Audio: 26
97*7d0873ebSEmmanuel Vadot          - I2C: 27
98cb7aa33aSEmmanuel Vadot
99cb7aa33aSEmmanuel Vadot       The third cell: transfer priority ID
100cb7aa33aSEmmanuel Vadot         enum:
101cb7aa33aSEmmanuel Vadot           - High: 0
102cb7aa33aSEmmanuel Vadot           - Medium: 1
103cb7aa33aSEmmanuel Vadot           - Low: 2
104cb7aa33aSEmmanuel Vadot
105cb7aa33aSEmmanuel Vadot  gpr:
106cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
107cb7aa33aSEmmanuel Vadot    description: The phandle to the General Purpose Register (GPR) node
108cb7aa33aSEmmanuel Vadot
109cb7aa33aSEmmanuel Vadot  fsl,sdma-event-remap:
110cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-matrix
111cb7aa33aSEmmanuel Vadot    maxItems: 2
112cb7aa33aSEmmanuel Vadot    items:
113cb7aa33aSEmmanuel Vadot      items:
114cb7aa33aSEmmanuel Vadot        - description: GPR register offset
115cb7aa33aSEmmanuel Vadot        - description: GPR register shift
116cb7aa33aSEmmanuel Vadot        - description: GPR register value
117cb7aa33aSEmmanuel Vadot    description: |
118cb7aa33aSEmmanuel Vadot      Register bits of sdma event remap, the format is <reg shift val>.
119cb7aa33aSEmmanuel Vadot      The order is <RX>, <TX>.
120cb7aa33aSEmmanuel Vadot
121cb7aa33aSEmmanuel Vadot  clocks:
122cb7aa33aSEmmanuel Vadot    maxItems: 2
123cb7aa33aSEmmanuel Vadot
124cb7aa33aSEmmanuel Vadot  clock-names:
125cb7aa33aSEmmanuel Vadot    items:
126cb7aa33aSEmmanuel Vadot      - const: ipg
127cb7aa33aSEmmanuel Vadot      - const: ahb
128cb7aa33aSEmmanuel Vadot
129cb7aa33aSEmmanuel Vadot  iram:
130cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
131cb7aa33aSEmmanuel Vadot    description: The phandle to the On-chip RAM (OCRAM) node.
132cb7aa33aSEmmanuel Vadot
133cb7aa33aSEmmanuel Vadotrequired:
134cb7aa33aSEmmanuel Vadot  - compatible
135cb7aa33aSEmmanuel Vadot  - reg
136cb7aa33aSEmmanuel Vadot  - interrupts
137cb7aa33aSEmmanuel Vadot  - fsl,sdma-ram-script-name
138cb7aa33aSEmmanuel Vadot
139cb7aa33aSEmmanuel VadotadditionalProperties: false
140cb7aa33aSEmmanuel Vadot
141cb7aa33aSEmmanuel Vadotexamples:
142cb7aa33aSEmmanuel Vadot  - |
143cb7aa33aSEmmanuel Vadot    sdma: dma-controller@83fb0000 {
144cb7aa33aSEmmanuel Vadot      compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
145cb7aa33aSEmmanuel Vadot      reg = <0x83fb0000 0x4000>;
146cb7aa33aSEmmanuel Vadot      interrupts = <6>;
147cb7aa33aSEmmanuel Vadot      #dma-cells = <3>;
148cb7aa33aSEmmanuel Vadot      fsl,sdma-ram-script-name = "sdma-imx51.bin";
149cb7aa33aSEmmanuel Vadot    };
150cb7aa33aSEmmanuel Vadot
151cb7aa33aSEmmanuel Vadot...
152