Merge branch 'for-next' into for-linus
This commit is contained in:
commit
26ed1d29fc
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,6 +39,7 @@
|
||||
*.o.*
|
||||
*.patch
|
||||
*.rmeta
|
||||
*.rpm
|
||||
*.rsi
|
||||
*.s
|
||||
*.so
|
||||
|
4
.mailmap
4
.mailmap
@ -130,6 +130,7 @@ Domen Puncer <domen@coderock.org>
|
||||
Douglas Gilbert <dougg@torque.net>
|
||||
Ed L. Cashin <ecashin@coraid.com>
|
||||
Erik Kaneda <erik.kaneda@intel.com> <erik.schmauss@intel.com>
|
||||
Eugen Hristev <eugen.hristev@collabora.com> <eugen.hristev@microchip.com>
|
||||
Evgeniy Polyakov <johnpol@2ka.mipt.ru>
|
||||
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> <ezequiel@collabora.com>
|
||||
Felipe W Damasio <felipewd@terra.com.br>
|
||||
@ -214,6 +215,7 @@ Jisheng Zhang <jszhang@kernel.org> <jszhang@marvell.com>
|
||||
Jisheng Zhang <jszhang@kernel.org> <Jisheng.Zhang@synaptics.com>
|
||||
Johan Hovold <johan@kernel.org> <jhovold@gmail.com>
|
||||
Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
|
||||
John Crispin <john@phrozen.org> <blogic@openwrt.org>
|
||||
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
John Stultz <johnstul@us.ibm.com>
|
||||
Jordan Crouse <jordan@cosmicpenguin.net> <jcrouse@codeaurora.org>
|
||||
@ -371,6 +373,7 @@ Rémi Denis-Courmont <rdenis@simphalempin.com>
|
||||
Ricardo Ribalda <ribalda@kernel.org> <ricardo@ribalda.com>
|
||||
Ricardo Ribalda <ribalda@kernel.org> Ricardo Ribalda Delgado <ribalda@kernel.org>
|
||||
Ricardo Ribalda <ribalda@kernel.org> <ricardo.ribalda@gmail.com>
|
||||
Robert Foss <rfoss@kernel.org> <robert.foss@linaro.org>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <guro@fb.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <guroan@gmail.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <klamm@yandex-team.ru>
|
||||
@ -422,6 +425,7 @@ Tony Luck <tony.luck@intel.com>
|
||||
TripleX Chung <xxx.phy@gmail.com> <triplex@zh-kernel.org>
|
||||
TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
|
||||
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
||||
Tudor Ambarus <tudor.ambarus@linaro.org> <tudor.ambarus@microchip.com>
|
||||
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
||||
Tzung-Bi Shih <tzungbi@kernel.org> <tzungbi@google.com>
|
||||
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
||||
|
15
CREDITS
15
CREDITS
@ -1173,6 +1173,10 @@ D: Future Domain TMC-16x0 SCSI driver (author)
|
||||
D: APM driver (early port)
|
||||
D: DRM drivers (author of several)
|
||||
|
||||
N: Veaceslav Falico
|
||||
E: vfalico@gmail.com
|
||||
D: Co-maintainer and co-author of the network bonding driver.
|
||||
|
||||
N: János Farkas
|
||||
E: chexum@shadow.banki.hu
|
||||
D: romfs, various (mostly networking) fixes
|
||||
@ -2489,6 +2493,13 @@ D: XF86_Mach8
|
||||
D: XF86_8514
|
||||
D: cfdisk (curses based disk partitioning program)
|
||||
|
||||
N: Mat Martineau
|
||||
E: mat@martineau.name
|
||||
D: MPTCP subsystem co-maintainer 2020-2023
|
||||
D: Keyctl restricted keyring and Diffie-Hellman UAPI
|
||||
D: Bluetooth L2CAP ERTM mode and AMP
|
||||
S: USA
|
||||
|
||||
N: John S. Marvin
|
||||
E: jsm@fc.hp.com
|
||||
D: PA-RISC port
|
||||
@ -4172,6 +4183,10 @@ S: B-1206 Jingmao Guojigongyu
|
||||
S: 16 Baliqiao Nanjie, Beijing 101100
|
||||
S: People's Repulic of China
|
||||
|
||||
N: Vlad Yasevich
|
||||
E: vyasevich@gmail.com
|
||||
D: SCTP protocol maintainer.
|
||||
|
||||
N: Aviad Yehezkel
|
||||
E: aviadye@nvidia.com
|
||||
D: Kernel TLS implementation and offload support.
|
||||
|
18
Documentation/ABI/testing/debugfs-pktcdvd
Normal file
18
Documentation/ABI/testing/debugfs-pktcdvd
Normal file
@ -0,0 +1,18 @@
|
||||
What: /sys/kernel/debug/pktcdvd/pktcdvd[0-7]
|
||||
Date: Oct. 2006
|
||||
KernelVersion: 2.6.20
|
||||
Contact: Thomas Maier <balagi@justmail.de>
|
||||
Description:
|
||||
|
||||
The pktcdvd module (packet writing driver) creates
|
||||
these files in debugfs:
|
||||
|
||||
/sys/kernel/debug/pktcdvd/pktcdvd[0-7]/
|
||||
|
||||
==== ====== ====================================
|
||||
info 0444 Lots of driver statistics and infos.
|
||||
==== ====== ====================================
|
||||
|
||||
Example::
|
||||
|
||||
cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
|
97
Documentation/ABI/testing/sysfs-class-pktcdvd
Normal file
97
Documentation/ABI/testing/sysfs-class-pktcdvd
Normal file
@ -0,0 +1,97 @@
|
||||
sysfs interface
|
||||
---------------
|
||||
The pktcdvd module (packet writing driver) creates the following files in the
|
||||
sysfs: (<devid> is in the format major:minor)
|
||||
|
||||
What: /sys/class/pktcdvd/add
|
||||
What: /sys/class/pktcdvd/remove
|
||||
What: /sys/class/pktcdvd/device_map
|
||||
Date: Oct. 2006
|
||||
KernelVersion: 2.6.20
|
||||
Contact: Thomas Maier <balagi@justmail.de>
|
||||
Description:
|
||||
|
||||
========== ==============================================
|
||||
add (WO) Write a block device id (major:minor) to
|
||||
create a new pktcdvd device and map it to the
|
||||
block device.
|
||||
|
||||
remove (WO) Write the pktcdvd device id (major:minor)
|
||||
to remove the pktcdvd device.
|
||||
|
||||
device_map (RO) Shows the device mapping in format:
|
||||
pktcdvd[0-7] <pktdevid> <blkdevid>
|
||||
========== ==============================================
|
||||
|
||||
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/dev
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/uevent
|
||||
Date: Oct. 2006
|
||||
KernelVersion: 2.6.20
|
||||
Contact: Thomas Maier <balagi@justmail.de>
|
||||
Description:
|
||||
dev: (RO) Device id
|
||||
|
||||
uevent: (WO) To send a uevent
|
||||
|
||||
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_started
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_finished
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_written
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read_gather
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/reset
|
||||
Date: Oct. 2006
|
||||
KernelVersion: 2.6.20
|
||||
Contact: Thomas Maier <balagi@justmail.de>
|
||||
Description:
|
||||
packets_started: (RO) Number of started packets.
|
||||
|
||||
packets_finished: (RO) Number of finished packets.
|
||||
|
||||
kb_written: (RO) kBytes written.
|
||||
|
||||
kb_read: (RO) kBytes read.
|
||||
|
||||
kb_read_gather: (RO) kBytes read to fill write packets.
|
||||
|
||||
reset: (WO) Write any value to it to reset
|
||||
pktcdvd device statistic values, like
|
||||
bytes read/written.
|
||||
|
||||
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/size
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_off
|
||||
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_on
|
||||
Date: Oct. 2006
|
||||
KernelVersion: 2.6.20
|
||||
Contact: Thomas Maier <balagi@justmail.de>
|
||||
Description:
|
||||
============== ================================================
|
||||
size (RO) Contains the size of the bio write queue.
|
||||
|
||||
congestion_off (RW) If bio write queue size is below this mark,
|
||||
accept new bio requests from the block layer.
|
||||
|
||||
congestion_on (RW) If bio write queue size is higher as this
|
||||
mark, do no longer accept bio write requests
|
||||
from the block layer and wait till the pktcdvd
|
||||
device has processed enough bio's so that bio
|
||||
write queue size is below congestion off mark.
|
||||
A value of <= 0 disables congestion control.
|
||||
============== ================================================
|
||||
|
||||
|
||||
Example:
|
||||
--------
|
||||
To use the pktcdvd sysfs interface directly, you can do::
|
||||
|
||||
# create a new pktcdvd device mapped to /dev/hdc
|
||||
echo "22:0" >/sys/class/pktcdvd/add
|
||||
cat /sys/class/pktcdvd/device_map
|
||||
# assuming device pktcdvd0 was created, look at stat's
|
||||
cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written
|
||||
# print the device id of the mapped block device
|
||||
fgrep pktcdvd0 /sys/class/pktcdvd/device_map
|
||||
# remove device, using pktcdvd0 device id 253:0
|
||||
echo "253:0" >/sys/class/pktcdvd/remove
|
@ -1245,13 +1245,17 @@ PAGE_SIZE multiple when read back.
|
||||
This is a simple interface to trigger memory reclaim in the
|
||||
target cgroup.
|
||||
|
||||
This file accepts a string which contains the number of bytes to
|
||||
reclaim.
|
||||
This file accepts a single key, the number of bytes to reclaim.
|
||||
No nested keys are currently supported.
|
||||
|
||||
Example::
|
||||
|
||||
echo "1G" > memory.reclaim
|
||||
|
||||
The interface can be later extended with nested keys to
|
||||
configure the reclaim behavior. For example, specify the
|
||||
type of memory to reclaim from (anon, file, ..).
|
||||
|
||||
Please note that the kernel can over or under reclaim from
|
||||
the target cgroup. If less bytes are reclaimed than the
|
||||
specified amount, -EAGAIN is returned.
|
||||
@ -1263,13 +1267,6 @@ PAGE_SIZE multiple when read back.
|
||||
This means that the networking layer will not adapt based on
|
||||
reclaim induced by memory.reclaim.
|
||||
|
||||
This file also allows the user to specify the nodes to reclaim from,
|
||||
via the 'nodes=' key, for example::
|
||||
|
||||
echo "1G nodes=0,1" > memory.reclaim
|
||||
|
||||
The above instructs the kernel to reclaim memory from nodes 0,1.
|
||||
|
||||
memory.peak
|
||||
A read-only single value file which exists on non-root
|
||||
cgroups.
|
||||
|
@ -70,9 +70,7 @@ e.g. ``zswap.zpool=zbud``. It can also be changed at runtime using the sysfs
|
||||
The zbud type zpool allocates exactly 1 page to store 2 compressed pages, which
|
||||
means the compression ratio will always be 2:1 or worse (because of half-full
|
||||
zbud pages). The zsmalloc type zpool has a more complex compressed page
|
||||
storage method, and it can achieve greater storage densities. However,
|
||||
zsmalloc does not implement compressed page eviction, so once zswap fills it
|
||||
cannot evict the oldest page, it can only reject new pages.
|
||||
storage method, and it can achieve greater storage densities.
|
||||
|
||||
When a swap page is passed from frontswap to zswap, zswap maintains a mapping
|
||||
of the swap entry, a combination of the swap type and swap offset, to the zpool
|
||||
|
@ -120,6 +120,8 @@ stable kernels.
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
|
||||
+----------------+-----------------+-----------------+-----------------------------+
|
||||
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
|
||||
|
@ -31,6 +31,12 @@ def have_command(cmd):
|
||||
# Get Sphinx version
|
||||
major, minor, patch = sphinx.version_info[:3]
|
||||
|
||||
#
|
||||
# Warn about older versions that we don't want to support for much
|
||||
# longer.
|
||||
#
|
||||
if (major < 2) or (major == 2 and minor < 4):
|
||||
print('WARNING: support for Sphinx < 2.4 will be removed soon.')
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
@ -339,7 +345,11 @@ html_use_smartypants = False
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
# Note that the RTD theme ignores this
|
||||
html_sidebars = { '**': ["about.html", 'searchbox.html', 'localtoc.html', 'sourcelink.html']}
|
||||
html_sidebars = { '**': ['searchbox.html', 'localtoc.html', 'sourcelink.html']}
|
||||
|
||||
# about.html is available for alabaster theme. Add it at the front.
|
||||
if html_theme == 'alabaster':
|
||||
html_sidebars['**'].insert(0, 'about.html')
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'TheLinuxKerneldoc'
|
||||
|
5
Documentation/devicetree/bindings/.gitignore
vendored
5
Documentation/devicetree/bindings/.gitignore
vendored
@ -2,3 +2,8 @@
|
||||
*.example.dts
|
||||
/processed-schema*.yaml
|
||||
/processed-schema*.json
|
||||
|
||||
#
|
||||
# We don't want to ignore the following even if they are dot-files
|
||||
#
|
||||
!.yamllint
|
||||
|
@ -54,6 +54,17 @@ properties:
|
||||
- const: xo
|
||||
- const: alternate
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: dcvsh-irq-0
|
||||
- const: dcvsh-irq-1
|
||||
- const: dcvsh-irq-2
|
||||
|
||||
'#freq-domain-cells':
|
||||
const: 1
|
||||
|
||||
|
@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Atmel Advanced Encryption Standard (AES) HW cryptographic accelerator
|
||||
|
||||
maintainers:
|
||||
- Tudor Ambarus <tudor.ambarus@microchip.com>
|
||||
- Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Atmel Secure Hash Algorithm (SHA) HW cryptographic accelerator
|
||||
|
||||
maintainers:
|
||||
- Tudor Ambarus <tudor.ambarus@microchip.com>
|
||||
- Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Atmel Triple Data Encryption Standard (TDES) HW cryptographic accelerator
|
||||
|
||||
maintainers:
|
||||
- Tudor Ambarus <tudor.ambarus@microchip.com>
|
||||
- Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -32,7 +32,7 @@ properties:
|
||||
- description: Display byte clock
|
||||
- description: Display byte interface clock
|
||||
- description: Display pixel clock
|
||||
- description: Display escape clock
|
||||
- description: Display core clock
|
||||
- description: Display AHB clock
|
||||
- description: Display AXI clock
|
||||
|
||||
@ -137,8 +137,6 @@ required:
|
||||
- phys
|
||||
- assigned-clocks
|
||||
- assigned-clock-parents
|
||||
- power-domains
|
||||
- operating-points-v2
|
||||
- ports
|
||||
|
||||
additionalProperties: false
|
||||
|
@ -69,7 +69,6 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- vdds-supply
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
@ -39,7 +39,6 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- vcca-supply
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
@ -34,6 +34,10 @@ properties:
|
||||
vddio-supply:
|
||||
description: Phandle to vdd-io regulator device node.
|
||||
|
||||
qcom,dsi-phy-regulator-ldo-mode:
|
||||
type: boolean
|
||||
description: Indicates if the LDO mode PHY regulator is wanted.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
@ -72,7 +72,7 @@ examples:
|
||||
#include <dt-bindings/interconnect/qcom,qcm2290.h>
|
||||
#include <dt-bindings/power/qcom-rpmpd.h>
|
||||
|
||||
mdss@5e00000 {
|
||||
display-subsystem@5e00000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,qcm2290-mdss";
|
||||
|
@ -62,7 +62,7 @@ examples:
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/power/qcom-rpmpd.h>
|
||||
|
||||
mdss@5e00000 {
|
||||
display-subsystem@5e00000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,sm6115-mdss";
|
||||
|
@ -15,7 +15,9 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8186-dsp
|
||||
enum:
|
||||
- mediatek,mt8186-dsp
|
||||
- mediatek,mt8188-dsp
|
||||
|
||||
reg:
|
||||
items:
|
||||
|
@ -16,7 +16,7 @@ properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- renesas,i2c-r9a09g011 # RZ/V2M
|
||||
- renesas,r9a09g011-i2c # RZ/V2M
|
||||
- const: renesas,rzv2m-i2c
|
||||
|
||||
reg:
|
||||
@ -66,7 +66,7 @@ examples:
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
i2c0: i2c@a4030000 {
|
||||
compatible = "renesas,i2c-r9a09g011", "renesas,rzv2m-i2c";
|
||||
compatible = "renesas,r9a09g011-i2c", "renesas,rzv2m-i2c";
|
||||
reg = <0xa4030000 0x80>;
|
||||
interrupts = <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 236 IRQ_TYPE_EDGE_RISING>;
|
||||
|
@ -84,7 +84,6 @@ allOf:
|
||||
- qcom,msm8939-pcnoc
|
||||
- qcom,msm8939-snoc
|
||||
- qcom,msm8996-a1noc
|
||||
- qcom,msm8996-a2noc
|
||||
- qcom,msm8996-bimc
|
||||
- qcom,msm8996-cnoc
|
||||
- qcom,msm8996-pnoc
|
||||
@ -186,6 +185,29 @@ allOf:
|
||||
required:
|
||||
- power-domains
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,msm8996-a2noc
|
||||
|
||||
then:
|
||||
properties:
|
||||
clock-names:
|
||||
items:
|
||||
- const: bus
|
||||
- const: bus_a
|
||||
- const: aggre2_ufs_axi
|
||||
- const: ufs_axi
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Bus Clock
|
||||
- description: Bus A Clock
|
||||
- description: Aggregate2 NoC UFS AXI Clock
|
||||
- description: UFS AXI Clock
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
@ -108,7 +108,7 @@ properties:
|
||||
|
||||
msi-controller:
|
||||
description:
|
||||
Only present if the Message Based Interrupt functionnality is
|
||||
Only present if the Message Based Interrupt functionality is
|
||||
being exposed by the HW, and the mbi-ranges property present.
|
||||
|
||||
mbi-ranges:
|
||||
|
@ -40,6 +40,9 @@ properties:
|
||||
clock-names:
|
||||
const: stmmaceth
|
||||
|
||||
phy-supply:
|
||||
description: PHY regulator
|
||||
|
||||
syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
|
@ -16,9 +16,6 @@ description: |
|
||||
8k has a second unit which provides an interface with the xMDIO bus. This
|
||||
driver handles these interfaces.
|
||||
|
||||
allOf:
|
||||
- $ref: "mdio.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@ -39,13 +36,38 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: mdio.yaml#
|
||||
|
||||
- if:
|
||||
required:
|
||||
- interrupts
|
||||
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
items:
|
||||
- items:
|
||||
- $ref: /schemas/types.yaml#/definitions/cell
|
||||
- const: 0x84
|
||||
|
||||
else:
|
||||
properties:
|
||||
reg:
|
||||
items:
|
||||
- items:
|
||||
- $ref: /schemas/types.yaml#/definitions/cell
|
||||
- enum:
|
||||
- 0x4
|
||||
- 0x10
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
mdio@d0072004 {
|
||||
compatible = "marvell,orion-mdio";
|
||||
reg = <0xd0072004 0x4>;
|
||||
reg = <0xd0072004 0x84>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <30>;
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Copyright 2019 BayLibre, SAS
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/phy/amlogic,meson-g12a-usb2-phy.yaml#"
|
||||
$id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb2-phy.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Amlogic G12A USB2 PHY
|
||||
@ -13,8 +13,8 @@ maintainers:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- amlogic,meson-g12a-usb2-phy
|
||||
- amlogic,meson-a1-usb2-phy
|
||||
- amlogic,g12a-usb2-phy
|
||||
- amlogic,a1-usb2-phy
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@ -68,7 +68,7 @@ additionalProperties: false
|
||||
examples:
|
||||
- |
|
||||
phy@36000 {
|
||||
compatible = "amlogic,meson-g12a-usb2-phy";
|
||||
compatible = "amlogic,g12a-usb2-phy";
|
||||
reg = <0x36000 0x2000>;
|
||||
clocks = <&xtal>;
|
||||
clock-names = "xtal";
|
@ -2,7 +2,7 @@
|
||||
# Copyright 2019 BayLibre, SAS
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml#"
|
||||
$id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb3-pcie-phy.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Amlogic G12A USB3 + PCIE Combo PHY
|
||||
@ -13,7 +13,7 @@ maintainers:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- amlogic,meson-g12a-usb3-pcie-phy
|
||||
- amlogic,g12a-usb3-pcie-phy
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@ -49,7 +49,7 @@ additionalProperties: false
|
||||
examples:
|
||||
- |
|
||||
phy@46000 {
|
||||
compatible = "amlogic,meson-g12a-usb3-pcie-phy";
|
||||
compatible = "amlogic,g12a-usb3-pcie-phy";
|
||||
reg = <0x46000 0x2000>;
|
||||
clocks = <&ref_clk>;
|
||||
clock-names = "ref_clk";
|
@ -16,7 +16,6 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,usb-hs-28nm-femtophy
|
||||
- qcom,usb-hs-28nm-mdm9607
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
@ -19,8 +19,8 @@ description: |
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 25 LDOs
|
||||
"^LDO([1-9]|[1][0-9]|2[0-5])$":
|
||||
# 25 LDOs, without LDO10-12
|
||||
"^LDO([1-9]|1[3-9]|2[0-5])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
@ -30,6 +30,23 @@ patternProperties:
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
"^LDO(1[0-2])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
samsung,ext-control-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
LDO10, LDO11 and LDO12 can be configured to external control over
|
||||
GPIO.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 5 bucks
|
||||
"^BUCK[1-5]$":
|
||||
type: object
|
||||
|
@ -83,7 +83,7 @@ properties:
|
||||
insensitive, letters in the riscv,isa string must be all
|
||||
lowercase to simplify parsing.
|
||||
$ref: "/schemas/types.yaml#/definitions/string"
|
||||
pattern: ^rv(?:64|32)imaf?d?q?c?b?v?k?h?(?:_[hsxz](?:[a-z])+)*$
|
||||
pattern: ^rv(?:64|32)imaf?d?q?c?b?k?j?p?v?h?(?:[hsxz](?:[a-z])+)?(?:_[hsxz](?:[a-z])+)*$
|
||||
|
||||
# RISC-V requires 'timebase-frequency' in /cpus, so disallow it here
|
||||
timebase-frequency: false
|
||||
|
@ -40,6 +40,8 @@ properties:
|
||||
description:
|
||||
Indicates that the setting of RTC time is allowed by the host CPU.
|
||||
|
||||
wakeup-source: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
@ -39,8 +39,8 @@ properties:
|
||||
qcom,protection-domain:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: |
|
||||
Protection domain service name and path for APR service
|
||||
possible values are::
|
||||
Protection domain service name and path for APR service (if supported).
|
||||
Possible values are::
|
||||
"avs/audio", "msm/adsp/audio_pd".
|
||||
"kernel/elf_loader", "msm/modem/wlan_pd".
|
||||
"tms/servreg", "msm/adsp/audio_pd".
|
||||
@ -49,6 +49,5 @@ properties:
|
||||
|
||||
required:
|
||||
- reg
|
||||
- qcom,protection-domain
|
||||
|
||||
additionalProperties: true
|
||||
|
@ -1,19 +0,0 @@
|
||||
Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Must be "adi,adau7002"
|
||||
|
||||
Optional properties:
|
||||
|
||||
- IOVDD-supply: Phandle and specifier for the power supply providing the IOVDD
|
||||
supply as covered in Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
If this property is not present it is assumed that the supply pin is
|
||||
hardwired to always on.
|
||||
|
||||
Example:
|
||||
adau7002: pdm-to-i2s {
|
||||
compatible = "adi,adau7002";
|
||||
IOVDD-supply = <&supply>;
|
||||
};
|
40
Documentation/devicetree/bindings/sound/adi,adau7002.yaml
Normal file
40
Documentation/devicetree/bindings/sound/adi,adau7002.yaml
Normal file
@ -0,0 +1,40 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/adi,adau7002.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: adi,adau7002
|
||||
|
||||
IOVDD-supply:
|
||||
description:
|
||||
IOVDD power supply, if skipped then it is assumed that the supply pin is
|
||||
hardwired to always on.
|
||||
|
||||
wakeup-delay-ms:
|
||||
description:
|
||||
Delay after power up needed for device to settle.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
audio-codec {
|
||||
compatible = "adi,adau7002";
|
||||
IOVDD-supply = <&pp1800_l15a>;
|
||||
#sound-dai-cells = <0>;
|
||||
wakeup-delay-ms = <80>;
|
||||
};
|
@ -25,6 +25,13 @@ properties:
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
ports:
|
||||
$ref: audio-graph-port.yaml#/definitions/ports
|
||||
|
||||
port:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
patternProperties:
|
||||
"^asahi-kasei,in[1-2]-single-end$":
|
||||
description: Input Pin 1 - 2.
|
||||
|
@ -1,34 +0,0 @@
|
||||
* Amlogic Audio FIFO controllers
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-toddr' or
|
||||
'amlogic,axg-toddr' or
|
||||
'amlogic,g12a-frddr' or
|
||||
'amlogic,g12a-toddr' or
|
||||
'amlogic,sm1-frddr' or
|
||||
'amlogic,sm1-toddr'
|
||||
- reg: physical base address of the controller and length of memory
|
||||
mapped region.
|
||||
- interrupts: interrupt specifier for the fifo.
|
||||
- clocks: phandle to the fifo peripheral clock provided by the audio
|
||||
clock controller.
|
||||
- resets: list of reset phandle, one for each entry reset-names.
|
||||
- reset-names: should contain the following:
|
||||
* "arb" : memory ARB line (required)
|
||||
* "rst" : dedicated device reset line (optional)
|
||||
- #sound-dai-cells: must be 0.
|
||||
- amlogic,fifo-depth: The size of the controller's fifo in bytes. This
|
||||
is useful for determining certain configuration such
|
||||
as the flush threshold of the fifo
|
||||
|
||||
Example of FRDDR A on the A113 SoC:
|
||||
|
||||
frddr_a: audio-controller@1c0 {
|
||||
compatible = "amlogic,axg-frddr";
|
||||
reg = <0x0 0x1c0 0x0 0x1c>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
resets = <&arb AXG_ARB_FRDDR_A>;
|
||||
fifo-depth = <512>;
|
||||
};
|
112
Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
Normal file
112
Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
Normal file
@ -0,0 +1,112 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic AXG Audio FIFO controllers
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- amlogic,axg-toddr
|
||||
- amlogic,axg-frddr
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,g12a-toddr
|
||||
- amlogic,sm1-toddr
|
||||
- const: amlogic,axg-toddr
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,g12a-frddr
|
||||
- amlogic,sm1-frddr
|
||||
- const: amlogic,axg-frddr
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Peripheral clock
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
reset-names:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
amlogic,fifo-depth:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Size of the controller's fifo in bytes
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
- clocks
|
||||
- interrupts
|
||||
- resets
|
||||
- amlogic,fifo-depth
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-toddr
|
||||
- amlogic,sm1-toddr
|
||||
- amlogic,g12a-frddr
|
||||
- amlogic,sm1-frddr
|
||||
|
||||
then:
|
||||
properties:
|
||||
resets:
|
||||
minItems: 2
|
||||
reset-names:
|
||||
items:
|
||||
- const: arb
|
||||
- const: rst
|
||||
required:
|
||||
- reset-names
|
||||
|
||||
else:
|
||||
properties:
|
||||
resets:
|
||||
maxItems: 1
|
||||
reset-names:
|
||||
const: arb
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
|
||||
#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
|
||||
|
||||
audio-controller@1c0 {
|
||||
compatible = "amlogic,g12a-frddr", "amlogic,axg-frddr";
|
||||
reg = <0x1c0 0x1c>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
|
||||
resets = <&arb>, <&clkc_audio AUD_RESET_FRDDR_A>;
|
||||
reset-names = "arb", "rst";
|
||||
amlogic,fifo-depth = <512>;
|
||||
};
|
@ -1,29 +0,0 @@
|
||||
* Amlogic Audio PDM input
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-pdm' or
|
||||
'amlogic,g12a-pdm' or
|
||||
'amlogic,sm1-pdm'
|
||||
- reg: physical base address of the controller and length of memory
|
||||
mapped region.
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "dclk" : pdm digital clock
|
||||
* "sysclk" : dsp system clock
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Optional property:
|
||||
- resets: phandle to the dedicated reset line of the pdm input.
|
||||
|
||||
Example of PDM on the A113 SoC:
|
||||
|
||||
pdm: audio-controller@ff632000 {
|
||||
compatible = "amlogic,axg-pdm";
|
||||
reg = <0x0 0xff632000 0x0 0x34>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_PDM>,
|
||||
<&clkc_audio AUD_CLKID_PDM_DCLK>,
|
||||
<&clkc_audio AUD_CLKID_PDM_SYSCLK>;
|
||||
clock-names = "pclk", "dclk", "sysclk";
|
||||
};
|
82
Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml
Normal file
82
Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml
Normal file
@ -0,0 +1,82 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-pdm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic Audio AXG PDM input
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,g12a-pdm
|
||||
- amlogic,sm1-pdm
|
||||
- const: amlogic,axg-pdm
|
||||
- const: amlogic,axg-pdm
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Peripheral clock
|
||||
- description: PDM digital clock
|
||||
- description: DSP system clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pclk
|
||||
- const: dclk
|
||||
- const: sysclk
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-pdm
|
||||
- amlogic,sm1-pdm
|
||||
then:
|
||||
required:
|
||||
- resets
|
||||
|
||||
else:
|
||||
properties:
|
||||
resets: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
|
||||
audio-controller@ff632000 {
|
||||
compatible = "amlogic,axg-pdm";
|
||||
reg = <0xff632000 0x34>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_PDM>,
|
||||
<&clkc_audio AUD_CLKID_PDM_DCLK>,
|
||||
<&clkc_audio AUD_CLKID_PDM_SYSCLK>;
|
||||
clock-names = "pclk", "dclk", "sysclk";
|
||||
};
|
@ -1,124 +0,0 @@
|
||||
Amlogic AXG sound card:
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "amlogic,axg-sound-card"
|
||||
- model : User specified audio sound card name, one string
|
||||
|
||||
Optional properties:
|
||||
|
||||
- audio-aux-devs : List of phandles pointing to auxiliary devices
|
||||
- audio-widgets : Please refer to widgets.txt.
|
||||
- audio-routing : A list of the connections between audio components.
|
||||
|
||||
Subnodes:
|
||||
|
||||
- dai-link: Container for dai-link level properties and the CODEC
|
||||
sub-nodes. There should be at least one (and probably more)
|
||||
subnode of this type.
|
||||
|
||||
Required dai-link properties:
|
||||
|
||||
- sound-dai: phandle and port of the CPU DAI.
|
||||
|
||||
Required TDM Backend dai-link properties:
|
||||
- dai-format : CPU/CODEC common audio format
|
||||
|
||||
Optional TDM Backend dai-link properties:
|
||||
- dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks
|
||||
- dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks
|
||||
When omitted, mask is assumed to have to no
|
||||
slots. A valid must have at one slot, so at
|
||||
least one these mask should be provided with
|
||||
an enabled slot.
|
||||
- dai-tdm-slot-num : Please refer to tdm-slot.txt.
|
||||
If omitted, slot number is set to accommodate the largest
|
||||
mask provided.
|
||||
- dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted.
|
||||
- mclk-fs : Multiplication factor between stream rate and mclk
|
||||
|
||||
Backend dai-link subnodes:
|
||||
|
||||
- codec: dai-link representing backend links should have at least one subnode.
|
||||
One subnode for each codec of the dai-link.
|
||||
dai-link representing frontend links have no codec, therefore have no
|
||||
subnodes
|
||||
|
||||
Required codec subnodes properties:
|
||||
|
||||
- sound-dai: phandle and port of the CODEC DAI.
|
||||
|
||||
Optional codec subnodes properties:
|
||||
|
||||
- dai-tdm-slot-tx-mask : Please refer to tdm-slot.txt.
|
||||
- dai-tdm-slot-rx-mask : Please refer to tdm-slot.txt.
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "amlogic,axg-sound-card";
|
||||
model = "AXG-S420";
|
||||
audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
|
||||
audio-widgets = "Line", "Lineout",
|
||||
"Line", "Linein",
|
||||
"Speaker", "Speaker1 Left",
|
||||
"Speaker", "Speaker1 Right";
|
||||
"Speaker", "Speaker2 Left",
|
||||
"Speaker", "Speaker2 Right";
|
||||
audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
||||
"SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
||||
"TDM_C Playback", "TDMOUT_C OUT",
|
||||
"TDMIN_A IN 2", "TDM_C Capture",
|
||||
"TDMIN_A IN 5", "TDM_C Loopback",
|
||||
"TODDR_A IN 0", "TDMIN_A OUT",
|
||||
"Lineout", "Lineout AOUTL",
|
||||
"Lineout", "Lineout AOUTR",
|
||||
"Speaker1 Left", "SPK1 OUT_A",
|
||||
"Speaker2 Left", "SPK2 OUT_A",
|
||||
"Speaker1 Right", "SPK1 OUT_B",
|
||||
"Speaker2 Right", "SPK2 OUT_B",
|
||||
"Linein AINL", "Linein",
|
||||
"Linein AINR", "Linein";
|
||||
|
||||
dai-link@0 {
|
||||
sound-dai = <&frddr_a>;
|
||||
};
|
||||
|
||||
dai-link@1 {
|
||||
sound-dai = <&toddr_a>;
|
||||
};
|
||||
|
||||
dai-link@2 {
|
||||
sound-dai = <&tdmif_c>;
|
||||
dai-format = "i2s";
|
||||
dai-tdm-slot-tx-mask-2 = <1 1>;
|
||||
dai-tdm-slot-tx-mask-3 = <1 1>;
|
||||
dai-tdm-slot-rx-mask-1 = <1 1>;
|
||||
mclk-fs = <256>;
|
||||
|
||||
codec@0 {
|
||||
sound-dai = <&lineout>;
|
||||
};
|
||||
|
||||
codec@1 {
|
||||
sound-dai = <&speaker_amp1>;
|
||||
};
|
||||
|
||||
codec@2 {
|
||||
sound-dai = <&speaker_amp2>;
|
||||
};
|
||||
|
||||
codec@3 {
|
||||
sound-dai = <&linein>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
dai-link@3 {
|
||||
sound-dai = <&spdifout>;
|
||||
|
||||
codec {
|
||||
sound-dai = <&spdif_dit>;
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,183 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic AXG sound card
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: amlogic,axg-sound-card
|
||||
|
||||
audio-aux-devs:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: list of auxiliary devices
|
||||
|
||||
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.
|
||||
|
||||
audio-widgets:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
A list off component DAPM widget. Each entry is a pair of strings,
|
||||
the first being the widget type, the second being the widget name
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
patternProperties:
|
||||
"^dai-link-[0-9]+$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
Container for dai-link level properties and the CODEC sub-nodes.
|
||||
There should be at least one (and probably more) subnode of this type
|
||||
|
||||
properties:
|
||||
dai-format:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [ i2s, left-j, dsp_a ]
|
||||
|
||||
dai-tdm-slot-num:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Number of slots in use. If omitted, slot number is set to
|
||||
accommodate the largest mask provided.
|
||||
maximum: 32
|
||||
|
||||
dai-tdm-slot-width:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Width in bits for each slot
|
||||
enum: [ 8, 16, 20, 24, 32 ]
|
||||
default: 32
|
||||
|
||||
mclk-fs:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Multiplication factor between the frame rate and master clock
|
||||
rate
|
||||
|
||||
sound-dai:
|
||||
maxItems: 1
|
||||
description: phandle of the CPU DAI
|
||||
|
||||
patternProperties:
|
||||
"^dai-tdm-slot-(t|r)x-mask-[0-3]$":
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 32
|
||||
description:
|
||||
Transmit and receive cpu slot masks of each TDM lane
|
||||
When omitted, mask is assumed to have to no slots. A valid
|
||||
interface must have at least one slot, so at least one these
|
||||
mask should be provided with an enabled slot.
|
||||
|
||||
"^codec(-[0-9]+)?$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
dai-link representing backend links should have at least one subnode.
|
||||
One subnode for each codec of the dai-link. dai-link representing
|
||||
frontend links have no codec, therefore have no subnodes
|
||||
|
||||
properties:
|
||||
sound-dai:
|
||||
maxItems: 1
|
||||
description: phandle of the codec DAI
|
||||
|
||||
patternProperties:
|
||||
"^dai-tdm-slot-(t|r)x-mask$":
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 32
|
||||
description: Transmit and receive codec slot masks
|
||||
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
required:
|
||||
- model
|
||||
- dai-link-0
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "amlogic,axg-sound-card";
|
||||
model = "AXG-S420";
|
||||
audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
|
||||
audio-widgets = "Line", "Lineout",
|
||||
"Line", "Linein",
|
||||
"Speaker", "Speaker1 Left",
|
||||
"Speaker", "Speaker1 Right",
|
||||
"Speaker", "Speaker2 Left",
|
||||
"Speaker", "Speaker2 Right";
|
||||
audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
||||
"SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
||||
"TDM_C Playback", "TDMOUT_C OUT",
|
||||
"TDMIN_A IN 2", "TDM_C Capture",
|
||||
"TDMIN_A IN 5", "TDM_C Loopback",
|
||||
"TODDR_A IN 0", "TDMIN_A OUT",
|
||||
"Lineout", "Lineout AOUTL",
|
||||
"Lineout", "Lineout AOUTR",
|
||||
"Speaker1 Left", "SPK1 OUT_A",
|
||||
"Speaker2 Left", "SPK2 OUT_A",
|
||||
"Speaker1 Right", "SPK1 OUT_B",
|
||||
"Speaker2 Right", "SPK2 OUT_B",
|
||||
"Linein AINL", "Linein",
|
||||
"Linein AINR", "Linein";
|
||||
|
||||
dai-link-0 {
|
||||
sound-dai = <&frddr_a>;
|
||||
};
|
||||
|
||||
dai-link-1 {
|
||||
sound-dai = <&toddr_a>;
|
||||
};
|
||||
|
||||
dai-link-2 {
|
||||
sound-dai = <&tdmif_c>;
|
||||
dai-format = "i2s";
|
||||
dai-tdm-slot-tx-mask-2 = <1 1>;
|
||||
dai-tdm-slot-tx-mask-3 = <1 1>;
|
||||
dai-tdm-slot-rx-mask-1 = <1 1>;
|
||||
mclk-fs = <256>;
|
||||
|
||||
codec-0 {
|
||||
sound-dai = <&lineout>;
|
||||
};
|
||||
|
||||
codec-1 {
|
||||
sound-dai = <&speaker_amp1>;
|
||||
};
|
||||
|
||||
codec-2 {
|
||||
sound-dai = <&speaker_amp2>;
|
||||
};
|
||||
|
||||
codec-3 {
|
||||
sound-dai = <&linein>;
|
||||
};
|
||||
};
|
||||
|
||||
dai-link-3 {
|
||||
sound-dai = <&spdifout>;
|
||||
|
||||
codec {
|
||||
sound-dai = <&spdif_dit>;
|
||||
};
|
||||
};
|
||||
};
|
@ -1,27 +0,0 @@
|
||||
* Amlogic Audio SPDIF Input
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-spdifin' or
|
||||
'amlogic,g12a-spdifin' or
|
||||
'amlogic,sm1-spdifin'
|
||||
- interrupts: interrupt specifier for the spdif input.
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "refclk" : spdif input reference clock
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Optional property:
|
||||
- resets: phandle to the dedicated reset line of the spdif input.
|
||||
|
||||
Example on the A113 SoC:
|
||||
|
||||
spdifin: audio-controller@400 {
|
||||
compatible = "amlogic,axg-spdifin";
|
||||
reg = <0x0 0x400 0x0 0x30>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
clock-names = "pclk", "refclk";
|
||||
};
|
@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-spdifin.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic Audio AXG SPDIF Input
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: amlogic,axg-spdifin
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,g12a-spdifin
|
||||
- amlogic,sm1-spdifin
|
||||
- const: amlogic,axg-spdifin
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Peripheral clock
|
||||
- description: SPDIF input reference clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pclk
|
||||
- const: refclk
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-spdifin
|
||||
- amlogic,sm1-spdifin
|
||||
then:
|
||||
required:
|
||||
- resets
|
||||
|
||||
else:
|
||||
properties:
|
||||
resets: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
audio-controller@400 {
|
||||
compatible = "amlogic,axg-spdifin";
|
||||
reg = <0x400 0x30>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
|
||||
clock-names = "pclk", "refclk";
|
||||
};
|
@ -1,25 +0,0 @@
|
||||
* Amlogic Audio SPDIF Output
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-spdifout' or
|
||||
'amlogic,g12a-spdifout' or
|
||||
'amlogic,sm1-spdifout'
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "mclk" : master clock
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Optional property:
|
||||
- resets: phandle to the dedicated reset line of the spdif output.
|
||||
|
||||
Example on the A113 SoC:
|
||||
|
||||
spdifout: audio-controller@480 {
|
||||
compatible = "amlogic,axg-spdifout";
|
||||
reg = <0x0 0x480 0x0 0x50>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
clock-names = "pclk", "mclk";
|
||||
};
|
@ -0,0 +1,79 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-spdifout.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic Audio AXG SPDIF Output
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: amlogic,axg-spdifout
|
||||
- items:
|
||||
- enum:
|
||||
- amlogic,g12a-spdifout
|
||||
- amlogic,sm1-spdifout
|
||||
- const: amlogic,axg-spdifout
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Peripheral clock
|
||||
- description: SPDIF output master clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pclk
|
||||
- const: mclk
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-spdifout
|
||||
- amlogic,sm1-spdifout
|
||||
then:
|
||||
required:
|
||||
- resets
|
||||
|
||||
else:
|
||||
properties:
|
||||
resets: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
|
||||
audio-controller@480 {
|
||||
compatible = "amlogic,axg-spdifout";
|
||||
reg = <0x480 0x50>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
clock-names = "pclk", "mclk";
|
||||
};
|
@ -1,36 +0,0 @@
|
||||
* Amlogic Audio TDM formatters
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-tdmin' or
|
||||
'amlogic,axg-tdmout' or
|
||||
'amlogic,g12a-tdmin' or
|
||||
'amlogic,g12a-tdmout' or
|
||||
'amlogic,sm1-tdmin' or
|
||||
'amlogic,sm1-tdmout
|
||||
- reg: physical base address of the controller and length of memory
|
||||
mapped region.
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "sclk" : bit clock.
|
||||
* "sclk_sel" : bit clock input multiplexer.
|
||||
* "lrclk" : sample clock
|
||||
* "lrclk_sel": sample clock input multiplexer
|
||||
|
||||
Optional property:
|
||||
- resets: phandle to the dedicated reset line of the tdm formatter.
|
||||
|
||||
Example of TDMOUT_A on the S905X2 SoC:
|
||||
|
||||
tdmout_a: audio-controller@500 {
|
||||
compatible = "amlogic,axg-tdmout";
|
||||
reg = <0x0 0x500 0x0 0x40>;
|
||||
resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
|
||||
clock-names = "pclk", "sclk", "sclk_sel",
|
||||
"lrclk", "lrclk_sel";
|
||||
};
|
@ -0,0 +1,88 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-formatters.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic Audio AXG TDM formatters
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- amlogic,g12a-tdmout
|
||||
- amlogic,sm1-tdmout
|
||||
- amlogic,axg-tdmout
|
||||
- amlogic,g12a-tdmin
|
||||
- amlogic,sm1-tdmin
|
||||
- amlogic,axg-tdmin
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Peripheral clock
|
||||
- description: Bit clock
|
||||
- description: Bit clock input multiplexer
|
||||
- description: Sample clock
|
||||
- description: Sample clock input multiplexer
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pclk
|
||||
- const: sclk
|
||||
- const: sclk_sel
|
||||
- const: lrclk
|
||||
- const: lrclk_sel
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- $ref: component-common.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,g12a-tdmin
|
||||
- amlogic,sm1-tdmin
|
||||
- amlogic,g12a-tdmout
|
||||
- amlogic,sm1-tdmout
|
||||
then:
|
||||
required:
|
||||
- resets
|
||||
|
||||
else:
|
||||
properties:
|
||||
resets: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
#include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
|
||||
|
||||
audio-controller@500 {
|
||||
compatible = "amlogic,g12a-tdmout";
|
||||
reg = <0x500 0x40>;
|
||||
resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
|
||||
clock-names = "pclk", "sclk", "sclk_sel",
|
||||
"lrclk", "lrclk_sel";
|
||||
};
|
@ -1,22 +0,0 @@
|
||||
* Amlogic Audio TDM Interfaces
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-tdm-iface'
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "sclk" : bit clock.
|
||||
* "lrclk": sample clock
|
||||
* "mclk" : master clock
|
||||
-> optional if the interface is in clock slave mode.
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Example of TDM_A on the A113 SoC:
|
||||
|
||||
tdmif_a: audio-controller@0 {
|
||||
compatible = "amlogic,axg-tdm-iface";
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_LRCLK>;
|
||||
clock-names = "mclk", "sclk", "lrclk";
|
||||
};
|
@ -0,0 +1,55 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Amlogic Audio TDM Interfaces
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: amlogic,axg-tdm-iface
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
items:
|
||||
- description: Bit clock
|
||||
- description: Sample clock
|
||||
- description: Master clock #optional
|
||||
|
||||
clock-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- const: sclk
|
||||
- const: lrclk
|
||||
- const: mclk
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#sound-dai-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/axg-audio-clkc.h>
|
||||
|
||||
audio-controller {
|
||||
compatible = "amlogic,axg-tdm-iface";
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_MST_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_LRCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_MCLK>;
|
||||
clock-names = "sclk", "lrclk", "mclk";
|
||||
};
|
@ -62,7 +62,7 @@ patternProperties:
|
||||
description: phandle of the CPU DAI
|
||||
|
||||
patternProperties:
|
||||
"^codec-[0-9]+$":
|
||||
"^codec(-[0-9]+)?$":
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description: |-
|
||||
|
@ -11,32 +11,24 @@ maintainers:
|
||||
|
||||
select: false
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/graph.yaml#/$defs/port-base
|
||||
definitions:
|
||||
port-base:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
properties:
|
||||
convert-rate:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
||||
convert-channels:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
||||
convert-sample-format:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
||||
mclk-fs:
|
||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
||||
|
||||
properties:
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
convert-rate:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
||||
convert-channels:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
||||
convert-sample-format:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
endpoint-base:
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
mclk-fs:
|
||||
description: |
|
||||
Multiplication factor between stream rate and codec mclk.
|
||||
When defined, mclk-fs property defined in dai-link sub nodes are
|
||||
ignored.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
||||
frame-inversion:
|
||||
description: dai-link uses frame clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
@ -53,6 +45,15 @@ patternProperties:
|
||||
oneOf:
|
||||
- $ref: /schemas/types.yaml#/definitions/flag
|
||||
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||
clocks:
|
||||
description: Indicates system clock
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
system-clock-frequency:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-frequency"
|
||||
system-clock-direction-out:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-direction-out"
|
||||
system-clock-fixed:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-fixed"
|
||||
|
||||
dai-format:
|
||||
description: audio format.
|
||||
@ -100,4 +101,24 @@ patternProperties:
|
||||
minimum: 1
|
||||
maximum: 64
|
||||
|
||||
ports:
|
||||
$ref: "#/definitions/port-base"
|
||||
unevaluatedProperties: false
|
||||
patternProperties:
|
||||
"^port(@[0-9a-f]+)?$":
|
||||
$ref: "#/definitions/port-base"
|
||||
unevaluatedProperties: false
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
$ref: "#/definitions/endpoint-base"
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: "#/definitions/port-base"
|
||||
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
$ref: "#/definitions/endpoint-base"
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: true
|
||||
|
53
Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
Normal file
53
Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
Normal file
@ -0,0 +1,53 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/awinic,aw88395.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Awinic AW88395 Smart Audio Amplifier
|
||||
|
||||
maintainers:
|
||||
- Weidong Wang <wangweidong.a@awinic.com>
|
||||
|
||||
description:
|
||||
The Awinic AW88395 is an I2S/TDM input, high efficiency
|
||||
digital Smart K audio amplifier with an integrated 10.25V
|
||||
smart boost convert.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: awinic,aw88395
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#sound-dai-cells'
|
||||
- reset-gpios
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@34 {
|
||||
compatible = "awinic,aw88395";
|
||||
reg = <0x34>;
|
||||
#sound-dai-cells = <0>;
|
||||
reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
@ -22,6 +22,9 @@ properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
description:
|
||||
The first cell indicating the audio interface.
|
||||
@ -42,7 +45,7 @@ properties:
|
||||
Configures the peak current by monitoring the current through the boost FET.
|
||||
Range starts at 1600 mA and goes to a maximum of 4500 mA with increments
|
||||
of 50 mA. See section 4.3.6 of the datasheet for details.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 1600
|
||||
maximum: 4500
|
||||
default: 4500
|
||||
@ -51,7 +54,7 @@ properties:
|
||||
description:
|
||||
Boost inductor value, expressed in nH. Valid
|
||||
values include 1000, 1200, 1500 and 2200.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 1000
|
||||
maximum: 2200
|
||||
|
||||
@ -60,7 +63,7 @@ properties:
|
||||
Total equivalent boost capacitance on the VBST
|
||||
and VAMP pins, derated at 11 volts DC. The value must be rounded to the
|
||||
nearest integer and expressed in uF.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
cirrus,asp-sdout-hiz:
|
||||
description:
|
||||
@ -70,7 +73,7 @@ properties:
|
||||
1 = Hi-Z during unused slots but logic 0 while all transmit channels disabled
|
||||
2 = (Default) Logic 0 during unused slots, but Hi-Z while all transmit channels disabled
|
||||
3 = Hi-Z during unused slots and while all transmit channels disabled
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
default: 2
|
||||
@ -84,7 +87,7 @@ properties:
|
||||
enable boost voltage.
|
||||
0 = Internal Boost
|
||||
1 = External Boost
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
|
||||
@ -109,7 +112,7 @@ properties:
|
||||
1 = GPIO
|
||||
2 = Sync
|
||||
3 = MCLK input
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
|
||||
@ -136,7 +139,7 @@ properties:
|
||||
3 = MCLK input
|
||||
4 = Push-pull INTB (active low)
|
||||
5 = Push-pull INT (active high)
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
|
||||
@ -176,21 +179,23 @@ unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cs35l41: cs35l41@2 {
|
||||
#sound-dai-cells = <1>;
|
||||
compatible = "cirrus,cs35l41";
|
||||
reg = <2>;
|
||||
VA-supply = <&dummy_vreg>;
|
||||
VP-supply = <&dummy_vreg>;
|
||||
reset-gpios = <&gpio 110 0>;
|
||||
cs35l41: speaker-amp@2 {
|
||||
#sound-dai-cells = <1>;
|
||||
compatible = "cirrus,cs35l41";
|
||||
reg = <2>;
|
||||
VA-supply = <&dummy_vreg>;
|
||||
VP-supply = <&dummy_vreg>;
|
||||
reset-gpios = <&gpio 110 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
cirrus,boost-type = <0>;
|
||||
cirrus,boost-peak-milliamp = <4500>;
|
||||
cirrus,boost-ind-nanohenry = <1000>;
|
||||
cirrus,boost-cap-microfarad = <15>;
|
||||
cirrus,boost-type = <0>;
|
||||
cirrus,boost-peak-milliamp = <4500>;
|
||||
cirrus,boost-ind-nanohenry = <1000>;
|
||||
cirrus,boost-cap-microfarad = <15>;
|
||||
};
|
||||
};
|
||||
|
@ -0,0 +1,21 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/component-common.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Audio Component Common Properties
|
||||
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
sound-name-prefix:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
Card implementing the routing property define the connection between
|
||||
audio components as list of string pair. Component using the same
|
||||
sink/source names may use this property to prepend the name of their
|
||||
sinks/sources with the provided string.
|
||||
|
||||
additionalProperties: true
|
@ -9,15 +9,10 @@ title: Digital Audio Interface Common Properties
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
properties:
|
||||
sound-name-prefix:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: |
|
||||
Card implementing the routing property define the connection between
|
||||
audio components as list of string pair. Component using the same
|
||||
sink/source names may use this property to prepend the name of their
|
||||
sinks/sources with the provided string.
|
||||
allOf:
|
||||
- $ref: component-common.yaml#
|
||||
|
||||
properties:
|
||||
'#sound-dai-cells': true
|
||||
|
||||
additionalProperties: true
|
||||
|
0
Documentation/devicetree/bindings/sound/everest,es8326.yaml
Executable file → Normal file
0
Documentation/devicetree/bindings/sound/everest,es8326.yaml
Executable file → Normal file
@ -76,10 +76,14 @@ properties:
|
||||
minItems: 4
|
||||
|
||||
dmas:
|
||||
maxItems: 2
|
||||
items:
|
||||
- description: DMA controller phandle and request line for RX
|
||||
- description: DMA controller phandle and request line for TX
|
||||
|
||||
dma-names:
|
||||
maxItems: 2
|
||||
items:
|
||||
- const: rx
|
||||
- const: tx
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
@ -142,31 +146,6 @@ properties:
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: fsl,vf610-sai
|
||||
then:
|
||||
properties:
|
||||
dmas:
|
||||
items:
|
||||
- description: DMA controller phandle and request line for TX
|
||||
- description: DMA controller phandle and request line for RX
|
||||
dma-names:
|
||||
items:
|
||||
- const: tx
|
||||
- const: rx
|
||||
else:
|
||||
properties:
|
||||
dmas:
|
||||
items:
|
||||
- description: DMA controller phandle and request line for RX
|
||||
- description: DMA controller phandle and request line for TX
|
||||
dma-names:
|
||||
items:
|
||||
- const: rx
|
||||
- const: tx
|
||||
- if:
|
||||
required:
|
||||
- fsl,sai-asynchronous
|
||||
@ -199,9 +178,8 @@ examples:
|
||||
<&clks VF610_CLK_SAI2>,
|
||||
<&clks 0>, <&clks 0>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 0 21>,
|
||||
<&edma0 0 20>;
|
||||
dma-names = "rx", "tx";
|
||||
dmas = <&edma0 0 20>, <&edma0 0 21>;
|
||||
big-endian;
|
||||
lsb-first;
|
||||
};
|
||||
|
@ -21,6 +21,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx8mp-xcvr
|
||||
- fsl,imx93-xcvr
|
||||
|
||||
reg:
|
||||
items:
|
||||
|
@ -75,6 +75,18 @@ patternProperties:
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
platform:
|
||||
description: Holds subnode which includes the phandle of q6apm platform device.
|
||||
type: object
|
||||
properties:
|
||||
sound-dai:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- link-name
|
||||
- cpu
|
||||
|
@ -0,0 +1,91 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/infineon,peb2466.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Infineon PEB2466 codec
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description: |
|
||||
The Infineon PEB2466 codec is a programmable DSP-based four channels codec
|
||||
with filters capabilities.
|
||||
|
||||
The time-slots used by the codec must be set and so, the properties
|
||||
'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
|
||||
'dai-tdm-slot-rx-mask' must be present in the sound card node for sub-nodes
|
||||
that involve the codec. The codec uses one 8bit time-slot per channel.
|
||||
'dai-tdm-tdm-slot-with' must be set to 8.
|
||||
|
||||
The PEB2466 codec also supports 28 gpios (signaling pins).
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: infineon,peb2466
|
||||
|
||||
reg:
|
||||
description:
|
||||
SPI device address.
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: Master clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 8192000
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
GPIO used to reset the device.
|
||||
maxItems: 1
|
||||
|
||||
firmware-name:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Filters coefficients file to load. If this property is omitted, internal
|
||||
filters are disabled.
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#sound-dai-cells'
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@0 {
|
||||
compatible = "infineon,peb2466";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <8192000>;
|
||||
reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||||
#sound-dai-cells = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
@ -0,0 +1,48 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/irondevice,sma1303.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Iron Device SMA1303 Audio Amplifier
|
||||
|
||||
maintainers:
|
||||
- Kiseok Jo <kiseok.jo@irondevice.com>
|
||||
|
||||
description:
|
||||
SMA1303 digital class-D audio amplifier
|
||||
with an integrated boost converter.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- irondevice,sma1303
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#sound-dai-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
amplifier@1e {
|
||||
compatible = "irondevice,sma1303";
|
||||
reg = <0x1e>;
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
};
|
@ -1,59 +0,0 @@
|
||||
MAX98090 audio CODEC
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "maxim,max98090" or "maxim,max98091".
|
||||
|
||||
- reg : The I2C address of the device.
|
||||
|
||||
- interrupts : The CODEC's interrupt output.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clocks: The phandle of the master clock to the CODEC
|
||||
|
||||
- clock-names: Should be "mclk"
|
||||
|
||||
- #sound-dai-cells : should be 0.
|
||||
|
||||
- maxim,dmic-freq: Frequency at which to clock DMIC
|
||||
|
||||
- maxim,micbias: Micbias voltage applies to the analog mic, valid voltages value are:
|
||||
0 - 2.2v
|
||||
1 - 2.55v
|
||||
2 - 2.4v
|
||||
3 - 2.8v
|
||||
|
||||
Pins on the device (for linking into audio routes):
|
||||
|
||||
* MIC1
|
||||
* MIC2
|
||||
* DMICL
|
||||
* DMICR
|
||||
* IN1
|
||||
* IN2
|
||||
* IN3
|
||||
* IN4
|
||||
* IN5
|
||||
* IN6
|
||||
* IN12
|
||||
* IN34
|
||||
* IN56
|
||||
* HPL
|
||||
* HPR
|
||||
* SPKL
|
||||
* SPKR
|
||||
* RCVL
|
||||
* RCVR
|
||||
* MICBIAS
|
||||
|
||||
Example:
|
||||
|
||||
audio-codec@10 {
|
||||
compatible = "maxim,max98090";
|
||||
reg = <0x10>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
@ -1,22 +0,0 @@
|
||||
MAX98095 audio CODEC
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "maxim,max98095".
|
||||
|
||||
- reg : The I2C address of the device.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clocks: The phandle of the master clock to the CODEC
|
||||
|
||||
- clock-names: Should be "mclk"
|
||||
|
||||
Example:
|
||||
|
||||
max98095: codec@11 {
|
||||
compatible = "maxim,max98095";
|
||||
reg = <0x11>;
|
||||
};
|
84
Documentation/devicetree/bindings/sound/maxim,max98090.yaml
Normal file
84
Documentation/devicetree/bindings/sound/maxim,max98090.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/maxim,max98090.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX98090/MAX98091 audio codecs
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
|
||||
description: |
|
||||
Pins on the device (for linking into audio routes):
|
||||
MIC1, MIC2, DMICL, DMICR, IN1, IN2, IN3, IN4, IN5, IN6, IN12, IN34, IN56,
|
||||
HPL, HPR, SPKL, SPKR, RCVL, RCVR, MICBIAS
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max98090
|
||||
- maxim,max98091
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: master clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
maxim,dmic-freq:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 2500000
|
||||
description:
|
||||
DMIC clock frequency
|
||||
|
||||
maxim,micbias:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
default: 3
|
||||
description: |
|
||||
Micbias voltage applied to the analog mic, valid voltages value are:
|
||||
0 - 2.2v
|
||||
1 - 2.55v
|
||||
2 - 2.4v
|
||||
3 - 2.8v
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
audio-codec@10 {
|
||||
compatible = "maxim,max98090";
|
||||
reg = <0x10>;
|
||||
interrupt-parent = <&gpx3>;
|
||||
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
|
||||
clocks = <&i2s0 0>;
|
||||
clock-names = "mclk";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
54
Documentation/devicetree/bindings/sound/maxim,max98095.yaml
Normal file
54
Documentation/devicetree/bindings/sound/maxim,max98095.yaml
Normal file
@ -0,0 +1,54 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/maxim,max98095.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX98095 audio codec
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max98095
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: master clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
audio-codec@11 {
|
||||
compatible = "maxim,max98095";
|
||||
reg = <0x11>;
|
||||
clocks = <&i2s0 0>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
};
|
208
Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
Normal file
208
Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
Normal file
@ -0,0 +1,208 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8188-afe.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek AFE PCM controller for mt8188
|
||||
|
||||
maintainers:
|
||||
- Trevor Wu <trevor.wu@mediatek.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8188-afe
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
const: audiosys
|
||||
|
||||
mediatek,topckgen:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the mediatek topckgen controller
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: 26M clock
|
||||
- description: audio pll1 clock
|
||||
- description: audio pll2 clock
|
||||
- description: clock divider for i2si1_mck
|
||||
- description: clock divider for i2si2_mck
|
||||
- description: clock divider for i2so1_mck
|
||||
- description: clock divider for i2so2_mck
|
||||
- description: clock divider for dptx_mck
|
||||
- description: a1sys hoping clock
|
||||
- description: audio intbus clock
|
||||
- description: audio hires clock
|
||||
- description: audio local bus clock
|
||||
- description: mux for dptx_mck
|
||||
- description: mux for i2so1_mck
|
||||
- description: mux for i2so2_mck
|
||||
- description: mux for i2si1_mck
|
||||
- description: mux for i2si2_mck
|
||||
- description: audio 26m clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: clk26m
|
||||
- const: apll1
|
||||
- const: apll2
|
||||
- const: apll12_div0
|
||||
- const: apll12_div1
|
||||
- const: apll12_div2
|
||||
- const: apll12_div3
|
||||
- const: apll12_div9
|
||||
- const: a1sys_hp_sel
|
||||
- const: aud_intbus_sel
|
||||
- const: audio_h_sel
|
||||
- const: audio_local_bus_sel
|
||||
- const: dptx_m_sel
|
||||
- const: i2so1_m_sel
|
||||
- const: i2so2_m_sel
|
||||
- const: i2si1_m_sel
|
||||
- const: i2si2_m_sel
|
||||
- const: adsp_audio_26m
|
||||
|
||||
mediatek,etdm-in1-cowork-source:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
etdm modules can share the same external clock pin. Specify
|
||||
which etdm clock source is required by this etdm in module.
|
||||
enum:
|
||||
- 1 # etdm2_in
|
||||
- 2 # etdm1_out
|
||||
- 3 # etdm2_out
|
||||
|
||||
mediatek,etdm-in2-cowork-source:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
etdm modules can share the same external clock pin. Specify
|
||||
which etdm clock source is required by this etdm in module.
|
||||
enum:
|
||||
- 0 # etdm1_in
|
||||
- 2 # etdm1_out
|
||||
- 3 # etdm2_out
|
||||
|
||||
mediatek,etdm-out1-cowork-source:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
etdm modules can share the same external clock pin. Specify
|
||||
which etdm clock source is required by this etdm out module.
|
||||
enum:
|
||||
- 0 # etdm1_in
|
||||
- 1 # etdm2_in
|
||||
- 3 # etdm2_out
|
||||
|
||||
mediatek,etdm-out2-cowork-source:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
etdm modules can share the same external clock pin. Specify
|
||||
which etdm clock source is required by this etdm out module.
|
||||
enum:
|
||||
- 0 # etdm1_in
|
||||
- 1 # etdm2_in
|
||||
- 2 # etdm1_out
|
||||
|
||||
patternProperties:
|
||||
"^mediatek,etdm-in[1-2]-chn-disabled$":
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
minItems: 1
|
||||
maxItems: 16
|
||||
description:
|
||||
This is a list of channel IDs which should be disabled.
|
||||
By default, all data received from ETDM pins will be outputed to
|
||||
memory. etdm in supports disable_out in direct mode(w/o interconn),
|
||||
so user can disable the specified channels by the property.
|
||||
uniqueItems: true
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
"^mediatek,etdm-in[1-2]-multi-pin-mode$":
|
||||
type: boolean
|
||||
description: if present, the etdm data mode is I2S.
|
||||
|
||||
"^mediatek,etdm-out[1-3]-multi-pin-mode$":
|
||||
type: boolean
|
||||
description: if present, the etdm data mode is I2S.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- resets
|
||||
- reset-names
|
||||
- mediatek,topckgen
|
||||
- power-domains
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
afe@10b10000 {
|
||||
compatible = "mediatek,mt8188-afe";
|
||||
reg = <0x10b10000 0x10000>;
|
||||
interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
resets = <&watchdog 14>;
|
||||
reset-names = "audiosys";
|
||||
mediatek,topckgen = <&topckgen>;
|
||||
power-domains = <&spm 13>; //MT8188_POWER_DOMAIN_AUDIO
|
||||
mediatek,etdm-in2-cowork-source = <2>;
|
||||
mediatek,etdm-out2-cowork-source = <0>;
|
||||
mediatek,etdm-in1-multi-pin-mode;
|
||||
mediatek,etdm-in1-chn-disabled = /bits/ 8 <0x0 0x2>;
|
||||
clocks = <&clk26m>,
|
||||
<&apmixedsys 9>, //CLK_APMIXED_APLL1
|
||||
<&apmixedsys 10>, //CLK_APMIXED_APLL2
|
||||
<&topckgen 186>, //CLK_TOP_APLL12_CK_DIV0
|
||||
<&topckgen 187>, //CLK_TOP_APLL12_CK_DIV1
|
||||
<&topckgen 188>, //CLK_TOP_APLL12_CK_DIV2
|
||||
<&topckgen 189>, //CLK_TOP_APLL12_CK_DIV3
|
||||
<&topckgen 191>, //CLK_TOP_APLL12_CK_DIV9
|
||||
<&topckgen 83>, //CLK_TOP_A1SYS_HP
|
||||
<&topckgen 31>, //CLK_TOP_AUD_INTBUS
|
||||
<&topckgen 32>, //CLK_TOP_AUDIO_H
|
||||
<&topckgen 69>, //CLK_TOP_AUDIO_LOCAL_BUS
|
||||
<&topckgen 81>, //CLK_TOP_DPTX
|
||||
<&topckgen 77>, //CLK_TOP_I2SO1
|
||||
<&topckgen 78>, //CLK_TOP_I2SO2
|
||||
<&topckgen 79>, //CLK_TOP_I2SI1
|
||||
<&topckgen 80>, //CLK_TOP_I2SI2
|
||||
<&adsp_audio26m 0>; //CLK_AUDIODSP_AUDIO26M
|
||||
clock-names = "clk26m",
|
||||
"apll1",
|
||||
"apll2",
|
||||
"apll12_div0",
|
||||
"apll12_div1",
|
||||
"apll12_div2",
|
||||
"apll12_div3",
|
||||
"apll12_div9",
|
||||
"a1sys_hp_sel",
|
||||
"aud_intbus_sel",
|
||||
"audio_h_sel",
|
||||
"audio_local_bus_sel",
|
||||
"dptx_m_sel",
|
||||
"i2so1_m_sel",
|
||||
"i2so2_m_sel",
|
||||
"i2si1_m_sel",
|
||||
"i2si2_m_sel",
|
||||
"adsp_audio_26m";
|
||||
};
|
||||
|
||||
...
|
@ -0,0 +1,97 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8188-mt6359.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT8188 ASoC sound card
|
||||
|
||||
maintainers:
|
||||
- Trevor Wu <trevor.wu@mediatek.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8188-mt6359-evb
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
A list of the connections between audio components. Each entry is a
|
||||
sink/source pair of strings. Valid names could be the input or output
|
||||
widgets of audio components, power supplies, MicBias of codec and the
|
||||
software switch.
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of MT8188 ASoC platform.
|
||||
|
||||
patternProperties:
|
||||
"^dai-link-[0-9]+$":
|
||||
type: object
|
||||
description:
|
||||
Container for dai-link level properties and CODEC sub-nodes.
|
||||
|
||||
properties:
|
||||
link-name:
|
||||
description:
|
||||
This property corresponds to the name of the BE dai-link to which
|
||||
we are going to update parameters in this node.
|
||||
items:
|
||||
enum:
|
||||
- ADDA_BE
|
||||
- DPTX_BE
|
||||
- ETDM1_IN_BE
|
||||
- ETDM2_IN_BE
|
||||
- ETDM1_OUT_BE
|
||||
- ETDM2_OUT_BE
|
||||
- ETDM3_OUT_BE
|
||||
- PCM1_BE
|
||||
|
||||
codec:
|
||||
description: Holds subnode which indicates codec dai.
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
sound-dai:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- link-name
|
||||
- codec
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,platform
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8188-mt6359-evb";
|
||||
mediatek,platform = <&afe>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&aud_pins_default>;
|
||||
audio-routing =
|
||||
"Headphone", "Headphone L",
|
||||
"Headphone", "Headphone R",
|
||||
"AIN1", "Headset Mic";
|
||||
dai-link-0 {
|
||||
link-name = "ETDM3_OUT_BE";
|
||||
|
||||
codec {
|
||||
sound-dai = <&hdmi0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mchp,i2s-mcc.yaml#
|
||||
$id: http://devicetree.org/schemas/sound/microchip,sama7g5-i2smcc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip I2S Multi-Channel Controller
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/microchip,pdmc.yaml#
|
||||
$id: http://devicetree.org/schemas/sound/microchip,sama7g5-pdmc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip Pulse Density Microphone Controller
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mchp,spdifrx.yaml#
|
||||
$id: http://devicetree.org/schemas/sound/microchip,sama7g5-spdifrx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip S/PDIF Rx Controller
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mchp,spdiftx.yaml#
|
||||
$id: http://devicetree.org/schemas/sound/microchip,sama7g5-spdiftx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip S/PDIF Tx Controller
|
@ -1,16 +0,0 @@
|
||||
NAU8822 audio CODEC
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "nuvoton,nau8822"
|
||||
|
||||
- reg : the I2C address of the device.
|
||||
|
||||
Example:
|
||||
|
||||
codec: nau8822@1a {
|
||||
compatible = "nuvoton,nau8822";
|
||||
reg = <0x1a>;
|
||||
};
|
46
Documentation/devicetree/bindings/sound/nuvoton,nau8822.yaml
Normal file
46
Documentation/devicetree/bindings/sound/nuvoton,nau8822.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nuvoton,nau8822.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NAU8822 audio CODEC
|
||||
|
||||
description: |
|
||||
24 bit stereo audio codec with speaker driver.
|
||||
This device supports I2C/SPI.
|
||||
|
||||
maintainers:
|
||||
- David Lin <CTLIN0@nuvoton.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nuvoton,nau8822
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
nuvoton,spk-btl:
|
||||
description:
|
||||
If set, configure the two loudspeaker outputs as a Bridge Tied Load output
|
||||
to drive a high power external loudspeaker.
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
codec@1a {
|
||||
compatible = "nuvoton,nau8822";
|
||||
reg = <0x1a>;
|
||||
};
|
||||
};
|
@ -35,7 +35,7 @@ properties:
|
||||
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 7
|
||||
maxItems: 10
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
@ -65,6 +65,9 @@ properties:
|
||||
power-domain-names:
|
||||
maxItems: 1
|
||||
|
||||
required-opps:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
@ -75,7 +78,7 @@ properties:
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^dai-link@[0-9a-f]$":
|
||||
"^dai-link@[0-9a-f]+$":
|
||||
type: object
|
||||
description: |
|
||||
LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
|
||||
@ -121,6 +124,8 @@ allOf:
|
||||
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 3
|
||||
clock-names:
|
||||
items:
|
||||
- const: ahbix-clk
|
||||
@ -135,6 +140,9 @@ allOf:
|
||||
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 7
|
||||
maxItems: 7
|
||||
clock-names:
|
||||
items:
|
||||
- const: ahbix-clk
|
||||
@ -153,33 +161,31 @@ allOf:
|
||||
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
clock-names:
|
||||
oneOf:
|
||||
- items: #for I2S
|
||||
- const: pcnoc-sway-clk
|
||||
- const: audio-core
|
||||
- const: mclk0
|
||||
- const: pcnoc-mport-clk
|
||||
- const: mi2s-bit-clk0
|
||||
- const: mi2s-bit-clk1
|
||||
- items: #for HDMI
|
||||
- const: pcnoc-sway-clk
|
||||
- const: audio-core
|
||||
- const: pcnoc-mport-clk
|
||||
items:
|
||||
- const: pcnoc-sway-clk
|
||||
- const: audio-core
|
||||
- const: mclk0
|
||||
- const: pcnoc-mport-clk
|
||||
- const: mi2s-bit-clk0
|
||||
- const: mi2s-bit-clk1
|
||||
reg:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
reg-names:
|
||||
anyOf:
|
||||
- items: #for I2S
|
||||
- const: lpass-lpaif
|
||||
- items: #for I2S and HDMI
|
||||
- const: lpass-hdmiif
|
||||
- const: lpass-lpaif
|
||||
items:
|
||||
- const: lpass-hdmiif
|
||||
- const: lpass-lpaif
|
||||
interrupts:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
interrupt-names:
|
||||
anyOf:
|
||||
- items: #for I2S
|
||||
- const: lpass-irq-lpaif
|
||||
- items: #for I2S and HDMI
|
||||
- const: lpass-irq-lpaif
|
||||
- const: lpass-irq-hdmi
|
||||
items:
|
||||
- const: lpass-irq-lpaif
|
||||
- const: lpass-irq-hdmi
|
||||
required:
|
||||
- iommus
|
||||
- power-domains
|
||||
@ -192,54 +198,44 @@ allOf:
|
||||
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 10
|
||||
maxItems: 10
|
||||
clock-names:
|
||||
oneOf:
|
||||
- items: #for I2S
|
||||
- const: aon_cc_audio_hm_h
|
||||
- const: audio_cc_ext_mclk0
|
||||
- const: core_cc_sysnoc_mport_core
|
||||
- const: core_cc_ext_if0_ibit
|
||||
- const: core_cc_ext_if1_ibit
|
||||
- items: #for Soundwire
|
||||
- const: aon_cc_audio_hm_h
|
||||
- const: audio_cc_codec_mem
|
||||
- const: audio_cc_codec_mem0
|
||||
- const: audio_cc_codec_mem1
|
||||
- const: audio_cc_codec_mem2
|
||||
- const: aon_cc_va_mem0
|
||||
- items: #for HDMI
|
||||
- const: core_cc_sysnoc_mport_core
|
||||
|
||||
items:
|
||||
- const: aon_cc_audio_hm_h
|
||||
- const: audio_cc_ext_mclk0
|
||||
- const: core_cc_sysnoc_mport_core
|
||||
- const: core_cc_ext_if0_ibit
|
||||
- const: core_cc_ext_if1_ibit
|
||||
- const: audio_cc_codec_mem
|
||||
- const: audio_cc_codec_mem0
|
||||
- const: audio_cc_codec_mem1
|
||||
- const: audio_cc_codec_mem2
|
||||
- const: aon_cc_va_mem0
|
||||
reg:
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
reg-names:
|
||||
anyOf:
|
||||
- items: #for I2S
|
||||
- const: lpass-lpaif
|
||||
- items: #for I2S and HDMI
|
||||
- const: lpass-hdmiif
|
||||
- const: lpass-lpaif
|
||||
- items: #for I2S, soundwire and HDMI
|
||||
- const: lpass-hdmiif
|
||||
- const: lpass-lpaif
|
||||
- const: lpass-rxtx-cdc-dma-lpm
|
||||
- const: lpass-rxtx-lpaif
|
||||
- const: lpass-va-lpaif
|
||||
- const: lpass-va-cdc-dma-lpm
|
||||
items:
|
||||
- const: lpass-hdmiif
|
||||
- const: lpass-lpaif
|
||||
- const: lpass-rxtx-cdc-dma-lpm
|
||||
- const: lpass-rxtx-lpaif
|
||||
- const: lpass-va-lpaif
|
||||
- const: lpass-va-cdc-dma-lpm
|
||||
interrupts:
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
interrupt-names:
|
||||
anyOf:
|
||||
- items: #for I2S
|
||||
- const: lpass-irq-lpaif
|
||||
- items: #for I2S and HDMI
|
||||
- const: lpass-irq-lpaif
|
||||
- const: lpass-irq-hdmi
|
||||
- items: #for I2S, soundwire and HDMI
|
||||
- const: lpass-irq-lpaif
|
||||
- const: lpass-irq-hdmi
|
||||
- const: lpass-irq-vaif
|
||||
- const: lpass-irq-rxtxif
|
||||
items:
|
||||
- const: lpass-irq-lpaif
|
||||
- const: lpass-irq-hdmi
|
||||
- const: lpass-irq-vaif
|
||||
- const: lpass-irq-rxtxif
|
||||
power-domain-names:
|
||||
allOf:
|
||||
- items:
|
||||
- const: lcx
|
||||
items:
|
||||
- const: lcx
|
||||
|
||||
required:
|
||||
- iommus
|
||||
|
@ -36,7 +36,7 @@ properties:
|
||||
oneOf:
|
||||
- items: #for ADSP based platforms
|
||||
- const: mclk
|
||||
- const: core
|
||||
- const: macro
|
||||
- const: dcodec
|
||||
- items: #for ADSP bypass based platforms
|
||||
- const: mclk
|
||||
@ -77,7 +77,7 @@ examples:
|
||||
clocks = <&aoncc 0>,
|
||||
<&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
|
||||
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
|
||||
clock-names = "mclk", "core", "dcodec";
|
||||
clock-names = "mclk", "macro", "dcodec";
|
||||
clock-output-names = "fsgen";
|
||||
qcom,dmic-sample-rate = <600000>;
|
||||
vdd-micb-supply = <&vreg_s4a_1p8>;
|
||||
|
@ -17,7 +17,8 @@ properties:
|
||||
const: qcom,q6apm-dais
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
@ -15,16 +15,20 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- lenovo,yoga-c630-sndcard
|
||||
- qcom,apq8016-sbc-sndcard
|
||||
- qcom,db845c-sndcard
|
||||
- qcom,msm8916-qdsp6-sndcard
|
||||
- qcom,qrb5165-rb5-sndcard
|
||||
- qcom,sc8280xp-sndcard
|
||||
- qcom,sdm845-sndcard
|
||||
- qcom,sm8250-sndcard
|
||||
- qcom,sm8450-sndcard
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- lenovo,yoga-c630-sndcard
|
||||
- qcom,db845c-sndcard
|
||||
- const: qcom,sdm845-sndcard
|
||||
- enum:
|
||||
- qcom,apq8016-sbc-sndcard
|
||||
- qcom,msm8916-qdsp6-sndcard
|
||||
- qcom,qrb5165-rb5-sndcard
|
||||
- qcom,sc8280xp-sndcard
|
||||
- qcom,sdm845-sndcard
|
||||
- qcom,sm8250-sndcard
|
||||
- qcom,sm8450-sndcard
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
|
@ -28,7 +28,9 @@ properties:
|
||||
description: GPIO spec for reset line to use
|
||||
maxItems: 1
|
||||
|
||||
slim-ifc-dev: true
|
||||
slim-ifc-dev:
|
||||
description: IFC device interface
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
@ -147,21 +149,49 @@ patternProperties:
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reset-gpios
|
||||
- slim-ifc-dev
|
||||
- interrupts
|
||||
- interrupt-controller
|
||||
- clock-frequency
|
||||
- clock-output-names
|
||||
- qcom,micbias1-microvolt
|
||||
- qcom,micbias2-microvolt
|
||||
- qcom,micbias3-microvolt
|
||||
- qcom,micbias4-microvolt
|
||||
- "#interrupt-cells"
|
||||
- "#clock-cells"
|
||||
- "#sound-dai-cells"
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
required:
|
||||
- slim-ifc-dev
|
||||
then:
|
||||
required:
|
||||
- reset-gpios
|
||||
- slim-ifc-dev
|
||||
- interrupt-controller
|
||||
- clock-frequency
|
||||
- clock-output-names
|
||||
- qcom,micbias1-microvolt
|
||||
- qcom,micbias2-microvolt
|
||||
- qcom,micbias3-microvolt
|
||||
- qcom,micbias4-microvolt
|
||||
- "#interrupt-cells"
|
||||
- "#clock-cells"
|
||||
- "#sound-dai-cells"
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
oneOf:
|
||||
- required:
|
||||
- interrupts-extended
|
||||
- required:
|
||||
- interrupts
|
||||
else:
|
||||
properties:
|
||||
reset-gpios: false
|
||||
slim-ifc-dev: false
|
||||
interrupts: false
|
||||
interrupt-controller: false
|
||||
clock-frequency: false
|
||||
clock-output-names: false
|
||||
qcom,micbias1-microvolt: false
|
||||
qcom,micbias2-microvolt: false
|
||||
qcom,micbias3-microvolt: false
|
||||
qcom,micbias4-microvolt: false
|
||||
"#interrupt-cells": false
|
||||
"#clock-cells": false
|
||||
"#sound-dai-cells": false
|
||||
"#address-cells": false
|
||||
"#size-cells": false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
@ -15,6 +15,9 @@ description: |
|
||||
Their primary operating mode uses a SoundWire digital audio
|
||||
interface. This binding is for SoundWire interface.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sdw10217201000
|
||||
@ -39,7 +42,7 @@ required:
|
||||
- "#thermal-sensor-cells"
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
@ -0,0 +1,75 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/renesas,idt821034.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Renesas IDT821034 codec device
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description: |
|
||||
The IDT821034 codec is a four channel PCM codec with onchip filters and
|
||||
programmable gain setting.
|
||||
|
||||
The time-slots used by the codec must be set and so, the properties
|
||||
'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
|
||||
'dai-tdm-slot-rx-mask' must be present in the ALSA sound card node for
|
||||
sub-nodes that involve the codec. The codec uses one 8bit time-slot per
|
||||
channel.
|
||||
'dai-tdm-tdm-slot-with' must be set to 8.
|
||||
|
||||
The IDT821034 codec also supports 5 gpios (SLIC signals) per channel.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: renesas,idt821034
|
||||
|
||||
reg:
|
||||
description:
|
||||
SPI device address.
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 8192000
|
||||
|
||||
spi-cpha: true
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- spi-cpha
|
||||
- '#sound-dai-cells'
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@0 {
|
||||
compatible = "renesas,idt821034";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <8192000>;
|
||||
spi-cpha;
|
||||
#sound-dai-cells = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
@ -18,8 +18,7 @@ properties:
|
||||
- enum:
|
||||
- renesas,rcar_sound-r8a7778 # R-Car M1A
|
||||
- renesas,rcar_sound-r8a7779 # R-Car H1
|
||||
- enum:
|
||||
- renesas,rcar_sound-gen1
|
||||
- const: renesas,rcar_sound-gen1
|
||||
# for Gen2 SoC
|
||||
- items:
|
||||
- enum:
|
||||
@ -32,8 +31,7 @@ properties:
|
||||
- renesas,rcar_sound-r8a7791 # R-Car M2-W
|
||||
- renesas,rcar_sound-r8a7793 # R-Car M2-N
|
||||
- renesas,rcar_sound-r8a7794 # R-Car E2
|
||||
- enum:
|
||||
- renesas,rcar_sound-gen2
|
||||
- const: renesas,rcar_sound-gen2
|
||||
# for Gen3 SoC
|
||||
- items:
|
||||
- enum:
|
||||
@ -47,14 +45,16 @@ properties:
|
||||
- renesas,rcar_sound-r8a77965 # R-Car M3-N
|
||||
- renesas,rcar_sound-r8a77990 # R-Car E3
|
||||
- renesas,rcar_sound-r8a77995 # R-Car D3
|
||||
- enum:
|
||||
- renesas,rcar_sound-gen3
|
||||
# for Generic
|
||||
- const: renesas,rcar_sound-gen3
|
||||
# for Gen4 SoC
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,rcar_sound-gen1
|
||||
- renesas,rcar_sound-gen2
|
||||
- renesas,rcar_sound-gen3
|
||||
- const: renesas,rcar_sound-r8a779g0 # R-Car V4H
|
||||
- const: renesas,rcar_sound-gen4
|
||||
# for Generic
|
||||
- enum:
|
||||
- renesas,rcar_sound-gen1
|
||||
- renesas,rcar_sound-gen2
|
||||
- renesas,rcar_sound-gen3
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
@ -68,6 +68,7 @@ properties:
|
||||
description: |
|
||||
it must be 0 if your system is using single DAI
|
||||
it must be 1 if your system is using multi DAIs
|
||||
This is used on simple-audio-card
|
||||
enum: [0, 1]
|
||||
|
||||
"#clock-cells":
|
||||
@ -113,15 +114,34 @@ properties:
|
||||
- pattern: '^clk_(a|b|c|i)$'
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
$ref: audio-graph-port.yaml#/definitions/port-base
|
||||
unevaluatedProperties: false
|
||||
patternProperties:
|
||||
'^port(@[0-9a-f]+)?$':
|
||||
$ref: audio-graph-port.yaml#
|
||||
$ref: audio-graph-port.yaml#/definitions/port-base
|
||||
unevaluatedProperties: false
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
$ref: audio-graph-port.yaml#/definitions/endpoint-base
|
||||
properties:
|
||||
playback:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
capture:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
unevaluatedProperties: false
|
||||
|
||||
port:
|
||||
$ref: audio-graph-port.yaml#
|
||||
$ref: audio-graph-port.yaml#/definitions/port-base
|
||||
unevaluatedProperties: false
|
||||
patternProperties:
|
||||
"^endpoint(@[0-9a-f]+)?":
|
||||
$ref: audio-graph-port.yaml#/definitions/endpoint-base
|
||||
properties:
|
||||
playback:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
capture:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
unevaluatedProperties: false
|
||||
|
||||
rcar_sound,dvc:
|
||||
description: DVC subnode.
|
||||
@ -178,10 +198,6 @@ properties:
|
||||
enum:
|
||||
- tx
|
||||
- rx
|
||||
required:
|
||||
- interrupts
|
||||
- dmas
|
||||
- dma-names
|
||||
additionalProperties: false
|
||||
|
||||
rcar_sound,ssiu:
|
||||
@ -240,8 +256,6 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
required:
|
||||
- interrupts
|
||||
- dmas
|
||||
- dma-names
|
||||
additionalProperties: false
|
||||
|
||||
# For DAI base
|
||||
@ -271,7 +285,6 @@ required:
|
||||
- reg-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- "#sound-dai-cells"
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
@ -285,7 +298,6 @@ allOf:
|
||||
reg:
|
||||
maxItems: 3
|
||||
reg-names:
|
||||
maxItems: 3
|
||||
items:
|
||||
enum:
|
||||
- scu
|
||||
@ -294,9 +306,8 @@ allOf:
|
||||
else:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 5
|
||||
minItems: 5
|
||||
reg-names:
|
||||
maxItems: 5
|
||||
items:
|
||||
enum:
|
||||
- scu
|
||||
|
@ -20,6 +20,9 @@ Optional properties:
|
||||
- realtek,in3-differential
|
||||
Boolean. Indicate MIC1/2/3 input are differential, rather than single-ended.
|
||||
|
||||
- realtek,lout-differential
|
||||
Boolean. Indicate LOUT output is differential, rather than stereo.
|
||||
|
||||
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
|
||||
|
||||
- realtek,dmic1-data-pin
|
||||
|
@ -43,9 +43,10 @@ properties:
|
||||
type: object
|
||||
properties:
|
||||
sound-dai:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: phandle of the MAX98090 CODEC
|
||||
- description: phandle of the HDMI IP block node
|
||||
- description: phandle of the MAX98090 CODEC
|
||||
|
||||
samsung,audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
|
@ -37,12 +37,20 @@ properties:
|
||||
samsung,exynos7-i2s1: I2S1 on previous samsung platforms supports
|
||||
stereo channels. Exynos7 I2S1 upgraded to 5.1 multichannel with
|
||||
slightly modified bit offsets.
|
||||
|
||||
tesla,fsd-i2s: for 8/16/24bit stereo channel I2S for playback and
|
||||
capture, secondary FIFO using external DMA, s/w reset control,
|
||||
internal mux for root clock source with all root clock sampling
|
||||
frequencies supported by Exynos7 I2S and 7.1 channel TDM support
|
||||
for playback and capture TDM (Time division multiplexing) to allow
|
||||
transfer of multiple channel audio data on single data line.
|
||||
enum:
|
||||
- samsung,s3c6410-i2s
|
||||
- samsung,s5pv210-i2s
|
||||
- samsung,exynos5420-i2s
|
||||
- samsung,exynos7-i2s
|
||||
- samsung,exynos7-i2s1
|
||||
- tesla,fsd-i2s
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
@ -67,9 +75,6 @@ properties:
|
||||
- const: rx
|
||||
- const: tx-sec
|
||||
|
||||
assigned-clock-parents: true
|
||||
assigned-clocks: true
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
@ -205,6 +205,8 @@ patternProperties:
|
||||
$ref: "#/definitions/dai"
|
||||
"^simple-audio-card,codec(@[0-9a-f]+)?$":
|
||||
$ref: "#/definitions/dai"
|
||||
"^simple-audio-card,plat(@[0-9a-f]+)?$":
|
||||
$ref: "#/definitions/dai"
|
||||
|
||||
"^simple-audio-card,dai-link(@[0-9a-f]+)?$":
|
||||
description: |
|
||||
@ -215,6 +217,10 @@ patternProperties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 0
|
||||
# common properties
|
||||
frame-master:
|
||||
$ref: "#/definitions/frame-master"
|
||||
@ -244,9 +250,9 @@ patternProperties:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"^cpu(@[0-9a-f]+)?":
|
||||
"^cpu(-[0-9]+)?$":
|
||||
$ref: "#/definitions/dai"
|
||||
"^codec(@[0-9a-f]+)?":
|
||||
"^codec(-[0-9]+)?$":
|
||||
$ref: "#/definitions/dai"
|
||||
additionalProperties: false
|
||||
|
||||
@ -462,16 +468,16 @@ examples:
|
||||
|
||||
convert-channels = <8>; /* TDM Split */
|
||||
|
||||
sndcpu1: cpu0 {
|
||||
sndcpu1: cpu-0 {
|
||||
sound-dai = <&rcar_sound 1>;
|
||||
};
|
||||
cpu1 {
|
||||
cpu-1 {
|
||||
sound-dai = <&rcar_sound 2>;
|
||||
};
|
||||
cpu2 {
|
||||
cpu-2 {
|
||||
sound-dai = <&rcar_sound 3>;
|
||||
};
|
||||
cpu3 {
|
||||
cpu-3 {
|
||||
sound-dai = <&rcar_sound 4>;
|
||||
};
|
||||
codec {
|
||||
|
@ -6,11 +6,13 @@ audio playback. For more product information please see the links below:
|
||||
|
||||
https://www.ti.com/product/TAS5720L
|
||||
https://www.ti.com/product/TAS5720M
|
||||
https://www.ti.com/product/TAS5720A-Q1
|
||||
https://www.ti.com/product/TAS5722L
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "ti,tas5720",
|
||||
"ti,tas5720a-q1",
|
||||
"ti,tas5722"
|
||||
- reg : I2C slave address
|
||||
- dvdd-supply : phandle to a 3.3-V supply for the digital circuitry
|
||||
|
@ -1,56 +0,0 @@
|
||||
Texas Instruments pcm3168a DT bindings
|
||||
|
||||
This driver supports both SPI and I2C bus access for this codec
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "ti,pcm3168a"
|
||||
|
||||
- clocks : Contains an entry for each entry in clock-names
|
||||
|
||||
- clock-names : Includes the following entries:
|
||||
"scki" The system clock
|
||||
|
||||
- VDD1-supply : Digital power supply regulator 1 (+3.3V)
|
||||
|
||||
- VDD2-supply : Digital power supply regulator 2 (+3.3V)
|
||||
|
||||
- VCCAD1-supply : ADC power supply regulator 1 (+5V)
|
||||
|
||||
- VCCAD2-supply : ADC power supply regulator 2 (+5V)
|
||||
|
||||
- VCCDA1-supply : DAC power supply regulator 1 (+5V)
|
||||
|
||||
- VCCDA2-supply : DAC power supply regulator 2 (+5V)
|
||||
|
||||
For required properties on SPI/I2C, consult SPI/I2C device tree documentation
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios : Optional reset gpio line connected to RST pin of the codec.
|
||||
The RST line is low active:
|
||||
RST = low: device power-down
|
||||
RST = high: device is enabled
|
||||
|
||||
Examples:
|
||||
|
||||
i2c0: i2c0@0 {
|
||||
|
||||
...
|
||||
|
||||
pcm3168a: audio-codec@44 {
|
||||
compatible = "ti,pcm3168a";
|
||||
reg = <0x44>;
|
||||
reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk_core CLK_AUDIO>;
|
||||
clock-names = "scki";
|
||||
VDD1-supply = <&supply3v3>;
|
||||
VDD2-supply = <&supply3v3>;
|
||||
VCCAD1-supply = <&supply5v0>;
|
||||
VCCAD2-supply = <&supply5v0>;
|
||||
VCCDA1-supply = <&supply5v0>;
|
||||
VCCDA2-supply = <&supply5v0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dac_clk_pin>;
|
||||
};
|
||||
};
|
107
Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
Normal file
107
Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
Normal file
@ -0,0 +1,107 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/ti,pcm3168a.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments PCM3168A Audio Codec
|
||||
|
||||
maintainers:
|
||||
- Damien Horsley <Damien.Horsley@imgtec.com>
|
||||
- Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
|
||||
description:
|
||||
The Texas Instruments PCM3168A is a 24-bit Multi-channel Audio CODEC with
|
||||
96/192kHz sampling rate, supporting both SPI and I2C bus access.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,pcm3168a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: System clock input
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: scki
|
||||
|
||||
reset-gpios:
|
||||
items:
|
||||
- description: |
|
||||
GPIO line connected to the active-low RST pin of the codec.
|
||||
RST = low: device power-down
|
||||
RST = high: device is enabled
|
||||
|
||||
"#sound-dai-cells":
|
||||
enum: [0, 1]
|
||||
|
||||
VDD1-supply:
|
||||
description: Digital power supply regulator 1 (+3.3V)
|
||||
|
||||
VDD2-supply:
|
||||
description: Digital power supply regulator 2 (+3.3V)
|
||||
|
||||
VCCAD1-supply:
|
||||
description: ADC power supply regulator 1 (+5V)
|
||||
|
||||
VCCAD2-supply:
|
||||
description: ADC power supply regulator 2 (+5V)
|
||||
|
||||
VCCDA1-supply:
|
||||
description: DAC power supply regulator 1 (+5V)
|
||||
|
||||
VCCDA2-supply:
|
||||
description: DAC power supply regulator 2 (+5V)
|
||||
|
||||
ports:
|
||||
$ref: audio-graph-port.yaml#/definitions/port-base
|
||||
properties:
|
||||
port@0:
|
||||
$ref: audio-graph-port.yaml#
|
||||
description: Audio input port.
|
||||
|
||||
port@1:
|
||||
$ref: audio-graph-port.yaml#
|
||||
description: Audio output port.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- VDD1-supply
|
||||
- VDD2-supply
|
||||
- VCCAD1-supply
|
||||
- VCCAD2-supply
|
||||
- VCCDA1-supply
|
||||
- VCCDA2-supply
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pcm3168a: audio-codec@44 {
|
||||
compatible = "ti,pcm3168a";
|
||||
reg = <0x44>;
|
||||
reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk_core 42>;
|
||||
clock-names = "scki";
|
||||
VDD1-supply = <&supply3v3>;
|
||||
VDD2-supply = <&supply3v3>;
|
||||
VCCAD1-supply = <&supply5v0>;
|
||||
VCCAD2-supply = <&supply5v0>;
|
||||
VCCDA1-supply = <&supply5v0>;
|
||||
VCCDA2-supply = <&supply5v0>;
|
||||
};
|
||||
};
|
165
Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
Normal file
165
Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
Normal file
@ -0,0 +1,165 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
# Copyright (C) 2022 Texas Instruments Incorporated
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/ti,tlv320aic3x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments TLV320AIC3x Codec
|
||||
|
||||
description: |
|
||||
TLV320AIC3x are a series of low-power stereo audio codecs with stereo
|
||||
headphone amplifier, as well as multiple inputs and outputs programmable in
|
||||
single-ended or fully differential configurations.
|
||||
|
||||
The serial control bus supports SPI or I2C protocols, while the serial audio
|
||||
data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
|
||||
|
||||
The following pins can be referred in the sound node's audio routing property:
|
||||
|
||||
CODEC output pins:
|
||||
LLOUT
|
||||
RLOUT
|
||||
MONO_LOUT
|
||||
HPLOUT
|
||||
HPROUT
|
||||
HPLCOM
|
||||
HPRCOM
|
||||
|
||||
CODEC input pins for TLV320AIC3104:
|
||||
MIC2L
|
||||
MIC2R
|
||||
LINE1L
|
||||
LINE1R
|
||||
|
||||
CODEC input pins for other compatible codecs:
|
||||
MIC3L
|
||||
MIC3R
|
||||
LINE1L
|
||||
LINE2L
|
||||
LINE1R
|
||||
LINE2R
|
||||
|
||||
maintainers:
|
||||
- Jai Luthra <j-luthra@ti.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,tlv320aic3x
|
||||
- ti,tlv320aic33
|
||||
- ti,tlv320aic3007
|
||||
- ti,tlv320aic3106
|
||||
- ti,tlv320aic3104
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO specification for the active low RESET input.
|
||||
|
||||
gpio-reset:
|
||||
maxItems: 1
|
||||
description:
|
||||
Deprecated, please use reset-gpios instead.
|
||||
deprecated: true
|
||||
|
||||
ai3x-gpio-func:
|
||||
description: AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
maxItems: 2
|
||||
|
||||
ai3x-micbias-vg:
|
||||
description: MicBias required voltage. If node is omitted then MicBias is powered down.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
oneOf:
|
||||
- const: 1
|
||||
description: MICBIAS output is powered to 2.0V.
|
||||
- const: 2
|
||||
description: MICBIAS output is powered to 2.5V.
|
||||
- const: 3
|
||||
description: MICBIAS output is connected to AVDD.
|
||||
|
||||
ai3x-ocmv:
|
||||
description: Output Common-Mode Voltage selection.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
oneOf:
|
||||
- const: 0
|
||||
description: 1.35V
|
||||
- const: 1
|
||||
description: 1.5V
|
||||
- const: 2
|
||||
description: 1.65V
|
||||
- const: 3
|
||||
description: 1.8V
|
||||
|
||||
AVDD-supply:
|
||||
description: Analog DAC voltage.
|
||||
|
||||
IOVDD-supply:
|
||||
description: I/O voltage.
|
||||
|
||||
DRVDD-supply:
|
||||
description: ADC analog and output driver voltage.
|
||||
|
||||
DVDD-supply:
|
||||
description: Digital core voltage.
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
port:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tlv320aic3x_i2c: audio-codec@1b {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0x1b>;
|
||||
|
||||
reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tlv320aic3x_spi: audio-codec@0 {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0>; /* CS number */
|
||||
#sound-dai-cells = <0>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
ai3x-ocmv = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
@ -1,97 +0,0 @@
|
||||
Texas Instruments - tlv320aic3x Codec module
|
||||
|
||||
The tlv320aic3x serial control bus communicates through both I2C and SPI bus protocols
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible - "string" - One of:
|
||||
"ti,tlv320aic3x" - Generic TLV320AIC3x device
|
||||
"ti,tlv320aic33" - TLV320AIC33
|
||||
"ti,tlv320aic3007" - TLV320AIC3007
|
||||
"ti,tlv320aic3106" - TLV320AIC3106
|
||||
"ti,tlv320aic3104" - TLV320AIC3104
|
||||
|
||||
|
||||
- reg - <int> - I2C slave address
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios - GPIO specification for the active low RESET input.
|
||||
- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
|
||||
- Not supported on tlv320aic3104
|
||||
- ai3x-micbias-vg - MicBias Voltage required.
|
||||
1 - MICBIAS output is powered to 2.0V,
|
||||
2 - MICBIAS output is powered to 2.5V,
|
||||
3 - MICBIAS output is connected to AVDD,
|
||||
If this node is not mentioned or if the value is incorrect, then MicBias
|
||||
is powered down.
|
||||
- ai3x-ocmv - Output Common-Mode Voltage selection:
|
||||
0 - 1.35V,
|
||||
1 - 1.5V,
|
||||
2 - 1.65V,
|
||||
3 - 1.8V
|
||||
- AVDD-supply, IOVDD-supply, DRVDD-supply, DVDD-supply : power supplies for the
|
||||
device as covered in Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Deprecated properties:
|
||||
|
||||
- gpio-reset - gpio pin number used for codec reset
|
||||
|
||||
CODEC output pins:
|
||||
* LLOUT
|
||||
* RLOUT
|
||||
* MONO_LOUT
|
||||
* HPLOUT
|
||||
* HPROUT
|
||||
* HPLCOM
|
||||
* HPRCOM
|
||||
|
||||
CODEC input pins for TLV320AIC3104:
|
||||
* MIC2L
|
||||
* MIC2R
|
||||
* LINE1L
|
||||
* LINE1R
|
||||
|
||||
CODEC input pins for other compatible codecs:
|
||||
* MIC3L
|
||||
* MIC3R
|
||||
* LINE1L
|
||||
* LINE2L
|
||||
* LINE1R
|
||||
* LINE2R
|
||||
|
||||
The pins can be used in referring sound node's audio-routing property.
|
||||
|
||||
I2C example:
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
tlv320aic3x: tlv320aic3x@1b {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0x1b>;
|
||||
|
||||
reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
};
|
||||
|
||||
SPI example:
|
||||
|
||||
spi0: spi@f0000000 {
|
||||
tlv320aic3x: codec@0 {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0>; /* CS number */
|
||||
#sound-dai-cells = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
ai3x-ocmv = <0>;
|
||||
};
|
||||
};
|
@ -80,7 +80,7 @@ properties:
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 8
|
||||
|
||||
qcom,ports-sinterval-low:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
@ -124,7 +124,7 @@ properties:
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 8
|
||||
|
||||
qcom,ports-block-pack-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
@ -154,7 +154,7 @@ properties:
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 8
|
||||
items:
|
||||
oneOf:
|
||||
- minimum: 0
|
||||
@ -171,7 +171,7 @@ properties:
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 8
|
||||
items:
|
||||
oneOf:
|
||||
- minimum: 0
|
||||
@ -187,7 +187,7 @@ properties:
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 8
|
||||
items:
|
||||
oneOf:
|
||||
- minimum: 0
|
||||
|
@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Atmel SPI device
|
||||
|
||||
maintainers:
|
||||
- Tudor Ambarus <tudor.ambarus@microchip.com>
|
||||
- Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: spi-controller.yaml#
|
||||
|
@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Atmel Quad Serial Peripheral Interface (QSPI)
|
||||
|
||||
maintainers:
|
||||
- Tudor Ambarus <tudor.ambarus@microchip.com>
|
||||
- Tudor Ambarus <tudor.ambarus@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: spi-controller.yaml#
|
||||
|
@ -44,9 +44,9 @@ properties:
|
||||
description:
|
||||
Maximum SPI clocking speed of the device in Hz.
|
||||
|
||||
spi-cs-setup-ns:
|
||||
spi-cs-setup-delay-ns:
|
||||
description:
|
||||
Delay in nanosecods to be introduced by the controller after CS is
|
||||
Delay in nanoseconds to be introduced by the controller after CS is
|
||||
asserted.
|
||||
|
||||
spi-rx-bus-width:
|
||||
|
@ -635,6 +635,8 @@ patternProperties:
|
||||
description: Inverse Path
|
||||
"^iom,.*":
|
||||
description: Iomega Corporation
|
||||
"^irondevice,.*":
|
||||
description: Iron Device Corporation
|
||||
"^isee,.*":
|
||||
description: ISEE 2007 S.L.
|
||||
"^isil,.*":
|
||||
|
@ -120,6 +120,8 @@ dax={always,never} Use direct access (no page cache). See
|
||||
dax A legacy option which is an alias for ``dax=always``.
|
||||
device=%s Specify a path to an extra device to be used together.
|
||||
fsid=%s Specify a filesystem image ID for Fscache back-end.
|
||||
domain_id=%s Specify a domain ID in fscache mode so that different images
|
||||
with the same blobs under a given domain ID can share storage.
|
||||
=================== =========================================================
|
||||
|
||||
Sysfs Entries
|
||||
|
@ -1042,7 +1042,7 @@ $(clean-files).
|
||||
|
||||
When executing "make clean", the file "crc32table.h" will be deleted.
|
||||
Kbuild will assume files to be in the same relative directory as the
|
||||
Makefile, except if prefixed with $(objtree).
|
||||
Makefile.
|
||||
|
||||
To exclude certain files or directories from make clean, use the
|
||||
$(no-clean-files) variable.
|
||||
|
@ -104,3 +104,4 @@ to do something different in the near future.
|
||||
../riscv/patch-acceptance
|
||||
../driver-api/media/maintainer-entry-profile
|
||||
../driver-api/vfio-pci-device-specific-driver-acceptance
|
||||
../nvme/feature-and-quirk-policy
|
||||
|
@ -8,7 +8,7 @@ In order to use the Ethernet bridging functionality, you'll need the
|
||||
userspace tools.
|
||||
|
||||
Documentation for Linux bridging is on:
|
||||
http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge
|
||||
https://wiki.linuxfoundation.org/networking/bridge
|
||||
|
||||
The bridge-utilities are maintained at:
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user