Merge branch 'for-next' into for-linus

This commit is contained in:
Takashi Iwai 2022-12-22 09:11:48 +01:00
commit 2d78eb0342
2072 changed files with 67710 additions and 51435 deletions

View File

@ -104,6 +104,7 @@ Christoph Hellwig <hch@lst.de>
Colin Ian King <colin.i.king@gmail.com> <colin.king@canonical.com>
Corey Minyard <minyard@acm.org>
Damian Hobson-Garcia <dhobsong@igel.co.jp>
Dan Carpenter <error27@gmail.com> <dan.carpenter@oracle.com>
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@googlemail.com>
Daniel Borkmann <daniel@iogearbox.net> <danborkmann@iogearbox.net>
Daniel Borkmann <daniel@iogearbox.net> <daniel.borkmann@tik.ee.ethz.ch>
@ -353,7 +354,8 @@ Peter Oruba <peter@oruba.de>
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
Praveen BP <praveenbp@ti.com>
Punit Agrawal <punitagrawal@gmail.com> <punit.agrawal@arm.com>
Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
Qais Yousef <qyousef@layalina.io> <qais.yousef@imgtec.com>
Qais Yousef <qyousef@layalina.io> <qais.yousef@arm.com>
Quentin Monnet <quentin@isovalent.com> <quentin.monnet@netronome.com>
Quentin Perret <qperret@qperret.net> <quentin.perret@arm.com>
Rafael J. Wysocki <rjw@rjwysocki.net> <rjw@sisk.pl>

View File

@ -918,6 +918,11 @@ S: Ottawa, Ontario
S: K1N 6Z9
S: CANADA
N: Vivien Didelot
E: vivien.didelot@gmail.com
D: DSA framework and MV88E6XXX driver
S: Montreal, Quebec, Canada
N: Jeff Dike
E: jdike@karaya.com
W: http://user-mode-linux.sourceforge.net
@ -2447,6 +2452,10 @@ S: 482 Shadowgraph Dr.
S: San Jose, CA 95110
S: USA
N: Michal Marek
E: michal.lkml@markovi.net
D: Kbuild Maintainer 2009-2017
N: Martin Mares
E: mj@ucw.cz
W: http://www.ucw.cz/~mj/

View File

@ -10,7 +10,7 @@ Description: A collection of all the memory tiers allocated.
What: /sys/devices/virtual/memory_tiering/memory_tierN/
/sys/devices/virtual/memory_tiering/memory_tierN/nodes
/sys/devices/virtual/memory_tiering/memory_tierN/nodelist
Date: August 2022
Contact: Linux memory management mailing list <linux-mm@kvack.org>
Description: Directory with details of a specific memory tier
@ -21,5 +21,5 @@ Description: Directory with details of a specific memory tier
A smaller value of N implies a higher (faster) memory tier in the
hierarchy.
nodes: NUMA nodes that are part of this memory tier.
nodelist: NUMA nodes that are part of this memory tier.

View File

@ -9,7 +9,6 @@ the Linux ACPI support.
:maxdepth: 1
initrd_table_override
dsdt-override
ssdt-overlays
cppc_sysfs
fan_performance_states

View File

@ -141,6 +141,10 @@ root_hash_sig_key_desc <key_description>
also gain new certificates at run time if they are signed by a certificate
already in the secondary trusted keyring.
try_verify_in_tasklet
If verity hashes are in cache, verify data blocks in kernel tasklet instead
of workqueue. This option can reduce IO latency.
Theory of operation
===================

View File

@ -1318,7 +1318,7 @@ instance. This setup would require the following commands:
$ v4l2-ctl -d2 -i2
$ v4l2-ctl -d2 -c horizontal_movement=4
$ v4l2-ctl -d1 --overlay=1
$ v4l2-ctl -d1 -c loop_video=1
$ v4l2-ctl -d0 -c loop_video=1
$ v4l2-ctl -d2 --stream-mmap --overlay=1
And from another console:

View File

@ -340,6 +340,14 @@ Before jumping into the kernel, the following conditions must be met:
- SMCR_EL2.LEN must be initialised to the same value for all CPUs the
kernel will execute on.
- HWFGRTR_EL2.nTPIDR2_EL0 (bit 55) must be initialised to 0b01.
- HWFGWTR_EL2.nTPIDR2_EL0 (bit 55) must be initialised to 0b01.
- HWFGRTR_EL2.nSMPRI_EL1 (bit 54) must be initialised to 0b01.
- HWFGWTR_EL2.nSMPRI_EL1 (bit 54) must be initialised to 0b01.
For CPUs with the Scalable Matrix Extension FA64 feature (FEAT_SME_FA64)
- If EL3 is present:

View File

@ -92,7 +92,7 @@ operation if the source belongs to the supported system register space.
The infrastructure emulates only the following system register space::
Op0=3, Op1=0, CRn=0, CRm=0,4,5,6,7
Op0=3, Op1=0, CRn=0, CRm=0,2,3,4,5,6,7
(See Table C5-6 'System instruction encodings for non-Debug System
register accesses' in ARMv8 ARM DDI 0487A.h, for the list of
@ -293,6 +293,42 @@ infrastructure:
| WFXT | [3-0] | y |
+------------------------------+---------+---------+
10) MVFR0_EL1 - AArch32 Media and VFP Feature Register 0
+------------------------------+---------+---------+
| Name | bits | visible |
+------------------------------+---------+---------+
| FPDP | [11-8] | y |
+------------------------------+---------+---------+
11) MVFR1_EL1 - AArch32 Media and VFP Feature Register 1
+------------------------------+---------+---------+
| Name | bits | visible |
+------------------------------+---------+---------+
| SIMDFMAC | [31-28] | y |
+------------------------------+---------+---------+
| SIMDSP | [19-16] | y |
+------------------------------+---------+---------+
| SIMDInt | [15-12] | y |
+------------------------------+---------+---------+
| SIMDLS | [11-8] | y |
+------------------------------+---------+---------+
12) ID_ISAR5_EL1 - AArch32 Instruction Set Attribute Register 5
+------------------------------+---------+---------+
| Name | bits | visible |
+------------------------------+---------+---------+
| CRC32 | [19-16] | y |
+------------------------------+---------+---------+
| SHA2 | [15-12] | y |
+------------------------------+---------+---------+
| SHA1 | [11-8] | y |
+------------------------------+---------+---------+
| AES | [7-4] | y |
+------------------------------+---------+---------+
Appendix I: Example
-------------------

View File

@ -144,6 +144,42 @@ managing and controlling ublk devices with help of several control commands:
For retrieving device info via ``ublksrv_ctrl_dev_info``. It is the server's
responsibility to save IO target specific info in userspace.
- ``UBLK_CMD_START_USER_RECOVERY``
This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
command is accepted after the old process has exited, ublk device is quiesced
and ``/dev/ublkc*`` is released. User should send this command before he starts
a new process which re-opens ``/dev/ublkc*``. When this command returns, the
ublk device is ready for the new process.
- ``UBLK_CMD_END_USER_RECOVERY``
This command is valid if ``UBLK_F_USER_RECOVERY`` feature is enabled. This
command is accepted after ublk device is quiesced and a new process has
opened ``/dev/ublkc*`` and get all ublk queues be ready. When this command
returns, ublk device is unquiesced and new I/O requests are passed to the
new process.
- user recovery feature description
Two new features are added for user recovery: ``UBLK_F_USER_RECOVERY`` and
``UBLK_F_USER_RECOVERY_REISSUE``.
With ``UBLK_F_USER_RECOVERY`` set, after one ubq_daemon(ublk server's io
handler) is dying, ublk does not delete ``/dev/ublkb*`` during the whole
recovery stage and ublk device ID is kept. It is ublk server's
responsibility to recover the device context by its own knowledge.
Requests which have not been issued to userspace are requeued. Requests
which have been issued to userspace are aborted.
With ``UBLK_F_USER_RECOVERY_REISSUE`` set, after one ubq_daemon(ublk
server's io handler) is dying, contrary to ``UBLK_F_USER_RECOVERY``,
requests which have been issued to userspace are requeued and will be
re-issued to the new process after handling ``UBLK_CMD_END_USER_RECOVERY``.
``UBLK_F_USER_RECOVERY_REISSUE`` is designed for backends who tolerate
double-write since the driver may issue the same I/O request twice. It
might be useful to a read-only FS or a VM backend.
Data plane
----------

View File

@ -118,6 +118,12 @@ Text Searching
CRC and Math Functions in Linux
===============================
Arithmetic Overflow Checking
----------------------------
.. kernel-doc:: include/linux/overflow.h
:internal:
CRC Functions
-------------

View File

@ -67,6 +67,7 @@ uninitialized in the local variable, as well as the stack where the value was
copied to another memory location before use.
A use of uninitialized value ``v`` is reported by KMSAN in the following cases:
- in a condition, e.g. ``if (v) { ... }``;
- in an indexing or pointer dereferencing, e.g. ``array[v]`` or ``*v``;
- when it is copied to userspace or hardware, e.g. ``copy_to_user(..., &v, ...)``;

View File

@ -11,7 +11,7 @@ maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: /schemas/sound/name-prefix.yaml#
- $ref: /schemas/sound/dai-common.yaml#
description: |
The Amlogic Meson Synopsys Designware Integration is composed of

View File

@ -15,9 +15,22 @@ description:
properties:
compatible:
enum:
- qcom,sfpb-mutex
- qcom,tcsr-mutex
oneOf:
- enum:
- qcom,sfpb-mutex
- qcom,tcsr-mutex
- items:
- enum:
- qcom,apq8084-tcsr-mutex
- qcom,ipq6018-tcsr-mutex
- qcom,msm8226-tcsr-mutex
- qcom,msm8994-tcsr-mutex
- const: qcom,tcsr-mutex
- items:
- enum:
- qcom,msm8974-tcsr-mutex
- const: qcom,tcsr-mutex
- const: syscon
reg:
maxItems: 1
@ -34,9 +47,9 @@ additionalProperties: false
examples:
- |
tcsr_mutex: hwlock@1f40000 {
compatible = "qcom,tcsr-mutex";
reg = <0x01f40000 0x40000>;
#hwlock-cells = <1>;
};
hwlock@1f40000 {
compatible = "qcom,tcsr-mutex";
reg = <0x01f40000 0x40000>;
#hwlock-cells = <1>;
};
...

View File

@ -16,8 +16,11 @@ description:
properties:
compatible:
items:
oneOf:
- const: goodix,gt7375p
- items:
- const: goodix,gt7986u
- const: goodix,gt7375p
reg:
enum:

View File

@ -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

View File

@ -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 = <&reg_csi_1v8>;
};
};

View File

@ -47,7 +47,7 @@ properties:
nvmem-cells: true
nvmem-cells-names: true
nvmem-cell-names: true
phy-connection-type:
enum:

View File

@ -8,7 +8,6 @@ title: Samsung S3FWRN5 NCI NFC Controller
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
- Krzysztof Opasiak <k.opasiak@samsung.com>
properties:
compatible:

View File

@ -274,10 +274,6 @@ patternProperties:
slew-rate:
enum: [0, 1]
output-enable:
description:
This will internally disable the tri-state for MIO pins.
drive-strength:
description:
Selects the drive strength for MIO pins, in mA.

View File

@ -81,6 +81,9 @@ properties:
power-supply: true
power-domains:
maxItems: 1
resets:
description: |
A number of phandles to resets that need to be asserted during

View File

@ -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

View File

@ -58,8 +58,7 @@ properties:
qcom,glink-channels:
$ref: /schemas/types.yaml#/definitions/string-array
description: Channel name used for the communication
items:
- const: apr_audio_svc
maxItems: 1
qcom,intents:
$ref: /schemas/types.yaml#/definitions/uint32-array
@ -81,12 +80,13 @@ properties:
'#size-cells':
const: 0
#APR/GPR Services
patternProperties:
"^service@[1-9a-d]$":
type: object
$ref: /schemas/soc/qcom/qcom,apr-services.yaml
additionalProperties: true
description:
APR/GPR node's client devices use subnodes for desired static port services.
APR/GPR static port services.
properties:
compatible:
@ -98,99 +98,6 @@ patternProperties:
- qcom,q6apm
- qcom,q6prm
reg:
minimum: 1
maximum: 13
description:
APR Service ID
3 = DSP Core Service
4 = Audio Front End Service.
5 = Voice Stream Manager Service.
6 = Voice processing manager.
7 = Audio Stream Manager Service.
8 = Audio Device Manager Service.
9 = Multimode voice manager.
10 = Core voice stream.
11 = Core voice processor.
12 = Ultrasound stream manager.
13 = Listen stream manager.
GPR Service ID
1 = Audio Process Manager Service
2 = Proxy Resource Manager Service.
3 = AMDB Service.
4 = Voice processing manager.
clock-controller:
$ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
description: Qualcomm DSP LPASS clock controller
unevaluatedProperties: false
dais:
type: object
oneOf:
- $ref: /schemas/sound/qcom,q6apm-dai.yaml#
- $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
- $ref: /schemas/sound/qcom,q6asm-dais.yaml#
unevaluatedProperties: false
description: Qualcomm DSP audio ports
routing:
type: object
$ref: /schemas/sound/qcom,q6adm-routing.yaml#
unevaluatedProperties: false
description: Qualcomm DSP LPASS audio routing
qcom,protection-domain:
$ref: /schemas/types.yaml#/definitions/string-array
description: protection domain service name and path for apr service
possible values are
"avs/audio", "msm/adsp/audio_pd".
"kernel/elf_loader", "msm/modem/wlan_pd".
"tms/servreg", "msm/adsp/audio_pd".
"tms/servreg", "msm/modem/wlan_pd".
"tms/servreg", "msm/slpi/sensor_pd".
allOf:
- if:
properties:
compatible:
enum:
- qcom,q6afe
then:
properties:
dais:
properties:
compatible:
const: qcom,q6afe-dais
- if:
properties:
compatible:
enum:
- qcom,q6apm
then:
properties:
dais:
properties:
compatible:
enum:
- qcom,q6apm-dais
- qcom,q6apm-lpass-dais
- if:
properties:
compatible:
enum:
- qcom,q6asm
then:
properties:
dais:
properties:
compatible:
const: qcom,q6asm-dais
additionalProperties: false
required:
- compatible
- qcom,domain
@ -203,7 +110,15 @@ allOf:
- qcom,gpr
then:
properties:
qcom,glink-channels:
items:
- const: adsp_apps
power-domains: false
else:
properties:
qcom,glink-channels:
items:
- const: apr_audio_svc
- if:
required:
@ -227,31 +142,35 @@ examples:
apr {
compatible = "qcom,apr-v2";
qcom,domain = <APR_DOMAIN_ADSP>;
qcom,glink-channels = "apr_audio_svc";
qcom,intents = <512 20>;
#address-cells = <1>;
#size-cells = <0>;
q6core: service@3 {
compatible = "qcom,q6core";
reg = <APR_SVC_ADSP_CORE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
compatible = "qcom,q6core";
reg = <APR_SVC_ADSP_CORE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
};
q6afe: service@4 {
compatible = "qcom,q6afe";
reg = <APR_SVC_AFE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
};
service@4 {
compatible = "qcom,q6afe";
reg = <APR_SVC_AFE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
q6asm: service@7 {
compatible = "qcom,q6asm";
reg = <APR_SVC_ASM>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
};
clock-controller {
compatible = "qcom,q6afe-clocks";
#clock-cells = <2>;
};
q6adm: service@8 {
compatible = "qcom,q6adm";
reg = <APR_SVC_ADM>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
dais {
compatible = "qcom,q6afe-dais";
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
/* ... */
};
/* ... */
};
};
@ -260,12 +179,25 @@ examples:
gpr {
compatible = "qcom,gpr";
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
qcom,glink-channels = "adsp_apps";
qcom,intents = <512 20>;
#address-cells = <1>;
#size-cells = <0>;
service@1 {
compatible = "qcom,q6apm";
reg = <GPR_APM_MODULE_IID>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
compatible = "qcom,q6apm";
reg = <GPR_APM_MODULE_IID>;
#sound-dai-cells = <0>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
dais {
compatible = "qcom,q6apm-dais";
iommus = <&apps_smmu 0x1801 0x0>;
};
bedais {
compatible = "qcom,q6apm-lpass-dais";
#sound-dai-cells = <1>;
};
};
};

View File

@ -8,12 +8,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices ADAU1372 CODEC
maintainers:
- Alexandre Belloni <alexandre.belloni@bootlin.om>
- Alexandre Belloni <alexandre.belloni@bootlin.com>
description: |
Analog Devices ADAU1372 four inputs and two outputs codec.
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -42,7 +45,7 @@ required:
- clocks
- clock-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -51,6 +51,7 @@ required:
- AVDD-supply
allOf:
- $ref: dai-common.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#
unevaluatedProperties: false

View File

@ -15,6 +15,9 @@ description: |
standalone mode.
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -57,7 +60,7 @@ required:
- iovdd-supply
- dvdd-supply
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: AK4375 DAC and headphones amplifier
maintainers:
- Vincent Knecht <vincent.knecht@mailoo.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: asahi-kasei,ak4375
@ -35,7 +38,7 @@ required:
- avdd-supply
- tvdd-supply
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: AK4613 I2C transmitter
maintainers:
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: asahi-kasei,ak4613
@ -35,7 +38,7 @@ required:
- compatible
- reg
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: AK4642 I2C transmitter
maintainers:
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -37,7 +40,7 @@ required:
- compatible
- reg
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -102,6 +102,7 @@ required:
- dma-names
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
@ -228,7 +229,7 @@ allOf:
- Mic
- Speaker
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -61,6 +61,7 @@ properties:
maxItems: 1
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
@ -128,7 +129,7 @@ required:
- dmas
- dma-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -54,6 +54,7 @@ properties:
maxItems: 1
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
@ -104,7 +105,7 @@ required:
- dmas
- dma-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,9 +9,17 @@ title: Allwinner H6 DMIC
maintainers:
- Ban Tao <fengzheng923@gmail.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: allwinner,sun50i-h6-dmic
oneOf:
- items:
- enum:
- allwinner,sun20i-d1-dmic
- const: allwinner,sun50i-h6-dmic
- const: allwinner,sun50i-h6-dmic
"#sound-dai-cells":
const: 0
@ -54,7 +62,7 @@ required:
- dma-names
- resets
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -10,6 +10,9 @@ maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <mripard@kernel.org>
allOf:
- $ref: dai-common.yaml#
properties:
"#sound-dai-cells":
minimum: 0
@ -49,7 +52,7 @@ required:
- clocks
- clock-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -10,7 +10,7 @@ maintainers:
- Jerome Brunet <jbrunet@baylibre.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -10,7 +10,7 @@ maintainers:
- Jerome Brunet <jbrunet@baylibre.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -10,7 +10,7 @@ maintainers:
- Jerome Brunet <jbrunet@baylibre.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -14,6 +14,9 @@ description: |
maintainers:
- Martin Povišer <povik+lin@cutebit.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
items:
@ -106,7 +109,7 @@ required:
- power-domains
- '#sound-dai-cells'
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -15,7 +15,7 @@ description:
function (primarily the power limit for the amplifier).
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
compatible:

View File

@ -146,6 +146,7 @@ required:
- "#sound-dai-cells"
allOf:
- $ref: dai-common.yaml#
- if:
properties:
cirrus,boost-type:
@ -171,7 +172,7 @@ allOf:
cirrus,gpio1-src-select:
enum: [1]
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -14,6 +14,9 @@ description: |
CS35L45 is a Boosted Mono Class D Amplifier with DSP
Speaker Protection and Adaptive Battery Management.
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -52,7 +55,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: CS42L51 audio codec DT bindings
maintainers:
- Olivier Moysan <olivier.moysan@foss.st.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: cirrus,cs42l51
@ -46,7 +49,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -24,6 +24,9 @@ description: |
This binding must be part of the Lochnagar MFD binding:
[1] ../mfd/cirrus,lochnagar.yaml
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -49,4 +52,4 @@ required:
- clocks
- clock-names
additionalProperties: false
unevaluatedProperties: false

View File

@ -22,6 +22,9 @@ description: |
The properties are all contained in the parent MFD node.
allOf:
- $ref: dai-common.yaml#
properties:
'#sound-dai-cells':
description:

View File

@ -1,10 +1,10 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
$id: http://devicetree.org/schemas/sound/dai-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Component sound name prefix
title: Digital Audio Interface Common Properties
maintainers:
- Jerome Brunet <jbrunet@baylibre.com>
@ -18,4 +18,6 @@ properties:
sink/source names may use this property to prepend the name of their
sinks/sources with the provided string.
'#sound-dai-cells': true
additionalProperties: true

View File

@ -167,6 +167,7 @@ required:
- interrupt-names
allOf:
- $ref: dai-common.yaml#
- if:
properties:
opmode:
@ -177,7 +178,7 @@ allOf:
required:
- tdm-slots
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View 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>;
};
...

View File

@ -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>;
};

View File

@ -10,6 +10,9 @@ maintainers:
- Daniel Drake <drake@endlessm.com>
- Katsuhiro Suzuki <katsuhiro@katsuster.net>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: everest,es8316
@ -33,7 +36,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -18,6 +18,7 @@ properties:
enum:
- fsl,imx8mm-micfil
- fsl,imx8mp-micfil
- fsl,imx93-micfil
reg:
maxItems: 1

View File

@ -11,8 +11,11 @@ maintainers:
description: |
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
are SAI, DMA controlled by Cortex M core. What we see from Linux
side is a device which provides audio service by rpmsg channel.
are SAI, MICFIL, DMA controlled by Cortex M core. What we see from
Linux side is a device which provides audio service by rpmsg channel.
We can create different sound cards which access different hardwares
such as SAI, MICFIL, .etc through building rpmsg channels between
Cortex-A and Cortex-M.
properties:
compatible:
@ -85,6 +88,16 @@ properties:
This is a boolean property. If present, the receiving function
will be enabled.
fsl,rpmsg-channel-name:
$ref: /schemas/types.yaml#/definitions/string
description: |
A string property to assign rpmsg channel this sound card sits on.
This property can be omitted if there is only one sound card and it sits
on "rpmsg-audio-channel".
enum:
- rpmsg-audio-channel
- rpmsg-micfil-channel
required:
- compatible
- model
@ -107,3 +120,22 @@ examples:
<&clk IMX8MN_AUDIO_PLL2_OUT>;
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
};
- |
#include <dt-bindings/clock/imx8mm-clock.h>
rpmsg_micfil: audio-controller {
compatible = "fsl,imx8mm-rpmsg-audio";
model = "micfil-audio";
fsl,rpmsg-channel-name = "rpmsg-micfil-channel";
fsl,enable-lpa;
fsl,rpmsg-in;
clocks = <&clk IMX8MM_CLK_PDM_IPG>,
<&clk IMX8MM_CLK_PDM_ROOT>,
<&clk IMX8MM_CLK_SDMA3_ROOT>,
<&clk IMX8MM_AUDIO_PLL1_OUT>,
<&clk IMX8MM_AUDIO_PLL2_OUT>;
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
};
...

View File

@ -18,14 +18,12 @@ description: |
properties:
compatible:
oneOf:
- enum:
- fsl,vf610-sai
- fsl,imx6sx-sai
- fsl,imx6ul-sai
- fsl,imx7ulp-sai
- fsl,imx8mq-sai
- fsl,imx8qm-sai
- fsl,imx8ulp-sai
- items:
- enum:
- fsl,imx6ul-sai
- fsl,imx7d-sai
- const: fsl,imx6sx-sai
- items:
- enum:
- fsl,imx8mm-sai
@ -33,19 +31,19 @@ properties:
- fsl,imx8mp-sai
- const: fsl,imx8mq-sai
- items:
- enum:
- fsl,imx6sx-sai
- fsl,imx7ulp-sai
- fsl,imx8mq-sai
- fsl,imx8qm-sai
- fsl,imx8ulp-sai
- fsl,imx93-sai
- fsl,vf610-sai
reg:
maxItems: 1
interrupts:
items:
- description: receive and transmit interrupt
dmas:
maxItems: 2
dma-names:
maxItems: 2
clocks:
items:
- description: The ipg clock for register access
@ -67,7 +65,7 @@ properties:
- const: mclk3
- const: pll8k
- const: pll11k
minItems: 4
minItems: 5
- items:
- const: bus
- const: mclk1
@ -77,19 +75,37 @@ properties:
- const: pll11k
minItems: 4
lsb-first:
description: |
Configures whether the LSB or the MSB is transmitted
first for the fifo data. If this property is absent,
the MSB is transmitted first as default, or the LSB
is transmitted first.
type: boolean
dmas:
maxItems: 2
dma-names:
maxItems: 2
interrupts:
items:
- description: receive and transmit interrupt
big-endian:
description: |
required if all the SAI registers are big-endian rather than little-endian.
type: boolean
fsl,dataline:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
description: |
Configure the dataline. It has 3 value for each configuration
maxItems: 16
items:
items:
- description: format Default(0), I2S(1) or PDM(2)
enum: [0, 1, 2]
- description: dataline mask for 'rx'
- description: dataline mask for 'tx'
fsl,sai-mclk-direction-output:
description: SAI will output the SAI MCLK clock.
type: boolean
fsl,sai-synchronous-rx:
description: |
SAI will work in the synchronous mode (sync Tx with Rx) which means
@ -108,31 +124,24 @@ properties:
of transmitter.
type: boolean
fsl,dataline:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
description: |
Configure the dataline. It has 3 value for each configuration
maxItems: 16
items:
items:
- description: format Default(0), I2S(1) or PDM(2)
enum: [0, 1, 2]
- description: dataline mask for 'rx'
- description: dataline mask for 'tx'
fsl,sai-mclk-direction-output:
description: SAI will output the SAI MCLK clock.
type: boolean
fsl,shared-interrupt:
description: Interrupt is shared with other modules.
type: boolean
lsb-first:
description: |
Configures whether the LSB or the MSB is transmitted
first for the fifo data. If this property is absent,
the MSB is transmitted first as default, or the LSB
is transmitted first.
type: boolean
"#sound-dai-cells":
const: 0
description: optional, some dts node didn't add it.
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
@ -168,13 +177,13 @@ allOf:
required:
- compatible
- reg
- interrupts
- dmas
- dma-names
- clocks
- clock-names
- dmas
- dma-names
- interrupts
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -17,6 +17,9 @@ description: |
subnode of a cros-ec node.
(see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: google,cros-ec-codec
@ -42,7 +45,7 @@ required:
- compatible
- '#sound-dai-cells'
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: Ingenic SoCs AC97 / I2S Controller (AIC) DT bindings
maintainers:
- Paul Cercueil <paul@crapouillou.net>
allOf:
- $ref: dai-common.yaml#
properties:
$nodename:
pattern: '^audio-controller@'
@ -37,15 +40,11 @@ properties:
items:
- description: AIC clock
- description: I2S clock
- description: EXT clock
- description: PLL/2 clock
clock-names:
items:
- const: aic
- const: i2s
- const: ext
- const: pll half
dmas:
items:
@ -57,7 +56,7 @@ properties:
- const: rx
- const: tx
additionalProperties: false
unevaluatedProperties: false
required:
- compatible
@ -82,10 +81,8 @@ examples:
interrupts = <18>;
clocks = <&cgu JZ4740_CLK_AIC>,
<&cgu JZ4740_CLK_I2S>,
<&cgu JZ4740_CLK_EXT>,
<&cgu JZ4740_CLK_PLL_HALF>;
clock-names = "aic", "i2s", "ext", "pll half";
<&cgu JZ4740_CLK_I2S>;
clock-names = "aic", "i2s";
dmas = <&dmac 25 0xffffffff>, <&dmac 24 0xffffffff>;
dma-names = "rx", "tx";

View File

@ -9,6 +9,9 @@ title: Ingenic JZ47xx internal codec DT bindings
maintainers:
- Paul Cercueil <paul@crapouillou.net>
allOf:
- $ref: dai-common.yaml#
properties:
$nodename:
pattern: '^audio-codec@.*'
@ -37,7 +40,7 @@ properties:
'#sound-dai-cells':
const: 0
additionalProperties: false
unevaluatedProperties: false
required:
- compatible

View File

@ -13,6 +13,9 @@ maintainers:
description: |
Intel KeemBay I2S
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -64,7 +67,7 @@ required:
- clock-names
- interrupts
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: Bluetooth SCO Audio Codec
maintainers:
- Mark Brown <broonie@kernel.org>
allOf:
- $ref: dai-common.yaml#
properties:
'#sound-dai-cells':
enum:
@ -26,7 +29,7 @@ required:
- '#sound-dai-cells'
- compatible
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -10,7 +10,7 @@ maintainers:
- Mark Brown <broonie@kernel.org>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
compatible:

View File

@ -9,6 +9,9 @@ title: Marvel SSPA Digital Audio Interface Bindings
maintainers:
- Lubomir Rintel <lkundrak@v3.sk>
allOf:
- $ref: dai-common.yaml#
properties:
$nodename:
pattern: "^audio-controller(@.*)?$"
@ -73,7 +76,7 @@ required:
- dma-names
- port
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -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>;
};

View File

@ -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 = <&regulator>;
DIOVDD-supply = <&regulator>;
PVDD-supply = <&regulator>;
};

View 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>;
};

View 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>;
};
};

View File

@ -66,13 +66,15 @@ properties:
enum: [0, 1, 2, 3]
default: 0
if:
properties:
compatible:
const: microchip,sam9x60-i2smcc
then:
properties:
microchip,tdm-data-pair: false
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
const: microchip,sam9x60-i2smcc
then:
properties:
microchip,tdm-data-pair: false
required:
- "#sound-dai-cells"
@ -84,7 +86,7 @@ required:
- dmas
- dma-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -13,6 +13,9 @@ description:
The Microchip Sony/Philips Digital Interface Transmitter is a serial port
compliant with the IEC-60958 standard.
allOf:
- $ref: dai-common.yaml#
properties:
"#sound-dai-cells":
const: 0
@ -53,7 +56,7 @@ required:
- dmas
- dma-names
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -13,6 +13,9 @@ description:
The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4
digital microphones having Pulse Density Modulated (PDM) outputs.
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: microchip,sama7g5-pdmc
@ -75,7 +78,7 @@ required:
- dma-names
- microchip,mic-pos
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -21,6 +21,13 @@ properties:
$ref: "/schemas/types.yaml#/definitions/phandle"
description: The phandle of MT8186 ASoC platform.
dmic-gpios:
maxItems: 1
description:
dmic-gpios optional prop for switching between two DMICs.
Ex, the GPIO can control a MUX HW component to select
dmic clk and data form a Front or Rear dmic.
headset-codec:
type: object
additionalProperties: false
@ -63,14 +70,19 @@ required:
examples:
- |
#include <dt-bindings/gpio/gpio.h>
sound: mt8186-sound {
compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
mediatek,platform = <&afe>;
pinctrl-names = "aud_clk_mosi_off",
"aud_clk_mosi_on";
"aud_clk_mosi_on",
"aud_gpio_dmic_sec";
pinctrl-0 = <&aud_clk_mosi_off>;
pinctrl-1 = <&aud_clk_mosi_on>;
pinctrl-2 = <&aud_gpio_dmic_sec>;
dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
headset-codec {
sound-dai = <&rt5682s>;

View File

@ -34,7 +34,7 @@ properties:
properties:
sound-dai:
$ref: /schemas/types.yaml#/definitions/phandle
maxItems: 1
required:
- sound-dai
@ -48,7 +48,6 @@ properties:
maxItems: 2
items:
maxItems: 1
$ref: /schemas/types.yaml#/definitions/phandle-array
required:
- sound-dai

View File

@ -6,9 +6,14 @@ Required properties:
"marvell,kirkwood-audio" for Kirkwood platforms
"marvell,dove-audio" for Dove platforms
"marvell,armada370-audio" for Armada 370 platforms
"marvell,armada-380-audio" for Armada 38x platforms
- reg: physical base address of the controller and length of memory mapped
region.
region (named "i2s_regs").
With "marvell,armada-380-audio" two other regions are required:
first of those is dedicated for Audio PLL Configuration registers
(named "pll_regs") and the second one ("soc_ctrl") - for register
where one of exceptive I/O types (I2S or S/PDIF) is set.
- interrupts:
with "marvell,kirkwood-audio", the audio interrupt
@ -23,6 +28,13 @@ Required properties:
"internal" for the internal clock
"extclk" for the external clock
Optional properties:
- spdif-mode:
Enable S/PDIF mode on Armada 38x SoC. Using this property
disables standard I2S I/O. Valid only with "marvell,armada-380-audio"
compatible string.
Example:
i2s1: audio-controller@b4000 {

View File

@ -2,6 +2,7 @@ Nuvoton NAU8315 Mono Class-D Amplifier
Required properties:
- compatible : "nuvoton,nau8315"
"nuvoton,nau8318"
Optional properties:
- enable-gpios : GPIO specifier for the chip's device enable input(EN) pin.
@ -16,3 +17,8 @@ nau8315 {
compatible = "nuvoton,nau8315";
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
nau8318 {
compatible = "nuvoton,nau8318";
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};

View File

@ -23,7 +23,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -18,7 +18,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -16,6 +16,9 @@ maintainers:
- Thierry Reding <treding@nvidia.com>
- Jon Hunter <jonathanh@nvidia.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: nvidia,tegra20-spdif
@ -66,7 +69,7 @@ required:
- dma-names
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -19,7 +19,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -18,7 +18,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -17,7 +17,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -17,7 +17,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -17,7 +17,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -20,7 +20,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -17,7 +17,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
compatible:

View File

@ -17,7 +17,7 @@ maintainers:
- Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
$nodename:

View File

@ -10,7 +10,7 @@ maintainers:
- Stephan Gerhold <stephan@gerhold.net>
allOf:
- $ref: name-prefix.yaml#
- $ref: dai-common.yaml#
properties:
compatible:

View File

@ -109,9 +109,10 @@ required:
- interrupt-names
- '#sound-dai-cells'
additionalProperties: false
unevaluatedProperties: false
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:

View File

@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) RX Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -43,8 +46,7 @@ properties:
- const: fsgen
clock-output-names:
items:
- const: mclk
maxItems: 1
power-domains:
maxItems: 2
@ -59,7 +61,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) TX Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -43,8 +46,7 @@ properties:
- const: fsgen
clock-output-names:
items:
- const: mclk
maxItems: 1
power-domains:
maxItems: 2
@ -63,7 +65,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -39,8 +42,7 @@ properties:
- const: mclk
clock-output-names:
items:
- const: fsgen
maxItems: 1
power-domains:
maxItems: 2
@ -62,7 +64,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -9,6 +9,9 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec DT bindings
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -38,8 +41,7 @@ properties:
- const: fsgen
clock-output-names:
items:
- const: mclk
maxItems: 1
qcom,dmic-sample-rate:
description: dmic sample rate
@ -53,7 +55,7 @@ required:
- reg
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

View File

@ -14,6 +14,9 @@ description:
Qualcomm Audio Device Manager (Q6ADM) routing node represents routing
specific configuration.
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -26,27 +29,11 @@ required:
- compatible
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/sound/qcom,q6asm.h>
apr {
compatible = "qcom,apr-v2";
qcom,domain = <APR_DOMAIN_ADSP>;
#address-cells = <1>;
#size-cells = <0>;
service@8 {
compatible = "qcom,q6adm";
reg = <APR_SVC_ADM>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
routing {
compatible = "qcom,q6adm-routing";
#sound-dai-cells = <0>;
};
};
routing {
compatible = "qcom,q6adm-routing";
#sound-dai-cells = <0>;
};

View 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>;
};
};
};

View 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>;
};
};
};
};

View File

@ -27,20 +27,7 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/soc/qcom,gpr.h>
gpr {
compatible = "qcom,gpr";
#address-cells = <1>;
#size-cells = <0>;
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
service@1 {
compatible = "qcom,q6apm";
reg = <1>;
dais {
compatible = "qcom,q6apm-dais";
iommus = <&apps_smmu 0x1801 0x0>;
};
};
dais {
compatible = "qcom,q6apm-dais";
iommus = <&apps_smmu 0x1801 0x0>;
};

View File

@ -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>;
};

View 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>;
};
};
};

View File

@ -73,40 +73,24 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/sound/qcom,q6asm.h>
apr {
compatible = "qcom,apr-v2";
qcom,domain = <APR_DOMAIN_ADSP>;
dais {
compatible = "qcom,q6asm-dais";
iommus = <&apps_smmu 0x1821 0x0>;
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
service@7 {
compatible = "qcom,q6asm";
reg = <APR_SVC_ASM>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
dai@0 {
reg = <0>;
};
dais {
compatible = "qcom,q6asm-dais";
iommus = <&apps_smmu 0x1821 0x0>;
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
dai@1 {
reg = <1>;
};
dai@0 {
reg = <0>;
};
dai@1 {
reg = <1>;
};
dai@2 {
reg = <2>;
is-compress-dai;
direction = <1>;
};
};
dai@2 {
reg = <2>;
is-compress-dai;
direction = <1>;
};
};

View 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>;
};
};
};
};

View 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";
};
};

View File

@ -35,41 +35,7 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/sound/qcom,q6afe.h>
apr {
compatible = "qcom,apr-v2";
qcom,domain = <APR_DOMAIN_ADSP>;
#address-cells = <1>;
#size-cells = <0>;
service@4 {
compatible = "qcom,q6afe";
reg = <APR_SVC_AFE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
clock-controller {
compatible = "qcom,q6afe-clocks";
#clock-cells = <2>;
};
};
};
- |
#include <dt-bindings/soc/qcom,gpr.h>
gpr {
compatible = "qcom,gpr";
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
#address-cells = <1>;
#size-cells = <0>;
service@2 {
reg = <GPR_PRM_MODULE_IID>;
compatible = "qcom,q6prm";
clock-controller {
compatible = "qcom,q6prm-lpass-clocks";
#clock-cells = <2>;
};
};
clock-controller {
compatible = "qcom,q6afe-clocks";
#clock-cells = <2>;
};

View File

@ -16,7 +16,6 @@ properties:
compatible:
enum:
- qcom,q6afe-dais
- qcom,q6apm-lpass-dais
'#sound-dai-cells':
const: 1
@ -150,54 +149,16 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/sound/qcom,q6afe.h>
apr {
compatible = "qcom,apr-v2";
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
dais {
compatible = "qcom,q6afe-dais";
#address-cells = <1>;
#size-cells = <0>;
qcom,domain = <APR_DOMAIN_ADSP>;
#sound-dai-cells = <1>;
service@4 {
compatible = "qcom,q6afe";
reg = <APR_SVC_AFE>;
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
dais {
compatible = "qcom,q6afe-dais";
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
dai@22 {
reg = <QUATERNARY_MI2S_RX>;
qcom,sd-lines = <0 1 2 3>;
};
};
};
};
- |
#include <dt-bindings/soc/qcom,gpr.h>
gpr {
compatible = "qcom,gpr";
#address-cells = <1>;
#size-cells = <0>;
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
service@1 {
compatible = "qcom,q6apm";
reg = <GPR_APM_MODULE_IID>;
dais {
compatible = "qcom,q6apm-lpass-dais";
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
dai@22 {
reg = <QUATERNARY_MI2S_RX>;
qcom,sd-lines = <0 1 2 3>;
};
};
dai@22 {
reg = <QUATERNARY_MI2S_RX>;
qcom,sd-lines = <0 1 2 3>;
};
};

View 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>;
};
};
};

View File

@ -109,7 +109,7 @@ audio-codec@1{
reg = <1 0>;
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "intr2"
reset-gpios = <&msmgpio 64 0>;
reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>;
slim-ifc-dev = <&wc9335_ifd>;
clock-names = "mclk", "native";
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,

View File

@ -13,6 +13,9 @@ description: |
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
It has RX and TX Soundwire slave devices.
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
@ -106,7 +109,7 @@ required:
- qcom,micbias4-microvolt
- "#sound-dai-cells"
additionalProperties: false
unevaluatedProperties: false
examples:
- |

Some files were not shown because too many files have changed in this diff Show More