Documentation / devicetree / bindings / sound / davinci-mcasp-audio.txt


Based on kernel version 5.17. Page generated on 2022-03-28 08:42 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
Texas Instruments McASP controller

Required properties:
- compatible :
	"ti,dm646x-mcasp-audio"	: for DM646x platforms
	"ti,da830-mcasp-audio"	: for both DA830 & DA850 platforms
	"ti,am33xx-mcasp-audio"	: for AM33xx platforms (AM33xx, AM43xx, TI81xx)
	"ti,dra7-mcasp-audio"	: for DRA7xx platforms
	"ti,omap4-mcasp-audio"	: for OMAP4

- reg : Should contain reg specifiers for the entries in the reg-names property.
- reg-names : Should contain:
         * "mpu" for the main registers (required). For compatibility with
           existing software, it is recommended this is the first entry.
         * "dat" for separate data port register access (optional).
- op-mode : I2S/DIT ops mode. 0 for I2S mode. 1 for DIT mode used for S/PDIF,
  	    IEC60958-1, and AES-3 formats.
- tdm-slots : Slots for TDM operation. Indicates number of channels transmitted
  	      or received over one serializer.
- serial-dir : A list of serializer configuration. Each entry is a number
               indication for serializer pin direction.
               (0 - INACTIVE, 1 - TX, 2 - RX)
- dmas: two element list of DMA controller phandles and DMA request line
        ordered pairs.
- dma-names: identifier string for each DMA request line in the dmas property.
	     These strings correspond 1:1 with the ordered pairs in dmas. The dma
	     identifiers must be "rx" and "tx".

Optional properties:

- ti,hwmods : Must be "mcasp<n>", n is controller instance starting 0
- tx-num-evt : FIFO levels.
- rx-num-evt : FIFO levels.
- dismod : Specify the drive on TX pin during inactive slots
	0 : 3-state
	2 : logic low
	3 : logic high
	Defaults to 'logic low' when the property is not present
- sram-size-playback : size of sram to be allocated during playback
- sram-size-capture  : size of sram to be allocated during capture
- interrupts : Interrupt numbers for McASP
- interrupt-names : Known interrupt names are "tx" and "rx"
- pinctrl-0: Should specify pin control group used for this controller.
- pinctrl-names: Should contain only one value - "default", for more details
  		 please refer to pinctrl-bindings.txt
- fck_parent : Should contain a valid clock name which will be used as parent
	       for the McASP fck
- auxclk-fs-ratio: When McASP is bus master indicates the ratio between AUCLK
		   and FS rate if applicable:
		   AUCLK rate = auxclk-fs-ratio * FS rate

Optional GPIO support:
If any McASP pin need to be used as GPIO then the McASP node must have:
...
  gpio-controller
  #gpio-cells = <2>;
...

When requesting a GPIO, the first parameter is the PIN index in McASP_P*
registers.
For example to request the AXR2 pin of mcasp8:
function-gpios = <&mcasp8 2 0>;

Or to request the ACLKR pin of mcasp8:
function-gpios = <&mcasp8 29 0>;

For generic gpio information, please refer to bindings/gpio/gpio.txt

Example:

mcasp0: mcasp0@1d00000 {
	compatible = "ti,da830-mcasp-audio";
	reg = <0x100000 0x3000>;
	reg-names "mpu";
	interrupts = <82>, <83>;
	interrupt-names = "tx", "rx";
	op-mode = <0>;		/* MCASP_IIS_MODE */
	tdm-slots = <2>;
	serial-dir = <
			0 0 0 0	/* 0: INACTIVE, 1: TX, 2: RX */
			0 0 0 0
			0 0 0 1
			2 0 0 0 >;
	tx-num-evt = <1>;
	rx-num-evt = <1>;
};