1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,easrc.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: NXP Asynchronous Sample Rate Converter (ASRC) Controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Shengjiu Wang <shengjiu.wang@nxp.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot $nodename: 14c66ec88fSEmmanuel Vadot pattern: "^easrc@.*" 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot compatible: 17*aa1a8ff2SEmmanuel Vadot oneOf: 18*aa1a8ff2SEmmanuel Vadot - enum: 19*aa1a8ff2SEmmanuel Vadot - fsl,imx8mn-easrc 20*aa1a8ff2SEmmanuel Vadot - items: 21*aa1a8ff2SEmmanuel Vadot - enum: 22*aa1a8ff2SEmmanuel Vadot - fsl,imx8mp-easrc 23*aa1a8ff2SEmmanuel Vadot - const: fsl,imx8mn-easrc 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot reg: 26c66ec88fSEmmanuel Vadot maxItems: 1 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot interrupts: 29c66ec88fSEmmanuel Vadot maxItems: 1 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot clocks: 32c66ec88fSEmmanuel Vadot items: 33c66ec88fSEmmanuel Vadot - description: Peripheral clock 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot clock-names: 36c66ec88fSEmmanuel Vadot items: 37c66ec88fSEmmanuel Vadot - const: mem 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot dmas: 40c66ec88fSEmmanuel Vadot maxItems: 8 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot dma-names: 43c66ec88fSEmmanuel Vadot items: 44c66ec88fSEmmanuel Vadot - const: ctx0_rx 45c66ec88fSEmmanuel Vadot - const: ctx0_tx 46c66ec88fSEmmanuel Vadot - const: ctx1_rx 47c66ec88fSEmmanuel Vadot - const: ctx1_tx 48c66ec88fSEmmanuel Vadot - const: ctx2_rx 49c66ec88fSEmmanuel Vadot - const: ctx2_tx 50c66ec88fSEmmanuel Vadot - const: ctx3_rx 51c66ec88fSEmmanuel Vadot - const: ctx3_tx 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot firmware-name: 54c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 55c66ec88fSEmmanuel Vadot const: imx/easrc/easrc-imx8mn.bin 56c66ec88fSEmmanuel Vadot description: The coefficient table for the filters 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot fsl,asrc-rate: 59c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 60c66ec88fSEmmanuel Vadot minimum: 8000 61c66ec88fSEmmanuel Vadot maximum: 192000 62c66ec88fSEmmanuel Vadot description: Defines a mutual sample rate used by DPCM Back Ends 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot fsl,asrc-format: 65c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 66c66ec88fSEmmanuel Vadot enum: [2, 6, 10, 32, 36] 67c66ec88fSEmmanuel Vadot default: 2 68c66ec88fSEmmanuel Vadot description: 69c66ec88fSEmmanuel Vadot Defines a mutual sample format used by DPCM Back Ends 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadotrequired: 72c66ec88fSEmmanuel Vadot - compatible 73c66ec88fSEmmanuel Vadot - reg 74c66ec88fSEmmanuel Vadot - interrupts 75c66ec88fSEmmanuel Vadot - clocks 76c66ec88fSEmmanuel Vadot - clock-names 77c66ec88fSEmmanuel Vadot - dmas 78c66ec88fSEmmanuel Vadot - dma-names 79c66ec88fSEmmanuel Vadot - firmware-name 80c66ec88fSEmmanuel Vadot - fsl,asrc-rate 81c66ec88fSEmmanuel Vadot - fsl,asrc-format 82c66ec88fSEmmanuel Vadot 836be33864SEmmanuel VadotadditionalProperties: false 846be33864SEmmanuel Vadot 85c66ec88fSEmmanuel Vadotexamples: 86c66ec88fSEmmanuel Vadot - | 87c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/imx8mn-clock.h> 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot easrc: easrc@300c0000 { 90c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mn-easrc"; 91c66ec88fSEmmanuel Vadot reg = <0x300c0000 0x10000>; 92c66ec88fSEmmanuel Vadot interrupts = <0x0 122 0x4>; 93c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MN_CLK_ASRC_ROOT>; 94c66ec88fSEmmanuel Vadot clock-names = "mem"; 95c66ec88fSEmmanuel Vadot dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>, 96c66ec88fSEmmanuel Vadot <&sdma2 18 23 0> , <&sdma2 19 23 0>, 97c66ec88fSEmmanuel Vadot <&sdma2 20 23 0> , <&sdma2 21 23 0>, 98c66ec88fSEmmanuel Vadot <&sdma2 22 23 0> , <&sdma2 23 23 0>; 99c66ec88fSEmmanuel Vadot dma-names = "ctx0_rx", "ctx0_tx", 100c66ec88fSEmmanuel Vadot "ctx1_rx", "ctx1_tx", 101c66ec88fSEmmanuel Vadot "ctx2_rx", "ctx2_tx", 102c66ec88fSEmmanuel Vadot "ctx3_rx", "ctx3_tx"; 103c66ec88fSEmmanuel Vadot firmware-name = "imx/easrc/easrc-imx8mn.bin"; 104c66ec88fSEmmanuel Vadot fsl,asrc-rate = <8000>; 105c66ec88fSEmmanuel Vadot fsl,asrc-format = <2>; 106c66ec88fSEmmanuel Vadot }; 107