mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
ASoC: Updates for v6.2
This is a fairly sedate release for the core code, but there's been a lot of driver work especially around the x86 platforms and device tree updates: - More cleanups of the DAPM code from Morimoto-san. - Factoring out of mapping hw_params onto SoundWire configuration by Charles Keepax. - The ever ongoing overhauls of the Intel DSP code continue, including support for loading libraries and probes with IPC4 on SOF. - Support for more sample formats on JZ4740. - Lots of device tree conversions and fixups. - Support for Allwinner D1, a range of AMD and Intel systems, Mediatek systems with multiple DMICs, Nuvoton NAU8318, NXP fsl_rpmsg and i.MX93, Qualcomm AudioReach Enable, MFC and SAL, RealTek RT1318 and Rockchip RK3588 There's more cross tree updates than usual, though all fairly minor: - Some OMAP board file updates that were depedencies for removing their providers in ASoC, as part of a wider effort removing the support for the relevant OMAP platforms. - A new I2C API required for updates to the new I2C probe API. - A DRM update making use of a new API for fixing the capabilities advertised via hdmi-codec. Since this is being sent early I might send some more stuff if you've not yet sent your pull request and there's more come in. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmOOO08ACgkQJNaLcl1U h9BiIAf+O8zqcxtokSTS3wsoFHDp2zprTTUk3RZbxaYMFTmFrALbQVUx5EdJ179X Dr9rL9T2iNBN7YGhDvmzoVvLrDncJEerMk7cgbc88a5tkB7ZipI7E9QliZt92QaP ihrXAyD7ekLC6QLXrHFNmzwUeFspgtsBkT3MakcfcucuMN53UQbFwD1r0ziCJOMZ gFnkZKBemUDsURxWR+LCveB/WYKNrZ6Bjokdg8HY1yenACMiXaoWedmIFJ2SxId3 NNS8vqUDUSEFhDaeJVBo1Ow9m8fe+dZBUeVk9Ej7bGEXxYptwtu3aODXknySa8Eb YVlalR9qQPvaI1688WRleRWp+oyL4Q== =x1AC -----END PGP SIGNATURE----- Merge tag 'asoc-v6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v6.2 This is a fairly sedate release for the core code, but there's been a lot of driver work especially around the x86 platforms and device tree updates: - More cleanups of the DAPM code from Morimoto-san. - Factoring out of mapping hw_params onto SoundWire configuration by Charles Keepax. - The ever ongoing overhauls of the Intel DSP code continue, including support for loading libraries and probes with IPC4 on SOF. - Support for more sample formats on JZ4740. - Lots of device tree conversions and fixups. - Support for Allwinner D1, a range of AMD and Intel systems, Mediatek systems with multiple DMICs, Nuvoton NAU8318, NXP fsl_rpmsg and i.MX93, Qualcomm AudioReach Enable, MFC and SAL, RealTek RT1318 and Rockchip RK3588 There's more cross tree updates than usual, though all fairly minor: - Some OMAP board file updates that were depedencies for removing their providers in ASoC, as part of a wider effort removing the support for the relevant OMAP platforms. - A new I2C API required for updates to the new I2C probe API. - A DRM update making use of a new API for fixing the capabilities advertised via hdmi-codec. Since this is being sent early I might send some more stuff if you've not yet sent your pull request and there's more come in.
This commit is contained in:
commit
8ec2d95f50
4
.mailmap
4
.mailmap
@ -104,6 +104,7 @@ Christoph Hellwig <hch@lst.de>
|
||||
Colin Ian King <colin.i.king@gmail.com> <colin.king@canonical.com>
|
||||
Corey Minyard <minyard@acm.org>
|
||||
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
||||
Dan Carpenter <error27@gmail.com> <dan.carpenter@oracle.com>
|
||||
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@googlemail.com>
|
||||
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@iogearbox.net>
|
||||
Daniel Borkmann <daniel@iogearbox.net> <daniel.borkmann@tik.ee.ethz.ch>
|
||||
@ -353,7 +354,8 @@ Peter Oruba <peter@oruba.de>
|
||||
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
|
||||
Praveen BP <praveenbp@ti.com>
|
||||
Punit Agrawal <punitagrawal@gmail.com> <punit.agrawal@arm.com>
|
||||
Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
|
||||
Qais Yousef <qyousef@layalina.io> <qais.yousef@imgtec.com>
|
||||
Qais Yousef <qyousef@layalina.io> <qais.yousef@arm.com>
|
||||
Quentin Monnet <quentin@isovalent.com> <quentin.monnet@netronome.com>
|
||||
Quentin Perret <qperret@qperret.net> <quentin.perret@arm.com>
|
||||
Rafael J. Wysocki <rjw@rjwysocki.net> <rjw@sisk.pl>
|
||||
|
9
CREDITS
9
CREDITS
@ -918,6 +918,11 @@ S: Ottawa, Ontario
|
||||
S: K1N 6Z9
|
||||
S: CANADA
|
||||
|
||||
N: Vivien Didelot
|
||||
E: vivien.didelot@gmail.com
|
||||
D: DSA framework and MV88E6XXX driver
|
||||
S: Montreal, Quebec, Canada
|
||||
|
||||
N: Jeff Dike
|
||||
E: jdike@karaya.com
|
||||
W: http://user-mode-linux.sourceforge.net
|
||||
@ -2447,6 +2452,10 @@ S: 482 Shadowgraph Dr.
|
||||
S: San Jose, CA 95110
|
||||
S: USA
|
||||
|
||||
N: Michal Marek
|
||||
E: michal.lkml@markovi.net
|
||||
D: Kbuild Maintainer 2009-2017
|
||||
|
||||
N: Martin Mares
|
||||
E: mj@ucw.cz
|
||||
W: http://www.ucw.cz/~mj/
|
||||
|
@ -10,7 +10,7 @@ Description: A collection of all the memory tiers allocated.
|
||||
|
||||
|
||||
What: /sys/devices/virtual/memory_tiering/memory_tierN/
|
||||
/sys/devices/virtual/memory_tiering/memory_tierN/nodes
|
||||
/sys/devices/virtual/memory_tiering/memory_tierN/nodelist
|
||||
Date: August 2022
|
||||
Contact: Linux memory management mailing list <linux-mm@kvack.org>
|
||||
Description: Directory with details of a specific memory tier
|
||||
@ -21,5 +21,5 @@ Description: Directory with details of a specific memory tier
|
||||
A smaller value of N implies a higher (faster) memory tier in the
|
||||
hierarchy.
|
||||
|
||||
nodes: NUMA nodes that are part of this memory tier.
|
||||
nodelist: NUMA nodes that are part of this memory tier.
|
||||
|
||||
|
@ -9,7 +9,6 @@ the Linux ACPI support.
|
||||
:maxdepth: 1
|
||||
|
||||
initrd_table_override
|
||||
dsdt-override
|
||||
ssdt-overlays
|
||||
cppc_sysfs
|
||||
fan_performance_states
|
||||
|
@ -141,6 +141,10 @@ root_hash_sig_key_desc <key_description>
|
||||
also gain new certificates at run time if they are signed by a certificate
|
||||
already in the secondary trusted keyring.
|
||||
|
||||
try_verify_in_tasklet
|
||||
If verity hashes are in cache, verify data blocks in kernel tasklet instead
|
||||
of workqueue. This option can reduce IO latency.
|
||||
|
||||
Theory of operation
|
||||
===================
|
||||
|
||||
|
@ -1318,7 +1318,7 @@ instance. This setup would require the following commands:
|
||||
$ v4l2-ctl -d2 -i2
|
||||
$ v4l2-ctl -d2 -c horizontal_movement=4
|
||||
$ v4l2-ctl -d1 --overlay=1
|
||||
$ v4l2-ctl -d1 -c loop_video=1
|
||||
$ v4l2-ctl -d0 -c loop_video=1
|
||||
$ v4l2-ctl -d2 --stream-mmap --overlay=1
|
||||
|
||||
And from another console:
|
||||
|
@ -340,6 +340,14 @@ Before jumping into the kernel, the following conditions must be met:
|
||||
- SMCR_EL2.LEN must be initialised to the same value for all CPUs the
|
||||
kernel will execute on.
|
||||
|
||||
- HWFGRTR_EL2.nTPIDR2_EL0 (bit 55) must be initialised to 0b01.
|
||||
|
||||
- HWFGWTR_EL2.nTPIDR2_EL0 (bit 55) must be initialised to 0b01.
|
||||
|
||||
- HWFGRTR_EL2.nSMPRI_EL1 (bit 54) must be initialised to 0b01.
|
||||
|
||||
- HWFGWTR_EL2.nSMPRI_EL1 (bit 54) must be initialised to 0b01.
|
||||
|
||||
For CPUs with the Scalable Matrix Extension FA64 feature (FEAT_SME_FA64)
|
||||
|
||||
- If EL3 is present:
|
||||
|
@ -92,7 +92,7 @@ operation if the source belongs to the supported system register space.
|
||||
|
||||
The infrastructure emulates only the following system register space::
|
||||
|
||||
Op0=3, Op1=0, CRn=0, CRm=0,4,5,6,7
|
||||
Op0=3, Op1=0, CRn=0, CRm=0,2,3,4,5,6,7
|
||||
|
||||
(See Table C5-6 'System instruction encodings for non-Debug System
|
||||
register accesses' in ARMv8 ARM DDI 0487A.h, for the list of
|
||||
@ -293,6 +293,42 @@ infrastructure:
|
||||
| WFXT | [3-0] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
10) MVFR0_EL1 - AArch32 Media and VFP Feature Register 0
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| FPDP | [11-8] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
11) MVFR1_EL1 - AArch32 Media and VFP Feature Register 1
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| SIMDFMAC | [31-28] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| SIMDSP | [19-16] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| SIMDInt | [15-12] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| SIMDLS | [11-8] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
12) ID_ISAR5_EL1 - AArch32 Instruction Set Attribute Register 5
|
||||
|
||||
+------------------------------+---------+---------+
|
||||
| Name | bits | visible |
|
||||
+------------------------------+---------+---------+
|
||||
| CRC32 | [19-16] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| SHA2 | [15-12] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| SHA1 | [11-8] | y |
|
||||
+------------------------------+---------+---------+
|
||||
| AES | [7-4] | y |
|
||||
+------------------------------+---------+---------+
|
||||
|
||||
|
||||
Appendix I: Example
|
||||
-------------------
|
||||
|
@ -144,6 +144,42 @@ managing and controlling ublk devices with help of several control commands:
|
||||
For retrieving device info via ``ublksrv_ctrl_dev_info``. It is the server's
|
||||
responsibility to save IO target specific info in userspace.
|
||||
|
||||
- ``UBLK_CMD_START_USER_RECOVERY``
|
||||
|
||||
This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
|
||||
command is accepted after the old process has exited, ublk device is quiesced
|
||||
and ``/dev/ublkc*`` is released. User should send this command before he starts
|
||||
a new process which re-opens ``/dev/ublkc*``. When this command returns, the
|
||||
ublk device is ready for the new process.
|
||||
|
||||
- ``UBLK_CMD_END_USER_RECOVERY``
|
||||
|
||||
This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
|
||||
command is accepted after ublk device is quiesced and a new process has
|
||||
opened ``/dev/ublkc*`` and get all ublk queues be ready. When this command
|
||||
returns, ublk device is unquiesced and new I/O requests are passed to the
|
||||
new process.
|
||||
|
||||
- user recovery feature description
|
||||
|
||||
Two new features are added for user recovery: ``UBLK_F_USER_RECOVERY`` and
|
||||
``UBLK_F_USER_RECOVERY_REISSUE``.
|
||||
|
||||
With ``UBLK_F_USER_RECOVERY`` set, after one ubq_daemon(ublk server's io
|
||||
handler) is dying, ublk does not delete ``/dev/ublkb*`` during the whole
|
||||
recovery stage and ublk device ID is kept. It is ublk server's
|
||||
responsibility to recover the device context by its own knowledge.
|
||||
Requests which have not been issued to userspace are requeued. Requests
|
||||
which have been issued to userspace are aborted.
|
||||
|
||||
With ``UBLK_F_USER_RECOVERY_REISSUE`` set, after one ubq_daemon(ublk
|
||||
server's io handler) is dying, contrary to ``UBLK_F_USER_RECOVERY``,
|
||||
requests which have been issued to userspace are requeued and will be
|
||||
re-issued to the new process after handling ``UBLK_CMD_END_USER_RECOVERY``.
|
||||
``UBLK_F_USER_RECOVERY_REISSUE`` is designed for backends who tolerate
|
||||
double-write since the driver may issue the same I/O request twice. It
|
||||
might be useful to a read-only FS or a VM backend.
|
||||
|
||||
Data plane
|
||||
----------
|
||||
|
||||
|
@ -118,6 +118,12 @@ Text Searching
|
||||
CRC and Math Functions in Linux
|
||||
===============================
|
||||
|
||||
Arithmetic Overflow Checking
|
||||
----------------------------
|
||||
|
||||
.. kernel-doc:: include/linux/overflow.h
|
||||
:internal:
|
||||
|
||||
CRC Functions
|
||||
-------------
|
||||
|
||||
|
@ -67,6 +67,7 @@ uninitialized in the local variable, as well as the stack where the value was
|
||||
copied to another memory location before use.
|
||||
|
||||
A use of uninitialized value ``v`` is reported by KMSAN in the following cases:
|
||||
|
||||
- in a condition, e.g. ``if (v) { ... }``;
|
||||
- in an indexing or pointer dereferencing, e.g. ``array[v]`` or ``*v``;
|
||||
- when it is copied to userspace or hardware, e.g. ``copy_to_user(..., &v, ...)``;
|
||||
|
@ -11,7 +11,7 @@ maintainers:
|
||||
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/sound/name-prefix.yaml#
|
||||
- $ref: /schemas/sound/dai-common.yaml#
|
||||
|
||||
description: |
|
||||
The Amlogic Meson Synopsys Designware Integration is composed of
|
||||
|
@ -15,9 +15,22 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,sfpb-mutex
|
||||
- qcom,tcsr-mutex
|
||||
oneOf:
|
||||
- enum:
|
||||
- qcom,sfpb-mutex
|
||||
- qcom,tcsr-mutex
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,apq8084-tcsr-mutex
|
||||
- qcom,ipq6018-tcsr-mutex
|
||||
- qcom,msm8226-tcsr-mutex
|
||||
- qcom,msm8994-tcsr-mutex
|
||||
- const: qcom,tcsr-mutex
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,msm8974-tcsr-mutex
|
||||
- const: qcom,tcsr-mutex
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@ -34,9 +47,9 @@ additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
tcsr_mutex: hwlock@1f40000 {
|
||||
compatible = "qcom,tcsr-mutex";
|
||||
reg = <0x01f40000 0x40000>;
|
||||
#hwlock-cells = <1>;
|
||||
};
|
||||
hwlock@1f40000 {
|
||||
compatible = "qcom,tcsr-mutex";
|
||||
reg = <0x01f40000 0x40000>;
|
||||
#hwlock-cells = <1>;
|
||||
};
|
||||
...
|
||||
|
@ -16,8 +16,11 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
oneOf:
|
||||
- const: goodix,gt7375p
|
||||
- items:
|
||||
- const: goodix,gt7986u
|
||||
- const: goodix,gt7375p
|
||||
|
||||
reg:
|
||||
enum:
|
||||
|
@ -1,9 +0,0 @@
|
||||
Dongwoon Anatech DW9714 camera voice coil lens driver
|
||||
|
||||
DW9174 is a 10-bit DAC with current sink capability. It is intended
|
||||
for driving voice coil lenses in camera modules.
|
||||
|
||||
Mandatory properties:
|
||||
|
||||
- compatible: "dongwoon,dw9714"
|
||||
- reg: I²C slave address
|
@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9714.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Dongwoon Anatech DW9714 camera voice coil lens driver
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description:
|
||||
DW9174 is a 10-bit DAC with current sink capability. It is intended for
|
||||
driving voice coil lenses in camera modules.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: dongwoon,dw9714
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
powerdown-gpios:
|
||||
description:
|
||||
XSD pin for shutdown (active low)
|
||||
|
||||
vcc-supply:
|
||||
description: VDD power supply
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
camera-lens@c {
|
||||
compatible = "dongwoon,dw9714";
|
||||
reg = <0x0c>;
|
||||
vcc-supply = <®_csi_1v8>;
|
||||
};
|
||||
};
|
@ -47,7 +47,7 @@ properties:
|
||||
|
||||
nvmem-cells: true
|
||||
|
||||
nvmem-cells-names: true
|
||||
nvmem-cell-names: true
|
||||
|
||||
phy-connection-type:
|
||||
enum:
|
||||
|
@ -8,7 +8,6 @@ title: Samsung S3FWRN5 NCI NFC Controller
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
- Krzysztof Opasiak <k.opasiak@samsung.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -274,10 +274,6 @@ patternProperties:
|
||||
slew-rate:
|
||||
enum: [0, 1]
|
||||
|
||||
output-enable:
|
||||
description:
|
||||
This will internally disable the tri-state for MIO pins.
|
||||
|
||||
drive-strength:
|
||||
description:
|
||||
Selects the drive strength for MIO pins, in mA.
|
||||
|
@ -81,6 +81,9 @@ properties:
|
||||
|
||||
power-supply: true
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
description: |
|
||||
A number of phandles to resets that need to be asserted during
|
||||
|
@ -0,0 +1,54 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm APR/GPR services shared parts
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
Common parts of a static service in Qualcomm APR/GPR (Asynchronous/Generic
|
||||
Packet Router).
|
||||
|
||||
properties:
|
||||
reg:
|
||||
minimum: 1
|
||||
maximum: 13
|
||||
description: |
|
||||
APR Service ID
|
||||
3 = DSP Core Service
|
||||
4 = Audio Front End Service.
|
||||
5 = Voice Stream Manager Service.
|
||||
6 = Voice processing manager.
|
||||
7 = Audio Stream Manager Service.
|
||||
8 = Audio Device Manager Service.
|
||||
9 = Multimode voice manager.
|
||||
10 = Core voice stream.
|
||||
11 = Core voice processor.
|
||||
12 = Ultrasound stream manager.
|
||||
13 = Listen stream manager.
|
||||
GPR Service ID
|
||||
1 = Audio Process Manager Service
|
||||
2 = Proxy Resource Manager Service.
|
||||
3 = AMDB Service.
|
||||
4 = Voice processing manager.
|
||||
|
||||
qcom,protection-domain:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: |
|
||||
Protection domain service name and path for APR service
|
||||
possible values are::
|
||||
"avs/audio", "msm/adsp/audio_pd".
|
||||
"kernel/elf_loader", "msm/modem/wlan_pd".
|
||||
"tms/servreg", "msm/adsp/audio_pd".
|
||||
"tms/servreg", "msm/modem/wlan_pd".
|
||||
"tms/servreg", "msm/slpi/sensor_pd".
|
||||
|
||||
required:
|
||||
- reg
|
||||
- qcom,protection-domain
|
||||
|
||||
additionalProperties: true
|
@ -58,8 +58,7 @@ properties:
|
||||
qcom,glink-channels:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: Channel name used for the communication
|
||||
items:
|
||||
- const: apr_audio_svc
|
||||
maxItems: 1
|
||||
|
||||
qcom,intents:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
@ -81,12 +80,13 @@ properties:
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
#APR/GPR Services
|
||||
patternProperties:
|
||||
"^service@[1-9a-d]$":
|
||||
type: object
|
||||
$ref: /schemas/soc/qcom/qcom,apr-services.yaml
|
||||
additionalProperties: true
|
||||
description:
|
||||
APR/GPR node's client devices use subnodes for desired static port services.
|
||||
APR/GPR static port services.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@ -98,99 +98,6 @@ patternProperties:
|
||||
- qcom,q6apm
|
||||
- qcom,q6prm
|
||||
|
||||
reg:
|
||||
minimum: 1
|
||||
maximum: 13
|
||||
description:
|
||||
APR Service ID
|
||||
3 = DSP Core Service
|
||||
4 = Audio Front End Service.
|
||||
5 = Voice Stream Manager Service.
|
||||
6 = Voice processing manager.
|
||||
7 = Audio Stream Manager Service.
|
||||
8 = Audio Device Manager Service.
|
||||
9 = Multimode voice manager.
|
||||
10 = Core voice stream.
|
||||
11 = Core voice processor.
|
||||
12 = Ultrasound stream manager.
|
||||
13 = Listen stream manager.
|
||||
GPR Service ID
|
||||
1 = Audio Process Manager Service
|
||||
2 = Proxy Resource Manager Service.
|
||||
3 = AMDB Service.
|
||||
4 = Voice processing manager.
|
||||
|
||||
clock-controller:
|
||||
$ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
|
||||
description: Qualcomm DSP LPASS clock controller
|
||||
unevaluatedProperties: false
|
||||
|
||||
dais:
|
||||
type: object
|
||||
oneOf:
|
||||
- $ref: /schemas/sound/qcom,q6apm-dai.yaml#
|
||||
- $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
|
||||
- $ref: /schemas/sound/qcom,q6asm-dais.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
routing:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6adm-routing.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP LPASS audio routing
|
||||
|
||||
qcom,protection-domain:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: protection domain service name and path for apr service
|
||||
possible values are
|
||||
"avs/audio", "msm/adsp/audio_pd".
|
||||
"kernel/elf_loader", "msm/modem/wlan_pd".
|
||||
"tms/servreg", "msm/adsp/audio_pd".
|
||||
"tms/servreg", "msm/modem/wlan_pd".
|
||||
"tms/servreg", "msm/slpi/sensor_pd".
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6afe
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,q6afe-dais
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm-dais
|
||||
- qcom,q6apm-lpass-dais
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6asm
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,q6asm-dais
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- qcom,domain
|
||||
@ -203,7 +110,15 @@ allOf:
|
||||
- qcom,gpr
|
||||
then:
|
||||
properties:
|
||||
qcom,glink-channels:
|
||||
items:
|
||||
- const: adsp_apps
|
||||
power-domains: false
|
||||
else:
|
||||
properties:
|
||||
qcom,glink-channels:
|
||||
items:
|
||||
- const: apr_audio_svc
|
||||
|
||||
- if:
|
||||
required:
|
||||
@ -227,31 +142,35 @@ examples:
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
qcom,glink-channels = "apr_audio_svc";
|
||||
qcom,intents = <512 20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
q6core: service@3 {
|
||||
compatible = "qcom,q6core";
|
||||
reg = <APR_SVC_ADSP_CORE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
compatible = "qcom,q6core";
|
||||
reg = <APR_SVC_ADSP_CORE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
};
|
||||
|
||||
q6afe: service@4 {
|
||||
compatible = "qcom,q6afe";
|
||||
reg = <APR_SVC_AFE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
};
|
||||
service@4 {
|
||||
compatible = "qcom,q6afe";
|
||||
reg = <APR_SVC_AFE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
q6asm: service@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
};
|
||||
clock-controller {
|
||||
compatible = "qcom,q6afe-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
||||
q6adm: service@8 {
|
||||
compatible = "qcom,q6adm";
|
||||
reg = <APR_SVC_ADM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
dais {
|
||||
compatible = "qcom,q6afe-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
/* ... */
|
||||
};
|
||||
/* ... */
|
||||
};
|
||||
};
|
||||
|
||||
@ -260,12 +179,25 @@ examples:
|
||||
gpr {
|
||||
compatible = "qcom,gpr";
|
||||
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||
qcom,glink-channels = "adsp_apps";
|
||||
qcom,intents = <512 20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@1 {
|
||||
compatible = "qcom,q6apm";
|
||||
reg = <GPR_APM_MODULE_IID>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
compatible = "qcom,q6apm";
|
||||
reg = <GPR_APM_MODULE_IID>;
|
||||
#sound-dai-cells = <0>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6apm-dais";
|
||||
iommus = <&apps_smmu 0x1801 0x0>;
|
||||
};
|
||||
|
||||
bedais {
|
||||
compatible = "qcom,q6apm-lpass-dais";
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -8,12 +8,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Analog Devices ADAU1372 CODEC
|
||||
|
||||
maintainers:
|
||||
- Alexandre Belloni <alexandre.belloni@bootlin.om>
|
||||
- Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||
|
||||
description: |
|
||||
Analog Devices ADAU1372 four inputs and two outputs codec.
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -42,7 +45,7 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -51,6 +51,7 @@ required:
|
||||
- AVDD-supply
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
@ -15,6 +15,9 @@ description: |
|
||||
standalone mode.
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -57,7 +60,7 @@ required:
|
||||
- iovdd-supply
|
||||
- dvdd-supply
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: AK4375 DAC and headphones amplifier
|
||||
maintainers:
|
||||
- Vincent Knecht <vincent.knecht@mailoo.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: asahi-kasei,ak4375
|
||||
@ -35,7 +38,7 @@ required:
|
||||
- avdd-supply
|
||||
- tvdd-supply
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: AK4613 I2C transmitter
|
||||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: asahi-kasei,ak4613
|
||||
@ -35,7 +38,7 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: AK4642 I2C transmitter
|
||||
maintainers:
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -37,7 +40,7 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -102,6 +102,7 @@ required:
|
||||
- dma-names
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@ -228,7 +229,7 @@ allOf:
|
||||
- Mic
|
||||
- Speaker
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -61,6 +61,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@ -128,7 +129,7 @@ required:
|
||||
- dmas
|
||||
- dma-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -54,6 +54,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@ -104,7 +105,7 @@ required:
|
||||
- dmas
|
||||
- dma-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,9 +9,17 @@ title: Allwinner H6 DMIC
|
||||
maintainers:
|
||||
- Ban Tao <fengzheng923@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: allwinner,sun50i-h6-dmic
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,sun20i-d1-dmic
|
||||
- const: allwinner,sun50i-h6-dmic
|
||||
- const: allwinner,sun50i-h6-dmic
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
@ -54,7 +62,7 @@ required:
|
||||
- dma-names
|
||||
- resets
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -10,6 +10,9 @@ maintainers:
|
||||
- Chen-Yu Tsai <wens@csie.org>
|
||||
- Maxime Ripard <mripard@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
"#sound-dai-cells":
|
||||
minimum: 0
|
||||
@ -49,7 +52,7 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -10,7 +10,7 @@ maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -10,7 +10,7 @@ maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -10,7 +10,7 @@ maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -14,6 +14,9 @@ description: |
|
||||
maintainers:
|
||||
- Martin Povišer <povik+lin@cutebit.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
@ -106,7 +109,7 @@ required:
|
||||
- power-domains
|
||||
- '#sound-dai-cells'
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -15,7 +15,7 @@ description:
|
||||
function (primarily the power limit for the amplifier).
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -146,6 +146,7 @@ required:
|
||||
- "#sound-dai-cells"
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
cirrus,boost-type:
|
||||
@ -171,7 +172,7 @@ allOf:
|
||||
cirrus,gpio1-src-select:
|
||||
enum: [1]
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -14,6 +14,9 @@ description: |
|
||||
CS35L45 is a Boosted Mono Class D Amplifier with DSP
|
||||
Speaker Protection and Adaptive Battery Management.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -52,7 +55,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: CS42L51 audio codec DT bindings
|
||||
maintainers:
|
||||
- Olivier Moysan <olivier.moysan@foss.st.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: cirrus,cs42l51
|
||||
@ -46,7 +49,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -24,6 +24,9 @@ description: |
|
||||
This binding must be part of the Lochnagar MFD binding:
|
||||
[1] ../mfd/cirrus,lochnagar.yaml
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -49,4 +52,4 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
@ -22,6 +22,9 @@ description: |
|
||||
|
||||
The properties are all contained in the parent MFD node.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
'#sound-dai-cells':
|
||||
description:
|
||||
|
@ -1,10 +1,10 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
|
||||
$id: http://devicetree.org/schemas/sound/dai-common.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Component sound name prefix
|
||||
title: Digital Audio Interface Common Properties
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
@ -18,4 +18,6 @@ properties:
|
||||
sink/source names may use this property to prepend the name of their
|
||||
sinks/sources with the provided string.
|
||||
|
||||
'#sound-dai-cells': true
|
||||
|
||||
additionalProperties: true
|
@ -167,6 +167,7 @@ required:
|
||||
- interrupt-names
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
opmode:
|
||||
@ -177,7 +178,7 @@ allOf:
|
||||
required:
|
||||
- tdm-slots
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
55
Documentation/devicetree/bindings/sound/dmic-codec.yaml
Normal file
55
Documentation/devicetree/bindings/sound/dmic-codec.yaml
Normal file
@ -0,0 +1,55 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/dmic-codec.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Generic PDM Digital microphone (DMIC) codec
|
||||
|
||||
maintainers:
|
||||
- Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: dmic-codec
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
dmicen-gpios:
|
||||
description: GPIO specifier for DMIC to control start and stop
|
||||
maxItems: 1
|
||||
|
||||
num-channels:
|
||||
description: Number of microphones on this DAI
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 1
|
||||
maximum: 8
|
||||
default: 8
|
||||
|
||||
modeswitch-delay-ms:
|
||||
description: Delay (in ms) to complete DMIC mode switch
|
||||
|
||||
wakeup-delay-ms:
|
||||
description: Delay (in ms) after enabling the DMIC
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
dmic {
|
||||
compatible = "dmic-codec";
|
||||
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
|
||||
num-channels = <1>;
|
||||
wakeup-delay-ms = <50>;
|
||||
modeswitch-delay-ms = <35>;
|
||||
};
|
||||
...
|
@ -1,22 +0,0 @@
|
||||
Device-Tree bindings for Digital microphone (DMIC) codec
|
||||
|
||||
This device support generic PDM digital microphone.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "dmic-codec".
|
||||
|
||||
Optional properties:
|
||||
- dmicen-gpios: GPIO specifier for dmic to control start and stop
|
||||
- num-channels: Number of microphones on this DAI
|
||||
- wakeup-delay-ms: Delay (in ms) after enabling the DMIC
|
||||
- modeswitch-delay-ms: Delay (in ms) to complete DMIC mode switch
|
||||
|
||||
Example node:
|
||||
|
||||
dmic_codec: dmic@0 {
|
||||
compatible = "dmic-codec";
|
||||
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
|
||||
num-channels = <1>;
|
||||
wakeup-delay-ms <50>;
|
||||
modeswitch-delay-ms <35>;
|
||||
};
|
@ -10,6 +10,9 @@ maintainers:
|
||||
- Daniel Drake <drake@endlessm.com>
|
||||
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: everest,es8316
|
||||
@ -33,7 +36,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -18,6 +18,7 @@ properties:
|
||||
enum:
|
||||
- fsl,imx8mm-micfil
|
||||
- fsl,imx8mp-micfil
|
||||
- fsl,imx93-micfil
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
@ -11,8 +11,11 @@ maintainers:
|
||||
|
||||
description: |
|
||||
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
|
||||
are SAI, DMA controlled by Cortex M core. What we see from Linux
|
||||
side is a device which provides audio service by rpmsg channel.
|
||||
are SAI, MICFIL, DMA controlled by Cortex M core. What we see from
|
||||
Linux side is a device which provides audio service by rpmsg channel.
|
||||
We can create different sound cards which access different hardwares
|
||||
such as SAI, MICFIL, .etc through building rpmsg channels between
|
||||
Cortex-A and Cortex-M.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@ -85,6 +88,16 @@ properties:
|
||||
This is a boolean property. If present, the receiving function
|
||||
will be enabled.
|
||||
|
||||
fsl,rpmsg-channel-name:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
A string property to assign rpmsg channel this sound card sits on.
|
||||
This property can be omitted if there is only one sound card and it sits
|
||||
on "rpmsg-audio-channel".
|
||||
enum:
|
||||
- rpmsg-audio-channel
|
||||
- rpmsg-micfil-channel
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- model
|
||||
@ -107,3 +120,22 @@ examples:
|
||||
<&clk IMX8MN_AUDIO_PLL2_OUT>;
|
||||
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/clock/imx8mm-clock.h>
|
||||
|
||||
rpmsg_micfil: audio-controller {
|
||||
compatible = "fsl,imx8mm-rpmsg-audio";
|
||||
model = "micfil-audio";
|
||||
fsl,rpmsg-channel-name = "rpmsg-micfil-channel";
|
||||
fsl,enable-lpa;
|
||||
fsl,rpmsg-in;
|
||||
clocks = <&clk IMX8MM_CLK_PDM_IPG>,
|
||||
<&clk IMX8MM_CLK_PDM_ROOT>,
|
||||
<&clk IMX8MM_CLK_SDMA3_ROOT>,
|
||||
<&clk IMX8MM_AUDIO_PLL1_OUT>,
|
||||
<&clk IMX8MM_AUDIO_PLL2_OUT>;
|
||||
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
|
||||
};
|
||||
|
||||
...
|
||||
|
@ -18,14 +18,12 @@ description: |
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- fsl,vf610-sai
|
||||
- fsl,imx6sx-sai
|
||||
- fsl,imx6ul-sai
|
||||
- fsl,imx7ulp-sai
|
||||
- fsl,imx8mq-sai
|
||||
- fsl,imx8qm-sai
|
||||
- fsl,imx8ulp-sai
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6ul-sai
|
||||
- fsl,imx7d-sai
|
||||
- const: fsl,imx6sx-sai
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx8mm-sai
|
||||
@ -33,19 +31,18 @@ properties:
|
||||
- fsl,imx8mp-sai
|
||||
- const: fsl,imx8mq-sai
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6sx-sai
|
||||
- fsl,imx7ulp-sai
|
||||
- fsl,imx8mq-sai
|
||||
- fsl,imx8qm-sai
|
||||
- fsl,imx8ulp-sai
|
||||
- fsl,vf610-sai
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: receive and transmit interrupt
|
||||
|
||||
dmas:
|
||||
maxItems: 2
|
||||
|
||||
dma-names:
|
||||
maxItems: 2
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: The ipg clock for register access
|
||||
@ -67,7 +64,7 @@ properties:
|
||||
- const: mclk3
|
||||
- const: pll8k
|
||||
- const: pll11k
|
||||
minItems: 4
|
||||
minItems: 5
|
||||
- items:
|
||||
- const: bus
|
||||
- const: mclk1
|
||||
@ -77,19 +74,37 @@ properties:
|
||||
- const: pll11k
|
||||
minItems: 4
|
||||
|
||||
lsb-first:
|
||||
description: |
|
||||
Configures whether the LSB or the MSB is transmitted
|
||||
first for the fifo data. If this property is absent,
|
||||
the MSB is transmitted first as default, or the LSB
|
||||
is transmitted first.
|
||||
type: boolean
|
||||
dmas:
|
||||
maxItems: 2
|
||||
|
||||
dma-names:
|
||||
maxItems: 2
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: receive and transmit interrupt
|
||||
|
||||
big-endian:
|
||||
description: |
|
||||
required if all the SAI registers are big-endian rather than little-endian.
|
||||
type: boolean
|
||||
|
||||
fsl,dataline:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
description: |
|
||||
Configure the dataline. It has 3 value for each configuration
|
||||
maxItems: 16
|
||||
items:
|
||||
items:
|
||||
- description: format Default(0), I2S(1) or PDM(2)
|
||||
enum: [0, 1, 2]
|
||||
- description: dataline mask for 'rx'
|
||||
- description: dataline mask for 'tx'
|
||||
|
||||
fsl,sai-mclk-direction-output:
|
||||
description: SAI will output the SAI MCLK clock.
|
||||
type: boolean
|
||||
|
||||
fsl,sai-synchronous-rx:
|
||||
description: |
|
||||
SAI will work in the synchronous mode (sync Tx with Rx) which means
|
||||
@ -108,31 +123,24 @@ properties:
|
||||
of transmitter.
|
||||
type: boolean
|
||||
|
||||
fsl,dataline:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
description: |
|
||||
Configure the dataline. It has 3 value for each configuration
|
||||
maxItems: 16
|
||||
items:
|
||||
items:
|
||||
- description: format Default(0), I2S(1) or PDM(2)
|
||||
enum: [0, 1, 2]
|
||||
- description: dataline mask for 'rx'
|
||||
- description: dataline mask for 'tx'
|
||||
|
||||
fsl,sai-mclk-direction-output:
|
||||
description: SAI will output the SAI MCLK clock.
|
||||
type: boolean
|
||||
|
||||
fsl,shared-interrupt:
|
||||
description: Interrupt is shared with other modules.
|
||||
type: boolean
|
||||
|
||||
lsb-first:
|
||||
description: |
|
||||
Configures whether the LSB or the MSB is transmitted
|
||||
first for the fifo data. If this property is absent,
|
||||
the MSB is transmitted first as default, or the LSB
|
||||
is transmitted first.
|
||||
type: boolean
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
description: optional, some dts node didn't add it.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@ -168,13 +176,13 @@ allOf:
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- dmas
|
||||
- dma-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- dmas
|
||||
- dma-names
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -17,6 +17,9 @@ description: |
|
||||
subnode of a cros-ec node.
|
||||
(see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: google,cros-ec-codec
|
||||
@ -42,7 +45,7 @@ required:
|
||||
- compatible
|
||||
- '#sound-dai-cells'
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: Ingenic SoCs AC97 / I2S Controller (AIC) DT bindings
|
||||
maintainers:
|
||||
- Paul Cercueil <paul@crapouillou.net>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: '^audio-controller@'
|
||||
@ -37,15 +40,11 @@ properties:
|
||||
items:
|
||||
- description: AIC clock
|
||||
- description: I2S clock
|
||||
- description: EXT clock
|
||||
- description: PLL/2 clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: aic
|
||||
- const: i2s
|
||||
- const: ext
|
||||
- const: pll half
|
||||
|
||||
dmas:
|
||||
items:
|
||||
@ -57,7 +56,7 @@ properties:
|
||||
- const: rx
|
||||
- const: tx
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@ -82,10 +81,8 @@ examples:
|
||||
interrupts = <18>;
|
||||
|
||||
clocks = <&cgu JZ4740_CLK_AIC>,
|
||||
<&cgu JZ4740_CLK_I2S>,
|
||||
<&cgu JZ4740_CLK_EXT>,
|
||||
<&cgu JZ4740_CLK_PLL_HALF>;
|
||||
clock-names = "aic", "i2s", "ext", "pll half";
|
||||
<&cgu JZ4740_CLK_I2S>;
|
||||
clock-names = "aic", "i2s";
|
||||
|
||||
dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
|
||||
dma-names = "rx", "tx";
|
||||
|
@ -9,6 +9,9 @@ title: Ingenic JZ47xx internal codec DT bindings
|
||||
maintainers:
|
||||
- Paul Cercueil <paul@crapouillou.net>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: '^audio-codec@.*'
|
||||
@ -37,7 +40,7 @@ properties:
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
@ -13,6 +13,9 @@ maintainers:
|
||||
description: |
|
||||
Intel KeemBay I2S
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -64,7 +67,7 @@ required:
|
||||
- clock-names
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: Bluetooth SCO Audio Codec
|
||||
maintainers:
|
||||
- Mark Brown <broonie@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
'#sound-dai-cells':
|
||||
enum:
|
||||
@ -26,7 +29,7 @@ required:
|
||||
- '#sound-dai-cells'
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -10,7 +10,7 @@ maintainers:
|
||||
- Mark Brown <broonie@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -9,6 +9,9 @@ title: Marvel SSPA Digital Audio Interface Bindings
|
||||
maintainers:
|
||||
- Lubomir Rintel <lkundrak@v3.sk>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^audio-controller(@.*)?$"
|
||||
@ -73,7 +76,7 @@ required:
|
||||
- dma-names
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -1,28 +0,0 @@
|
||||
Maxim MAX98357A/MAX98360A audio DAC
|
||||
|
||||
This node models the Maxim MAX98357A/MAX98360A DAC.
|
||||
|
||||
Required properties:
|
||||
- compatible : "maxim,max98357a" for MAX98357A.
|
||||
"maxim,max98360a" for MAX98360A.
|
||||
|
||||
Optional properties:
|
||||
- sdmode-gpios : GPIO specifier for the chip's SD_MODE pin.
|
||||
If this option is not specified then driver does not manage
|
||||
the pin state (e.g. chip is always on).
|
||||
- sdmode-delay : specify delay time for SD_MODE pin.
|
||||
If this option is specified, which means it's required i2s clocks
|
||||
ready before SD_MODE is unmuted in order to avoid the speaker pop noise.
|
||||
It's observed that 5ms is sufficient.
|
||||
|
||||
Example:
|
||||
|
||||
max98357a {
|
||||
compatible = "maxim,max98357a";
|
||||
sdmode-gpios = <&qcom_pinmux 25 0>;
|
||||
};
|
||||
|
||||
max98360a {
|
||||
compatible = "maxim,max98360a";
|
||||
sdmode-gpios = <&qcom_pinmux 25 0>;
|
||||
};
|
@ -1,44 +0,0 @@
|
||||
Maxim MAX98504 class D mono speaker amplifier
|
||||
|
||||
This device supports I2C control interface and an IRQ output signal. It features
|
||||
a PCM and PDM digital audio interface (DAI) and a differential analog input.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "maxim,max98504"
|
||||
- reg : should contain the I2C slave device address
|
||||
- DVDD-supply, DIOVDD-supply, PVDD-supply: power supplies for the device,
|
||||
as covered in ../regulator/regulator.txt
|
||||
- interrupts : should specify the interrupt line the device is connected to,
|
||||
as described in ../interrupt-controller/interrupts.txt
|
||||
|
||||
Optional properties:
|
||||
|
||||
- maxim,brownout-threshold - the PVDD brownout threshold, the value must be
|
||||
from 0, 1...21 range, corresponding to 2.6V, 2.65V...3.65V voltage range
|
||||
- maxim,brownout-attenuation - the brownout attenuation to the speaker gain
|
||||
applied during the "attack hold" and "timed hold" phase, the value must be
|
||||
from 0...6 (dB) range
|
||||
- maxim,brownout-attack-hold-ms - the brownout attack hold phase time in ms,
|
||||
0...255 (VBATBROWN_ATTK_HOLD, register 0x0018)
|
||||
- maxim,brownout-timed-hold-ms - the brownout timed hold phase time in ms,
|
||||
0...255 (VBATBROWN_TIME_HOLD, register 0x0019)
|
||||
- maxim,brownout-release-rate-ms - the brownout release phase step time in ms,
|
||||
0...255 (VBATBROWN_RELEASE, register 0x001A)
|
||||
|
||||
The default value when the above properties are not specified is 0,
|
||||
the maxim,brownout-threshold property must be specified to actually enable
|
||||
the PVDD brownout protection.
|
||||
|
||||
Example:
|
||||
|
||||
max98504@31 {
|
||||
compatible = "maxim,max98504";
|
||||
reg = <0x31>;
|
||||
interrupt-parent = <&gpio_bank_0>;
|
||||
interrupts = <2 0>;
|
||||
|
||||
DVDD-supply = <®ulator>;
|
||||
DIOVDD-supply = <®ulator>;
|
||||
PVDD-supply = <®ulator>;
|
||||
};
|
52
Documentation/devicetree/bindings/sound/maxim,max98357a.yaml
Normal file
52
Documentation/devicetree/bindings/sound/maxim,max98357a.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/maxim,max98357a.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX98357A/MAX98360A amplifier
|
||||
|
||||
maintainers:
|
||||
- Tzung-Bi Shih <tzungbi@kernel.org>
|
||||
|
||||
description:
|
||||
Maxim Integrated MAX98357A/MAX98360A is a digital pulse-code modulation (PCM)
|
||||
input Class D amplifier.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max98357a
|
||||
- maxim,max98360a
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
sdmode-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
Chip's SD_MODE pin. If missing the chip is always on.
|
||||
|
||||
sdmode-delay:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Delay time for SD_MODE pin changes intended to make I2S clocks ready
|
||||
before SD_MODE is unmuted in order to avoid the speaker pop noise.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
amplifier {
|
||||
compatible = "maxim,max98360a";
|
||||
#sound-dai-cells = <0>;
|
||||
sdmode-gpios = <&qcom_pinmux 25 GPIO_ACTIVE_HIGH>;
|
||||
};
|
86
Documentation/devicetree/bindings/sound/maxim,max98504.yaml
Normal file
86
Documentation/devicetree/bindings/sound/maxim,max98504.yaml
Normal file
@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/maxim,max98504.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX98504 class D mono speaker amplifier
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
|
||||
description:
|
||||
Maxim Integrated MAX98504 speaker amplifier supports I2C control interface
|
||||
with an IRQ output signal, PCM and PDM digital audio interface (DAI) and a
|
||||
differential analog input.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max98504
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
DIOVDD-supply: true
|
||||
DVDD-supply: true
|
||||
PVDD-supply: true
|
||||
|
||||
maxim,brownout-threshold:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 21
|
||||
default: 0
|
||||
description:
|
||||
PVDD brownout threshold, where values correspond to 2.6V, 2.65V...3.65V
|
||||
voltage range. Property also enables the PVDD brownout protection.
|
||||
|
||||
maxim,brownout-attenuation:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 6
|
||||
default: 0
|
||||
description:
|
||||
Brownout attenuation to the speaker gain applied during the "attack hold"
|
||||
and "timed hold" phase, the value must be from 0...6 (dB) range.
|
||||
|
||||
maxim,brownout-attack-hold-ms:
|
||||
maximum: 255
|
||||
default: 0
|
||||
description:
|
||||
Brownout attack hold phase time in ms, VBATBROWN_ATTK_HOLD, register 0x0018.
|
||||
|
||||
maxim,brownout-timed-hold-ms:
|
||||
maximum: 255
|
||||
default: 0
|
||||
description:
|
||||
Brownout timed hold phase time in ms, VBATBROWN_TIME_HOLD, register 0x0019.
|
||||
|
||||
maxim,brownout-release-rate-ms:
|
||||
maximum: 255
|
||||
default: 0
|
||||
description:
|
||||
Brownout release phase step time in ms, VBATBROWN_RELEASE, register 0x001A.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
amplifier@31 {
|
||||
compatible = "maxim,max98504";
|
||||
reg = <0x31>;
|
||||
|
||||
DIOVDD-supply = <&ldo3_reg>;
|
||||
DVDD-supply = <&ldo3_reg>;
|
||||
};
|
||||
};
|
@ -66,13 +66,15 @@ properties:
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 0
|
||||
|
||||
if:
|
||||
properties:
|
||||
compatible:
|
||||
const: microchip,sam9x60-i2smcc
|
||||
then:
|
||||
properties:
|
||||
microchip,tdm-data-pair: false
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: microchip,sam9x60-i2smcc
|
||||
then:
|
||||
properties:
|
||||
microchip,tdm-data-pair: false
|
||||
|
||||
required:
|
||||
- "#sound-dai-cells"
|
||||
@ -84,7 +86,7 @@ required:
|
||||
- dmas
|
||||
- dma-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -13,6 +13,9 @@ description:
|
||||
The Microchip Sony/Philips Digital Interface Transmitter is a serial port
|
||||
compliant with the IEC-60958 standard.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
@ -53,7 +56,7 @@ required:
|
||||
- dmas
|
||||
- dma-names
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -13,6 +13,9 @@ description:
|
||||
The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4
|
||||
digital microphones having Pulse Density Modulated (PDM) outputs.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: microchip,sama7g5-pdmc
|
||||
@ -75,7 +78,7 @@ required:
|
||||
- dma-names
|
||||
- microchip,mic-pos
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -21,6 +21,13 @@ properties:
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||
description: The phandle of MT8186 ASoC platform.
|
||||
|
||||
dmic-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
dmic-gpios optional prop for switching between two DMICs.
|
||||
Ex, the GPIO can control a MUX HW component to select
|
||||
dmic clk and data form a Front or Rear dmic.
|
||||
|
||||
headset-codec:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
@ -63,14 +70,19 @@ required:
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
sound: mt8186-sound {
|
||||
compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
|
||||
mediatek,platform = <&afe>;
|
||||
pinctrl-names = "aud_clk_mosi_off",
|
||||
"aud_clk_mosi_on";
|
||||
"aud_clk_mosi_on",
|
||||
"aud_gpio_dmic_sec";
|
||||
pinctrl-0 = <&aud_clk_mosi_off>;
|
||||
pinctrl-1 = <&aud_clk_mosi_on>;
|
||||
pinctrl-2 = <&aud_gpio_dmic_sec>;
|
||||
|
||||
dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
headset-codec {
|
||||
sound-dai = <&rt5682s>;
|
||||
|
@ -34,7 +34,7 @@ properties:
|
||||
|
||||
properties:
|
||||
sound-dai:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
maxItems: 1
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
@ -48,7 +48,6 @@ properties:
|
||||
maxItems: 2
|
||||
items:
|
||||
maxItems: 1
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
|
@ -6,9 +6,14 @@ Required properties:
|
||||
"marvell,kirkwood-audio" for Kirkwood platforms
|
||||
"marvell,dove-audio" for Dove platforms
|
||||
"marvell,armada370-audio" for Armada 370 platforms
|
||||
"marvell,armada-380-audio" for Armada 38x platforms
|
||||
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
region (named "i2s_regs").
|
||||
With "marvell,armada-380-audio" two other regions are required:
|
||||
first of those is dedicated for Audio PLL Configuration registers
|
||||
(named "pll_regs") and the second one ("soc_ctrl") - for register
|
||||
where one of exceptive I/O types (I2S or S/PDIF) is set.
|
||||
|
||||
- interrupts:
|
||||
with "marvell,kirkwood-audio", the audio interrupt
|
||||
@ -23,6 +28,13 @@ Required properties:
|
||||
"internal" for the internal clock
|
||||
"extclk" for the external clock
|
||||
|
||||
Optional properties:
|
||||
|
||||
- spdif-mode:
|
||||
Enable S/PDIF mode on Armada 38x SoC. Using this property
|
||||
disables standard I2S I/O. Valid only with "marvell,armada-380-audio"
|
||||
compatible string.
|
||||
|
||||
Example:
|
||||
|
||||
i2s1: audio-controller@b4000 {
|
||||
|
@ -2,6 +2,7 @@ Nuvoton NAU8315 Mono Class-D Amplifier
|
||||
|
||||
Required properties:
|
||||
- compatible : "nuvoton,nau8315"
|
||||
"nuvoton,nau8318"
|
||||
|
||||
Optional properties:
|
||||
- enable-gpios : GPIO specifier for the chip's device enable input(EN) pin.
|
||||
@ -16,3 +17,8 @@ nau8315 {
|
||||
compatible = "nuvoton,nau8315";
|
||||
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
nau8318 {
|
||||
compatible = "nuvoton,nau8318";
|
||||
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
@ -23,7 +23,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -18,7 +18,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -16,6 +16,9 @@ maintainers:
|
||||
- Thierry Reding <treding@nvidia.com>
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra20-spdif
|
||||
@ -66,7 +69,7 @@ required:
|
||||
- dma-names
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -19,7 +19,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -18,7 +18,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -17,7 +17,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -17,7 +17,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -17,7 +17,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -20,7 +20,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -17,7 +17,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -17,7 +17,7 @@ maintainers:
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
@ -10,7 +10,7 @@ maintainers:
|
||||
- Stephan Gerhold <stephan@gerhold.net>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -109,9 +109,10 @@ required:
|
||||
- interrupt-names
|
||||
- '#sound-dai-cells'
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) RX Macro audio codec DT bindings
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -43,8 +46,7 @@ properties:
|
||||
- const: fsgen
|
||||
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: mclk
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 2
|
||||
@ -59,7 +61,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) TX Macro audio codec DT bindings
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -43,8 +46,7 @@ properties:
|
||||
- const: fsgen
|
||||
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: mclk
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 2
|
||||
@ -63,7 +65,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -39,8 +42,7 @@ properties:
|
||||
- const: mclk
|
||||
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: fsgen
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 2
|
||||
@ -62,7 +64,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -38,8 +41,7 @@ properties:
|
||||
- const: fsgen
|
||||
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: mclk
|
||||
maxItems: 1
|
||||
|
||||
qcom,dmic-sample-rate:
|
||||
description: dmic sample rate
|
||||
@ -53,7 +55,7 @@ required:
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -14,6 +14,9 @@ description:
|
||||
Qualcomm Audio Device Manager (Q6ADM) routing node represents routing
|
||||
specific configuration.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -26,27 +29,11 @@ required:
|
||||
- compatible
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@8 {
|
||||
compatible = "qcom,q6adm";
|
||||
reg = <APR_SVC_ADM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
routing {
|
||||
compatible = "qcom,q6adm-routing";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
routing {
|
||||
compatible = "qcom,q6adm-routing";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
51
Documentation/devicetree/bindings/sound/qcom,q6adm.yaml
Normal file
51
Documentation/devicetree/bindings/sound/qcom,q6adm.yaml
Normal file
@ -0,0 +1,51 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6adm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio Device Manager (Q6ADM)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6adm
|
||||
|
||||
routing:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6adm-routing.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP LPASS audio routing
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- routing
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
|
||||
apr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@8 {
|
||||
compatible = "qcom,q6adm";
|
||||
reg = <APR_SVC_ADM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
routing {
|
||||
compatible = "qcom,q6adm-routing";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
68
Documentation/devicetree/bindings/sound/qcom,q6afe.yaml
Normal file
68
Documentation/devicetree/bindings/sound/qcom,q6afe.yaml
Normal file
@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6afe.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio FrontEnd (Q6AFE)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6afe
|
||||
|
||||
clock-controller:
|
||||
$ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP LPASS clock controller
|
||||
|
||||
dais:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- dais
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||
apr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@4 {
|
||||
compatible = "qcom,q6afe";
|
||||
reg = <APR_SVC_AFE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
clock-controller {
|
||||
compatible = "qcom,q6afe-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6afe-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@22 {
|
||||
reg = <QUATERNARY_MI2S_RX>;
|
||||
qcom,sd-lines = <0 1 2 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -27,20 +27,7 @@ additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,gpr.h>
|
||||
gpr {
|
||||
compatible = "qcom,gpr";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||
|
||||
service@1 {
|
||||
compatible = "qcom,q6apm";
|
||||
reg = <1>;
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6apm-dais";
|
||||
iommus = <&apps_smmu 0x1801 0x0>;
|
||||
};
|
||||
};
|
||||
dais {
|
||||
compatible = "qcom,q6apm-dais";
|
||||
iommus = <&apps_smmu 0x1801 0x0>;
|
||||
};
|
||||
|
@ -0,0 +1,35 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6apm-lpass-dais.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm DSP LPASS (Low Power Audio SubSystem) Audio Ports
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm-lpass-dais
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#sound-dai-cells'
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
dais {
|
||||
compatible = "qcom,q6apm-lpass-dais";
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
68
Documentation/devicetree/bindings/sound/qcom,q6apm.yaml
Normal file
68
Documentation/devicetree/bindings/sound/qcom,q6apm.yaml
Normal file
@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6apm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio Process Manager (Q6APM)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm
|
||||
|
||||
bedais:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6apm-lpass-dais.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
dais:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6apm-dai.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- bedais
|
||||
- dais
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,gpr.h>
|
||||
|
||||
gpr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@1 {
|
||||
reg = <GPR_APM_MODULE_IID>;
|
||||
compatible = "qcom,q6apm";
|
||||
#sound-dai-cells = <0>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6apm-dais";
|
||||
iommus = <&apps_smmu 0x1801 0x0>;
|
||||
};
|
||||
|
||||
bedais {
|
||||
compatible = "qcom,q6apm-lpass-dais";
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
@ -73,40 +73,24 @@ additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
iommus = <&apps_smmu 0x1821 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
service@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
iommus = <&apps_smmu 0x1821 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
dai@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
dai@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dai@2 {
|
||||
reg = <2>;
|
||||
is-compress-dai;
|
||||
direction = <1>;
|
||||
};
|
||||
};
|
||||
dai@2 {
|
||||
reg = <2>;
|
||||
is-compress-dai;
|
||||
direction = <1>;
|
||||
};
|
||||
};
|
||||
|
68
Documentation/devicetree/bindings/sound/qcom,q6asm.yaml
Normal file
68
Documentation/devicetree/bindings/sound/qcom,q6asm.yaml
Normal file
@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6asm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio Stream Manager (Q6ASM)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6asm
|
||||
|
||||
dais:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6asm-dais.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- dais
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
|
||||
apr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
iommus = <&apps_smmu 0x1821 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
dai@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dai@2 {
|
||||
reg = <2>;
|
||||
is-compress-dai;
|
||||
direction = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
39
Documentation/devicetree/bindings/sound/qcom,q6core.yaml
Normal file
39
Documentation/devicetree/bindings/sound/qcom,q6core.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6core.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio Core (Q6Core)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6core
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
|
||||
apr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@3 {
|
||||
compatible = "qcom,q6core";
|
||||
reg = <APR_SVC_ADSP_CORE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
};
|
||||
};
|
@ -35,41 +35,7 @@ additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@4 {
|
||||
compatible = "qcom,q6afe";
|
||||
reg = <APR_SVC_AFE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
clock-controller {
|
||||
compatible = "qcom,q6afe-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,gpr.h>
|
||||
gpr {
|
||||
compatible = "qcom,gpr";
|
||||
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@2 {
|
||||
reg = <GPR_PRM_MODULE_IID>;
|
||||
compatible = "qcom,q6prm";
|
||||
|
||||
clock-controller {
|
||||
compatible = "qcom,q6prm-lpass-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
};
|
||||
clock-controller {
|
||||
compatible = "qcom,q6afe-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
@ -16,7 +16,6 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6afe-dais
|
||||
- qcom,q6apm-lpass-dais
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
@ -150,54 +149,16 @@ additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6afe-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
service@4 {
|
||||
compatible = "qcom,q6afe";
|
||||
reg = <APR_SVC_AFE>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6afe-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@22 {
|
||||
reg = <QUATERNARY_MI2S_RX>;
|
||||
qcom,sd-lines = <0 1 2 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,gpr.h>
|
||||
gpr {
|
||||
compatible = "qcom,gpr";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||
|
||||
service@1 {
|
||||
compatible = "qcom,q6apm";
|
||||
reg = <GPR_APM_MODULE_IID>;
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6apm-lpass-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@22 {
|
||||
reg = <QUATERNARY_MI2S_RX>;
|
||||
qcom,sd-lines = <0 1 2 3>;
|
||||
};
|
||||
};
|
||||
dai@22 {
|
||||
reg = <QUATERNARY_MI2S_RX>;
|
||||
qcom,sd-lines = <0 1 2 3>;
|
||||
};
|
||||
};
|
||||
|
50
Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
Normal file
50
Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6prm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Proxy Resource Manager (Q6PRM)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6prm
|
||||
|
||||
clock-controller:
|
||||
$ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP LPASS clock controller
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- clock-controller
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,gpr.h>
|
||||
|
||||
gpr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@2 {
|
||||
reg = <GPR_PRM_MODULE_IID>;
|
||||
compatible = "qcom,q6prm";
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
clock-controller {
|
||||
compatible = "qcom,q6prm-lpass-clocks";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
};
|
||||
};
|
@ -109,7 +109,7 @@ audio-codec@1{
|
||||
reg = <1 0>;
|
||||
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "intr2"
|
||||
reset-gpios = <&msmgpio 64 0>;
|
||||
reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>;
|
||||
slim-ifc-dev = <&wc9335_ifd>;
|
||||
clock-names = "mclk", "native";
|
||||
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
|
||||
|
@ -13,6 +13,9 @@ description: |
|
||||
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
|
||||
It has RX and TX Soundwire slave devices.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -106,7 +109,7 @@ required:
|
||||
- qcom,micbias4-microvolt
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user