Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: fsl-imx-sdma: Convert imx sdma to DT schema

Convert the i.MX SDMA binding to DT schema format using json-schema.

The compatibles fsl,imx31-to1-sdma, fsl,imx31-to2-sdma, fsl,imx35-to1-sdma
and fsl,imx35-to2-sdma are not used. So need to delete it. The compatibles
fsl,imx50-sdma, fsl,imx6sll-sdma and fsl,imx6sl-sdma are added. The
original binding don't list all compatible used.

In addition, add new peripheral types HDMI Audio.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221115093823.2879128-2-joy.zou@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Joy Zou and committed by
Vinod Koul
7bdbd87d dcca9d04

+149 -118
+149
Documentation/devicetree/bindings/dma/fsl,imx-sdma.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/dma/fsl,imx-sdma.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 8 + 9 + maintainers: 10 + - Joy Zou <joy.zou@nxp.com> 11 + 12 + allOf: 13 + - $ref: dma-controller.yaml# 14 + 15 + properties: 16 + compatible: 17 + oneOf: 18 + - items: 19 + - enum: 20 + - fsl,imx50-sdma 21 + - fsl,imx51-sdma 22 + - fsl,imx53-sdma 23 + - fsl,imx6q-sdma 24 + - fsl,imx7d-sdma 25 + - const: fsl,imx35-sdma 26 + - items: 27 + - enum: 28 + - fsl,imx6sx-sdma 29 + - fsl,imx6sl-sdma 30 + - const: fsl,imx6q-sdma 31 + - items: 32 + - const: fsl,imx6ul-sdma 33 + - const: fsl,imx6q-sdma 34 + - const: fsl,imx35-sdma 35 + - items: 36 + - const: fsl,imx6sll-sdma 37 + - const: fsl,imx6ul-sdma 38 + - items: 39 + - const: fsl,imx8mq-sdma 40 + - const: fsl,imx7d-sdma 41 + - items: 42 + - enum: 43 + - fsl,imx8mp-sdma 44 + - fsl,imx8mn-sdma 45 + - fsl,imx8mm-sdma 46 + - const: fsl,imx8mq-sdma 47 + - items: 48 + - enum: 49 + - fsl,imx25-sdma 50 + - fsl,imx31-sdma 51 + - fsl,imx35-sdma 52 + reg: 53 + maxItems: 1 54 + 55 + interrupts: 56 + maxItems: 1 57 + 58 + fsl,sdma-ram-script-name: 59 + $ref: /schemas/types.yaml#/definitions/string 60 + description: Should contain the full path of SDMA RAM scripts firmware. 61 + 62 + "#dma-cells": 63 + const: 3 64 + description: | 65 + The first cell: request/event ID 66 + 67 + The second cell: peripheral types ID 68 + enum: 69 + - MCU domain SSI: 0 70 + - Shared SSI: 1 71 + - MMC: 2 72 + - SDHC: 3 73 + - MCU domain UART: 4 74 + - Shared UART: 5 75 + - FIRI: 6 76 + - MCU domain CSPI: 7 77 + - Shared CSPI: 8 78 + - SIM: 9 79 + - ATA: 10 80 + - CCM: 11 81 + - External peripheral: 12 82 + - Memory Stick Host Controller: 13 83 + - Shared Memory Stick Host Controller: 14 84 + - DSP: 15 85 + - Memory: 16 86 + - FIFO type Memory: 17 87 + - SPDIF: 18 88 + - IPU Memory: 19 89 + - ASRC: 20 90 + - ESAI: 21 91 + - SSI Dual FIFO: 22 92 + description: needs firmware more than ver 2 93 + - Shared ASRC: 23 94 + - SAI: 24 95 + - HDMI Audio: 25 96 + 97 + The third cell: transfer priority ID 98 + enum: 99 + - High: 0 100 + - Medium: 1 101 + - Low: 2 102 + 103 + gpr: 104 + $ref: /schemas/types.yaml#/definitions/phandle 105 + description: The phandle to the General Purpose Register (GPR) node 106 + 107 + fsl,sdma-event-remap: 108 + $ref: /schemas/types.yaml#/definitions/uint32-matrix 109 + maxItems: 2 110 + items: 111 + items: 112 + - description: GPR register offset 113 + - description: GPR register shift 114 + - description: GPR register value 115 + description: | 116 + Register bits of sdma event remap, the format is <reg shift val>. 117 + The order is <RX>, <TX>. 118 + 119 + clocks: 120 + maxItems: 2 121 + 122 + clock-names: 123 + items: 124 + - const: ipg 125 + - const: ahb 126 + 127 + iram: 128 + $ref: /schemas/types.yaml#/definitions/phandle 129 + description: The phandle to the On-chip RAM (OCRAM) node. 130 + 131 + required: 132 + - compatible 133 + - reg 134 + - interrupts 135 + - fsl,sdma-ram-script-name 136 + 137 + additionalProperties: false 138 + 139 + examples: 140 + - | 141 + sdma: dma-controller@83fb0000 { 142 + compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; 143 + reg = <0x83fb0000 0x4000>; 144 + interrupts = <6>; 145 + #dma-cells = <3>; 146 + fsl,sdma-ram-script-name = "sdma-imx51.bin"; 147 + }; 148 + 149 + ...
-118
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
··· 1 - * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 2 - 3 - Required properties: 4 - - compatible : Should be one of 5 - "fsl,imx25-sdma" 6 - "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma" 7 - "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma" 8 - "fsl,imx51-sdma" 9 - "fsl,imx53-sdma" 10 - "fsl,imx6q-sdma" 11 - "fsl,imx7d-sdma" 12 - "fsl,imx6ul-sdma" 13 - "fsl,imx8mq-sdma" 14 - "fsl,imx8mm-sdma" 15 - "fsl,imx8mn-sdma" 16 - "fsl,imx8mp-sdma" 17 - The -to variants should be preferred since they allow to determine the 18 - correct ROM script addresses needed for the driver to work without additional 19 - firmware. 20 - - reg : Should contain SDMA registers location and length 21 - - interrupts : Should contain SDMA interrupt 22 - - #dma-cells : Must be <3>. 23 - The first cell specifies the DMA request/event ID. See details below 24 - about the second and third cell. 25 - - fsl,sdma-ram-script-name : Should contain the full path of SDMA RAM 26 - scripts firmware 27 - 28 - The second cell of dma phandle specifies the peripheral type of DMA transfer. 29 - The full ID of peripheral types can be found below. 30 - 31 - ID transfer type 32 - --------------------- 33 - 0 MCU domain SSI 34 - 1 Shared SSI 35 - 2 MMC 36 - 3 SDHC 37 - 4 MCU domain UART 38 - 5 Shared UART 39 - 6 FIRI 40 - 7 MCU domain CSPI 41 - 8 Shared CSPI 42 - 9 SIM 43 - 10 ATA 44 - 11 CCM 45 - 12 External peripheral 46 - 13 Memory Stick Host Controller 47 - 14 Shared Memory Stick Host Controller 48 - 15 DSP 49 - 16 Memory 50 - 17 FIFO type Memory 51 - 18 SPDIF 52 - 19 IPU Memory 53 - 20 ASRC 54 - 21 ESAI 55 - 22 SSI Dual FIFO (needs firmware ver >= 2) 56 - 23 Shared ASRC 57 - 24 SAI 58 - 59 - The third cell specifies the transfer priority as below. 60 - 61 - ID transfer priority 62 - ------------------------- 63 - 0 High 64 - 1 Medium 65 - 2 Low 66 - 67 - Optional properties: 68 - 69 - - gpr : The phandle to the General Purpose Register (GPR) node. 70 - - fsl,sdma-event-remap : Register bits of sdma event remap, the format is 71 - <reg shift val>. 72 - reg is the GPR register offset. 73 - shift is the bit position inside the GPR register. 74 - val is the value of the bit (0 or 1). 75 - 76 - Examples: 77 - 78 - sdma@83fb0000 { 79 - compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; 80 - reg = <0x83fb0000 0x4000>; 81 - interrupts = <6>; 82 - #dma-cells = <3>; 83 - fsl,sdma-ram-script-name = "sdma-imx51.bin"; 84 - }; 85 - 86 - DMA clients connected to the i.MX SDMA controller must use the format 87 - described in the dma.txt file. 88 - 89 - Examples: 90 - 91 - ssi2: ssi@70014000 { 92 - compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 93 - reg = <0x70014000 0x4000>; 94 - interrupts = <30>; 95 - clocks = <&clks 49>; 96 - dmas = <&sdma 24 1 0>, 97 - <&sdma 25 1 0>; 98 - dma-names = "rx", "tx"; 99 - fsl,fifo-depth = <15>; 100 - }; 101 - 102 - Using the fsl,sdma-event-remap property: 103 - 104 - If we want to use SDMA on the SAI1 port on a MX6SX: 105 - 106 - &sdma { 107 - gpr = <&gpr>; 108 - /* SDMA events remap for SAI1_RX and SAI1_TX */ 109 - fsl,sdma-event-remap = <0 15 1>, <0 16 1>; 110 - }; 111 - 112 - The fsl,sdma-event-remap property in this case has two values: 113 - - <0 15 1> means that the offset is 0, so GPR0 is the register of the 114 - SDMA remap. Bit 15 of GPR0 selects between UART4_RX and SAI1_RX. 115 - Setting bit 15 to 1 selects SAI1_RX. 116 - - <0 16 1> means that the offset is 0, so GPR0 is the register of the 117 - SDMA remap. Bit 16 of GPR0 selects between UART4_TX and SAI1_TX. 118 - Setting bit 16 to 1 selects SAI1_TX.