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>
|
Colin Ian King <colin.i.king@gmail.com> <colin.king@canonical.com>
|
||||||
Corey Minyard <minyard@acm.org>
|
Corey Minyard <minyard@acm.org>
|
||||||
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
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@googlemail.com>
|
||||||
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@iogearbox.net>
|
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@iogearbox.net>
|
||||||
Daniel Borkmann <daniel@iogearbox.net> <daniel.borkmann@tik.ee.ethz.ch>
|
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>
|
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
|
||||||
Praveen BP <praveenbp@ti.com>
|
Praveen BP <praveenbp@ti.com>
|
||||||
Punit Agrawal <punitagrawal@gmail.com> <punit.agrawal@arm.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 Monnet <quentin@isovalent.com> <quentin.monnet@netronome.com>
|
||||||
Quentin Perret <qperret@qperret.net> <quentin.perret@arm.com>
|
Quentin Perret <qperret@qperret.net> <quentin.perret@arm.com>
|
||||||
Rafael J. Wysocki <rjw@rjwysocki.net> <rjw@sisk.pl>
|
Rafael J. Wysocki <rjw@rjwysocki.net> <rjw@sisk.pl>
|
||||||
|
9
CREDITS
9
CREDITS
@ -918,6 +918,11 @@ S: Ottawa, Ontario
|
|||||||
S: K1N 6Z9
|
S: K1N 6Z9
|
||||||
S: CANADA
|
S: CANADA
|
||||||
|
|
||||||
|
N: Vivien Didelot
|
||||||
|
E: vivien.didelot@gmail.com
|
||||||
|
D: DSA framework and MV88E6XXX driver
|
||||||
|
S: Montreal, Quebec, Canada
|
||||||
|
|
||||||
N: Jeff Dike
|
N: Jeff Dike
|
||||||
E: jdike@karaya.com
|
E: jdike@karaya.com
|
||||||
W: http://user-mode-linux.sourceforge.net
|
W: http://user-mode-linux.sourceforge.net
|
||||||
@ -2447,6 +2452,10 @@ S: 482 Shadowgraph Dr.
|
|||||||
S: San Jose, CA 95110
|
S: San Jose, CA 95110
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
N: Michal Marek
|
||||||
|
E: michal.lkml@markovi.net
|
||||||
|
D: Kbuild Maintainer 2009-2017
|
||||||
|
|
||||||
N: Martin Mares
|
N: Martin Mares
|
||||||
E: mj@ucw.cz
|
E: mj@ucw.cz
|
||||||
W: http://www.ucw.cz/~mj/
|
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/
|
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
|
Date: August 2022
|
||||||
Contact: Linux memory management mailing list <linux-mm@kvack.org>
|
Contact: Linux memory management mailing list <linux-mm@kvack.org>
|
||||||
Description: Directory with details of a specific memory tier
|
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
|
A smaller value of N implies a higher (faster) memory tier in the
|
||||||
hierarchy.
|
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
|
:maxdepth: 1
|
||||||
|
|
||||||
initrd_table_override
|
initrd_table_override
|
||||||
dsdt-override
|
|
||||||
ssdt-overlays
|
ssdt-overlays
|
||||||
cppc_sysfs
|
cppc_sysfs
|
||||||
fan_performance_states
|
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
|
also gain new certificates at run time if they are signed by a certificate
|
||||||
already in the secondary trusted keyring.
|
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
|
Theory of operation
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
@ -1318,7 +1318,7 @@ instance. This setup would require the following commands:
|
|||||||
$ v4l2-ctl -d2 -i2
|
$ v4l2-ctl -d2 -i2
|
||||||
$ v4l2-ctl -d2 -c horizontal_movement=4
|
$ v4l2-ctl -d2 -c horizontal_movement=4
|
||||||
$ v4l2-ctl -d1 --overlay=1
|
$ 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
|
$ v4l2-ctl -d2 --stream-mmap --overlay=1
|
||||||
|
|
||||||
And from another console:
|
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
|
- SMCR_EL2.LEN must be initialised to the same value for all CPUs the
|
||||||
kernel will execute on.
|
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)
|
For CPUs with the Scalable Matrix Extension FA64 feature (FEAT_SME_FA64)
|
||||||
|
|
||||||
- If EL3 is present:
|
- 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::
|
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
|
(See Table C5-6 'System instruction encodings for non-Debug System
|
||||||
register accesses' in ARMv8 ARM DDI 0487A.h, for the list of
|
register accesses' in ARMv8 ARM DDI 0487A.h, for the list of
|
||||||
@ -293,6 +293,42 @@ infrastructure:
|
|||||||
| WFXT | [3-0] | y |
|
| 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
|
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
|
For retrieving device info via ``ublksrv_ctrl_dev_info``. It is the server's
|
||||||
responsibility to save IO target specific info in userspace.
|
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
|
Data plane
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
@ -118,6 +118,12 @@ Text Searching
|
|||||||
CRC and Math Functions in Linux
|
CRC and Math Functions in Linux
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
|
Arithmetic Overflow Checking
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. kernel-doc:: include/linux/overflow.h
|
||||||
|
:internal:
|
||||||
|
|
||||||
CRC Functions
|
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.
|
copied to another memory location before use.
|
||||||
|
|
||||||
A use of uninitialized value ``v`` is reported by KMSAN in the following cases:
|
A use of uninitialized value ``v`` is reported by KMSAN in the following cases:
|
||||||
|
|
||||||
- in a condition, e.g. ``if (v) { ... }``;
|
- in a condition, e.g. ``if (v) { ... }``;
|
||||||
- in an indexing or pointer dereferencing, e.g. ``array[v]`` or ``*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, ...)``;
|
- 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>
|
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: /schemas/sound/name-prefix.yaml#
|
- $ref: /schemas/sound/dai-common.yaml#
|
||||||
|
|
||||||
description: |
|
description: |
|
||||||
The Amlogic Meson Synopsys Designware Integration is composed of
|
The Amlogic Meson Synopsys Designware Integration is composed of
|
||||||
|
@ -15,9 +15,22 @@ description:
|
|||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
oneOf:
|
||||||
- qcom,sfpb-mutex
|
- enum:
|
||||||
- qcom,tcsr-mutex
|
- 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:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
@ -34,9 +47,9 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
tcsr_mutex: hwlock@1f40000 {
|
hwlock@1f40000 {
|
||||||
compatible = "qcom,tcsr-mutex";
|
compatible = "qcom,tcsr-mutex";
|
||||||
reg = <0x01f40000 0x40000>;
|
reg = <0x01f40000 0x40000>;
|
||||||
#hwlock-cells = <1>;
|
#hwlock-cells = <1>;
|
||||||
};
|
};
|
||||||
...
|
...
|
||||||
|
@ -16,8 +16,11 @@ description:
|
|||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
oneOf:
|
||||||
- const: goodix,gt7375p
|
- const: goodix,gt7375p
|
||||||
|
- items:
|
||||||
|
- const: goodix,gt7986u
|
||||||
|
- const: goodix,gt7375p
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
enum:
|
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: true
|
||||||
|
|
||||||
nvmem-cells-names: true
|
nvmem-cell-names: true
|
||||||
|
|
||||||
phy-connection-type:
|
phy-connection-type:
|
||||||
enum:
|
enum:
|
||||||
|
@ -8,7 +8,6 @@ title: Samsung S3FWRN5 NCI NFC Controller
|
|||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||||
- Krzysztof Opasiak <k.opasiak@samsung.com>
|
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -274,10 +274,6 @@ patternProperties:
|
|||||||
slew-rate:
|
slew-rate:
|
||||||
enum: [0, 1]
|
enum: [0, 1]
|
||||||
|
|
||||||
output-enable:
|
|
||||||
description:
|
|
||||||
This will internally disable the tri-state for MIO pins.
|
|
||||||
|
|
||||||
drive-strength:
|
drive-strength:
|
||||||
description:
|
description:
|
||||||
Selects the drive strength for MIO pins, in mA.
|
Selects the drive strength for MIO pins, in mA.
|
||||||
|
@ -81,6 +81,9 @@ properties:
|
|||||||
|
|
||||||
power-supply: true
|
power-supply: true
|
||||||
|
|
||||||
|
power-domains:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
resets:
|
resets:
|
||||||
description: |
|
description: |
|
||||||
A number of phandles to resets that need to be asserted during
|
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:
|
qcom,glink-channels:
|
||||||
$ref: /schemas/types.yaml#/definitions/string-array
|
$ref: /schemas/types.yaml#/definitions/string-array
|
||||||
description: Channel name used for the communication
|
description: Channel name used for the communication
|
||||||
items:
|
maxItems: 1
|
||||||
- const: apr_audio_svc
|
|
||||||
|
|
||||||
qcom,intents:
|
qcom,intents:
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
@ -81,12 +80,13 @@ properties:
|
|||||||
'#size-cells':
|
'#size-cells':
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
#APR/GPR Services
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^service@[1-9a-d]$":
|
"^service@[1-9a-d]$":
|
||||||
type: object
|
type: object
|
||||||
|
$ref: /schemas/soc/qcom/qcom,apr-services.yaml
|
||||||
|
additionalProperties: true
|
||||||
description:
|
description:
|
||||||
APR/GPR node's client devices use subnodes for desired static port services.
|
APR/GPR static port services.
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -98,99 +98,6 @@ patternProperties:
|
|||||||
- qcom,q6apm
|
- qcom,q6apm
|
||||||
- qcom,q6prm
|
- 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:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- qcom,domain
|
- qcom,domain
|
||||||
@ -203,7 +110,15 @@ allOf:
|
|||||||
- qcom,gpr
|
- qcom,gpr
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
|
qcom,glink-channels:
|
||||||
|
items:
|
||||||
|
- const: adsp_apps
|
||||||
power-domains: false
|
power-domains: false
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
qcom,glink-channels:
|
||||||
|
items:
|
||||||
|
- const: apr_audio_svc
|
||||||
|
|
||||||
- if:
|
- if:
|
||||||
required:
|
required:
|
||||||
@ -227,31 +142,35 @@ examples:
|
|||||||
apr {
|
apr {
|
||||||
compatible = "qcom,apr-v2";
|
compatible = "qcom,apr-v2";
|
||||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||||
|
qcom,glink-channels = "apr_audio_svc";
|
||||||
|
qcom,intents = <512 20>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
q6core: service@3 {
|
q6core: service@3 {
|
||||||
compatible = "qcom,q6core";
|
compatible = "qcom,q6core";
|
||||||
reg = <APR_SVC_ADSP_CORE>;
|
reg = <APR_SVC_ADSP_CORE>;
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
};
|
};
|
||||||
|
|
||||||
q6afe: service@4 {
|
service@4 {
|
||||||
compatible = "qcom,q6afe";
|
compatible = "qcom,q6afe";
|
||||||
reg = <APR_SVC_AFE>;
|
reg = <APR_SVC_AFE>;
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
};
|
|
||||||
|
|
||||||
q6asm: service@7 {
|
clock-controller {
|
||||||
compatible = "qcom,q6asm";
|
compatible = "qcom,q6afe-clocks";
|
||||||
reg = <APR_SVC_ASM>;
|
#clock-cells = <2>;
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
q6adm: service@8 {
|
dais {
|
||||||
compatible = "qcom,q6adm";
|
compatible = "qcom,q6afe-dais";
|
||||||
reg = <APR_SVC_ADM>;
|
#address-cells = <1>;
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
#size-cells = <0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
/* ... */
|
||||||
|
};
|
||||||
|
/* ... */
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -260,12 +179,25 @@ examples:
|
|||||||
gpr {
|
gpr {
|
||||||
compatible = "qcom,gpr";
|
compatible = "qcom,gpr";
|
||||||
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||||
|
qcom,glink-channels = "adsp_apps";
|
||||||
|
qcom,intents = <512 20>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
service@1 {
|
service@1 {
|
||||||
compatible = "qcom,q6apm";
|
compatible = "qcom,q6apm";
|
||||||
reg = <GPR_APM_MODULE_IID>;
|
reg = <GPR_APM_MODULE_IID>;
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
#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
|
title: Analog Devices ADAU1372 CODEC
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Alexandre Belloni <alexandre.belloni@bootlin.om>
|
- Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
|
|
||||||
description: |
|
description: |
|
||||||
Analog Devices ADAU1372 four inputs and two outputs codec.
|
Analog Devices ADAU1372 four inputs and two outputs codec.
|
||||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -42,7 +45,7 @@ required:
|
|||||||
- clocks
|
- clocks
|
||||||
- clock-names
|
- clock-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -51,6 +51,7 @@ required:
|
|||||||
- AVDD-supply
|
- AVDD-supply
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
@ -15,6 +15,9 @@ description: |
|
|||||||
standalone mode.
|
standalone mode.
|
||||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -57,7 +60,7 @@ required:
|
|||||||
- iovdd-supply
|
- iovdd-supply
|
||||||
- dvdd-supply
|
- dvdd-supply
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: AK4375 DAC and headphones amplifier
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Vincent Knecht <vincent.knecht@mailoo.org>
|
- Vincent Knecht <vincent.knecht@mailoo.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: asahi-kasei,ak4375
|
const: asahi-kasei,ak4375
|
||||||
@ -35,7 +38,7 @@ required:
|
|||||||
- avdd-supply
|
- avdd-supply
|
||||||
- tvdd-supply
|
- tvdd-supply
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: AK4613 I2C transmitter
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: asahi-kasei,ak4613
|
const: asahi-kasei,ak4613
|
||||||
@ -35,7 +38,7 @@ required:
|
|||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: AK4642 I2C transmitter
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -37,7 +40,7 @@ required:
|
|||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -102,6 +102,7 @@ required:
|
|||||||
- dma-names
|
- dma-names
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -228,7 +229,7 @@ allOf:
|
|||||||
- Mic
|
- Mic
|
||||||
- Speaker
|
- Speaker
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -61,6 +61,7 @@ properties:
|
|||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -128,7 +129,7 @@ required:
|
|||||||
- dmas
|
- dmas
|
||||||
- dma-names
|
- dma-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -54,6 +54,7 @@ properties:
|
|||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -104,7 +105,7 @@ required:
|
|||||||
- dmas
|
- dmas
|
||||||
- dma-names
|
- dma-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,9 +9,17 @@ title: Allwinner H6 DMIC
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Ban Tao <fengzheng923@gmail.com>
|
- Ban Tao <fengzheng923@gmail.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
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":
|
"#sound-dai-cells":
|
||||||
const: 0
|
const: 0
|
||||||
@ -54,7 +62,7 @@ required:
|
|||||||
- dma-names
|
- dma-names
|
||||||
- resets
|
- resets
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -10,6 +10,9 @@ maintainers:
|
|||||||
- Chen-Yu Tsai <wens@csie.org>
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
- Maxime Ripard <mripard@kernel.org>
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
"#sound-dai-cells":
|
"#sound-dai-cells":
|
||||||
minimum: 0
|
minimum: 0
|
||||||
@ -49,7 +52,7 @@ required:
|
|||||||
- clocks
|
- clocks
|
||||||
- clock-names
|
- clock-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -10,7 +10,7 @@ maintainers:
|
|||||||
- Jerome Brunet <jbrunet@baylibre.com>
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -10,7 +10,7 @@ maintainers:
|
|||||||
- Jerome Brunet <jbrunet@baylibre.com>
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -10,7 +10,7 @@ maintainers:
|
|||||||
- Jerome Brunet <jbrunet@baylibre.com>
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -14,6 +14,9 @@ description: |
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Martin Povišer <povik+lin@cutebit.org>
|
- Martin Povišer <povik+lin@cutebit.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
items:
|
||||||
@ -106,7 +109,7 @@ required:
|
|||||||
- power-domains
|
- power-domains
|
||||||
- '#sound-dai-cells'
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -15,7 +15,7 @@ description:
|
|||||||
function (primarily the power limit for the amplifier).
|
function (primarily the power limit for the amplifier).
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -146,6 +146,7 @@ required:
|
|||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
cirrus,boost-type:
|
cirrus,boost-type:
|
||||||
@ -171,7 +172,7 @@ allOf:
|
|||||||
cirrus,gpio1-src-select:
|
cirrus,gpio1-src-select:
|
||||||
enum: [1]
|
enum: [1]
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -14,6 +14,9 @@ description: |
|
|||||||
CS35L45 is a Boosted Mono Class D Amplifier with DSP
|
CS35L45 is a Boosted Mono Class D Amplifier with DSP
|
||||||
Speaker Protection and Adaptive Battery Management.
|
Speaker Protection and Adaptive Battery Management.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -52,7 +55,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: CS42L51 audio codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Olivier Moysan <olivier.moysan@foss.st.com>
|
- Olivier Moysan <olivier.moysan@foss.st.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: cirrus,cs42l51
|
const: cirrus,cs42l51
|
||||||
@ -46,7 +49,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -24,6 +24,9 @@ description: |
|
|||||||
This binding must be part of the Lochnagar MFD binding:
|
This binding must be part of the Lochnagar MFD binding:
|
||||||
[1] ../mfd/cirrus,lochnagar.yaml
|
[1] ../mfd/cirrus,lochnagar.yaml
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -49,4 +52,4 @@ required:
|
|||||||
- clocks
|
- clocks
|
||||||
- clock-names
|
- clock-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
@ -22,6 +22,9 @@ description: |
|
|||||||
|
|
||||||
The properties are all contained in the parent MFD node.
|
The properties are all contained in the parent MFD node.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
description:
|
description:
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
%YAML 1.2
|
%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#
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
title: Component sound name prefix
|
title: Digital Audio Interface Common Properties
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Jerome Brunet <jbrunet@baylibre.com>
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
@ -18,4 +18,6 @@ properties:
|
|||||||
sink/source names may use this property to prepend the name of their
|
sink/source names may use this property to prepend the name of their
|
||||||
sinks/sources with the provided string.
|
sinks/sources with the provided string.
|
||||||
|
|
||||||
|
'#sound-dai-cells': true
|
||||||
|
|
||||||
additionalProperties: true
|
additionalProperties: true
|
@ -167,6 +167,7 @@ required:
|
|||||||
- interrupt-names
|
- interrupt-names
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
opmode:
|
opmode:
|
||||||
@ -177,7 +178,7 @@ allOf:
|
|||||||
required:
|
required:
|
||||||
- tdm-slots
|
- tdm-slots
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
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>
|
- Daniel Drake <drake@endlessm.com>
|
||||||
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
|
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: everest,es8316
|
const: everest,es8316
|
||||||
@ -33,7 +36,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -18,6 +18,7 @@ properties:
|
|||||||
enum:
|
enum:
|
||||||
- fsl,imx8mm-micfil
|
- fsl,imx8mm-micfil
|
||||||
- fsl,imx8mp-micfil
|
- fsl,imx8mp-micfil
|
||||||
|
- fsl,imx93-micfil
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -11,8 +11,11 @@ maintainers:
|
|||||||
|
|
||||||
description: |
|
description: |
|
||||||
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
|
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
|
are SAI, MICFIL, DMA controlled by Cortex M core. What we see from
|
||||||
side is a device which provides audio service by rpmsg channel.
|
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:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -85,6 +88,16 @@ properties:
|
|||||||
This is a boolean property. If present, the receiving function
|
This is a boolean property. If present, the receiving function
|
||||||
will be enabled.
|
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:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- model
|
- model
|
||||||
@ -107,3 +120,22 @@ examples:
|
|||||||
<&clk IMX8MN_AUDIO_PLL2_OUT>;
|
<&clk IMX8MN_AUDIO_PLL2_OUT>;
|
||||||
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
|
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:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
oneOf:
|
oneOf:
|
||||||
- enum:
|
- items:
|
||||||
- fsl,vf610-sai
|
- enum:
|
||||||
- fsl,imx6sx-sai
|
- fsl,imx6ul-sai
|
||||||
- fsl,imx6ul-sai
|
- fsl,imx7d-sai
|
||||||
- fsl,imx7ulp-sai
|
- const: fsl,imx6sx-sai
|
||||||
- fsl,imx8mq-sai
|
|
||||||
- fsl,imx8qm-sai
|
|
||||||
- fsl,imx8ulp-sai
|
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
- fsl,imx8mm-sai
|
- fsl,imx8mm-sai
|
||||||
@ -33,19 +31,18 @@ properties:
|
|||||||
- fsl,imx8mp-sai
|
- fsl,imx8mp-sai
|
||||||
- const: fsl,imx8mq-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:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
interrupts:
|
|
||||||
items:
|
|
||||||
- description: receive and transmit interrupt
|
|
||||||
|
|
||||||
dmas:
|
|
||||||
maxItems: 2
|
|
||||||
|
|
||||||
dma-names:
|
|
||||||
maxItems: 2
|
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
items:
|
items:
|
||||||
- description: The ipg clock for register access
|
- description: The ipg clock for register access
|
||||||
@ -67,7 +64,7 @@ properties:
|
|||||||
- const: mclk3
|
- const: mclk3
|
||||||
- const: pll8k
|
- const: pll8k
|
||||||
- const: pll11k
|
- const: pll11k
|
||||||
minItems: 4
|
minItems: 5
|
||||||
- items:
|
- items:
|
||||||
- const: bus
|
- const: bus
|
||||||
- const: mclk1
|
- const: mclk1
|
||||||
@ -77,19 +74,37 @@ properties:
|
|||||||
- const: pll11k
|
- const: pll11k
|
||||||
minItems: 4
|
minItems: 4
|
||||||
|
|
||||||
lsb-first:
|
dmas:
|
||||||
description: |
|
maxItems: 2
|
||||||
Configures whether the LSB or the MSB is transmitted
|
|
||||||
first for the fifo data. If this property is absent,
|
dma-names:
|
||||||
the MSB is transmitted first as default, or the LSB
|
maxItems: 2
|
||||||
is transmitted first.
|
|
||||||
type: boolean
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: receive and transmit interrupt
|
||||||
|
|
||||||
big-endian:
|
big-endian:
|
||||||
description: |
|
description: |
|
||||||
required if all the SAI registers are big-endian rather than little-endian.
|
required if all the SAI registers are big-endian rather than little-endian.
|
||||||
type: boolean
|
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:
|
fsl,sai-synchronous-rx:
|
||||||
description: |
|
description: |
|
||||||
SAI will work in the synchronous mode (sync Tx with Rx) which means
|
SAI will work in the synchronous mode (sync Tx with Rx) which means
|
||||||
@ -108,31 +123,24 @@ properties:
|
|||||||
of transmitter.
|
of transmitter.
|
||||||
type: boolean
|
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:
|
fsl,shared-interrupt:
|
||||||
description: Interrupt is shared with other modules.
|
description: Interrupt is shared with other modules.
|
||||||
type: boolean
|
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":
|
"#sound-dai-cells":
|
||||||
const: 0
|
const: 0
|
||||||
description: optional, some dts node didn't add it.
|
description: optional, some dts node didn't add it.
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -168,13 +176,13 @@ allOf:
|
|||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
- interrupts
|
|
||||||
- dmas
|
|
||||||
- dma-names
|
|
||||||
- clocks
|
- clocks
|
||||||
- clock-names
|
- clock-names
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- interrupts
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -17,6 +17,9 @@ description: |
|
|||||||
subnode of a cros-ec node.
|
subnode of a cros-ec node.
|
||||||
(see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
|
(see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: google,cros-ec-codec
|
const: google,cros-ec-codec
|
||||||
@ -42,7 +45,7 @@ required:
|
|||||||
- compatible
|
- compatible
|
||||||
- '#sound-dai-cells'
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: Ingenic SoCs AC97 / I2S Controller (AIC) DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Paul Cercueil <paul@crapouillou.net>
|
- Paul Cercueil <paul@crapouillou.net>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: '^audio-controller@'
|
pattern: '^audio-controller@'
|
||||||
@ -37,15 +40,11 @@ properties:
|
|||||||
items:
|
items:
|
||||||
- description: AIC clock
|
- description: AIC clock
|
||||||
- description: I2S clock
|
- description: I2S clock
|
||||||
- description: EXT clock
|
|
||||||
- description: PLL/2 clock
|
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
items:
|
items:
|
||||||
- const: aic
|
- const: aic
|
||||||
- const: i2s
|
- const: i2s
|
||||||
- const: ext
|
|
||||||
- const: pll half
|
|
||||||
|
|
||||||
dmas:
|
dmas:
|
||||||
items:
|
items:
|
||||||
@ -57,7 +56,7 @@ properties:
|
|||||||
- const: rx
|
- const: rx
|
||||||
- const: tx
|
- const: tx
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
@ -82,10 +81,8 @@ examples:
|
|||||||
interrupts = <18>;
|
interrupts = <18>;
|
||||||
|
|
||||||
clocks = <&cgu JZ4740_CLK_AIC>,
|
clocks = <&cgu JZ4740_CLK_AIC>,
|
||||||
<&cgu JZ4740_CLK_I2S>,
|
<&cgu JZ4740_CLK_I2S>;
|
||||||
<&cgu JZ4740_CLK_EXT>,
|
clock-names = "aic", "i2s";
|
||||||
<&cgu JZ4740_CLK_PLL_HALF>;
|
|
||||||
clock-names = "aic", "i2s", "ext", "pll half";
|
|
||||||
|
|
||||||
dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
|
dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
|
||||||
dma-names = "rx", "tx";
|
dma-names = "rx", "tx";
|
||||||
|
@ -9,6 +9,9 @@ title: Ingenic JZ47xx internal codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Paul Cercueil <paul@crapouillou.net>
|
- Paul Cercueil <paul@crapouillou.net>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: '^audio-codec@.*'
|
pattern: '^audio-codec@.*'
|
||||||
@ -37,7 +40,7 @@ properties:
|
|||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -13,6 +13,9 @@ maintainers:
|
|||||||
description: |
|
description: |
|
||||||
Intel KeemBay I2S
|
Intel KeemBay I2S
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -64,7 +67,7 @@ required:
|
|||||||
- clock-names
|
- clock-names
|
||||||
- interrupts
|
- interrupts
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: Bluetooth SCO Audio Codec
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Mark Brown <broonie@kernel.org>
|
- Mark Brown <broonie@kernel.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
enum:
|
enum:
|
||||||
@ -26,7 +29,7 @@ required:
|
|||||||
- '#sound-dai-cells'
|
- '#sound-dai-cells'
|
||||||
- compatible
|
- compatible
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -10,7 +10,7 @@ maintainers:
|
|||||||
- Mark Brown <broonie@kernel.org>
|
- Mark Brown <broonie@kernel.org>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -9,6 +9,9 @@ title: Marvel SSPA Digital Audio Interface Bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Lubomir Rintel <lkundrak@v3.sk>
|
- Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: "^audio-controller(@.*)?$"
|
pattern: "^audio-controller(@.*)?$"
|
||||||
@ -73,7 +76,7 @@ required:
|
|||||||
- dma-names
|
- dma-names
|
||||||
- port
|
- port
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
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]
|
enum: [0, 1, 2, 3]
|
||||||
default: 0
|
default: 0
|
||||||
|
|
||||||
if:
|
allOf:
|
||||||
properties:
|
- $ref: dai-common.yaml#
|
||||||
compatible:
|
- if:
|
||||||
const: microchip,sam9x60-i2smcc
|
properties:
|
||||||
then:
|
compatible:
|
||||||
properties:
|
const: microchip,sam9x60-i2smcc
|
||||||
microchip,tdm-data-pair: false
|
then:
|
||||||
|
properties:
|
||||||
|
microchip,tdm-data-pair: false
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
@ -84,7 +86,7 @@ required:
|
|||||||
- dmas
|
- dmas
|
||||||
- dma-names
|
- dma-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -13,6 +13,9 @@ description:
|
|||||||
The Microchip Sony/Philips Digital Interface Transmitter is a serial port
|
The Microchip Sony/Philips Digital Interface Transmitter is a serial port
|
||||||
compliant with the IEC-60958 standard.
|
compliant with the IEC-60958 standard.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
"#sound-dai-cells":
|
"#sound-dai-cells":
|
||||||
const: 0
|
const: 0
|
||||||
@ -53,7 +56,7 @@ required:
|
|||||||
- dmas
|
- dmas
|
||||||
- dma-names
|
- dma-names
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -13,6 +13,9 @@ description:
|
|||||||
The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4
|
The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4
|
||||||
digital microphones having Pulse Density Modulated (PDM) outputs.
|
digital microphones having Pulse Density Modulated (PDM) outputs.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: microchip,sama7g5-pdmc
|
const: microchip,sama7g5-pdmc
|
||||||
@ -75,7 +78,7 @@ required:
|
|||||||
- dma-names
|
- dma-names
|
||||||
- microchip,mic-pos
|
- microchip,mic-pos
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -21,6 +21,13 @@ properties:
|
|||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
description: The phandle of MT8186 ASoC platform.
|
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:
|
headset-codec:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
@ -63,14 +70,19 @@ required:
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
sound: mt8186-sound {
|
sound: mt8186-sound {
|
||||||
compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
|
compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
|
||||||
mediatek,platform = <&afe>;
|
mediatek,platform = <&afe>;
|
||||||
pinctrl-names = "aud_clk_mosi_off",
|
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-0 = <&aud_clk_mosi_off>;
|
||||||
pinctrl-1 = <&aud_clk_mosi_on>;
|
pinctrl-1 = <&aud_clk_mosi_on>;
|
||||||
|
pinctrl-2 = <&aud_gpio_dmic_sec>;
|
||||||
|
|
||||||
|
dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
headset-codec {
|
headset-codec {
|
||||||
sound-dai = <&rt5682s>;
|
sound-dai = <&rt5682s>;
|
||||||
|
@ -34,7 +34,7 @@ properties:
|
|||||||
|
|
||||||
properties:
|
properties:
|
||||||
sound-dai:
|
sound-dai:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle
|
maxItems: 1
|
||||||
required:
|
required:
|
||||||
- sound-dai
|
- sound-dai
|
||||||
|
|
||||||
@ -48,7 +48,6 @@ properties:
|
|||||||
maxItems: 2
|
maxItems: 2
|
||||||
items:
|
items:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
||||||
required:
|
required:
|
||||||
- sound-dai
|
- sound-dai
|
||||||
|
|
||||||
|
@ -6,9 +6,14 @@ Required properties:
|
|||||||
"marvell,kirkwood-audio" for Kirkwood platforms
|
"marvell,kirkwood-audio" for Kirkwood platforms
|
||||||
"marvell,dove-audio" for Dove platforms
|
"marvell,dove-audio" for Dove platforms
|
||||||
"marvell,armada370-audio" for Armada 370 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
|
- 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:
|
- interrupts:
|
||||||
with "marvell,kirkwood-audio", the audio interrupt
|
with "marvell,kirkwood-audio", the audio interrupt
|
||||||
@ -23,6 +28,13 @@ Required properties:
|
|||||||
"internal" for the internal clock
|
"internal" for the internal clock
|
||||||
"extclk" for the external 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:
|
Example:
|
||||||
|
|
||||||
i2s1: audio-controller@b4000 {
|
i2s1: audio-controller@b4000 {
|
||||||
|
@ -2,6 +2,7 @@ Nuvoton NAU8315 Mono Class-D Amplifier
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "nuvoton,nau8315"
|
- compatible : "nuvoton,nau8315"
|
||||||
|
"nuvoton,nau8318"
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
- enable-gpios : GPIO specifier for the chip's device enable input(EN) pin.
|
- enable-gpios : GPIO specifier for the chip's device enable input(EN) pin.
|
||||||
@ -16,3 +17,8 @@ nau8315 {
|
|||||||
compatible = "nuvoton,nau8315";
|
compatible = "nuvoton,nau8315";
|
||||||
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
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>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -18,7 +18,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -16,6 +16,9 @@ maintainers:
|
|||||||
- Thierry Reding <treding@nvidia.com>
|
- Thierry Reding <treding@nvidia.com>
|
||||||
- Jon Hunter <jonathanh@nvidia.com>
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: nvidia,tegra20-spdif
|
const: nvidia,tegra20-spdif
|
||||||
@ -66,7 +69,7 @@ required:
|
|||||||
- dma-names
|
- dma-names
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -19,7 +19,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -18,7 +18,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -17,7 +17,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -17,7 +17,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -17,7 +17,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -20,7 +20,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -17,7 +17,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -17,7 +17,7 @@ maintainers:
|
|||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
|
@ -10,7 +10,7 @@ maintainers:
|
|||||||
- Stephan Gerhold <stephan@gerhold.net>
|
- Stephan Gerhold <stephan@gerhold.net>
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: name-prefix.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -109,9 +109,10 @@ required:
|
|||||||
- interrupt-names
|
- interrupt-names
|
||||||
- '#sound-dai-cells'
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) RX Macro audio codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -43,8 +46,7 @@ properties:
|
|||||||
- const: fsgen
|
- const: fsgen
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
items:
|
maxItems: 1
|
||||||
- const: mclk
|
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
@ -59,7 +61,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) TX Macro audio codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -43,8 +46,7 @@ properties:
|
|||||||
- const: fsgen
|
- const: fsgen
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
items:
|
maxItems: 1
|
||||||
- const: mclk
|
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
@ -63,7 +65,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -39,8 +42,7 @@ properties:
|
|||||||
- const: mclk
|
- const: mclk
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
items:
|
maxItems: 1
|
||||||
- const: fsgen
|
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
@ -62,7 +64,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
|
|||||||
maintainers:
|
maintainers:
|
||||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -38,8 +41,7 @@ properties:
|
|||||||
- const: fsgen
|
- const: fsgen
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
items:
|
maxItems: 1
|
||||||
- const: mclk
|
|
||||||
|
|
||||||
qcom,dmic-sample-rate:
|
qcom,dmic-sample-rate:
|
||||||
description: dmic sample rate
|
description: dmic sample rate
|
||||||
@ -53,7 +55,7 @@ required:
|
|||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -14,6 +14,9 @@ description:
|
|||||||
Qualcomm Audio Device Manager (Q6ADM) routing node represents routing
|
Qualcomm Audio Device Manager (Q6ADM) routing node represents routing
|
||||||
specific configuration.
|
specific configuration.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -26,27 +29,11 @@ required:
|
|||||||
- compatible
|
- compatible
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/soc/qcom,apr.h>
|
routing {
|
||||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
compatible = "qcom,q6adm-routing";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
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>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
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:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/soc/qcom,gpr.h>
|
dais {
|
||||||
gpr {
|
compatible = "qcom,q6apm-dais";
|
||||||
compatible = "qcom,gpr";
|
iommus = <&apps_smmu 0x1801 0x0>;
|
||||||
#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>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -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:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/soc/qcom,apr.h>
|
dais {
|
||||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
compatible = "qcom,q6asm-dais";
|
||||||
|
iommus = <&apps_smmu 0x1821 0x0>;
|
||||||
apr {
|
|
||||||
compatible = "qcom,apr-v2";
|
|
||||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
service@7 {
|
dai@0 {
|
||||||
compatible = "qcom,q6asm";
|
reg = <0>;
|
||||||
reg = <APR_SVC_ASM>;
|
};
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
|
||||||
|
|
||||||
dais {
|
dai@1 {
|
||||||
compatible = "qcom,q6asm-dais";
|
reg = <1>;
|
||||||
iommus = <&apps_smmu 0x1821 0x0>;
|
};
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
|
|
||||||
dai@0 {
|
dai@2 {
|
||||||
reg = <0>;
|
reg = <2>;
|
||||||
};
|
is-compress-dai;
|
||||||
|
direction = <1>;
|
||||||
dai@1 {
|
|
||||||
reg = <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:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/soc/qcom,apr.h>
|
clock-controller {
|
||||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
compatible = "qcom,q6afe-clocks";
|
||||||
apr {
|
#clock-cells = <2>;
|
||||||
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>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,6 @@ properties:
|
|||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
- qcom,q6afe-dais
|
- qcom,q6afe-dais
|
||||||
- qcom,q6apm-lpass-dais
|
|
||||||
|
|
||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
const: 1
|
const: 1
|
||||||
@ -150,54 +149,16 @@ additionalProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/soc/qcom,apr.h>
|
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
|
||||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
|
||||||
apr {
|
dais {
|
||||||
compatible = "qcom,apr-v2";
|
compatible = "qcom,q6afe-dais";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
service@4 {
|
dai@22 {
|
||||||
compatible = "qcom,q6afe";
|
reg = <QUATERNARY_MI2S_RX>;
|
||||||
reg = <APR_SVC_AFE>;
|
qcom,sd-lines = <0 1 2 3>;
|
||||||
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>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
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>;
|
reg = <1 0>;
|
||||||
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupt-names = "intr2"
|
interrupt-names = "intr2"
|
||||||
reset-gpios = <&msmgpio 64 0>;
|
reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>;
|
||||||
slim-ifc-dev = <&wc9335_ifd>;
|
slim-ifc-dev = <&wc9335_ifd>;
|
||||||
clock-names = "mclk", "native";
|
clock-names = "mclk", "native";
|
||||||
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
|
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
|
||||||
|
@ -13,6 +13,9 @@ description: |
|
|||||||
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
|
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
|
||||||
It has RX and TX Soundwire slave devices.
|
It has RX and TX Soundwire slave devices.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
@ -106,7 +109,7 @@ required:
|
|||||||
- qcom,micbias4-microvolt
|
- qcom,micbias4-microvolt
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user