mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
ASoC: dt-bindings: davinci-mcasp: convert McASP bindings to yaml schema
Convert the bindings for McASP controllers for TI SoCs from txt to YAML schema. Adds additional properties 'clocks', 'clock-names', 'power-domains', '#sound-dai-cells' and 'port' which were missing from the txt file. Removes properties 'sram-size-playback' and 'sram-size-capture' since they are not used. Adds 'dmas' and 'dma-names' in the example which were missing from the txt file. Changes 'interrupts' and 'interrupt-names' from optional to required properties. Changes 'op-modes', 'serial-dir' to optional properties as they are not needed if the McASP is used only as GPIO. Changes 'tdm-slots' to required property only for I2S operation mode. Adds the yaml file in the 'MAINTAINERS' under the heading 'TEXAS INSTRUMENTS ASoC DRIVERS' Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com> Link: https://lore.kernel.org/r/20220209063008.2928-1-j-choudhary@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
7d88b96081
commit
8be90641a0
3 changed files with 202 additions and 86 deletions
|
@ -1,86 +0,0 @@
|
||||||
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>;
|
|
||||||
};
|
|
201
Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
Normal file
201
Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
Normal file
|
@ -0,0 +1,201 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/davinci-mcasp-audio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: McASP Controller for TI SoCs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jayesh Choudhary <j-choudhary@ti.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,dm646x-mcasp-audio
|
||||||
|
- ti,da830-mcasp-audio
|
||||||
|
- ti,am33xx-mcasp-audio
|
||||||
|
- ti,dra7-mcasp-audio
|
||||||
|
- ti,omap4-mcasp-audio
|
||||||
|
|
||||||
|
reg:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- description: CFG registers
|
||||||
|
- description: data registers
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: mpu
|
||||||
|
- const: dat
|
||||||
|
|
||||||
|
op-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: 0 - I2S or 1 - DIT operation mode
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 1
|
||||||
|
|
||||||
|
tdm-slots:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
number of channels over one serializer
|
||||||
|
the property is ignored in DIT mode
|
||||||
|
minimum: 2
|
||||||
|
maximum: 32
|
||||||
|
|
||||||
|
serial-dir:
|
||||||
|
description:
|
||||||
|
A list of serializer configuration
|
||||||
|
Entry is indication for serializer pin direction
|
||||||
|
0 - Inactive, 1 - TX, 2 - RX
|
||||||
|
All AXR pins should be present in the array even if inactive
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 25
|
||||||
|
items:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 2
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- description: transmission DMA channel
|
||||||
|
- description: reception DMA channel
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: tx
|
||||||
|
- const: rx
|
||||||
|
|
||||||
|
ti,hwmods:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: Name of hwmod associated with McASP
|
||||||
|
maxItems: 1
|
||||||
|
deprecated: true
|
||||||
|
|
||||||
|
tx-num-evt:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
configures WFIFO threshold
|
||||||
|
0 disables the FIFO use
|
||||||
|
if property is missing, then also FIFO use is disabled
|
||||||
|
|
||||||
|
rx-num-evt:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
configures RFIFO threshold
|
||||||
|
0 disables the FIFO use
|
||||||
|
if property is missing, then also FIFO use is disabled
|
||||||
|
|
||||||
|
dismod:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
specify the drive on TX pin during inactive time slots
|
||||||
|
0 - 3-state, 2 - logic low, 3 - logic high
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
default: 2
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
anyOf:
|
||||||
|
- minItems: 1
|
||||||
|
items:
|
||||||
|
- description: TX interrupt
|
||||||
|
- description: RX interrupt
|
||||||
|
- items:
|
||||||
|
- description: common/combined interrupt
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
oneOf:
|
||||||
|
- minItems: 1
|
||||||
|
items:
|
||||||
|
- const: tx
|
||||||
|
- const: rx
|
||||||
|
- const: common
|
||||||
|
|
||||||
|
fck_parent:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: parent clock name for McASP fck
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
auxclk-fs-ratio:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: ratio of AUCLK and FS rate if applicable
|
||||||
|
|
||||||
|
gpio-controller: true
|
||||||
|
|
||||||
|
"#gpio-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- description: functional clock
|
||||||
|
- description: module specific optional ahclkx clock
|
||||||
|
- description: module specific optional ahclkr clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: fck
|
||||||
|
- const: ahclkx
|
||||||
|
- const: ahclkr
|
||||||
|
|
||||||
|
power-domains:
|
||||||
|
description: phandle to the corresponding power-domain
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: connection for when McASP is used via graph card
|
||||||
|
type: object
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- reg-names
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
opmode:
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- tdm-slots
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
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>;
|
||||||
|
dmas = <&main_udmap 0xc400>, <&main_udmap 0x4400>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
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>;
|
||||||
|
};
|
|
@ -19042,6 +19042,7 @@ TEXAS INSTRUMENTS ASoC DRIVERS
|
||||||
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
M: Peter Ujfalusi <peter.ujfalusi@gmail.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
|
||||||
F: sound/soc/ti/
|
F: sound/soc/ti/
|
||||||
|
|
||||||
TEXAS INSTRUMENTS' DAC7612 DAC DRIVER
|
TEXAS INSTRUMENTS' DAC7612 DAC DRIVER
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue