ASoC: Updates for v6.4
The bulk of the commits here are for the conversion of drivers to use void remove callbacks but there's a reasonable amount of other stuff going on, the pace of development with the SOF code continues to be high and there's a bunch of new drivers too: - More core cleanups from Morimto-san. - Update drivers to have remove() callbacks returning void, mostly mechanical with some substantial changes. - Continued feature and simplification work on SOF, including addition of a no-DSP mode for bringup, HDA MLink and extensions to the IPC4 protocol. - Hibernation support for CS35L45. - More DT binding conversions. - Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363, nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas R-Car Gen4, Rockchip RK3588 and TI TAS5733. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmRGdEsACgkQJNaLcl1U h9BNVAf+Ijupg3dhAl6847v1PRYXkYK6YjAayhNd0xRoRePKnnv1zkrsXSBzxZUM 8KHpQDUJyfQbPnE2JRmr1WfHSoNDl/NXdJl+lefPBgol5bzxRji68hDPGjA0645o R6vzrqLNw8mh3jwptXfEpQfKH8tIvwOeMeLkncDvsm0ZCUR2GhYnjB1g82ih0ssx lvh36PdCRF0e/ruHxkiVn9b/riID65oTRkN6IxJqoPnqJZVyCiqmiJcfWePpaPir 4R9Dyk+REos/aCLdne1g6H21Tgi0td+blv6empqwdEXG41VSdRMTrOZb1ZISKmpF ggPbKsk9BjJFBCewllHXJ0YEcBp9/g== =TVxt -----END PGP SIGNATURE----- Merge tag 'asoc-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v6.4 The bulk of the commits here are for the conversion of drivers to use void remove callbacks but there's a reasonable amount of other stuff going on, the pace of development with the SOF code continues to be high and there's a bunch of new drivers too: - More core cleanups from Morimto-san. - Update drivers to have remove() callbacks returning void, mostly mechanical with some substantial changes. - Continued feature and simplification work on SOF, including addition of a no-DSP mode for bringup, HDA MLink and extensions to the IPC4 protocol. - Hibernation support for CS35L45. - More DT binding conversions. - Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363, nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas R-Car Gen4, Rockchip RK3588 and TI TAS5733.
This commit is contained in:
commit
baa6584a24
10
.mailmap
10
.mailmap
|
@ -136,6 +136,9 @@ Erik Kaneda <erik.kaneda@intel.com> <erik.schmauss@intel.com>
|
||||||
Eugen Hristev <eugen.hristev@collabora.com> <eugen.hristev@microchip.com>
|
Eugen Hristev <eugen.hristev@collabora.com> <eugen.hristev@microchip.com>
|
||||||
Evgeniy Polyakov <johnpol@2ka.mipt.ru>
|
Evgeniy Polyakov <johnpol@2ka.mipt.ru>
|
||||||
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> <ezequiel@collabora.com>
|
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> <ezequiel@collabora.com>
|
||||||
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason@jlekstrand.net>
|
||||||
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@intel.com>
|
||||||
|
Faith Ekstrand <faith.ekstrand@collabora.com> <jason.ekstrand@collabora.com>
|
||||||
Felipe W Damasio <felipewd@terra.com.br>
|
Felipe W Damasio <felipewd@terra.com.br>
|
||||||
Felix Kuhling <fxkuehl@gmx.de>
|
Felix Kuhling <fxkuehl@gmx.de>
|
||||||
Felix Moeller <felix@derklecks.de>
|
Felix Moeller <felix@derklecks.de>
|
||||||
|
@ -306,6 +309,8 @@ Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@osg.samsung.com>
|
||||||
Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@redhat.com>
|
Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@redhat.com>
|
||||||
Mauro Carvalho Chehab <mchehab@kernel.org> <m.chehab@samsung.com>
|
Mauro Carvalho Chehab <mchehab@kernel.org> <m.chehab@samsung.com>
|
||||||
Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@s-opensource.com>
|
Mauro Carvalho Chehab <mchehab@kernel.org> <mchehab@s-opensource.com>
|
||||||
|
Maxim Mikityanskiy <maxtram95@gmail.com> <maximmi@mellanox.com>
|
||||||
|
Maxim Mikityanskiy <maxtram95@gmail.com> <maximmi@nvidia.com>
|
||||||
Maxime Ripard <mripard@kernel.org> <maxime.ripard@bootlin.com>
|
Maxime Ripard <mripard@kernel.org> <maxime.ripard@bootlin.com>
|
||||||
Maxime Ripard <mripard@kernel.org> <maxime.ripard@free-electrons.com>
|
Maxime Ripard <mripard@kernel.org> <maxime.ripard@free-electrons.com>
|
||||||
Mayuresh Janorkar <mayur@ti.com>
|
Mayuresh Janorkar <mayur@ti.com>
|
||||||
|
@ -411,7 +416,10 @@ Shuah Khan <shuah@kernel.org> <shuah.kh@samsung.com>
|
||||||
Simon Arlott <simon@octiron.net> <simon@fire.lp0.eu>
|
Simon Arlott <simon@octiron.net> <simon@fire.lp0.eu>
|
||||||
Simon Kelley <simon@thekelleys.org.uk>
|
Simon Kelley <simon@thekelleys.org.uk>
|
||||||
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
||||||
Stephen Hemminger <shemminger@osdl.org>
|
Stephen Hemminger <stephen@networkplumber.org> <shemminger@linux-foundation.org>
|
||||||
|
Stephen Hemminger <stephen@networkplumber.org> <shemminger@osdl.org>
|
||||||
|
Stephen Hemminger <stephen@networkplumber.org> <sthemmin@microsoft.com>
|
||||||
|
Stephen Hemminger <stephen@networkplumber.org> <sthemmin@vyatta.com>
|
||||||
Steve Wise <larrystevenwise@gmail.com> <swise@chelsio.com>
|
Steve Wise <larrystevenwise@gmail.com> <swise@chelsio.com>
|
||||||
Steve Wise <larrystevenwise@gmail.com> <swise@opengridcomputing.com>
|
Steve Wise <larrystevenwise@gmail.com> <swise@opengridcomputing.com>
|
||||||
Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
|
Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
|
||||||
|
|
|
@ -705,6 +705,15 @@ Description:
|
||||||
zoned will report "none".
|
zoned will report "none".
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/block/<disk>/hidden
|
||||||
|
Date: March 2023
|
||||||
|
Contact: linux-block@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
[RO] the block device is hidden. it doesn’t produce events, and
|
||||||
|
can’t be opened from userspace or using blkdev_get*.
|
||||||
|
Used for the underlying components of multipath devices.
|
||||||
|
|
||||||
|
|
||||||
What: /sys/block/<disk>/stat
|
What: /sys/block/<disk>/stat
|
||||||
Date: February 2008
|
Date: February 2008
|
||||||
Contact: Jerome Marchand <jmarchan@redhat.com>
|
Contact: Jerome Marchand <jmarchan@redhat.com>
|
||||||
|
|
|
@ -7,8 +7,8 @@ workflows related to reporting bugs, submitting patches, and queueing
|
||||||
patches for stable kernels.
|
patches for stable kernels.
|
||||||
|
|
||||||
For general information about submitting patches, please refer to
|
For general information about submitting patches, please refer to
|
||||||
`Documentation/process/`_. This document only describes additional specifics
|
Documentation/process/submitting-patches.rst. This document only describes
|
||||||
related to BPF.
|
additional specifics related to BPF.
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
:local:
|
:local:
|
||||||
|
@ -461,15 +461,15 @@ needed::
|
||||||
|
|
||||||
$ sudo make run_tests
|
$ sudo make run_tests
|
||||||
|
|
||||||
See the kernels selftest `Documentation/dev-tools/kselftest.rst`_
|
See :doc:`kernel selftest documentation </dev-tools/kselftest>`
|
||||||
document for further documentation.
|
for details.
|
||||||
|
|
||||||
To maximize the number of tests passing, the .config of the kernel
|
To maximize the number of tests passing, the .config of the kernel
|
||||||
under test should match the config file fragment in
|
under test should match the config file fragment in
|
||||||
tools/testing/selftests/bpf as closely as possible.
|
tools/testing/selftests/bpf as closely as possible.
|
||||||
|
|
||||||
Finally to ensure support for latest BPF Type Format features -
|
Finally to ensure support for latest BPF Type Format features -
|
||||||
discussed in `Documentation/bpf/btf.rst`_ - pahole version 1.16
|
discussed in Documentation/bpf/btf.rst - pahole version 1.16
|
||||||
is required for kernels built with CONFIG_DEBUG_INFO_BTF=y.
|
is required for kernels built with CONFIG_DEBUG_INFO_BTF=y.
|
||||||
pahole is delivered in the dwarves package or can be built
|
pahole is delivered in the dwarves package or can be built
|
||||||
from source at
|
from source at
|
||||||
|
@ -684,12 +684,8 @@ when:
|
||||||
|
|
||||||
|
|
||||||
.. Links
|
.. Links
|
||||||
.. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/
|
|
||||||
.. _netdev-FAQ: Documentation/process/maintainer-netdev.rst
|
.. _netdev-FAQ: Documentation/process/maintainer-netdev.rst
|
||||||
.. _selftests:
|
.. _selftests:
|
||||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/bpf/
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/bpf/
|
||||||
.. _Documentation/dev-tools/kselftest.rst:
|
|
||||||
https://www.kernel.org/doc/html/latest/dev-tools/kselftest.html
|
|
||||||
.. _Documentation/bpf/btf.rst: btf.rst
|
|
||||||
|
|
||||||
Happy BPF hacking!
|
Happy BPF hacking!
|
||||||
|
|
|
@ -0,0 +1,162 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: PowerQUICC CPM QUICC Multichannel Controller (QMC)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Herve Codina <herve.codina@bootlin.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The QMC (QUICC Multichannel Controller) emulates up to 64 channels within one
|
||||||
|
serial controller using the same TDM physical interface routed from TSA.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- fsl,mpc885-scc-qmc
|
||||||
|
- fsl,mpc866-scc-qmc
|
||||||
|
- const: fsl,cpm1-scc-qmc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: SCC (Serial communication controller) register base
|
||||||
|
- description: SCC parameter ram base
|
||||||
|
- description: Dual port ram base
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
- const: scc_regs
|
||||||
|
- const: scc_pram
|
||||||
|
- const: dpram
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: SCC interrupt line in the CPM interrupt controller
|
||||||
|
|
||||||
|
fsl,tsa-serial:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
items:
|
||||||
|
- items:
|
||||||
|
- description: phandle to TSA node
|
||||||
|
- enum: [1, 2, 3]
|
||||||
|
description: |
|
||||||
|
TSA serial interface (dt-bindings/soc/cpm1-fsl,tsa.h defines these
|
||||||
|
values)
|
||||||
|
- 1: SCC2
|
||||||
|
- 2: SCC3
|
||||||
|
- 3: SCC4
|
||||||
|
description:
|
||||||
|
Should be a phandle/number pair. The phandle to TSA node and the TSA
|
||||||
|
serial interface to use.
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^channel@([0-9]|[1-5][0-9]|6[0-3])$':
|
||||||
|
description:
|
||||||
|
A channel managed by this controller
|
||||||
|
type: object
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 63
|
||||||
|
description:
|
||||||
|
The channel number
|
||||||
|
|
||||||
|
fsl,operational-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
enum: [transparent, hdlc]
|
||||||
|
default: transparent
|
||||||
|
description: |
|
||||||
|
The channel operational mode
|
||||||
|
- hdlc: The channel handles HDLC frames
|
||||||
|
- transparent: The channel handles raw data without any processing
|
||||||
|
|
||||||
|
fsl,reverse-data:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
The bit order as seen on the channels is reversed,
|
||||||
|
transmitting/receiving the MSB of each octet first.
|
||||||
|
This flag is used only in 'transparent' mode.
|
||||||
|
|
||||||
|
fsl,tx-ts-mask:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint64
|
||||||
|
description:
|
||||||
|
Channel assigned Tx time-slots within the Tx time-slots routed by the
|
||||||
|
TSA to this cell.
|
||||||
|
|
||||||
|
fsl,rx-ts-mask:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint64
|
||||||
|
description:
|
||||||
|
Channel assigned Rx time-slots within the Rx time-slots routed by the
|
||||||
|
TSA to this cell.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
- fsl,tx-ts-mask
|
||||||
|
- fsl,rx-ts-mask
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- reg-names
|
||||||
|
- interrupts
|
||||||
|
- fsl,tsa-serial
|
||||||
|
- '#address-cells'
|
||||||
|
- '#size-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/cpm1-fsl,tsa.h>
|
||||||
|
|
||||||
|
qmc@a60 {
|
||||||
|
compatible = "fsl,mpc885-scc-qmc", "fsl,cpm1-scc-qmc";
|
||||||
|
reg = <0xa60 0x20>,
|
||||||
|
<0x3f00 0xc0>,
|
||||||
|
<0x2000 0x1000>;
|
||||||
|
reg-names = "scc_regs", "scc_pram", "dpram";
|
||||||
|
interrupts = <27>;
|
||||||
|
interrupt-parent = <&CPM_PIC>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
fsl,tsa-serial = <&tsa FSL_CPM_TSA_SCC4>;
|
||||||
|
|
||||||
|
channel@16 {
|
||||||
|
/* Ch16 : First 4 even TS from all routed from TSA */
|
||||||
|
reg = <16>;
|
||||||
|
fsl,mode = "transparent";
|
||||||
|
fsl,reverse-data;
|
||||||
|
fsl,tx-ts-mask = <0x00000000 0x000000aa>;
|
||||||
|
fsl,rx-ts-mask = <0x00000000 0x000000aa>;
|
||||||
|
};
|
||||||
|
|
||||||
|
channel@17 {
|
||||||
|
/* Ch17 : First 4 odd TS from all routed from TSA */
|
||||||
|
reg = <17>;
|
||||||
|
fsl,mode = "transparent";
|
||||||
|
fsl,reverse-data;
|
||||||
|
fsl,tx-ts-mask = <0x00000000 0x00000055>;
|
||||||
|
fsl,rx-ts-mask = <0x00000000 0x00000055>;
|
||||||
|
};
|
||||||
|
|
||||||
|
channel@19 {
|
||||||
|
/* Ch19 : 8 TS (TS 8..15) from all routed from TSA */
|
||||||
|
reg = <19>;
|
||||||
|
fsl,mode = "hdlc";
|
||||||
|
fsl,tx-ts-mask = <0x00000000 0x0000ff00>;
|
||||||
|
fsl,rx-ts-mask = <0x00000000 0x0000ff00>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,205 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: PowerQUICC CPM Time-slot assigner (TSA) controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Herve Codina <herve.codina@bootlin.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The TSA is the time-slot assigner that can be found on some PowerQUICC SoC.
|
||||||
|
Its purpose is to route some TDM time-slots to other internal serial
|
||||||
|
controllers.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- fsl,mpc885-tsa
|
||||||
|
- fsl,mpc866-tsa
|
||||||
|
- const: fsl,cpm1-tsa
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: SI (Serial Interface) register base
|
||||||
|
- description: SI RAM base
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
- const: si_regs
|
||||||
|
- const: si_ram
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^tdm@[0-1]$':
|
||||||
|
description:
|
||||||
|
The TDM managed by this controller
|
||||||
|
type: object
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1
|
||||||
|
description:
|
||||||
|
The TDM number for this TDM, 0 for TDMa and 1 for TDMb
|
||||||
|
|
||||||
|
fsl,common-rxtx-pins:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
The hardware can use four dedicated pins for Tx clock, Tx sync, Rx
|
||||||
|
clock and Rx sync or use only two pins, Tx/Rx clock and Tx/Rx sync.
|
||||||
|
Without the 'fsl,common-rxtx-pins' property, the four pins are used.
|
||||||
|
With the 'fsl,common-rxtx-pins' property, two pins are used.
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 2
|
||||||
|
items:
|
||||||
|
- description: External clock connected to L1RSYNC pin
|
||||||
|
- description: External clock connected to L1RCLK pin
|
||||||
|
- description: External clock connected to L1TSYNC pin
|
||||||
|
- description: External clock connected to L1TCLK pin
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 2
|
||||||
|
items:
|
||||||
|
- const: l1rsync
|
||||||
|
- const: l1rclk
|
||||||
|
- const: l1tsync
|
||||||
|
- const: l1tclk
|
||||||
|
|
||||||
|
fsl,rx-frame-sync-delay-bits:
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
default: 0
|
||||||
|
description: |
|
||||||
|
Receive frame sync delay in number of bits.
|
||||||
|
Indicates the delay between the Rx sync and the first bit of the Rx
|
||||||
|
frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
|
||||||
|
|
||||||
|
fsl,tx-frame-sync-delay-bits:
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
default: 0
|
||||||
|
description: |
|
||||||
|
Transmit frame sync delay in number of bits.
|
||||||
|
Indicates the delay between the Tx sync and the first bit of the Tx
|
||||||
|
frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
|
||||||
|
|
||||||
|
fsl,clock-falling-edge:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Data is sent on falling edge of the clock (and received on the rising
|
||||||
|
edge). If 'clock-falling-edge' is not present, data is sent on the
|
||||||
|
rising edge (and received on the falling edge).
|
||||||
|
|
||||||
|
fsl,fsync-rising-edge:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Frame sync pulses are sampled with the rising edge of the channel
|
||||||
|
clock. If 'fsync-rising-edge' is not present, pulses are sampled with
|
||||||
|
the falling edge.
|
||||||
|
|
||||||
|
fsl,double-speed-clock:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
The channel clock is twice the data rate.
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^fsl,[rt]x-ts-routes$':
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||||
|
description: |
|
||||||
|
A list of tuple that indicates the Tx or Rx time-slots routes.
|
||||||
|
items:
|
||||||
|
items:
|
||||||
|
- description:
|
||||||
|
The number of time-slots
|
||||||
|
minimum: 1
|
||||||
|
maximum: 64
|
||||||
|
- description: |
|
||||||
|
The source (Tx) or destination (Rx) serial interface
|
||||||
|
(dt-bindings/soc/cpm1-fsl,tsa.h defines these values)
|
||||||
|
- 0: No destination
|
||||||
|
- 1: SCC2
|
||||||
|
- 2: SCC3
|
||||||
|
- 3: SCC4
|
||||||
|
- 4: SMC1
|
||||||
|
- 5: SMC2
|
||||||
|
enum: [0, 1, 2, 3, 4, 5]
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 64
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
# If fsl,common-rxtx-pins is present, only 2 clocks are needed.
|
||||||
|
# Else, the 4 clocks must be present.
|
||||||
|
- if:
|
||||||
|
required:
|
||||||
|
- fsl,common-rxtx-pins
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
maxItems: 2
|
||||||
|
clock-names:
|
||||||
|
maxItems: 2
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 4
|
||||||
|
clock-names:
|
||||||
|
minItems: 4
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- reg-names
|
||||||
|
- '#address-cells'
|
||||||
|
- '#size-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/cpm1-fsl,tsa.h>
|
||||||
|
|
||||||
|
tsa@ae0 {
|
||||||
|
compatible = "fsl,mpc885-tsa", "fsl,cpm1-tsa";
|
||||||
|
reg = <0xae0 0x10>,
|
||||||
|
<0xc00 0x200>;
|
||||||
|
reg-names = "si_regs", "si_ram";
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
tdm@0 {
|
||||||
|
/* TDMa */
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
clocks = <&clk_l1rsynca>, <&clk_l1rclka>;
|
||||||
|
clock-names = "l1rsync", "l1rclk";
|
||||||
|
|
||||||
|
fsl,common-rxtx-pins;
|
||||||
|
fsl,fsync-rising-edge;
|
||||||
|
|
||||||
|
fsl,tx-ts-routes = <2 0>, /* TS 0..1 */
|
||||||
|
<24 FSL_CPM_TSA_SCC4>, /* TS 2..25 */
|
||||||
|
<1 0>, /* TS 26 */
|
||||||
|
<5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */
|
||||||
|
|
||||||
|
fsl,rx-ts-routes = <2 0>, /* TS 0..1 */
|
||||||
|
<24 FSL_CPM_TSA_SCC4>, /* 2..25 */
|
||||||
|
<1 0>, /* TS 26 */
|
||||||
|
<5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */
|
||||||
|
};
|
||||||
|
};
|
|
@ -32,7 +32,7 @@ properties:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
const: "mclk"
|
const: mclk
|
||||||
|
|
||||||
powerdown-gpios:
|
powerdown-gpios:
|
||||||
description: GPIO used for hardware power-down.
|
description: GPIO used for hardware power-down.
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
Analog Devices ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: Should contain one of the following:
|
|
||||||
"adi,adau1361"
|
|
||||||
"adi,adau1461"
|
|
||||||
"adi,adau1761"
|
|
||||||
"adi,adau1961"
|
|
||||||
"adi,adau1381"
|
|
||||||
"adi,adau1781"
|
|
||||||
|
|
||||||
- reg: The i2c address. Value depends on the state of ADDR0
|
|
||||||
and ADDR1, as wired in hardware.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- clock-names: If provided must be "mclk".
|
|
||||||
- clocks: phandle + clock-specifiers for the clock that provides
|
|
||||||
the audio master clock for the device.
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
#include <dt-bindings/sound/adau17x1.h>
|
|
||||||
|
|
||||||
i2c_bus {
|
|
||||||
adau1361@38 {
|
|
||||||
compatible = "adi,adau1761";
|
|
||||||
reg = <0x38>;
|
|
||||||
|
|
||||||
clock-names = "mclk";
|
|
||||||
clocks = <&audio_clock>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/adi,adau17x1.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781 Codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Lars-Peter Clausen <lars@metafoo.de>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- adi,adau1361
|
||||||
|
- adi,adau1381
|
||||||
|
- adi,adau1461
|
||||||
|
- adi,adau1761
|
||||||
|
- adi,adau1781
|
||||||
|
- adi,adau1961
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
The i2c address. Value depends on the state of ADDR0 and ADDR1,
|
||||||
|
as wired in hardware.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: mclk
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: provides the audio master clock for the device.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
audio-codec@38 {
|
||||||
|
compatible = "adi,adau1761";
|
||||||
|
reg = <0x38>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
clocks = <&audio_clock>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,60 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/adi,max98363.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices MAX98363 SoundWire Amplifier
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ryan Lee <ryans.lee@analog.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The MAX98363 is a SoundWire input Class D mono amplifier that
|
||||||
|
supports MIPI SoundWire v1.2-compatible digital interface for
|
||||||
|
audio and control data.
|
||||||
|
SoundWire peripheral device ID of MAX98363 is 0x3*019f836300
|
||||||
|
where * is the peripheral device unique ID decoded from pin.
|
||||||
|
It supports up to 10 peripheral devices(0x0 to 0x9).
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: sdw3019f836300
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
soundwire-controller@3250000 {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x3250000 0x2000>;
|
||||||
|
|
||||||
|
speaker@0,0 {
|
||||||
|
compatible = "sdw3019f836300";
|
||||||
|
reg = <0 0>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
sound-name-prefix = "Speaker Left";
|
||||||
|
};
|
||||||
|
|
||||||
|
speaker@0,1 {
|
||||||
|
compatible = "sdw3019f836300";
|
||||||
|
reg = <0 1>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
sound-name-prefix = "Speaker Right";
|
||||||
|
};
|
||||||
|
};
|
|
@ -41,21 +41,21 @@ properties:
|
||||||
|
|
||||||
adi,vmon-slot-no:
|
adi,vmon-slot-no:
|
||||||
description: slot number of the voltage sense monitor
|
description: slot number of the voltage sense monitor
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 15
|
maximum: 15
|
||||||
default: 0
|
default: 0
|
||||||
|
|
||||||
adi,imon-slot-no:
|
adi,imon-slot-no:
|
||||||
description: slot number of the current sense monitor
|
description: slot number of the current sense monitor
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 15
|
maximum: 15
|
||||||
default: 1
|
default: 1
|
||||||
|
|
||||||
adi,spkfb-slot-no:
|
adi,spkfb-slot-no:
|
||||||
description: slot number of speaker DSP monitor
|
description: slot number of speaker DSP monitor
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 15
|
maximum: 15
|
||||||
default: 2
|
default: 2
|
||||||
|
@ -64,7 +64,7 @@ properties:
|
||||||
description:
|
description:
|
||||||
Selects the PCM data input channel that is routed to the speaker
|
Selects the PCM data input channel that is routed to the speaker
|
||||||
audio processing bypass path.
|
audio processing bypass path.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 15
|
maximum: 15
|
||||||
default: 0
|
default: 0
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
AK4458 audio DAC
|
|
||||||
|
|
||||||
This device supports I2C mode.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "asahi-kasei,ak4458" or "asahi-kasei,ak4497"
|
|
||||||
- reg : The I2C address of the device for I2C
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios: A GPIO specifier for the power down & reset pin
|
|
||||||
- mute-gpios: A GPIO specifier for the soft mute pin
|
|
||||||
- AVDD-supply: Analog power supply
|
|
||||||
- DVDD-supply: Digital power supply
|
|
||||||
- dsd-path: Select DSD input pins for ak4497
|
|
||||||
0: select #16, #17, #19 pins
|
|
||||||
1: select #3, #4, #5 pins
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
ak4458: dac@10 {
|
|
||||||
compatible = "asahi-kasei,ak4458";
|
|
||||||
reg = <0x10>;
|
|
||||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>
|
|
||||||
mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,24 +0,0 @@
|
||||||
AK5558 8 channel differential 32-bit delta-sigma ADC
|
|
||||||
|
|
||||||
This device supports I2C mode only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "asahi-kasei,ak5558" or "asahi-kasei,ak5552".
|
|
||||||
- reg : The I2C address of the device.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- reset-gpios: A GPIO specifier for the power down & reset pin.
|
|
||||||
- AVDD-supply: Analog power supply
|
|
||||||
- DVDD-supply: Digital power supply
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
ak5558: adc@10 {
|
|
||||||
compatible = "asahi-kasei,ak5558";
|
|
||||||
reg = <0x10>;
|
|
||||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,43 +0,0 @@
|
||||||
ALC5632 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "realtek,alc5632"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device.
|
|
||||||
|
|
||||||
- gpio-controller : Indicates this device is a GPIO controller.
|
|
||||||
|
|
||||||
- #gpio-cells : Should be two. The first cell is the pin number and the
|
|
||||||
second cell is used to specify optional parameters (currently unused).
|
|
||||||
|
|
||||||
Pins on the device (for linking into audio routes):
|
|
||||||
|
|
||||||
* SPK_OUTP
|
|
||||||
* SPK_OUTN
|
|
||||||
* HP_OUT_L
|
|
||||||
* HP_OUT_R
|
|
||||||
* AUX_OUT_P
|
|
||||||
* AUX_OUT_N
|
|
||||||
* LINE_IN_L
|
|
||||||
* LINE_IN_R
|
|
||||||
* PHONE_P
|
|
||||||
* PHONE_N
|
|
||||||
* MIC1_P
|
|
||||||
* MIC1_N
|
|
||||||
* MIC2_P
|
|
||||||
* MIC2_N
|
|
||||||
* MICBIAS1
|
|
||||||
* DMICDAT
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
alc5632: alc5632@1e {
|
|
||||||
compatible = "realtek,alc5632";
|
|
||||||
reg = <0x1a>;
|
|
||||||
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
};
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/asahi-kasei,ak4458.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AK4458 audio DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- asahi-kasei,ak4458
|
||||||
|
- asahi-kasei,ak4497
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
avdd-supply:
|
||||||
|
description: Analog power supply
|
||||||
|
|
||||||
|
dvdd-supply:
|
||||||
|
description: Digital power supply
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
mute-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
GPIO used to mute all the outputs
|
||||||
|
|
||||||
|
dsd-path:
|
||||||
|
description: Select DSD input pins for ak4497
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
oneOf:
|
||||||
|
- const: 0
|
||||||
|
description: "select #16, #17, #19 pins"
|
||||||
|
- const: 1
|
||||||
|
description: "select #3, #4, #5 pins"
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: asahi-kasei,ak4458
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
dsd-path: false
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@10 {
|
||||||
|
compatible = "asahi-kasei,ak4458";
|
||||||
|
reg = <0x10>;
|
||||||
|
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||||
|
mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,48 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/asahi-kasei,ak5558.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AK5558 8 channel differential 32-bit delta-sigma ADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Junichi Wakasugi <wakasugi.jb@om.asahi-kasei.co.jp>
|
||||||
|
- Mihai Serban <mihai.serban@nxp.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- asahi-kasei,ak5552
|
||||||
|
- asahi-kasei,ak5558
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
avdd-supply:
|
||||||
|
description: A 1.8V supply that powers up the AVDD pin.
|
||||||
|
|
||||||
|
dvdd-supply:
|
||||||
|
description: A 1.2V supply that powers up the DVDD pin.
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
ak5558: codec@10 {
|
||||||
|
compatible = "asahi-kasei,ak5558";
|
||||||
|
reg = <0x10>;
|
||||||
|
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -16,19 +16,19 @@ definitions:
|
||||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
properties:
|
properties:
|
||||||
convert-rate:
|
convert-rate:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||||
convert-channels:
|
convert-channels:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||||
convert-sample-format:
|
convert-sample-format:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||||
mclk-fs:
|
mclk-fs:
|
||||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
$ref: simple-card.yaml#/definitions/mclk-fs
|
||||||
|
|
||||||
endpoint-base:
|
endpoint-base:
|
||||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||||
properties:
|
properties:
|
||||||
mclk-fs:
|
mclk-fs:
|
||||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
$ref: simple-card.yaml#/definitions/mclk-fs
|
||||||
frame-inversion:
|
frame-inversion:
|
||||||
description: dai-link uses frame clock inversion
|
description: dai-link uses frame clock inversion
|
||||||
$ref: /schemas/types.yaml#/definitions/flag
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
@ -49,11 +49,11 @@ definitions:
|
||||||
description: Indicates system clock
|
description: Indicates system clock
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
system-clock-frequency:
|
system-clock-frequency:
|
||||||
$ref: "simple-card.yaml#/definitions/system-clock-frequency"
|
$ref: simple-card.yaml#/definitions/system-clock-frequency
|
||||||
system-clock-direction-out:
|
system-clock-direction-out:
|
||||||
$ref: "simple-card.yaml#/definitions/system-clock-direction-out"
|
$ref: simple-card.yaml#/definitions/system-clock-direction-out
|
||||||
system-clock-fixed:
|
system-clock-fixed:
|
||||||
$ref: "simple-card.yaml#/definitions/system-clock-fixed"
|
$ref: simple-card.yaml#/definitions/system-clock-fixed
|
||||||
|
|
||||||
dai-format:
|
dai-format:
|
||||||
description: audio format.
|
description: audio format.
|
||||||
|
@ -69,11 +69,11 @@ definitions:
|
||||||
- msb
|
- msb
|
||||||
- lsb
|
- lsb
|
||||||
convert-rate:
|
convert-rate:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||||
convert-channels:
|
convert-channels:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||||
convert-sample-format:
|
convert-sample-format:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||||
|
|
||||||
dai-tdm-slot-num:
|
dai-tdm-slot-num:
|
||||||
description: Number of slots in use.
|
description: Number of slots in use.
|
||||||
|
|
|
@ -15,7 +15,7 @@ properties:
|
||||||
label:
|
label:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
prefix:
|
prefix:
|
||||||
description: "device name prefix"
|
description: device name prefix
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
routing:
|
routing:
|
||||||
description: |
|
description: |
|
||||||
|
@ -27,11 +27,11 @@ properties:
|
||||||
description: User specified audio sound widgets.
|
description: User specified audio sound widgets.
|
||||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
convert-rate:
|
convert-rate:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||||
convert-channels:
|
convert-channels:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||||
convert-sample-format:
|
convert-sample-format:
|
||||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||||
|
|
||||||
pa-gpios:
|
pa-gpios:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -85,11 +85,19 @@ properties:
|
||||||
boost-cap-microfarad.
|
boost-cap-microfarad.
|
||||||
External Boost must have GPIO1 as GPIO output. GPIO1 will be set high to
|
External Boost must have GPIO1 as GPIO output. GPIO1 will be set high to
|
||||||
enable boost voltage.
|
enable boost voltage.
|
||||||
|
Shared boost allows two amplifiers to share a single boost circuit by
|
||||||
|
communicating on the MDSYNC bus. The active amplifier controls the boost
|
||||||
|
circuit using combined data from both amplifiers. GPIO1 should be
|
||||||
|
configured for Sync when shared boost is used. Shared boost is not
|
||||||
|
compatible with External boost. Active amplifier requires
|
||||||
|
boost-peak-milliamp, boost-ind-nanohenry and boost-cap-microfarad.
|
||||||
0 = Internal Boost
|
0 = Internal Boost
|
||||||
1 = External Boost
|
1 = External Boost
|
||||||
|
2 = Shared Boost Active
|
||||||
|
3 = Shared Boost Passive
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 1
|
maximum: 3
|
||||||
|
|
||||||
cirrus,gpio1-polarity-invert:
|
cirrus,gpio1-polarity-invert:
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -45,11 +45,79 @@ properties:
|
||||||
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
|
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
|
||||||
configuration for SDOUT pin of amplifier. Logical OR of
|
configuration for SDOUT pin of amplifier. Logical OR of
|
||||||
CS35L45_ASP_TX_HIZ_xxx values.
|
CS35L45_ASP_TX_HIZ_xxx values.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 3
|
maximum: 3
|
||||||
default: 2
|
default: 2
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^cirrus,gpio-ctrl[1-3]$":
|
||||||
|
description:
|
||||||
|
GPIO pins configuration.
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
properties:
|
||||||
|
gpio-dir:
|
||||||
|
description:
|
||||||
|
GPIO pin direction. Valid only when 'gpio-ctrl' is 1
|
||||||
|
0 = Output
|
||||||
|
1 = Input
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1
|
||||||
|
default: 1
|
||||||
|
gpio-lvl:
|
||||||
|
description:
|
||||||
|
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
|
||||||
|
0 = Low
|
||||||
|
1 = High
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1
|
||||||
|
default: 0
|
||||||
|
gpio-op-cfg:
|
||||||
|
description:
|
||||||
|
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
|
||||||
|
0 = CMOS
|
||||||
|
1 = Open Drain
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1
|
||||||
|
default: 0
|
||||||
|
gpio-pol:
|
||||||
|
description:
|
||||||
|
GPIO output polarity select. Valid only when 'gpio-ctrl' is 1
|
||||||
|
and 'gpio-dir' is 0
|
||||||
|
0 = Non-inverted, Active High
|
||||||
|
1 = Inverted, Active Low
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1
|
||||||
|
default: 0
|
||||||
|
gpio-ctrl:
|
||||||
|
description:
|
||||||
|
Defines the function of the GPIO pin.
|
||||||
|
GPIO1
|
||||||
|
0 = High impedance input
|
||||||
|
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||||
|
2 = Pin acts as MDSYNC, direction controlled by MDSYNC
|
||||||
|
3-7 = Reserved
|
||||||
|
GPIO2
|
||||||
|
0 = High impedance input
|
||||||
|
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||||
|
2 = Pin acts as open drain INT
|
||||||
|
3 = Reserved
|
||||||
|
4 = Pin acts as push-pull output INT. Active low.
|
||||||
|
5 = Pin acts as push-pull output INT. Active high.
|
||||||
|
6,7 = Reserved
|
||||||
|
GPIO3
|
||||||
|
0 = High impedance input
|
||||||
|
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||||
|
2-7 = Reserved
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 7
|
||||||
|
default: 0
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
@ -74,5 +142,15 @@ examples:
|
||||||
reset-gpios = <&gpio 110 0>;
|
reset-gpios = <&gpio 110 0>;
|
||||||
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
|
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
|
||||||
CS35L45_ASP_TX_HIZ_DISABLED)>;
|
CS35L45_ASP_TX_HIZ_DISABLED)>;
|
||||||
|
cirrus,gpio-ctrl1 {
|
||||||
|
gpio-ctrl = <0x2>;
|
||||||
|
};
|
||||||
|
cirrus,gpio-ctrl2 {
|
||||||
|
gpio-ctrl = <0x2>;
|
||||||
|
};
|
||||||
|
cirrus,gpio-ctrl3 {
|
||||||
|
gpio-ctrl = <0x1>;
|
||||||
|
gpio-dir = <0x1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -68,7 +68,7 @@ properties:
|
||||||
This is "normal tip sense (TS)" in the datasheet.
|
This is "normal tip sense (TS)" in the datasheet.
|
||||||
|
|
||||||
The CS42L42_TS_INV_* defines are available for this.
|
The CS42L42_TS_INV_* defines are available for this.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 1
|
maximum: 1
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ properties:
|
||||||
7 - 1.5s
|
7 - 1.5s
|
||||||
|
|
||||||
The CS42L42_TS_DBNCE_* defines are available for this.
|
The CS42L42_TS_DBNCE_* defines are available for this.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 7
|
maximum: 7
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ properties:
|
||||||
7 - 1.5s
|
7 - 1.5s
|
||||||
|
|
||||||
The CS42L42_TS_DBNCE_* defines are available for this.
|
The CS42L42_TS_DBNCE_* defines are available for this.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 7
|
maximum: 7
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ properties:
|
||||||
|
|
||||||
0ms - 200ms,
|
0ms - 200ms,
|
||||||
Default = 100ms
|
Default = 100ms
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 200
|
maximum: 200
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ properties:
|
||||||
|
|
||||||
0ms - 20ms,
|
0ms - 20ms,
|
||||||
Default = 10ms
|
Default = 10ms
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 20
|
maximum: 20
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ properties:
|
||||||
3 - Slowest
|
3 - Slowest
|
||||||
|
|
||||||
The CS42L42_HSBIAS_RAMP_* defines are available for this.
|
The CS42L42_HSBIAS_RAMP_* defines are available for this.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
minimum: 0
|
minimum: 0
|
||||||
maximum: 3
|
maximum: 3
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Cirrus EP93xx I2S Controller
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The I2S controller is used to stream serial audio data between the external
|
||||||
|
I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left-
|
||||||
|
and Right-Justified DSP formats.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: cirrus,ep9301-i2s
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: sclk
|
||||||
|
- const: lrclk
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2s: i2s@80820000 {
|
||||||
|
compatible = "cirrus,ep9301-i2s";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x80820000 0x100>;
|
||||||
|
interrupt-parent = <&vic1>;
|
||||||
|
interrupts = <28>;
|
||||||
|
clocks = <&syscon 29>,
|
||||||
|
<&syscon 30>,
|
||||||
|
<&syscon 31>;
|
||||||
|
clock-names = "mclk", "sclk", "lrclk";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -28,6 +28,10 @@ properties:
|
||||||
items:
|
items:
|
||||||
- const: mclk
|
- const: mclk
|
||||||
|
|
||||||
|
port:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
"#sound-dai-cells":
|
"#sound-dai-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,117 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: QMC audio
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Herve Codina <herve.codina@bootlin.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The QMC audio is an ASoC component which uses QMC (QUICC Multichannel
|
||||||
|
Controller) channels to transfer the audio data.
|
||||||
|
It provides as many DAI as the number of QMC channel used.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: fsl,qmc-audio
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^dai@([0-9]|[1-5][0-9]|6[0-3])$':
|
||||||
|
description:
|
||||||
|
A DAI managed by this controller
|
||||||
|
type: object
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 63
|
||||||
|
description:
|
||||||
|
The DAI number
|
||||||
|
|
||||||
|
fsl,qmc-chan:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
items:
|
||||||
|
- items:
|
||||||
|
- description: phandle to QMC node
|
||||||
|
- description: Channel number
|
||||||
|
description:
|
||||||
|
Should be a phandle/number pair. The phandle to QMC node and the QMC
|
||||||
|
channel to use for this DAI.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
- fsl,qmc-chan
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- '#address-cells'
|
||||||
|
- '#size-cells'
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
audio_controller: audio-controller {
|
||||||
|
compatible = "fsl,qmc-audio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
dai@16 {
|
||||||
|
reg = <16>;
|
||||||
|
fsl,qmc-chan = <&qmc 16>;
|
||||||
|
};
|
||||||
|
dai@17 {
|
||||||
|
reg = <17>;
|
||||||
|
fsl,qmc-chan = <&qmc 17>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sound {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
simple-audio-card,dai-link@0 {
|
||||||
|
reg = <0>;
|
||||||
|
format = "dsp_b";
|
||||||
|
cpu {
|
||||||
|
sound-dai = <&audio_controller 16>;
|
||||||
|
};
|
||||||
|
codec {
|
||||||
|
sound-dai = <&codec1>;
|
||||||
|
dai-tdm-slot-num = <4>;
|
||||||
|
dai-tdm-slot-width = <8>;
|
||||||
|
/* TS 3, 5, 7, 9 */
|
||||||
|
dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>;
|
||||||
|
dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
simple-audio-card,dai-link@1 {
|
||||||
|
reg = <1>;
|
||||||
|
format = "dsp_b";
|
||||||
|
cpu {
|
||||||
|
sound-dai = <&audio_controller 17>;
|
||||||
|
};
|
||||||
|
codec {
|
||||||
|
sound-dai = <&codec2>;
|
||||||
|
dai-tdm-slot-num = <4>;
|
||||||
|
dai-tdm-slot-width = <8>;
|
||||||
|
/* TS 2, 4, 6, 8 */
|
||||||
|
dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>;
|
||||||
|
dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,17 +0,0 @@
|
||||||
max98371 codec
|
|
||||||
|
|
||||||
This device supports I2C mode only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "maxim,max98371"
|
|
||||||
- reg : The chip select number on the I2C bus
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
max98371: max98371@31 {
|
|
||||||
compatible = "maxim,max98371";
|
|
||||||
reg = <0x31>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,17 +0,0 @@
|
||||||
max9867 codec
|
|
||||||
|
|
||||||
This device supports I2C mode only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "maxim,max9867"
|
|
||||||
- reg : The chip select number on the I2C bus
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
max9867: max9867@18 {
|
|
||||||
compatible = "maxim,max9867";
|
|
||||||
reg = <0x18>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,18 +0,0 @@
|
||||||
Maxim MAX9759 Speaker Amplifier
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "maxim,max9759"
|
|
||||||
- shutdown-gpios : the gpio connected to the shutdown pin
|
|
||||||
- mute-gpios : the gpio connected to the mute pin
|
|
||||||
- gain-gpios : the 2 gpios connected to the g1 and g2 pins
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
max9759: analog-amplifier {
|
|
||||||
compatible = "maxim,max9759";
|
|
||||||
shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
|
||||||
mute-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
|
|
||||||
gain-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>,
|
|
||||||
<&gpio3 25 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/maxim,max9759.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim MAX9759 Speaker Amplifier
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Otabek Nazrullaev <otabeknazrullaev1998@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max9759
|
||||||
|
|
||||||
|
shutdown-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: the gpio connected to the shutdown pin
|
||||||
|
|
||||||
|
mute-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: the gpio connected to the mute pin
|
||||||
|
|
||||||
|
gain-gpios:
|
||||||
|
maxItems: 2
|
||||||
|
description: the 2 gpios connected to the g1 and g2 pins
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- shutdown-gpios
|
||||||
|
- mute-gpios
|
||||||
|
- gain-gpios
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
amplifier {
|
||||||
|
compatible = "maxim,max9759";
|
||||||
|
shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
||||||
|
mute-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
|
||||||
|
gain-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>,
|
||||||
|
<&gpio3 25 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
|
@ -0,0 +1,42 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/maxim,max98371.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim MAX98371 audio codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- anish kumar <yesanishhere@gmail.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max98371
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@31 {
|
||||||
|
compatible = "maxim,max98371";
|
||||||
|
reg = <0x31>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,60 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/maxim,max9867.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim Integrated MAX9867 CODEC
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This device supports I2C only.
|
||||||
|
Pins on the device (for linking into audio routes):
|
||||||
|
* LOUT
|
||||||
|
* ROUT
|
||||||
|
* LINL
|
||||||
|
* LINR
|
||||||
|
* MICL
|
||||||
|
* MICR
|
||||||
|
* DMICL
|
||||||
|
* DMICR
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ladislav Michl <ladis@linux-mips.org>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- maxim,max9867
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@18 {
|
||||||
|
compatible = "maxim,max9867";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
reg = <0x18>;
|
||||||
|
clocks = <&codec_clk>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -26,15 +26,15 @@ properties:
|
||||||
const: audiosys
|
const: audiosys
|
||||||
|
|
||||||
mediatek,apmixedsys:
|
mediatek,apmixedsys:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek apmixedsys controller
|
description: The phandle of the mediatek apmixedsys controller
|
||||||
|
|
||||||
mediatek,infracfg:
|
mediatek,infracfg:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek infracfg controller
|
description: The phandle of the mediatek infracfg controller
|
||||||
|
|
||||||
mediatek,topckgen:
|
mediatek,topckgen:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek topckgen controller
|
description: The phandle of the mediatek topckgen controller
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
|
|
|
@ -18,7 +18,7 @@ properties:
|
||||||
- mediatek,mt8186-mt6366-da7219-max98357-sound
|
- mediatek,mt8186-mt6366-da7219-max98357-sound
|
||||||
|
|
||||||
mediatek,platform:
|
mediatek,platform:
|
||||||
$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.
|
||||||
|
|
||||||
headset-codec:
|
headset-codec:
|
||||||
|
|
|
@ -19,7 +19,7 @@ properties:
|
||||||
- mediatek,mt8186-mt6366-rt5682s-max98360-sound
|
- mediatek,mt8186-mt6366-rt5682s-max98360-sound
|
||||||
|
|
||||||
mediatek,platform:
|
mediatek,platform:
|
||||||
$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:
|
dmic-gpios:
|
||||||
|
|
|
@ -24,15 +24,15 @@ properties:
|
||||||
const: audiosys
|
const: audiosys
|
||||||
|
|
||||||
mediatek,apmixedsys:
|
mediatek,apmixedsys:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek apmixedsys controller
|
description: The phandle of the mediatek apmixedsys controller
|
||||||
|
|
||||||
mediatek,infracfg:
|
mediatek,infracfg:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek infracfg controller
|
description: The phandle of the mediatek infracfg controller
|
||||||
|
|
||||||
mediatek,topckgen:
|
mediatek,topckgen:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek topckgen controller
|
description: The phandle of the mediatek topckgen controller
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
|
|
|
@ -21,11 +21,11 @@ properties:
|
||||||
- mediatek,mt8192_mt6359_rt1015p_rt5682s
|
- mediatek,mt8192_mt6359_rt1015p_rt5682s
|
||||||
|
|
||||||
mediatek,platform:
|
mediatek,platform:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of MT8192 ASoC platform.
|
description: The phandle of MT8192 ASoC platform.
|
||||||
|
|
||||||
mediatek,hdmi-codec:
|
mediatek,hdmi-codec:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of HDMI codec.
|
description: The phandle of HDMI codec.
|
||||||
|
|
||||||
headset-codec:
|
headset-codec:
|
||||||
|
|
|
@ -32,7 +32,7 @@ properties:
|
||||||
See ../reserved-memory/reserved-memory.txt for details.
|
See ../reserved-memory/reserved-memory.txt for details.
|
||||||
|
|
||||||
mediatek,topckgen:
|
mediatek,topckgen:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of the mediatek topckgen controller
|
description: The phandle of the mediatek topckgen controller
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
|
|
|
@ -24,19 +24,19 @@ properties:
|
||||||
description: User specified audio sound card name
|
description: User specified audio sound card name
|
||||||
|
|
||||||
mediatek,platform:
|
mediatek,platform:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of MT8195 ASoC platform.
|
description: The phandle of MT8195 ASoC platform.
|
||||||
|
|
||||||
mediatek,dptx-codec:
|
mediatek,dptx-codec:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of MT8195 Display Port Tx codec node.
|
description: The phandle of MT8195 Display Port Tx codec node.
|
||||||
|
|
||||||
mediatek,hdmi-codec:
|
mediatek,hdmi-codec:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of MT8195 HDMI codec node.
|
description: The phandle of MT8195 HDMI codec node.
|
||||||
|
|
||||||
mediatek,adsp:
|
mediatek,adsp:
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description: The phandle of MT8195 ADSP platform.
|
description: The phandle of MT8195 ADSP platform.
|
||||||
|
|
||||||
mediatek,dai-link:
|
mediatek,dai-link:
|
||||||
|
|
|
@ -74,6 +74,9 @@ Optional properties:
|
||||||
- nuvoton,adcout-drive-strong: make the drive strength of ADCOUT IO PIN strong if set.
|
- nuvoton,adcout-drive-strong: make the drive strength of ADCOUT IO PIN strong if set.
|
||||||
Otherwise, the drive keeps normal strength.
|
Otherwise, the drive keeps normal strength.
|
||||||
|
|
||||||
|
- nuvoton,adc-delay-ms: Delay (in ms) to make input path stable and avoid pop noise. The
|
||||||
|
default value is 125 and range between 125 to 500 ms.
|
||||||
|
|
||||||
- clocks: list of phandle and clock specifier pairs according to common clock bindings for the
|
- clocks: list of phandle and clock specifier pairs according to common clock bindings for the
|
||||||
clocks described in clock-names
|
clocks described in clock-names
|
||||||
- clock-names: should include "mclk" for the MCLK master clock
|
- clock-names: should include "mclk" for the MCLK master clock
|
||||||
|
|
|
@ -31,10 +31,10 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headset Stereophone"
|
- Headset Stereophone
|
||||||
- "Int Spk"
|
- Int Spk
|
||||||
- "Headset Mic"
|
- Headset Mic
|
||||||
- "Digital Mic"
|
- Digital Mic
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- SPKOUT
|
- SPKOUT
|
||||||
|
|
|
@ -80,4 +80,8 @@ properties:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: The Mic Jack represents state of the headset microphone pin
|
description: The Mic Jack represents state of the headset microphone pin
|
||||||
|
|
||||||
|
nvidia,coupled-mic-hp-det:
|
||||||
|
type: boolean
|
||||||
|
description: The Mic detect GPIO is viable only if HP detect GPIO is active
|
||||||
|
|
||||||
additionalProperties: true
|
additionalProperties: true
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max9808x.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NVIDIA Tegra audio complex with MAX9808x CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Thierry Reding <thierry.reding@gmail.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: nvidia,tegra-audio-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- pattern: '^[a-z0-9]+,tegra-audio-max98088(-[a-z0-9]+)+$'
|
||||||
|
- const: nvidia,tegra-audio-max98088
|
||||||
|
- items:
|
||||||
|
- pattern: '^[a-z0-9]+,tegra-audio-max98089(-[a-z0-9]+)+$'
|
||||||
|
- const: nvidia,tegra-audio-max98089
|
||||||
|
|
||||||
|
nvidia,audio-routing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
description: |
|
||||||
|
A list of the connections between audio components.
|
||||||
|
Each entry is a pair of strings, the first being the connection's sink,
|
||||||
|
the second being the connection's source. Valid names for sources and
|
||||||
|
sinks are the pins (documented in the binding document),
|
||||||
|
and the jacks on the board.
|
||||||
|
minItems: 2
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
# Board Connectors
|
||||||
|
- "Int Spk"
|
||||||
|
- "Headphone Jack"
|
||||||
|
- "Earpiece"
|
||||||
|
- "Headset Mic"
|
||||||
|
- "Internal Mic 1"
|
||||||
|
- "Internal Mic 2"
|
||||||
|
|
||||||
|
# CODEC Pins
|
||||||
|
- HPL
|
||||||
|
- HPR
|
||||||
|
- SPKL
|
||||||
|
- SPKR
|
||||||
|
- RECL
|
||||||
|
- RECR
|
||||||
|
- INA1
|
||||||
|
- INA2
|
||||||
|
- INB1
|
||||||
|
- INB2
|
||||||
|
- MIC1
|
||||||
|
- MIC2
|
||||||
|
- MICBIAS
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/tegra30-car.h>
|
||||||
|
#include <dt-bindings/soc/tegra-pmc.h>
|
||||||
|
sound {
|
||||||
|
compatible = "lge,tegra-audio-max98089-p895",
|
||||||
|
"nvidia,tegra-audio-max98089";
|
||||||
|
nvidia,model = "LG Optimus Vu MAX98089";
|
||||||
|
|
||||||
|
nvidia,audio-routing =
|
||||||
|
"Headphone Jack", "HPL",
|
||||||
|
"Headphone Jack", "HPR",
|
||||||
|
"Int Spk", "SPKL",
|
||||||
|
"Int Spk", "SPKR",
|
||||||
|
"Earpiece", "RECL",
|
||||||
|
"Earpiece", "RECR",
|
||||||
|
"INA1", "Headset Mic",
|
||||||
|
"MIC1", "MICBIAS",
|
||||||
|
"MICBIAS", "Internal Mic 1",
|
||||||
|
"MIC2", "Internal Mic 2";
|
||||||
|
|
||||||
|
nvidia,i2s-controller = <&tegra_i2s0>;
|
||||||
|
nvidia,audio-codec = <&codec>;
|
||||||
|
|
||||||
|
clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
|
||||||
|
<&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
|
||||||
|
<&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
|
||||||
|
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||||
|
};
|
|
@ -38,10 +38,10 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphones"
|
- Headphones
|
||||||
- "Speakers"
|
- Speakers
|
||||||
- "Mic Jack"
|
- Mic Jack
|
||||||
- "Int Mic"
|
- Int Mic
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- MIC1
|
- MIC1
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5631.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NVIDIA Tegra audio complex with RT5631 CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Thierry Reding <thierry.reding@gmail.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: nvidia,tegra-audio-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- pattern: '^[a-z0-9]+,tegra-audio-rt5631(-[a-z0-9]+)+$'
|
||||||
|
- const: nvidia,tegra-audio-rt5631
|
||||||
|
|
||||||
|
nvidia,audio-routing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
description: |
|
||||||
|
A list of the connections between audio components.
|
||||||
|
Each entry is a pair of strings, the first being the connection's sink,
|
||||||
|
the second being the connection's source. Valid names for sources and
|
||||||
|
sinks are the pins (documented in the binding document),
|
||||||
|
and the jacks on the board.
|
||||||
|
minItems: 2
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
# Board Connectors
|
||||||
|
- "Int Spk"
|
||||||
|
- "Headphone Jack"
|
||||||
|
- "Mic Jack"
|
||||||
|
- "Int Mic"
|
||||||
|
|
||||||
|
# CODEC Pins
|
||||||
|
- MIC1
|
||||||
|
- MIC2
|
||||||
|
- AXIL
|
||||||
|
- AXIR
|
||||||
|
- MONOIN_RXN
|
||||||
|
- MONOIN_RXP
|
||||||
|
- DMIC
|
||||||
|
- MIC Bias1
|
||||||
|
- MIC Bias2
|
||||||
|
- MONO_IN
|
||||||
|
- AUXO1
|
||||||
|
- AUXO2
|
||||||
|
- SPOL
|
||||||
|
- SPOR
|
||||||
|
- HPOL
|
||||||
|
- HPOR
|
||||||
|
- MONO
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/tegra30-car.h>
|
||||||
|
#include <dt-bindings/soc/tegra-pmc.h>
|
||||||
|
sound {
|
||||||
|
compatible = "asus,tegra-audio-rt5631-tf700t",
|
||||||
|
"nvidia,tegra-audio-rt5631";
|
||||||
|
nvidia,model = "Asus Transformer Infinity TF700T RT5631";
|
||||||
|
|
||||||
|
nvidia,audio-routing =
|
||||||
|
"Headphone Jack", "HPOL",
|
||||||
|
"Headphone Jack", "HPOR",
|
||||||
|
"Int Spk", "SPOL",
|
||||||
|
"Int Spk", "SPOR",
|
||||||
|
"MIC1", "MIC Bias1",
|
||||||
|
"MIC Bias1", "Mic Jack",
|
||||||
|
"DMIC", "Int Mic";
|
||||||
|
|
||||||
|
nvidia,i2s-controller = <&tegra_i2s1>;
|
||||||
|
nvidia,audio-codec = <&rt5631>;
|
||||||
|
|
||||||
|
clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
|
||||||
|
<&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
|
||||||
|
<&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
|
||||||
|
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||||
|
};
|
|
@ -31,9 +31,9 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphones"
|
- Headphones
|
||||||
- "Speakers"
|
- Speakers
|
||||||
- "Mic Jack"
|
- Mic Jack
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- DMIC1
|
- DMIC1
|
||||||
|
|
|
@ -31,11 +31,11 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphone"
|
- Headphone
|
||||||
- "Speaker"
|
- Speaker
|
||||||
- "Headset Mic"
|
- Headset Mic
|
||||||
- "Internal Mic 1"
|
- Internal Mic 1
|
||||||
- "Internal Mic 2"
|
- Internal Mic 2
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- IN1P
|
- IN1P
|
||||||
|
@ -47,14 +47,14 @@ properties:
|
||||||
- DMIC2
|
- DMIC2
|
||||||
- DMIC3
|
- DMIC3
|
||||||
- DMIC4
|
- DMIC4
|
||||||
- "DMIC L1"
|
- DMIC L1
|
||||||
- "DMIC L2"
|
- DMIC L2
|
||||||
- "DMIC L3"
|
- DMIC L3
|
||||||
- "DMIC L4"
|
- DMIC L4
|
||||||
- "DMIC R1"
|
- DMIC R1
|
||||||
- "DMIC R2"
|
- DMIC R2
|
||||||
- "DMIC R3"
|
- DMIC R3
|
||||||
- "DMIC R4"
|
- DMIC R4
|
||||||
- LOUT1
|
- LOUT1
|
||||||
- LOUT2
|
- LOUT2
|
||||||
- LOUT3
|
- LOUT3
|
||||||
|
|
|
@ -31,9 +31,9 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphone Jack"
|
- Headphone Jack
|
||||||
- "Line In Jack"
|
- Line In Jack
|
||||||
- "Mic Jack"
|
- Mic Jack
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- HP_OUT
|
- HP_OUT
|
||||||
|
|
|
@ -31,8 +31,8 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphone Jack"
|
- Headphone Jack
|
||||||
- "Mic Jack"
|
- Mic Jack
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- LOUT1
|
- LOUT1
|
||||||
|
@ -53,7 +53,7 @@ properties:
|
||||||
- MIC1
|
- MIC1
|
||||||
- MIC2N
|
- MIC2N
|
||||||
- MIC2
|
- MIC2
|
||||||
- "Mic Bias"
|
- Mic Bias
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- nvidia,i2s-controller
|
- nvidia,i2s-controller
|
||||||
|
|
|
@ -35,10 +35,10 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphone Jack"
|
- Headphone Jack
|
||||||
- "Int Spk"
|
- Int Spk
|
||||||
- "Mic Jack"
|
- Mic Jack
|
||||||
- "Int Mic"
|
- Int Mic
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- IN1L
|
- IN1L
|
||||||
|
|
|
@ -31,9 +31,9 @@ properties:
|
||||||
items:
|
items:
|
||||||
enum:
|
enum:
|
||||||
# Board Connectors
|
# Board Connectors
|
||||||
- "Headphone"
|
- Headphone
|
||||||
- "LineIn"
|
- LineIn
|
||||||
- "Mic"
|
- Mic
|
||||||
|
|
||||||
# CODEC Pins
|
# CODEC Pins
|
||||||
- MONOOUT
|
- MONOOUT
|
||||||
|
@ -48,7 +48,7 @@ properties:
|
||||||
- PCBEEP
|
- PCBEEP
|
||||||
- MIC1
|
- MIC1
|
||||||
- MIC2
|
- MIC2
|
||||||
- "Mic Bias"
|
- Mic Bias
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- nvidia,ac97-controller
|
- nvidia,ac97-controller
|
||||||
|
|
|
@ -9,15 +9,13 @@ title: LPASS(Low Power Audio Subsystem) RX Macro audio codec
|
||||||
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:
|
||||||
- qcom,sc7280-lpass-rx-macro
|
- qcom,sc7280-lpass-rx-macro
|
||||||
- qcom,sm8250-lpass-rx-macro
|
- qcom,sm8250-lpass-rx-macro
|
||||||
- qcom,sm8450-lpass-rx-macro
|
- qcom,sm8450-lpass-rx-macro
|
||||||
|
- qcom,sm8550-lpass-rx-macro
|
||||||
- qcom,sc8280xp-lpass-rx-macro
|
- qcom,sc8280xp-lpass-rx-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
@ -30,20 +28,12 @@ properties:
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
|
minItems: 3
|
||||||
maxItems: 5
|
maxItems: 5
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
oneOf:
|
minItems: 3
|
||||||
- items: #for ADSP based platforms
|
maxItems: 5
|
||||||
- const: mclk
|
|
||||||
- const: npl
|
|
||||||
- const: macro
|
|
||||||
- const: dcodec
|
|
||||||
- const: fsgen
|
|
||||||
- items: #for ADSP bypass based platforms
|
|
||||||
- const: mclk
|
|
||||||
- const: npl
|
|
||||||
- const: fsgen
|
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -61,6 +51,65 @@ required:
|
||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sc7280-lpass-rx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clock-names:
|
||||||
|
oneOf:
|
||||||
|
- items: #for ADSP based platforms
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
- items: #for ADSP bypass based platforms
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sc8280xp-lpass-rx-macro
|
||||||
|
- qcom,sm8250-lpass-rx-macro
|
||||||
|
- qcom,sm8450-lpass-rx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 5
|
||||||
|
maxItems: 5
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sm8550-lpass-rx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 4
|
||||||
|
maxItems: 4
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -9,15 +9,13 @@ title: LPASS(Low Power Audio Subsystem) TX Macro audio codec
|
||||||
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:
|
||||||
- qcom,sc7280-lpass-tx-macro
|
- qcom,sc7280-lpass-tx-macro
|
||||||
- qcom,sm8250-lpass-tx-macro
|
- qcom,sm8250-lpass-tx-macro
|
||||||
- qcom,sm8450-lpass-tx-macro
|
- qcom,sm8450-lpass-tx-macro
|
||||||
|
- qcom,sm8550-lpass-tx-macro
|
||||||
- qcom,sc8280xp-lpass-tx-macro
|
- qcom,sc8280xp-lpass-tx-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
@ -30,22 +28,12 @@ properties:
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
oneOf:
|
minItems: 3
|
||||||
- maxItems: 3
|
maxItems: 5
|
||||||
- maxItems: 5
|
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
oneOf:
|
minItems: 3
|
||||||
- items: #for ADSP based platforms
|
maxItems: 5
|
||||||
- const: mclk
|
|
||||||
- const: npl
|
|
||||||
- const: macro
|
|
||||||
- const: dcodec
|
|
||||||
- const: fsgen
|
|
||||||
- items: #for ADSP bypass based platforms
|
|
||||||
- const: mclk
|
|
||||||
- const: npl
|
|
||||||
- const: fsgen
|
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -67,6 +55,65 @@ required:
|
||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sc7280-lpass-tx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clock-names:
|
||||||
|
oneOf:
|
||||||
|
- items: #for ADSP based platforms
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
- items: #for ADSP bypass based platforms
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sc8280xp-lpass-tx-macro
|
||||||
|
- qcom,sm8250-lpass-tx-macro
|
||||||
|
- qcom,sm8450-lpass-tx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 5
|
||||||
|
maxItems: 5
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: npl
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sm8550-lpass-tx-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 4
|
||||||
|
maxItems: 4
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -9,15 +9,13 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec
|
||||||
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:
|
||||||
- qcom,sc7280-lpass-va-macro
|
- qcom,sc7280-lpass-va-macro
|
||||||
- qcom,sm8250-lpass-va-macro
|
- qcom,sm8250-lpass-va-macro
|
||||||
- qcom,sm8450-lpass-va-macro
|
- qcom,sm8450-lpass-va-macro
|
||||||
|
- qcom,sm8550-lpass-va-macro
|
||||||
- qcom,sc8280xp-lpass-va-macro
|
- qcom,sc8280xp-lpass-va-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
@ -30,16 +28,12 @@ properties:
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 3
|
minItems: 1
|
||||||
|
maxItems: 4
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
oneOf:
|
minItems: 1
|
||||||
- items: #for ADSP based platforms
|
maxItems: 4
|
||||||
- const: mclk
|
|
||||||
- const: macro
|
|
||||||
- const: dcodec
|
|
||||||
- items: #for ADSP bypass based platforms
|
|
||||||
- const: mclk
|
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -63,6 +57,76 @@ required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
|
- clock-names
|
||||||
|
- clocks
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,sc7280-lpass-va-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: qcom,sm8250-lpass-va-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- qcom,sc8280xp-lpass-va-macro
|
||||||
|
- qcom,sm8450-lpass-va-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 4
|
||||||
|
maxItems: 4
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: npl
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- qcom,sm8550-lpass-va-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ properties:
|
||||||
- qcom,sc7280-lpass-wsa-macro
|
- qcom,sc7280-lpass-wsa-macro
|
||||||
- qcom,sm8250-lpass-wsa-macro
|
- qcom,sm8250-lpass-wsa-macro
|
||||||
- qcom,sm8450-lpass-wsa-macro
|
- qcom,sm8450-lpass-wsa-macro
|
||||||
|
- qcom,sm8550-lpass-wsa-macro
|
||||||
- qcom,sc8280xp-lpass-wsa-macro
|
- qcom,sc8280xp-lpass-wsa-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
@ -27,11 +28,11 @@ properties:
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 5
|
minItems: 4
|
||||||
maxItems: 6
|
maxItems: 6
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
minItems: 5
|
minItems: 4
|
||||||
maxItems: 6
|
maxItems: 6
|
||||||
|
|
||||||
clock-output-names:
|
clock-output-names:
|
||||||
|
@ -62,6 +63,7 @@ allOf:
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
clocks:
|
clocks:
|
||||||
|
minItems: 5
|
||||||
maxItems: 5
|
maxItems: 5
|
||||||
clock-names:
|
clock-names:
|
||||||
items:
|
items:
|
||||||
|
@ -89,6 +91,23 @@ allOf:
|
||||||
- const: va
|
- const: va
|
||||||
- const: fsgen
|
- const: fsgen
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,sm8550-lpass-wsa-macro
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
minItems: 4
|
||||||
|
maxItems: 4
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: macro
|
||||||
|
- const: dcodec
|
||||||
|
- const: fsgen
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -56,7 +56,7 @@ patternProperties:
|
||||||
Compress offload dai.
|
Compress offload dai.
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
is-compress-dai: ["direction"]
|
is-compress-dai: [ direction ]
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- reg
|
- reg
|
||||||
|
|
|
@ -1,123 +0,0 @@
|
||||||
QCOM WCD9335 Codec
|
|
||||||
|
|
||||||
Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
|
|
||||||
Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
|
|
||||||
the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
|
|
||||||
Soundwire controller, interrupt mux. It supports both I2S/I2C and
|
|
||||||
SLIMbus audio interfaces.
|
|
||||||
|
|
||||||
Required properties with SLIMbus Interface:
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: For SLIMbus interface it should be "slimMID,PID",
|
|
||||||
textual representation of Manufacturer ID, Product Code,
|
|
||||||
shall be in lower case hexadecimal with leading zeroes
|
|
||||||
suppressed. Refer to slimbus/bus.txt for details.
|
|
||||||
Should be:
|
|
||||||
"slim217,1a0" for MSM8996 and APQ8096 SoCs with SLIMbus.
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32 u32>
|
|
||||||
Definition: Should be ('Device index', 'Instance ID')
|
|
||||||
|
|
||||||
- interrupts
|
|
||||||
Usage: required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Interrupts via WCD INTR1 and INTR2 pins
|
|
||||||
|
|
||||||
- interrupt-names:
|
|
||||||
Usage: required
|
|
||||||
Value type: <String array>
|
|
||||||
Definition: Interrupt names of WCD INTR1 and INTR2
|
|
||||||
Should be: "intr1", "intr2"
|
|
||||||
|
|
||||||
- reset-gpios:
|
|
||||||
Usage: required
|
|
||||||
Value type: <String Array>
|
|
||||||
Definition: Reset gpio line
|
|
||||||
|
|
||||||
- slim-ifc-dev:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: SLIM interface device
|
|
||||||
|
|
||||||
- clocks:
|
|
||||||
Usage: required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: See clock-bindings.txt section "consumers". List of
|
|
||||||
three clock specifiers for mclk, mclk2 and slimbus clock.
|
|
||||||
|
|
||||||
- clock-names:
|
|
||||||
Usage: required
|
|
||||||
Value type: <string>
|
|
||||||
Definition: Must contain "mclk", "mclk2" and "slimbus" strings.
|
|
||||||
|
|
||||||
- vdd-buck-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the 1.8V buck supply
|
|
||||||
|
|
||||||
- vdd-buck-sido-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the 1.8V SIDO buck supply
|
|
||||||
|
|
||||||
- vdd-rx-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the 1.8V rx supply
|
|
||||||
|
|
||||||
- vdd-tx-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the 1.8V tx supply
|
|
||||||
|
|
||||||
- vdd-vbat-supply:
|
|
||||||
Usage: Optional
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the vbat supply
|
|
||||||
|
|
||||||
- vdd-micbias-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the micbias supply
|
|
||||||
|
|
||||||
- vdd-io-supply:
|
|
||||||
Usage: required
|
|
||||||
Value type: <phandle>
|
|
||||||
Definition: Should contain a reference to the 1.8V io supply
|
|
||||||
|
|
||||||
- interrupt-controller:
|
|
||||||
Usage: required
|
|
||||||
Definition: Indicating that this is a interrupt controller
|
|
||||||
|
|
||||||
- #interrupt-cells:
|
|
||||||
Usage: required
|
|
||||||
Value type: <int>
|
|
||||||
Definition: should be 1
|
|
||||||
|
|
||||||
#sound-dai-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 1
|
|
||||||
|
|
||||||
audio-codec@1{
|
|
||||||
compatible = "slim217,1a0";
|
|
||||||
reg = <1 0>;
|
|
||||||
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
interrupt-names = "intr2"
|
|
||||||
reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>;
|
|
||||||
slim-ifc-dev = <&wc9335_ifd>;
|
|
||||||
clock-names = "mclk", "native";
|
|
||||||
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
|
|
||||||
<&rpmcc RPM_SMD_BB_CLK1>;
|
|
||||||
vdd-buck-supply = <&pm8994_s4>;
|
|
||||||
vdd-rx-supply = <&pm8994_s4>;
|
|
||||||
vdd-buck-sido-supply = <&pm8994_s4>;
|
|
||||||
vdd-tx-supply = <&pm8994_s4>;
|
|
||||||
vdd-io-supply = <&pm8994_s4>;
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
}
|
|
|
@ -0,0 +1,156 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/qcom,wcd9335.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm WCD9335 Audio Codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC with in-built
|
||||||
|
Soundwire controller and interrupt mux. It supports both I2S/I2C and SLIMbus
|
||||||
|
audio interfaces.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: slim217,1a0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
- const: slimbus
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
items:
|
||||||
|
- const: intr1
|
||||||
|
- const: intr2
|
||||||
|
|
||||||
|
interrupt-controller: true
|
||||||
|
|
||||||
|
'#interrupt-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
slim-ifc-dev:
|
||||||
|
description: SLIM IFC device interface
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
vdd-buck-supply:
|
||||||
|
description: 1.8V buck supply
|
||||||
|
|
||||||
|
vdd-buck-sido-supply:
|
||||||
|
description: 1.8V SIDO buck supply
|
||||||
|
|
||||||
|
vdd-io-supply:
|
||||||
|
description: 1.8V I/O supply
|
||||||
|
|
||||||
|
vdd-micbias-supply:
|
||||||
|
description: micbias supply
|
||||||
|
|
||||||
|
vdd-rx-supply:
|
||||||
|
description: 1.8V rx supply
|
||||||
|
|
||||||
|
vdd-tx-supply:
|
||||||
|
description: 1.8V tx supply
|
||||||
|
|
||||||
|
vdd-vbat-supply:
|
||||||
|
description: vbat supply
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
- if:
|
||||||
|
required:
|
||||||
|
- slim-ifc-dev
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
- interrupt-controller
|
||||||
|
- '#interrupt-cells'
|
||||||
|
- reset-gpios
|
||||||
|
- slim-ifc-dev
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
- vdd-buck-supply
|
||||||
|
- vdd-buck-sido-supply
|
||||||
|
- vdd-io-supply
|
||||||
|
- vdd-rx-supply
|
||||||
|
- vdd-tx-supply
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
clocks: false
|
||||||
|
clock-names: false
|
||||||
|
interrupts: false
|
||||||
|
interrupt-names: false
|
||||||
|
interrupt-controller: false
|
||||||
|
'#interrupt-cells': false
|
||||||
|
reset-gpios: false
|
||||||
|
slim-ifc-dev: false
|
||||||
|
'#sound-dai-cells': false
|
||||||
|
vdd-buck-supply: false
|
||||||
|
vdd-buck-sido-supply: false
|
||||||
|
vdd-io-supply: false
|
||||||
|
vdd-micbias-supply: false
|
||||||
|
vdd-rx-supply: false
|
||||||
|
vdd-tx-supply: false
|
||||||
|
vdd-vbat-supply: false
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
tasha_ifd: codec@0,0 {
|
||||||
|
compatible = "slim217,1a0";
|
||||||
|
reg = <0 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
codec@1,0 {
|
||||||
|
compatible = "slim217,1a0";
|
||||||
|
reg = <1 0>;
|
||||||
|
|
||||||
|
clock-names = "mclk", "slimbus";
|
||||||
|
clocks = <&div1_mclk>, <&rpmcc RPM_SMD_BB_CLK1>;
|
||||||
|
|
||||||
|
interrupt-parent = <&tlmm>;
|
||||||
|
interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<53 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "intr1", "intr2";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
|
||||||
|
reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
|
||||||
|
slim-ifc-dev = <&tasha_ifd>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
|
vdd-buck-supply = <&vreg_s4a_1p8>;
|
||||||
|
vdd-buck-sido-supply = <&vreg_s4a_1p8>;
|
||||||
|
vdd-tx-supply = <&vreg_s4a_1p8>;
|
||||||
|
vdd-rx-supply = <&vreg_s4a_1p8>;
|
||||||
|
vdd-io-supply = <&vreg_s4a_1p8>;
|
||||||
|
};
|
|
@ -151,6 +151,7 @@ required:
|
||||||
- reg
|
- reg
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
- if:
|
- if:
|
||||||
required:
|
required:
|
||||||
- slim-ifc-dev
|
- slim-ifc-dev
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/realtek,alc5632.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: ALC5632 audio CODEC
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Pins on the device (for linking into audio routes):
|
||||||
|
* SPK_OUTP
|
||||||
|
* SPK_OUTN
|
||||||
|
* HP_OUT_L
|
||||||
|
* HP_OUT_R
|
||||||
|
* AUX_OUT_P
|
||||||
|
* AUX_OUT_N
|
||||||
|
* LINE_IN_L
|
||||||
|
* LINE_IN_R
|
||||||
|
* PHONE_P
|
||||||
|
* PHONE_N
|
||||||
|
* MIC1_P
|
||||||
|
* MIC1_N
|
||||||
|
* MIC2_P
|
||||||
|
* MIC2_N
|
||||||
|
* MICBIAS1
|
||||||
|
* DMICDAT
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Leon Romanovsky <leon@leon.nu>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: realtek,alc5632
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#gpio-cells':
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
gpio-controller: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- '#gpio-cells'
|
||||||
|
- gpio-controller
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "realtek,alc5632";
|
||||||
|
reg = <0x1a>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -101,17 +101,7 @@ properties:
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
description: List of necessary clock names.
|
description: List of necessary clock names.
|
||||||
minItems: 1
|
# details are defined below
|
||||||
maxItems: 31
|
|
||||||
items:
|
|
||||||
oneOf:
|
|
||||||
- const: ssi-all
|
|
||||||
- pattern: '^ssi\.[0-9]$'
|
|
||||||
- pattern: '^src\.[0-9]$'
|
|
||||||
- pattern: '^mix\.[0-1]$'
|
|
||||||
- pattern: '^ctu\.[0-1]$'
|
|
||||||
- pattern: '^dvc\.[0-1]$'
|
|
||||||
- pattern: '^clk_(a|b|c|i)$'
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
$ref: audio-graph-port.yaml#/definitions/port-base
|
$ref: audio-graph-port.yaml#/definitions/port-base
|
||||||
|
@ -155,7 +145,7 @@ properties:
|
||||||
dmas:
|
dmas:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
dma-names:
|
dma-names:
|
||||||
const: "tx"
|
const: tx
|
||||||
required:
|
required:
|
||||||
- dmas
|
- dmas
|
||||||
- dma-names
|
- dma-names
|
||||||
|
@ -288,6 +278,11 @@ required:
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: dai-common.yaml#
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
# --------------------
|
||||||
|
# reg/reg-names
|
||||||
|
# --------------------
|
||||||
|
# for Gen1
|
||||||
- if:
|
- if:
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
|
@ -303,7 +298,15 @@ allOf:
|
||||||
- scu
|
- scu
|
||||||
- ssi
|
- ssi
|
||||||
- adg
|
- adg
|
||||||
else:
|
# for Gen2/Gen3
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- renesas,rcar_sound-gen2
|
||||||
|
- renesas,rcar_sound-gen3
|
||||||
|
then:
|
||||||
properties:
|
properties:
|
||||||
reg:
|
reg:
|
||||||
minItems: 5
|
minItems: 5
|
||||||
|
@ -315,35 +318,87 @@ allOf:
|
||||||
- ssiu
|
- ssiu
|
||||||
- ssi
|
- ssi
|
||||||
- audmapp
|
- audmapp
|
||||||
|
# for Gen4
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: renesas,rcar_sound-gen4
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
maxItems: 4
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- adg
|
||||||
|
- ssiu
|
||||||
|
- ssi
|
||||||
|
- sdmc
|
||||||
|
|
||||||
|
# --------------------
|
||||||
|
# clock-names
|
||||||
|
# --------------------
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: renesas,rcar_sound-gen4
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clock-names:
|
||||||
|
maxItems: 3
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- ssi.0
|
||||||
|
- ssiu.0
|
||||||
|
- clkin
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
clock-names:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 31
|
||||||
|
items:
|
||||||
|
oneOf:
|
||||||
|
- const: ssi-all
|
||||||
|
- pattern: '^ssi\.[0-9]$'
|
||||||
|
- pattern: '^src\.[0-9]$'
|
||||||
|
- pattern: '^mix\.[0-1]$'
|
||||||
|
- pattern: '^ctu\.[0-1]$'
|
||||||
|
- pattern: '^dvc\.[0-1]$'
|
||||||
|
- pattern: '^clk_(a|b|c|i)$'
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
#include <dt-bindings/clock/r8a7790-cpg-mssr.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/power/r8a7790-sysc.h>
|
||||||
rcar_sound: sound@ec500000 {
|
rcar_sound: sound@ec500000 {
|
||||||
#sound-dai-cells = <1>;
|
#sound-dai-cells = <1>;
|
||||||
compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2";
|
compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2";
|
||||||
reg = <0xec500000 0x1000>, /* SCU */
|
reg = <0xec500000 0x1000>, /* SCU */
|
||||||
<0xec5a0000 0x100>, /* ADG */
|
<0xec5a0000 0x100>, /* ADG */
|
||||||
<0xec540000 0x1000>, /* SSIU */
|
<0xec540000 0x1000>, /* SSIU */
|
||||||
<0xec541000 0x1280>, /* SSI */
|
<0xec541000 0x280>, /* SSI */
|
||||||
<0xec740000 0x200>; /* Audio DMAC peri peri*/
|
<0xec740000 0x200>; /* Audio DMAC peri peri*/
|
||||||
reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
|
reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
|
||||||
|
|
||||||
clocks = <&mstp10_clks 1005>, /* SSI-ALL */
|
clocks = <&cpg CPG_MOD 1005>, /* SSI-ALL */
|
||||||
<&mstp10_clks 1006>, <&mstp10_clks 1007>, /* SSI9, SSI8 */
|
<&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, /* SSI9, SSI8 */
|
||||||
<&mstp10_clks 1008>, <&mstp10_clks 1009>, /* SSI7, SSI6 */
|
<&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, /* SSI7, SSI6 */
|
||||||
<&mstp10_clks 1010>, <&mstp10_clks 1011>, /* SSI5, SSI4 */
|
<&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, /* SSI5, SSI4 */
|
||||||
<&mstp10_clks 1012>, <&mstp10_clks 1013>, /* SSI3, SSI2 */
|
<&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, /* SSI3, SSI2 */
|
||||||
<&mstp10_clks 1014>, <&mstp10_clks 1015>, /* SSI1, SSI0 */
|
<&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, /* SSI1, SSI0 */
|
||||||
<&mstp10_clks 1022>, <&mstp10_clks 1023>, /* SRC9, SRC8 */
|
<&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, /* SRC9, SRC8 */
|
||||||
<&mstp10_clks 1024>, <&mstp10_clks 1025>, /* SRC7, SRC6 */
|
<&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, /* SRC7, SRC6 */
|
||||||
<&mstp10_clks 1026>, <&mstp10_clks 1027>, /* SRC5, SRC4 */
|
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, /* SRC5, SRC4 */
|
||||||
<&mstp10_clks 1028>, <&mstp10_clks 1029>, /* SRC3, SRC2 */
|
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, /* SRC3, SRC2 */
|
||||||
<&mstp10_clks 1030>, <&mstp10_clks 1031>, /* SRC1, SRC0 */
|
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, /* SRC1, SRC0 */
|
||||||
<&mstp10_clks 1020>, <&mstp10_clks 1021>, /* MIX1, MIX0 */
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* MIX1, MIX0 */
|
||||||
<&mstp10_clks 1020>, <&mstp10_clks 1021>, /* CTU1, CTU0 */
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* CTU1, CTU0 */
|
||||||
<&mstp10_clks 1019>, <&mstp10_clks 1018>, /* DVC0, DVC1 */
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, /* DVC0, DVC1 */
|
||||||
<&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */
|
<&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */
|
||||||
<&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */
|
<&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */
|
||||||
|
|
||||||
|
@ -364,6 +419,17 @@ examples:
|
||||||
"clk_a", "clk_b",
|
"clk_a", "clk_b",
|
||||||
"clk_c", "clk_i";
|
"clk_c", "clk_i";
|
||||||
|
|
||||||
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
||||||
|
|
||||||
|
resets = <&cpg 1005>,
|
||||||
|
<&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
|
||||||
|
<&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
|
||||||
|
<&cpg 1014>, <&cpg 1015>;
|
||||||
|
reset-names = "ssi-all",
|
||||||
|
"ssi.9", "ssi.8", "ssi.7", "ssi.6",
|
||||||
|
"ssi.5", "ssi.4", "ssi.3", "ssi.2",
|
||||||
|
"ssi.1", "ssi.0";
|
||||||
|
|
||||||
rcar_sound,dvc {
|
rcar_sound,dvc {
|
||||||
dvc0: dvc-0 {
|
dvc0: dvc-0 {
|
||||||
dmas = <&audma0 0xbc>;
|
dmas = <&audma0 0xbc>;
|
||||||
|
@ -396,7 +462,7 @@ examples:
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
src1: src-1 {
|
src1: src-1 {
|
||||||
interrupts = <0 353 0>;
|
interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
dmas = <&audma0 0x87>, <&audma1 0x9c>;
|
dmas = <&audma0 0x87>, <&audma1 0x9c>;
|
||||||
dma-names = "rx", "tx";
|
dma-names = "rx", "tx";
|
||||||
};
|
};
|
||||||
|
@ -417,12 +483,12 @@ examples:
|
||||||
|
|
||||||
rcar_sound,ssi {
|
rcar_sound,ssi {
|
||||||
ssi0: ssi-0 {
|
ssi0: ssi-0 {
|
||||||
interrupts = <0 370 1>;
|
interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
dmas = <&audma0 0x01>, <&audma1 0x02>;
|
dmas = <&audma0 0x01>, <&audma1 0x02>;
|
||||||
dma-names = "rx", "tx";
|
dma-names = "rx", "tx";
|
||||||
};
|
};
|
||||||
ssi1: ssi-1 {
|
ssi1: ssi-1 {
|
||||||
interrupts = <0 371 1>;
|
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
dmas = <&audma0 0x03>, <&audma1 0x04>;
|
dmas = <&audma0 0x03>, <&audma1 0x04>;
|
||||||
dma-names = "rx", "tx";
|
dma-names = "rx", "tx";
|
||||||
};
|
};
|
||||||
|
@ -464,7 +530,6 @@ examples:
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* assume audio-graph */
|
/* assume audio-graph */
|
||||||
codec {
|
codec {
|
||||||
port {
|
port {
|
||||||
|
|
|
@ -25,14 +25,18 @@ properties:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
maxItems: 4
|
minItems: 2
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
interrupt-names:
|
interrupt-names:
|
||||||
items:
|
oneOf:
|
||||||
- const: int_req
|
- items:
|
||||||
- const: dma_rx
|
- const: int_req
|
||||||
- const: dma_tx
|
- const: dma_rx
|
||||||
- const: dma_rt
|
- const: dma_tx
|
||||||
|
- items:
|
||||||
|
- const: int_req
|
||||||
|
- const: dma_rt
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
maxItems: 4
|
maxItems: 4
|
||||||
|
@ -106,9 +110,8 @@ examples:
|
||||||
reg = <0x10049c00 0x400>;
|
reg = <0x10049c00 0x400>;
|
||||||
interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 327 IRQ_TYPE_EDGE_RISING>,
|
<GIC_SPI 327 IRQ_TYPE_EDGE_RISING>,
|
||||||
<GIC_SPI 328 IRQ_TYPE_EDGE_RISING>,
|
<GIC_SPI 328 IRQ_TYPE_EDGE_RISING>;
|
||||||
<GIC_SPI 329 IRQ_TYPE_EDGE_RISING>;
|
interrupt-names = "int_req", "dma_rx", "dma_tx";
|
||||||
interrupt-names = "int_req", "dma_rx", "dma_tx", "dma_rt";
|
|
||||||
clocks = <&cpg CPG_MOD R9A07G044_SSI0_PCLK2>,
|
clocks = <&cpg CPG_MOD R9A07G044_SSI0_PCLK2>,
|
||||||
<&cpg CPG_MOD R9A07G044_SSI0_PCLK_SFR>,
|
<&cpg CPG_MOD R9A07G044_SSI0_PCLK_SFR>,
|
||||||
<&audio_clk1>,
|
<&audio_clk1>,
|
||||||
|
|
|
@ -86,6 +86,13 @@ properties:
|
||||||
- tx-m
|
- tx-m
|
||||||
- rx-m
|
- rx-m
|
||||||
|
|
||||||
|
port:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
power-domains:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
rockchip,grf:
|
rockchip,grf:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -34,6 +34,7 @@ properties:
|
||||||
- rockchip,rk3366-i2s
|
- rockchip,rk3366-i2s
|
||||||
- rockchip,rk3368-i2s
|
- rockchip,rk3368-i2s
|
||||||
- rockchip,rk3399-i2s
|
- rockchip,rk3399-i2s
|
||||||
|
- rockchip,rk3588-i2s
|
||||||
- rockchip,rv1126-i2s
|
- rockchip,rv1126-i2s
|
||||||
- const: rockchip,rk3066-i2s
|
- const: rockchip,rk3066-i2s
|
||||||
|
|
||||||
|
@ -82,6 +83,10 @@ properties:
|
||||||
resets:
|
resets:
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
|
||||||
|
port:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
rockchip,capture-channels:
|
rockchip,capture-channels:
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
default: 2
|
default: 2
|
||||||
|
|
|
@ -50,7 +50,7 @@ properties:
|
||||||
description: The bias voltage to be used in mVolts. The voltage can take
|
description: The bias voltage to be used in mVolts. The voltage can take
|
||||||
values from 1.25V to 3V by 250mV steps. If this node is not mentioned
|
values from 1.25V to 3V by 250mV steps. If this node is not mentioned
|
||||||
or the value is unknown, then the value is set to 1.25V.
|
or the value is unknown, then the value is set to 1.25V.
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ]
|
enum: [ 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000 ]
|
||||||
|
|
||||||
lrclk-strength:
|
lrclk-strength:
|
||||||
|
@ -63,7 +63,7 @@ properties:
|
||||||
1 = 1.66 mA 2.87 mA 4.02 mA
|
1 = 1.66 mA 2.87 mA 4.02 mA
|
||||||
2 = 3.33 mA 5.74 mA 8.03 mA
|
2 = 3.33 mA 5.74 mA 8.03 mA
|
||||||
3 = 4.99 mA 8.61 mA 12.05 mA
|
3 = 4.99 mA 8.61 mA 12.05 mA
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
enum: [ 0, 1, 2, 3 ]
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
|
||||||
sclk-strength:
|
sclk-strength:
|
||||||
|
@ -76,7 +76,7 @@ properties:
|
||||||
1 = 1.66 mA 2.87 mA 4.02 mA
|
1 = 1.66 mA 2.87 mA 4.02 mA
|
||||||
2 = 3.33 mA 5.74 mA 8.03 mA
|
2 = 3.33 mA 5.74 mA 8.03 mA
|
||||||
3 = 4.99 mA 8.61 mA 12.05 mA
|
3 = 4.99 mA 8.61 mA 12.05 mA
|
||||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
enum: [ 0, 1, 2, 3 ]
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
|
||||||
port:
|
port:
|
||||||
|
|
|
@ -78,7 +78,7 @@ definitions:
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
prefix:
|
prefix:
|
||||||
description: "device name prefix"
|
description: device name prefix
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
|
||||||
label:
|
label:
|
||||||
|
|
|
@ -42,7 +42,7 @@ properties:
|
||||||
Specifies a phandle to soc-glue, which is used for changing mode of S/PDIF
|
Specifies a phandle to soc-glue, which is used for changing mode of S/PDIF
|
||||||
signal pin to output from Hi-Z. This property is optional if you use I2S
|
signal pin to output from Hi-Z. This property is optional if you use I2S
|
||||||
signal pins only.
|
signal pins only.
|
||||||
$ref: "/schemas/types.yaml#/definitions/phandle"
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
"#sound-dai-cells":
|
"#sound-dai-cells":
|
||||||
const: 1
|
const: 1
|
||||||
|
|
|
@ -12,6 +12,7 @@ Required properties:
|
||||||
- "ti,tas5717",
|
- "ti,tas5717",
|
||||||
- "ti,tas5719",
|
- "ti,tas5719",
|
||||||
- "ti,tas5721"
|
- "ti,tas5721"
|
||||||
|
- "ti,tas5733"
|
||||||
- reg: The I2C address of the device
|
- reg: The I2C address of the device
|
||||||
- #sound-dai-cells: must be equal to 0
|
- #sound-dai-cells: must be equal to 0
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8510.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8510 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8510
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8510";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,40 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8523.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8523 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8523
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8523";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,40 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8524.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Wolfson WM8524 24-bit 192KHz Stereo DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8524
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
wlf,mute-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
a GPIO spec for the MUTE pin.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- wlf,mute-gpios
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
wm8524: codec {
|
||||||
|
compatible = "wlf,wm8524";
|
||||||
|
wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
|
@ -0,0 +1,42 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8580.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8580 and WM8581 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- wlf,wm8580
|
||||||
|
- wlf,wm8581
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8580";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,40 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8711.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8711 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8711
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8711";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,40 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8728.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8728 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8728
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8728";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,40 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8737.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8737 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8737
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8737";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,62 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8753.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: WM8753 audio CODEC
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Pins on the device (for linking into audio routes):
|
||||||
|
* LOUT1
|
||||||
|
* LOUT2
|
||||||
|
* ROUT1
|
||||||
|
* ROUT2
|
||||||
|
* MONO1
|
||||||
|
* MONO2
|
||||||
|
* OUT3
|
||||||
|
* OUT4
|
||||||
|
* LINE1
|
||||||
|
* LINE2
|
||||||
|
* RXP
|
||||||
|
* RXN
|
||||||
|
* ACIN
|
||||||
|
* ACOP
|
||||||
|
* MIC1N
|
||||||
|
* MIC1
|
||||||
|
* MIC2N
|
||||||
|
* MIC2
|
||||||
|
* Mic Bias
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8753
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
codec@1a {
|
||||||
|
compatible = "wlf,wm8753";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,88 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8960.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Wolfson WM8960 audio codec
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8960
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
wlf,capless:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
If present, OUT3 pin will be enabled and disabled together with HP_L and
|
||||||
|
HP_R pins in response to jack detect events.
|
||||||
|
|
||||||
|
wlf,gpio-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
maxItems: 2
|
||||||
|
description: |
|
||||||
|
A list of GPIO configuration register values.
|
||||||
|
- gpio-cfg[0]: ALRCGPIO of R9 (Audio interface)
|
||||||
|
- gpio-cfg[1]: {GPIOPOL:GPIOSEL[2:0]} of R48 (Additional Control 4).
|
||||||
|
|
||||||
|
wlf,hp-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
maxItems: 3
|
||||||
|
description: |
|
||||||
|
A list of headphone jack detect configuration register values:
|
||||||
|
- hp-cfg[0]: HPSEL[1:0] of R48 (Additional Control 4).
|
||||||
|
- hp-cfg[1]: {HPSWEN:HPSWPOL} of R24 (Additional Control 2).
|
||||||
|
- hp-cfg[2]: {TOCLKSEL:TOEN} of R23 (Additional Control 1).
|
||||||
|
|
||||||
|
wlf,shared-lrclk:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
If present, the LRCM bit of R24 (Additional control 2) gets set,
|
||||||
|
indicating that ADCLRC and DACLRC pins will be disabled only when ADC
|
||||||
|
(Left and Right) and DAC (Left and Right) are disabled.
|
||||||
|
When WM8960 works on synchronize mode and DACLRC pin is used to supply
|
||||||
|
frame clock, it will no frame clock for captrue unless enable DAC to
|
||||||
|
enable DACLRC pin. If shared-lrclk is present, no need to enable DAC for
|
||||||
|
captrue.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
audio-codec@1a {
|
||||||
|
compatible = "wlf,wm8960";
|
||||||
|
reg = <0x1a>;
|
||||||
|
clocks = <&clks 0>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
wlf,hp-cfg = <3 2 3>;
|
||||||
|
wlf,gpio-cfg = <1 3>;
|
||||||
|
wlf,shared-lrclk;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,194 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8994.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Wolfson WM1811/WM8994/WM8958 audio codecs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
description: |
|
||||||
|
These devices support both I2C and SPI (configured with pin strapping on the
|
||||||
|
board).
|
||||||
|
|
||||||
|
Pins on the device (for linking into audio routes):
|
||||||
|
IN1LN, IN1LP, IN2LN, IN2LP:VXRN, IN1RN, IN1RP, IN2RN, IN2RP:VXRP, SPKOUTLP,
|
||||||
|
SPKOUTLN, SPKOUTRP, SPKOUTRN, HPOUT1L, HPOUT1R, HPOUT2P, HPOUT2N, LINEOUT1P,
|
||||||
|
LINEOUT1N, LINEOUT2P, LINEOUT2N.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- wlf,wm1811
|
||||||
|
- wlf,wm8994
|
||||||
|
- wlf,wm8958
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: MCLK1
|
||||||
|
- const: MCLK2
|
||||||
|
|
||||||
|
gpio-controller: true
|
||||||
|
|
||||||
|
'#gpio-cells':
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupt-controller: true
|
||||||
|
|
||||||
|
'#interrupt-cells':
|
||||||
|
const: 2
|
||||||
|
description:
|
||||||
|
The first cell is the IRQ number. The second cell is the flags, encoded
|
||||||
|
as the trigger masks.
|
||||||
|
|
||||||
|
AVDD1-supply: true
|
||||||
|
AVDD2-supply: true
|
||||||
|
CPVDD-supply: true
|
||||||
|
DBVDD-supply: true
|
||||||
|
DBVDD1-supply: true
|
||||||
|
DBVDD2-supply: true
|
||||||
|
DBVDD3-supply: true
|
||||||
|
DCVDD-supply: true
|
||||||
|
LDO1VDD-supply: true
|
||||||
|
LDO2VDD-supply: true
|
||||||
|
SPKVDD1-supply: true
|
||||||
|
SPKVDD2-supply: true
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
wlf,gpio-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
maxItems: 11
|
||||||
|
description:
|
||||||
|
A list of GPIO configuration register values. If absent, no configuration
|
||||||
|
of these registers is performed. If any value is over 0xffff then the
|
||||||
|
register will be left as default. If present 11 values must be supplied.
|
||||||
|
|
||||||
|
wlf,micbias-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
maxItems: 2
|
||||||
|
description:
|
||||||
|
Two MICBIAS register values for WM1811 or WM8958. If absent the register
|
||||||
|
defaults will be used.
|
||||||
|
|
||||||
|
wlf,ldo1ena-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
Control of LDO1ENA input to device.
|
||||||
|
|
||||||
|
wlf,ldo2ena-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
Control of LDO2ENA input to device.
|
||||||
|
|
||||||
|
wlf,lineout1-se:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
LINEOUT1 is in single ended mode.
|
||||||
|
|
||||||
|
wlf,lineout2-se:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
INEOUT2 is in single ended mode.
|
||||||
|
|
||||||
|
wlf,lineout1-feedback:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
LINEOUT1 has common mode feedback connected.
|
||||||
|
|
||||||
|
wlf,lineout2-feedback:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
LINEOUT2 has common mode feedback connected.
|
||||||
|
|
||||||
|
wlf,ldoena-always-driven:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
LDOENA is always driven.
|
||||||
|
|
||||||
|
wlf,spkmode-pu:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
Enable the internal pull-up resistor on the SPKMODE pin.
|
||||||
|
|
||||||
|
wlf,csnaddr-pd:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
Enable the internal pull-down resistor on the CS/ADDR pin.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- AVDD2-supply
|
||||||
|
- CPVDD-supply
|
||||||
|
- SPKVDD1-supply
|
||||||
|
- SPKVDD2-supply
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- wlf,wm1811
|
||||||
|
- wlf,wm8958
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
DBVDD-supply: false
|
||||||
|
LDO2VDD-supply: false
|
||||||
|
required:
|
||||||
|
- DBVDD1-supply
|
||||||
|
- DBVDD2-supply
|
||||||
|
- DBVDD3-supply
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
DBVDD1-supply: false
|
||||||
|
DBVDD2-supply: false
|
||||||
|
DBVDD3-supply: false
|
||||||
|
required:
|
||||||
|
- DBVDD-supply
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
audio-codec@1a {
|
||||||
|
compatible = "wlf,wm1811";
|
||||||
|
reg = <0x1a>;
|
||||||
|
clocks = <&i2s0 0>;
|
||||||
|
clock-names = "MCLK1";
|
||||||
|
|
||||||
|
AVDD2-supply = <&main_dc_reg>;
|
||||||
|
CPVDD-supply = <&main_dc_reg>;
|
||||||
|
DBVDD1-supply = <&main_dc_reg>;
|
||||||
|
DBVDD2-supply = <&main_dc_reg>;
|
||||||
|
DBVDD3-supply = <&main_dc_reg>;
|
||||||
|
LDO1VDD-supply = <&main_dc_reg>;
|
||||||
|
SPKVDD1-supply = <&main_dc_reg>;
|
||||||
|
SPKVDD2-supply = <&main_dc_reg>;
|
||||||
|
|
||||||
|
wlf,ldo1ena-gpios = <&gpb0 0 GPIO_ACTIVE_HIGH>;
|
||||||
|
wlf,ldo2ena-gpios = <&gpb0 1 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,18 +0,0 @@
|
||||||
WM8510 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8510"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8510: codec@1a {
|
|
||||||
compatible = "wlf,wm8510";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,16 +0,0 @@
|
||||||
WM8523 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8523"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8523: codec@1a {
|
|
||||||
compatible = "wlf,wm8523";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,16 +0,0 @@
|
||||||
WM8524 audio CODEC
|
|
||||||
|
|
||||||
This device does not use I2C or SPI but a simple Hardware Control Interface.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8524"
|
|
||||||
|
|
||||||
- wlf,mute-gpios: a GPIO spec for the MUTE pin.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8524: codec {
|
|
||||||
compatible = "wlf,wm8524";
|
|
||||||
wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
|
@ -1,16 +0,0 @@
|
||||||
WM8580 and WM8581 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8580", "wlf,wm8581"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8580: codec@1a {
|
|
||||||
compatible = "wlf,wm8580";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,18 +0,0 @@
|
||||||
WM8711 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8711"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8711: codec@1a {
|
|
||||||
compatible = "wlf,wm8711";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,18 +0,0 @@
|
||||||
WM8728 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8728"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8728: codec@1a {
|
|
||||||
compatible = "wlf,wm8728";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,18 +0,0 @@
|
||||||
WM8737 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8737"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8737: codec@1a {
|
|
||||||
compatible = "wlf,wm8737";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,40 +0,0 @@
|
||||||
WM8753 audio CODEC
|
|
||||||
|
|
||||||
This device supports both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8753"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
Pins on the device (for linking into audio routes):
|
|
||||||
|
|
||||||
* LOUT1
|
|
||||||
* LOUT2
|
|
||||||
* ROUT1
|
|
||||||
* ROUT2
|
|
||||||
* MONO1
|
|
||||||
* MONO2
|
|
||||||
* OUT3
|
|
||||||
* OUT4
|
|
||||||
* LINE1
|
|
||||||
* LINE2
|
|
||||||
* RXP
|
|
||||||
* RXN
|
|
||||||
* ACIN
|
|
||||||
* ACOP
|
|
||||||
* MIC1N
|
|
||||||
* MIC1
|
|
||||||
* MIC2N
|
|
||||||
* MIC2
|
|
||||||
* Mic Bias
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8753: codec@1a {
|
|
||||||
compatible = "wlf,wm8753";
|
|
||||||
reg = <0x1a>;
|
|
||||||
};
|
|
|
@ -1,42 +0,0 @@
|
||||||
WM8960 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8960"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- wlf,shared-lrclk: This is a boolean property. If present, the LRCM bit of
|
|
||||||
R24 (Additional control 2) gets set, indicating that ADCLRC and DACLRC pins
|
|
||||||
will be disabled only when ADC (Left and Right) and DAC (Left and Right)
|
|
||||||
are disabled.
|
|
||||||
When wm8960 works on synchronize mode and DACLRC pin is used to supply
|
|
||||||
frame clock, it will no frame clock for captrue unless enable DAC to enable
|
|
||||||
DACLRC pin. If shared-lrclk is present, no need to enable DAC for captrue.
|
|
||||||
|
|
||||||
- wlf,capless: This is a boolean property. If present, OUT3 pin will be
|
|
||||||
enabled and disabled together with HP_L and HP_R pins in response to jack
|
|
||||||
detect events.
|
|
||||||
|
|
||||||
- wlf,hp-cfg: A list of headphone jack detect configuration register values.
|
|
||||||
The list must be 3 entries long.
|
|
||||||
hp-cfg[0]: HPSEL[1:0] of R48 (Additional Control 4).
|
|
||||||
hp-cfg[1]: {HPSWEN:HPSWPOL} of R24 (Additional Control 2).
|
|
||||||
hp-cfg[2]: {TOCLKSEL:TOEN} of R23 (Additional Control 1).
|
|
||||||
|
|
||||||
- wlf,gpio-cfg: A list of GPIO configuration register values.
|
|
||||||
The list must be 2 entries long.
|
|
||||||
gpio-cfg[0]: ALRCGPIO of R9 (Audio interface)
|
|
||||||
gpio-cfg[1]: {GPIOPOL:GPIOSEL[2:0]} of R48 (Additional Control 4).
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8960: codec@1a {
|
|
||||||
compatible = "wlf,wm8960";
|
|
||||||
reg = <0x1a>;
|
|
||||||
|
|
||||||
wlf,shared-lrclk;
|
|
||||||
};
|
|
|
@ -1,112 +0,0 @@
|
||||||
WM1811/WM8994/WM8958 audio CODEC
|
|
||||||
|
|
||||||
These devices support both I2C and SPI (configured with pin strapping
|
|
||||||
on the board).
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : One of "wlf,wm1811", "wlf,wm8994" or "wlf,wm8958".
|
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C, the chip select
|
|
||||||
number for SPI.
|
|
||||||
|
|
||||||
- gpio-controller : Indicates this device is a GPIO controller.
|
|
||||||
- #gpio-cells : Must be 2. The first cell is the pin number and the
|
|
||||||
second cell is used to specify optional parameters (currently unused).
|
|
||||||
|
|
||||||
- power supplies for the device, as covered in
|
|
||||||
Documentation/devicetree/bindings/regulator/regulator.txt, depending
|
|
||||||
on compatible:
|
|
||||||
- for wlf,wm1811 and wlf,wm8958:
|
|
||||||
AVDD1-supply, AVDD2-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply,
|
|
||||||
DCVDD-supply, CPVDD-supply, SPKVDD1-supply, SPKVDD2-supply
|
|
||||||
- for wlf,wm8994:
|
|
||||||
AVDD1-supply, AVDD2-supply, DBVDD-supply, DCVDD-supply, CPVDD-supply,
|
|
||||||
SPKVDD1-supply, SPKVDD2-supply
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- interrupts : The interrupt line the IRQ signal for the device is
|
|
||||||
connected to. This is optional, if it is not connected then none
|
|
||||||
of the interrupt related properties should be specified.
|
|
||||||
- interrupt-controller : These devices contain interrupt controllers
|
|
||||||
and may provide interrupt services to other devices if they have an
|
|
||||||
interrupt line connected.
|
|
||||||
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
|
||||||
The first cell is the IRQ number.
|
|
||||||
The second cell is the flags, encoded as the trigger masks from
|
|
||||||
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
|
||||||
|
|
||||||
- clocks : A list of up to two phandle and clock specifier pairs
|
|
||||||
- clock-names : A list of clock names sorted in the same order as clocks.
|
|
||||||
Valid clock names are "MCLK1" and "MCLK2".
|
|
||||||
|
|
||||||
- wlf,gpio-cfg : A list of GPIO configuration register values. If absent,
|
|
||||||
no configuration of these registers is performed. If any value is
|
|
||||||
over 0xffff then the register will be left as default. If present 11
|
|
||||||
values must be supplied.
|
|
||||||
|
|
||||||
- wlf,micbias-cfg : Two MICBIAS register values for WM1811 or
|
|
||||||
WM8958. If absent the register defaults will be used.
|
|
||||||
|
|
||||||
- wlf,ldo1ena : GPIO specifier for control of LDO1ENA input to device.
|
|
||||||
- wlf,ldo2ena : GPIO specifier for control of LDO2ENA input to device.
|
|
||||||
|
|
||||||
- wlf,lineout1-se : If present LINEOUT1 is in single ended mode.
|
|
||||||
- wlf,lineout2-se : If present LINEOUT2 is in single ended mode.
|
|
||||||
|
|
||||||
- wlf,lineout1-feedback : If present LINEOUT1 has common mode feedback
|
|
||||||
connected.
|
|
||||||
- wlf,lineout2-feedback : If present LINEOUT2 has common mode feedback
|
|
||||||
connected.
|
|
||||||
|
|
||||||
- wlf,ldoena-always-driven : If present LDOENA is always driven.
|
|
||||||
|
|
||||||
- wlf,spkmode-pu : If present enable the internal pull-up resistor on
|
|
||||||
the SPKMODE pin.
|
|
||||||
|
|
||||||
- wlf,csnaddr-pd : If present enable the internal pull-down resistor on
|
|
||||||
the CS/ADDR pin.
|
|
||||||
|
|
||||||
Pins on the device (for linking into audio routes):
|
|
||||||
|
|
||||||
* IN1LN
|
|
||||||
* IN1LP
|
|
||||||
* IN2LN
|
|
||||||
* IN2LP:VXRN
|
|
||||||
* IN1RN
|
|
||||||
* IN1RP
|
|
||||||
* IN2RN
|
|
||||||
* IN2RP:VXRP
|
|
||||||
* SPKOUTLP
|
|
||||||
* SPKOUTLN
|
|
||||||
* SPKOUTRP
|
|
||||||
* SPKOUTRN
|
|
||||||
* HPOUT1L
|
|
||||||
* HPOUT1R
|
|
||||||
* HPOUT2P
|
|
||||||
* HPOUT2N
|
|
||||||
* LINEOUT1P
|
|
||||||
* LINEOUT1N
|
|
||||||
* LINEOUT2P
|
|
||||||
* LINEOUT2N
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8994: codec@1a {
|
|
||||||
compatible = "wlf,wm8994";
|
|
||||||
reg = <0x1a>;
|
|
||||||
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
|
|
||||||
lineout1-se;
|
|
||||||
|
|
||||||
AVDD1-supply = <®ulator>;
|
|
||||||
AVDD2-supply = <®ulator>;
|
|
||||||
CPVDD-supply = <®ulator>;
|
|
||||||
DBVDD-supply = <®ulator>;
|
|
||||||
DCVDD-supply = <®ulator>;
|
|
||||||
SPKVDD1-supply = <®ulator>;
|
|
||||||
SPKVDD2-supply = <®ulator>;
|
|
||||||
};
|
|
|
@ -105,9 +105,9 @@ descriptors. Instead, the superblock and a single block group descriptor
|
||||||
block is placed at the beginning of the first, second, and last block
|
block is placed at the beginning of the first, second, and last block
|
||||||
groups in a meta-block group. A meta-block group is a collection of
|
groups in a meta-block group. A meta-block group is a collection of
|
||||||
block groups which can be described by a single block group descriptor
|
block groups which can be described by a single block group descriptor
|
||||||
block. Since the size of the block group descriptor structure is 32
|
block. Since the size of the block group descriptor structure is 64
|
||||||
bytes, a meta-block group contains 32 block groups for filesystems with
|
bytes, a meta-block group contains 16 block groups for filesystems with
|
||||||
a 1KB block size, and 128 block groups for filesystems with a 4KB
|
a 1KB block size, and 64 block groups for filesystems with a 4KB
|
||||||
blocksize. Filesystems can either be created using this new block group
|
blocksize. Filesystems can either be created using this new block group
|
||||||
descriptor layout, or existing filesystems can be resized on-line, and
|
descriptor layout, or existing filesystems can be resized on-line, and
|
||||||
the field s_first_meta_bg in the superblock will indicate the first
|
the field s_first_meta_bg in the superblock will indicate the first
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
$id: http://kernel.org/schemas/netlink/genetlink-c.yaml#
|
$id: http://kernel.org/schemas/netlink/genetlink-c.yaml#
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
$id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
|
$id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
$id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
|
$id: http://kernel.org/schemas/netlink/genetlink-legacy.yaml#
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
|
|
||||||
name: ethtool
|
name: ethtool
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -11,7 +13,6 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: dev-index
|
name: dev-index
|
||||||
type: u32
|
type: u32
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: dev-name
|
name: dev-name
|
||||||
type: string
|
type: string
|
||||||
|
@ -25,7 +26,6 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: index
|
name: index
|
||||||
type: u32
|
type: u32
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: name
|
name: name
|
||||||
type: string
|
type: string
|
||||||
|
@ -39,14 +39,12 @@ attribute-sets:
|
||||||
name: bit
|
name: bit
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: bitset-bit
|
nested-attributes: bitset-bit
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: bitset
|
name: bitset
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: nomask
|
name: nomask
|
||||||
type: flag
|
type: flag
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: size
|
name: size
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -61,7 +59,6 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: index
|
name: index
|
||||||
type: u32
|
type: u32
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: value
|
name: value
|
||||||
type: string
|
type: string
|
||||||
|
@ -71,7 +68,6 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: string
|
name: string
|
||||||
type: nest
|
type: nest
|
||||||
value: 1
|
|
||||||
multi-attr: true
|
multi-attr: true
|
||||||
nested-attributes: string
|
nested-attributes: string
|
||||||
-
|
-
|
||||||
|
@ -80,7 +76,6 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: id
|
name: id
|
||||||
type: u32
|
type: u32
|
||||||
value: 1
|
|
||||||
-
|
-
|
||||||
name: count
|
name: count
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -96,14 +91,12 @@ attribute-sets:
|
||||||
name: stringset
|
name: stringset
|
||||||
type: nest
|
type: nest
|
||||||
multi-attr: true
|
multi-attr: true
|
||||||
value: 1
|
|
||||||
nested-attributes: stringset
|
nested-attributes: stringset
|
||||||
-
|
-
|
||||||
name: strset
|
name: strset
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: header
|
name: header
|
||||||
value: 1
|
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: header
|
nested-attributes: header
|
||||||
-
|
-
|
||||||
|
@ -119,7 +112,6 @@ attribute-sets:
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: header
|
name: header
|
||||||
value: 1
|
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: header
|
nested-attributes: header
|
||||||
-
|
-
|
||||||
|
@ -132,7 +124,6 @@ attribute-sets:
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: header
|
name: header
|
||||||
value: 1
|
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: header
|
nested-attributes: header
|
||||||
-
|
-
|
||||||
|
@ -180,7 +171,6 @@ attribute-sets:
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: pad
|
name: pad
|
||||||
value: 1
|
|
||||||
type: pad
|
type: pad
|
||||||
-
|
-
|
||||||
name: reassembly-errors
|
name: reassembly-errors
|
||||||
|
@ -205,7 +195,6 @@ attribute-sets:
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: header
|
name: header
|
||||||
value: 1
|
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: header
|
nested-attributes: header
|
||||||
-
|
-
|
||||||
|
@ -251,13 +240,11 @@ operations:
|
||||||
|
|
||||||
do: &strset-get-op
|
do: &strset-get-op
|
||||||
request:
|
request:
|
||||||
value: 1
|
|
||||||
attributes:
|
attributes:
|
||||||
- header
|
- header
|
||||||
- stringsets
|
- stringsets
|
||||||
- counts-only
|
- counts-only
|
||||||
reply:
|
reply:
|
||||||
value: 1
|
|
||||||
attributes:
|
attributes:
|
||||||
- header
|
- header
|
||||||
- stringsets
|
- stringsets
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
|
|
||||||
name: fou
|
name: fou
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -26,6 +28,7 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: unspec
|
name: unspec
|
||||||
type: unused
|
type: unused
|
||||||
|
value: 0
|
||||||
-
|
-
|
||||||
name: port
|
name: port
|
||||||
type: u16
|
type: u16
|
||||||
|
@ -71,6 +74,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: unspec
|
name: unspec
|
||||||
doc: unused
|
doc: unused
|
||||||
|
value: 0
|
||||||
|
|
||||||
-
|
-
|
||||||
name: add
|
name: add
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
|
|
||||||
name: netdev
|
name: netdev
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
|
@ -48,7 +50,6 @@ attribute-sets:
|
||||||
name: ifindex
|
name: ifindex
|
||||||
doc: netdev ifindex
|
doc: netdev ifindex
|
||||||
type: u32
|
type: u32
|
||||||
value: 1
|
|
||||||
checks:
|
checks:
|
||||||
min: 1
|
min: 1
|
||||||
-
|
-
|
||||||
|
@ -66,7 +67,6 @@ operations:
|
||||||
-
|
-
|
||||||
name: dev-get
|
name: dev-get
|
||||||
doc: Get / dump information about a netdev.
|
doc: Get / dump information about a netdev.
|
||||||
value: 1
|
|
||||||
attribute-set: dev
|
attribute-set: dev
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
|
|
|
@ -9,3 +9,4 @@ HD-Audio
|
||||||
controls
|
controls
|
||||||
dp-mst
|
dp-mst
|
||||||
realtek-pc-beep
|
realtek-pc-beep
|
||||||
|
intel-multi-link
|
||||||
|
|
|
@ -0,0 +1,312 @@
|
||||||
|
.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
|
||||||
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
|
================================================
|
||||||
|
HDAudio multi-link extensions on Intel platforms
|
||||||
|
================================================
|
||||||
|
|
||||||
|
:Copyright: |copy| 2023 Intel Corporation
|
||||||
|
|
||||||
|
This file documents the 'multi-link structure' introduced in 2015 with
|
||||||
|
the Skylake processor and recently extended in newer Intel platforms
|
||||||
|
|
||||||
|
HDaudio existing link mapping (2015 addition in SkyLake)
|
||||||
|
========================================================
|
||||||
|
|
||||||
|
External HDAudio codecs are handled with link #0, while iDISP codec
|
||||||
|
for HDMI/DisplayPort is handled with link #1.
|
||||||
|
|
||||||
|
The only change to the 2015 definitions is the declaration of the
|
||||||
|
LCAP.ALT=0x0 - since the ALT bit was previously reserved, this is a
|
||||||
|
backwards-compatible change.
|
||||||
|
|
||||||
|
LCTL.SPA and LCTL.CPA are automatically set when exiting reset. They
|
||||||
|
are only used in existing drivers when the SCF value needs to be
|
||||||
|
corrected.
|
||||||
|
|
||||||
|
Basic structure for HDaudio codecs
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
+-----------+
|
||||||
|
| ML cap #0 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #1 |---+
|
||||||
|
+-----------+ |
|
||||||
|
|
|
||||||
|
+--> 0x0 +---------------+ LCAP
|
||||||
|
| ALT=0 |
|
||||||
|
+---------------+
|
||||||
|
| S192 |
|
||||||
|
+---------------+
|
||||||
|
| S96 |
|
||||||
|
+---------------+
|
||||||
|
| S48 |
|
||||||
|
+---------------+
|
||||||
|
| S24 |
|
||||||
|
+---------------+
|
||||||
|
| S12 |
|
||||||
|
+---------------+
|
||||||
|
| S6 |
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
0x4 +---------------+ LCTL
|
||||||
|
| INTSTS |
|
||||||
|
+---------------+
|
||||||
|
| CPA |
|
||||||
|
+---------------+
|
||||||
|
| SPA |
|
||||||
|
+---------------+
|
||||||
|
| SCF |
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
0x8 +---------------+ LOSIDV
|
||||||
|
| L1OSIVD15 |
|
||||||
|
+---------------+
|
||||||
|
| L1OSIDV.. |
|
||||||
|
+---------------+
|
||||||
|
| L1OSIDV1 |
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
0xC +---------------+ LSDIID
|
||||||
|
| SDIID14 |
|
||||||
|
+---------------+
|
||||||
|
| SDIID... |
|
||||||
|
+---------------+
|
||||||
|
| SDIID0 |
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
SoundWire HDaudio extended link mapping
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
A SoundWire extended link is identified when LCAP.ALT=1 and
|
||||||
|
LEPTR.ID=0.
|
||||||
|
|
||||||
|
DMA control uses the existing LOSIDV register.
|
||||||
|
|
||||||
|
Changes include additional descriptions for enumeration that were not
|
||||||
|
present in earlier generations.
|
||||||
|
|
||||||
|
- multi-link synchronization: capabilities in LCAP.LSS and control in LSYNC
|
||||||
|
- number of sublinks (manager IP) in LCAP.LSCOUNT
|
||||||
|
- power management moved from SHIM to LCTL.SPA bits
|
||||||
|
- hand-over to the DSP for access to multi-link registers, SHIM/IP with LCTL.OFLEN
|
||||||
|
- mapping of SoundWire codecs to SDI ID bits
|
||||||
|
- move of SHIM and Cadence registers to different offsets, with no
|
||||||
|
change in functionality. The LEPTR.PTR value is an offset from the
|
||||||
|
ML address, with a default value of 0x30000.
|
||||||
|
|
||||||
|
Extended structure for SoundWire (assuming 4 Manager IP)
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
+-----------+
|
||||||
|
| ML cap #0 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #1 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #2 |---+
|
||||||
|
+-----------+ |
|
||||||
|
|
|
||||||
|
+--> 0x0 +---------------+ LCAP
|
||||||
|
| ALT=1 |
|
||||||
|
+---------------+
|
||||||
|
| INTC |
|
||||||
|
+---------------+
|
||||||
|
| OFLS |
|
||||||
|
+---------------+
|
||||||
|
| LSS |
|
||||||
|
+---------------+
|
||||||
|
| SLCOUNT=4 |-----------+
|
||||||
|
+---------------+ |
|
||||||
|
|
|
||||||
|
0x4 +---------------+ LCTL |
|
||||||
|
| INTSTS | |
|
||||||
|
+---------------+ |
|
||||||
|
| CPA (x bits) | |
|
||||||
|
+---------------+ |
|
||||||
|
| SPA (x bits) | |
|
||||||
|
+---------------+ for each sublink x
|
||||||
|
| INTEN | |
|
||||||
|
+---------------+ |
|
||||||
|
| OFLEN | |
|
||||||
|
+---------------+ |
|
||||||
|
|
|
||||||
|
0x8 +---------------+ LOSIDV |
|
||||||
|
| L1OSIVD15 | |
|
||||||
|
+---------------+ |
|
||||||
|
| L1OSIDV.. | |
|
||||||
|
+---------------+ |
|
||||||
|
| L1OSIDV1 | +---+----------------------------------------------------------+
|
||||||
|
+---------------+ | |
|
||||||
|
v |
|
||||||
|
0xC + 0x2 * x +---------------+ LSDIIDx +---> 0x30000 +-----------------+ 0x00030000 |
|
||||||
|
| SDIID14 | | | SoundWire SHIM | |
|
||||||
|
+---------------+ | | generic | |
|
||||||
|
| SDIID... | | +-----------------+ 0x00030100 |
|
||||||
|
+---------------+ | | SoundWire IP | |
|
||||||
|
| SDIID0 | | +-----------------+ 0x00036000 |
|
||||||
|
+---------------+ | | SoundWire SHIM | |
|
||||||
|
| | vendor-specific | |
|
||||||
|
0x1C +---------------+ LSYNC | +-----------------+ |
|
||||||
|
| CMDSYNC | | v
|
||||||
|
+---------------+ | +-----------------+ 0x00030000 + 0x8000 * x
|
||||||
|
| SYNCGO | | | SoundWire SHIM |
|
||||||
|
+---------------+ | | generic |
|
||||||
|
| SYNCPU | | +-----------------+ 0x00030100 + 0x8000 * x
|
||||||
|
+---------------+ | | SoundWire IP |
|
||||||
|
| SYNPRD | | +-----------------+ 0x00036000 + 0x8000 * x
|
||||||
|
+---------------+ | | SoundWire SHIM |
|
||||||
|
| | vendor-specific |
|
||||||
|
0x20 +---------------+ LEPTR | +-----------------+
|
||||||
|
| ID = 0 | |
|
||||||
|
+---------------+ |
|
||||||
|
| VER | |
|
||||||
|
+---------------+ |
|
||||||
|
| PTR |------------+
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
|
||||||
|
DMIC HDaudio extended link mapping
|
||||||
|
==================================
|
||||||
|
|
||||||
|
A DMIC extended link is identified when LCAP.ALT=1 and
|
||||||
|
LEPTR.ID=0xC1 are set.
|
||||||
|
|
||||||
|
DMA control uses the existing LOSIDV register
|
||||||
|
|
||||||
|
Changes include additional descriptions for enumeration that were not
|
||||||
|
present in earlier generations.
|
||||||
|
|
||||||
|
- multi-link synchronization: capabilities in LCAP.LSS and control in LSYNC
|
||||||
|
- power management with LCTL.SPA bits
|
||||||
|
- hand-over to the DSP for access to multi-link registers, SHIM/IP with LCTL.OFLEN
|
||||||
|
|
||||||
|
- move of DMIC registers to different offsets, with no change in
|
||||||
|
functionality. The LEPTR.PTR value is an offset from the ML
|
||||||
|
address, with a default value of 0x10000.
|
||||||
|
|
||||||
|
Extended structure for DMIC
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
+-----------+
|
||||||
|
| ML cap #0 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #1 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #2 |---+
|
||||||
|
+-----------+ |
|
||||||
|
|
|
||||||
|
+--> 0x0 +---------------+ LCAP
|
||||||
|
| ALT=1 |
|
||||||
|
+---------------+
|
||||||
|
| INTC |
|
||||||
|
+---------------+
|
||||||
|
| OFLS |
|
||||||
|
+---------------+
|
||||||
|
| SLCOUNT=1 |
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
0x4 +---------------+ LCTL
|
||||||
|
| INTSTS |
|
||||||
|
+---------------+
|
||||||
|
| CPA |
|
||||||
|
+---------------+
|
||||||
|
| SPA |
|
||||||
|
+---------------+
|
||||||
|
| INTEN |
|
||||||
|
+---------------+
|
||||||
|
| OFLEN |
|
||||||
|
+---------------+ +---> 0x10000 +-----------------+ 0x00010000
|
||||||
|
| | DMIC SHIM |
|
||||||
|
0x8 +---------------+ LOSIDV | | generic |
|
||||||
|
| L1OSIVD15 | | +-----------------+ 0x00010100
|
||||||
|
+---------------+ | | DMIC IP |
|
||||||
|
| L1OSIDV.. | | +-----------------+ 0x00016000
|
||||||
|
+---------------+ | | DMIC SHIM |
|
||||||
|
| L1OSIDV1 | | | vendor-specific |
|
||||||
|
+---------------+ | +-----------------+
|
||||||
|
|
|
||||||
|
0x20 +---------------+ LEPTR |
|
||||||
|
| ID = 0xC1 | |
|
||||||
|
+---------------+ |
|
||||||
|
| VER | |
|
||||||
|
+---------------+ |
|
||||||
|
| PTR |-----------+
|
||||||
|
+---------------+
|
||||||
|
|
||||||
|
|
||||||
|
SSP HDaudio extended link mapping
|
||||||
|
=================================
|
||||||
|
|
||||||
|
A DMIC extended link is identified when LCAP.ALT=1 and
|
||||||
|
LEPTR.ID=0xC0 are set.
|
||||||
|
|
||||||
|
DMA control uses the existing LOSIDV register
|
||||||
|
|
||||||
|
Changes include additional descriptions for enumeration and control that were not
|
||||||
|
present in earlier generations:
|
||||||
|
- number of sublinks (SSP IP instances) in LCAP.LSCOUNT
|
||||||
|
- power management moved from SHIM to LCTL.SPA bits
|
||||||
|
- hand-over to the DSP for access to multi-link registers, SHIM/IP
|
||||||
|
with LCTL.OFLEN
|
||||||
|
- move of SHIM and SSP IP registers to different offsets, with no
|
||||||
|
change in functionality. The LEPTR.PTR value is an offset from the ML
|
||||||
|
address, with a default value of 0x28000.
|
||||||
|
|
||||||
|
Extended structure for SSP (assuming 3 instances of the IP)
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
+-----------+
|
||||||
|
| ML cap #0 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #1 |
|
||||||
|
+-----------+
|
||||||
|
| ML cap #2 |---+
|
||||||
|
+-----------+ |
|
||||||
|
|
|
||||||
|
+--> 0x0 +---------------+ LCAP
|
||||||
|
| ALT=1 |
|
||||||
|
+---------------+
|
||||||
|
| INTC |
|
||||||
|
+---------------+
|
||||||
|
| OFLS |
|
||||||
|
+---------------+
|
||||||
|
| SLCOUNT=3 |-------------------------for each sublink x -------------------------+
|
||||||
|
+---------------+ |
|
||||||
|
|
|
||||||
|
0x4 +---------------+ LCTL |
|
||||||
|
| INTSTS | |
|
||||||
|
+---------------+ |
|
||||||
|
| CPA (x bits) | |
|
||||||
|
+---------------+ |
|
||||||
|
| SPA (x bits) | |
|
||||||
|
+---------------+ |
|
||||||
|
| INTEN | |
|
||||||
|
+---------------+ |
|
||||||
|
| OFLEN | |
|
||||||
|
+---------------+ +---> 0x28000 +-----------------+ 0x00028000 |
|
||||||
|
| | SSP SHIM | |
|
||||||
|
0x8 +---------------+ LOSIDV | | generic | |
|
||||||
|
| L1OSIVD15 | | +-----------------+ 0x00028100 |
|
||||||
|
+---------------+ | | SSP IP | |
|
||||||
|
| L1OSIDV.. | | +-----------------+ 0x00028C00 |
|
||||||
|
+---------------+ | | SSP SHIM | |
|
||||||
|
| L1OSIDV1 | | | vendor-specific | |
|
||||||
|
+---------------+ | +-----------------+ |
|
||||||
|
| v
|
||||||
|
0x20 +---------------+ LEPTR | +-----------------+ 0x00028000 + 0x1000 * x
|
||||||
|
| ID = 0xC0 | | | SSP SHIM |
|
||||||
|
+---------------+ | | generic |
|
||||||
|
| VER | | +-----------------+ 0x00028100 + 0x1000 * x
|
||||||
|
+---------------+ | | SSP IP |
|
||||||
|
| PTR |-----------+ +-----------------+ 0x00028C00 + 0x1000 * x
|
||||||
|
+---------------+ | SSP SHIM |
|
||||||
|
| vendor-specific |
|
||||||
|
+-----------------+
|
|
@ -24,6 +24,9 @@ YAML specifications can be found under ``Documentation/netlink/specs/``
|
||||||
This document describes details of the schema.
|
This document describes details of the schema.
|
||||||
See :doc:`intro-specs` for a practical starting guide.
|
See :doc:`intro-specs` for a practical starting guide.
|
||||||
|
|
||||||
|
All specs must be licensed under ``GPL-2.0-only OR BSD-3-Clause``
|
||||||
|
to allow for easy adoption in user space code.
|
||||||
|
|
||||||
Compatibility levels
|
Compatibility levels
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
@ -197,9 +200,15 @@ value
|
||||||
Numerical attribute ID, used in serialized Netlink messages.
|
Numerical attribute ID, used in serialized Netlink messages.
|
||||||
The ``value`` property can be skipped, in which case the attribute ID
|
The ``value`` property can be skipped, in which case the attribute ID
|
||||||
will be the value of the previous attribute plus one (recursively)
|
will be the value of the previous attribute plus one (recursively)
|
||||||
and ``0`` for the first attribute in the attribute set.
|
and ``1`` for the first attribute in the attribute set.
|
||||||
|
|
||||||
Note that the ``value`` of an attribute is defined only in its main set.
|
Attributes (and operations) use ``1`` as the default value for the first
|
||||||
|
entry (unlike enums in definitions which start from ``0``) because
|
||||||
|
entry ``0`` is almost always reserved as undefined. Spec can explicitly
|
||||||
|
set value to ``0`` if needed.
|
||||||
|
|
||||||
|
Note that the ``value`` of an attribute is defined only in its main set
|
||||||
|
(not in subsets).
|
||||||
|
|
||||||
enum
|
enum
|
||||||
~~~~
|
~~~~
|
||||||
|
|
48
MAINTAINERS
48
MAINTAINERS
|
@ -2072,6 +2072,7 @@ M: Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
|
F: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
|
||||||
|
F: Documentation/devicetree/bindings/sound/cirrus,ep9301-*
|
||||||
F: arch/arm/boot/compressed/misc-ep93xx.h
|
F: arch/arm/boot/compressed/misc-ep93xx.h
|
||||||
F: arch/arm/mach-ep93xx/
|
F: arch/arm/mach-ep93xx/
|
||||||
F: drivers/iio/adc/ep93xx_adc.c
|
F: drivers/iio/adc/ep93xx_adc.c
|
||||||
|
@ -4905,6 +4906,7 @@ L: patches@opensource.cirrus.com
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/sound/cirrus,cs*
|
F: Documentation/devicetree/bindings/sound/cirrus,cs*
|
||||||
F: include/dt-bindings/sound/cs*
|
F: include/dt-bindings/sound/cs*
|
||||||
|
F: include/sound/cs*
|
||||||
F: sound/pci/hda/cs*
|
F: sound/pci/hda/cs*
|
||||||
F: sound/pci/hda/hda_cs_dsp_ctl.*
|
F: sound/pci/hda/hda_cs_dsp_ctl.*
|
||||||
F: sound/soc/codecs/cs*
|
F: sound/soc/codecs/cs*
|
||||||
|
@ -8247,6 +8249,23 @@ S: Maintained
|
||||||
F: drivers/soc/fsl/qe/
|
F: drivers/soc/fsl/qe/
|
||||||
F: include/soc/fsl/qe/
|
F: include/soc/fsl/qe/
|
||||||
|
|
||||||
|
FREESCALE QUICC ENGINE QMC DRIVER
|
||||||
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
|
||||||
|
F: drivers/soc/fsl/qe/qmc.c
|
||||||
|
F: include/soc/fsl/qe/qmc.h
|
||||||
|
|
||||||
|
FREESCALE QUICC ENGINE TSA DRIVER
|
||||||
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml
|
||||||
|
F: drivers/soc/fsl/qe/tsa.c
|
||||||
|
F: drivers/soc/fsl/qe/tsa.h
|
||||||
|
F: include/dt-bindings/soc/cpm1-fsl,tsa.h
|
||||||
|
|
||||||
FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
|
FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
|
||||||
M: Li Yang <leoyang.li@nxp.com>
|
M: Li Yang <leoyang.li@nxp.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
|
@ -8298,6 +8317,14 @@ F: sound/soc/fsl/fsl*
|
||||||
F: sound/soc/fsl/imx*
|
F: sound/soc/fsl/imx*
|
||||||
F: sound/soc/fsl/mpc8610_hpcd.c
|
F: sound/soc/fsl/mpc8610_hpcd.c
|
||||||
|
|
||||||
|
FREESCALE SOC SOUND QMC DRIVER
|
||||||
|
M: Herve Codina <herve.codina@bootlin.com>
|
||||||
|
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||||
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
|
||||||
|
F: sound/soc/fsl/fsl_qmc_audio.c
|
||||||
|
|
||||||
FREESCALE USB PERIPHERAL DRIVERS
|
FREESCALE USB PERIPHERAL DRIVERS
|
||||||
M: Li Yang <leoyang.li@nxp.com>
|
M: Li Yang <leoyang.li@nxp.com>
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
|
@ -9871,10 +9898,10 @@ M: Christian Brauner <brauner@kernel.org>
|
||||||
M: Seth Forshee <sforshee@kernel.org>
|
M: Seth Forshee <sforshee@kernel.org>
|
||||||
L: linux-fsdevel@vger.kernel.org
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git
|
||||||
F: Documentation/filesystems/idmappings.rst
|
F: Documentation/filesystems/idmappings.rst
|
||||||
F: tools/testing/selftests/mount_setattr/
|
|
||||||
F: include/linux/mnt_idmapping.*
|
F: include/linux/mnt_idmapping.*
|
||||||
|
F: tools/testing/selftests/mount_setattr/
|
||||||
|
|
||||||
IDT VersaClock 5 CLOCK DRIVER
|
IDT VersaClock 5 CLOCK DRIVER
|
||||||
M: Luca Ceresoli <luca@lucaceresoli.net>
|
M: Luca Ceresoli <luca@lucaceresoli.net>
|
||||||
|
@ -13593,9 +13620,13 @@ F: Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
|
||||||
F: drivers/spi/spi-at91-usart.c
|
F: drivers/spi/spi-at91-usart.c
|
||||||
|
|
||||||
MICROCHIP AUDIO ASOC DRIVERS
|
MICROCHIP AUDIO ASOC DRIVERS
|
||||||
M: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
|
M: Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
|
F: Documentation/devicetree/bindings/sound/atmel*
|
||||||
|
F: Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt
|
||||||
|
F: Documentation/devicetree/bindings/sound/microchip,sama7g5-*
|
||||||
|
F: Documentation/devicetree/bindings/sound/mikroe,mikroe-proto.txt
|
||||||
F: sound/soc/atmel
|
F: sound/soc/atmel
|
||||||
|
|
||||||
MICROCHIP CSI2DC DRIVER
|
MICROCHIP CSI2DC DRIVER
|
||||||
|
@ -13768,9 +13799,10 @@ S: Supported
|
||||||
F: drivers/spi/spi-atmel.*
|
F: drivers/spi/spi-atmel.*
|
||||||
|
|
||||||
MICROCHIP SSC DRIVER
|
MICROCHIP SSC DRIVER
|
||||||
M: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
|
M: Claudiu Beznea <claudiu.beznea@microchip.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
|
F: Documentation/devicetree/bindings/misc/atmel-ssc.txt
|
||||||
F: drivers/misc/atmel-ssc.c
|
F: drivers/misc/atmel-ssc.c
|
||||||
F: include/linux/atmel-ssc.h
|
F: include/linux/atmel-ssc.h
|
||||||
|
|
||||||
|
@ -16391,6 +16423,7 @@ R: Alexander Shishkin <alexander.shishkin@linux.intel.com>
|
||||||
R: Jiri Olsa <jolsa@kernel.org>
|
R: Jiri Olsa <jolsa@kernel.org>
|
||||||
R: Namhyung Kim <namhyung@kernel.org>
|
R: Namhyung Kim <namhyung@kernel.org>
|
||||||
R: Ian Rogers <irogers@google.com>
|
R: Ian Rogers <irogers@google.com>
|
||||||
|
R: Adrian Hunter <adrian.hunter@intel.com>
|
||||||
L: linux-perf-users@vger.kernel.org
|
L: linux-perf-users@vger.kernel.org
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
@ -19863,13 +19896,6 @@ S: Maintained
|
||||||
W: http://wiki.laptop.org/go/DCON
|
W: http://wiki.laptop.org/go/DCON
|
||||||
F: drivers/staging/olpc_dcon/
|
F: drivers/staging/olpc_dcon/
|
||||||
|
|
||||||
STAGING - REALTEK RTL8188EU DRIVERS
|
|
||||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
|
||||||
M: Phillip Potter <phil@philpotter.co.uk>
|
|
||||||
R: Pavel Skripkin <paskripkin@gmail.com>
|
|
||||||
S: Supported
|
|
||||||
F: drivers/staging/r8188eu/
|
|
||||||
|
|
||||||
STAGING - REALTEK RTL8712U DRIVERS
|
STAGING - REALTEK RTL8712U DRIVERS
|
||||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
M: Larry Finger <Larry.Finger@lwfinger.net>
|
||||||
M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
|
M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -2,7 +2,7 @@
|
||||||
VERSION = 6
|
VERSION = 6
|
||||||
PATCHLEVEL = 3
|
PATCHLEVEL = 3
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc2
|
||||||
NAME = Hurr durr I'ma ninja sloth
|
NAME = Hurr durr I'ma ninja sloth
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
|
|
@ -23,7 +23,7 @@ alpha_read_fp_reg (unsigned long reg)
|
||||||
|
|
||||||
if (unlikely(reg >= 32))
|
if (unlikely(reg >= 32))
|
||||||
return 0;
|
return 0;
|
||||||
preempt_enable();
|
preempt_disable();
|
||||||
if (current_thread_info()->status & TS_SAVED_FP)
|
if (current_thread_info()->status & TS_SAVED_FP)
|
||||||
val = current_thread_info()->fp[reg];
|
val = current_thread_info()->fp[reg];
|
||||||
else switch (reg) {
|
else switch (reg) {
|
||||||
|
@ -133,7 +133,7 @@ alpha_read_fp_reg_s (unsigned long reg)
|
||||||
if (unlikely(reg >= 32))
|
if (unlikely(reg >= 32))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
preempt_enable();
|
preempt_disable();
|
||||||
if (current_thread_info()->status & TS_SAVED_FP) {
|
if (current_thread_info()->status & TS_SAVED_FP) {
|
||||||
LDT(0, current_thread_info()->fp[reg]);
|
LDT(0, current_thread_info()->fp[reg]);
|
||||||
STS(0, val);
|
STS(0, val);
|
||||||
|
|
|
@ -326,16 +326,16 @@ void __init setup_arch(char **cmdline_p)
|
||||||
panic("No configuration setup");
|
panic("No configuration setup");
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && m68k_ramdisk.size)
|
||||||
if (m68k_ramdisk.size) {
|
|
||||||
memblock_reserve(m68k_ramdisk.addr, m68k_ramdisk.size);
|
memblock_reserve(m68k_ramdisk.addr, m68k_ramdisk.size);
|
||||||
|
|
||||||
|
paging_init();
|
||||||
|
|
||||||
|
if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && m68k_ramdisk.size) {
|
||||||
initrd_start = (unsigned long)phys_to_virt(m68k_ramdisk.addr);
|
initrd_start = (unsigned long)phys_to_virt(m68k_ramdisk.addr);
|
||||||
initrd_end = initrd_start + m68k_ramdisk.size;
|
initrd_end = initrd_start + m68k_ramdisk.size;
|
||||||
pr_info("initrd: %08lx - %08lx\n", initrd_start, initrd_end);
|
pr_info("initrd: %08lx - %08lx\n", initrd_start, initrd_end);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
paging_init();
|
|
||||||
|
|
||||||
#ifdef CONFIG_NATFEAT
|
#ifdef CONFIG_NATFEAT
|
||||||
nf_init();
|
nf_init();
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
|
#include <linux/extable.h>
|
||||||
|
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
#include <asm/fpu.h>
|
#include <asm/fpu.h>
|
||||||
|
@ -545,7 +546,8 @@ static inline void bus_error030 (struct frame *fp)
|
||||||
errorcode |= 2;
|
errorcode |= 2;
|
||||||
|
|
||||||
if (mmusr & (MMU_I | MMU_WP)) {
|
if (mmusr & (MMU_I | MMU_WP)) {
|
||||||
if (ssw & 4) {
|
/* We might have an exception table for this PC */
|
||||||
|
if (ssw & 4 && !search_exception_tables(fp->ptregs.pc)) {
|
||||||
pr_err("Data %s fault at %#010lx in %s (pc=%#lx)\n",
|
pr_err("Data %s fault at %#010lx in %s (pc=%#lx)\n",
|
||||||
ssw & RW ? "read" : "write",
|
ssw & RW ? "read" : "write",
|
||||||
fp->un.fmtb.daddr,
|
fp->un.fmtb.daddr,
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue