mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
Merge tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"At this time, it's an interesting mixture of changes for both old and
new stuff. Majority of changes are about ASoC (lots of systematic
changes for converting remove callbacks to void, and cleanups), while
we got the fixes and the enhancements of very old PCI cards, too.
Here are some highlights:
ALSA/ASoC Core:
- Continued effort of more ASoC core cleanups
- Minor improvements for XRUN handling in indirect PCM helpers
- Code refactoring of PCM core code
ASoC:
- Continued feature and simplification work on SOF, including
addition of a no-DSP mode for bringup, HDA MLink and extensions to
the IPC4 protocol
- Hibernation support for CS35L45
- More DT binding conversions
- Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363,
nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas
R-Car Gen4, Rockchip RK3588 and TI TAS5733
ALSA:
- Lots of works for legacy emu10k1 and ymfpci PCI drivers
- PCM kselftest fixes and enhancements"
* tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (586 commits)
ALSA: emu10k1: use high-level I/O in set_filterQ()
ALSA: emu10k1: use high-level I/O functions also during init
ALSA: emu10k1: fix error handling in snd_audigy_i2c_volume_put()
ALSA: emu10k1: don't stop DSP in _snd_emu10k1_{,audigy_}init_efx()
ALSA: emu10k1: fix SNDRV_EMU10K1_IOCTL_SINGLE_STEP
ALSA: emu10k1: skip Sound Blaster-specific hacks for E-MU cards
ALSA: emu10k1: fixup DSP defines
ALSA: emu10k1: pull in some register definitions from kX-project
ALSA: emu10k1: remove some bogus defines
ALSA: emu10k1: eliminate some unused defines
ALSA: emu10k1: fix lineup of EMU_HANA_* defines
ALSA: emu10k1: comment updates
ALSA: emu10k1: fix snd_emu1010_fpga_read() input masking for rev2 cards
ALSA: emu10k1: remove unused emu->pcm_playback_efx_substream field
ALSA: emu10k1: remove unused `resume` parameter from snd_emu10k1_init()
ALSA: emu10k1: minor optimizations
ALSA: emu10k1: remove remaining cruft from snd_emu10k1_emu1010_init()
ALSA: emu10k1: remove apparently pointless EMU_HANA_OPTION_CARDS reads
ALSA: emu10k1: remove apparently pointless FPGA reads
ALSA: emu10k1: stop doing weird things with HCFG in snd_emu10k1_emu1010_init()
...
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: PowerQUICC CPM QUICC Multichannel Controller (QMC)
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description:
|
||||
The QMC (QUICC Multichannel Controller) emulates up to 64 channels within one
|
||||
serial controller using the same TDM physical interface routed from TSA.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- fsl,mpc885-scc-qmc
|
||||
- fsl,mpc866-scc-qmc
|
||||
- const: fsl,cpm1-scc-qmc
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: SCC (Serial communication controller) register base
|
||||
- description: SCC parameter ram base
|
||||
- description: Dual port ram base
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: scc_regs
|
||||
- const: scc_pram
|
||||
- const: dpram
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description: SCC interrupt line in the CPM interrupt controller
|
||||
|
||||
fsl,tsa-serial:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to TSA node
|
||||
- enum: [1, 2, 3]
|
||||
description: |
|
||||
TSA serial interface (dt-bindings/soc/cpm1-fsl,tsa.h defines these
|
||||
values)
|
||||
- 1: SCC2
|
||||
- 2: SCC3
|
||||
- 3: SCC4
|
||||
description:
|
||||
Should be a phandle/number pair. The phandle to TSA node and the TSA
|
||||
serial interface to use.
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
'^channel@([0-9]|[1-5][0-9]|6[0-3])$':
|
||||
description:
|
||||
A channel managed by this controller
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
description:
|
||||
The channel number
|
||||
|
||||
fsl,operational-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [transparent, hdlc]
|
||||
default: transparent
|
||||
description: |
|
||||
The channel operational mode
|
||||
- hdlc: The channel handles HDLC frames
|
||||
- transparent: The channel handles raw data without any processing
|
||||
|
||||
fsl,reverse-data:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
The bit order as seen on the channels is reversed,
|
||||
transmitting/receiving the MSB of each octet first.
|
||||
This flag is used only in 'transparent' mode.
|
||||
|
||||
fsl,tx-ts-mask:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64
|
||||
description:
|
||||
Channel assigned Tx time-slots within the Tx time-slots routed by the
|
||||
TSA to this cell.
|
||||
|
||||
fsl,rx-ts-mask:
|
||||
$ref: /schemas/types.yaml#/definitions/uint64
|
||||
description:
|
||||
Channel assigned Rx time-slots within the Rx time-slots routed by the
|
||||
TSA to this cell.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- fsl,tx-ts-mask
|
||||
- fsl,rx-ts-mask
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- interrupts
|
||||
- fsl,tsa-serial
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/cpm1-fsl,tsa.h>
|
||||
|
||||
qmc@a60 {
|
||||
compatible = "fsl,mpc885-scc-qmc", "fsl,cpm1-scc-qmc";
|
||||
reg = <0xa60 0x20>,
|
||||
<0x3f00 0xc0>,
|
||||
<0x2000 0x1000>;
|
||||
reg-names = "scc_regs", "scc_pram", "dpram";
|
||||
interrupts = <27>;
|
||||
interrupt-parent = <&CPM_PIC>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fsl,tsa-serial = <&tsa FSL_CPM_TSA_SCC4>;
|
||||
|
||||
channel@16 {
|
||||
/* Ch16 : First 4 even TS from all routed from TSA */
|
||||
reg = <16>;
|
||||
fsl,mode = "transparent";
|
||||
fsl,reverse-data;
|
||||
fsl,tx-ts-mask = <0x00000000 0x000000aa>;
|
||||
fsl,rx-ts-mask = <0x00000000 0x000000aa>;
|
||||
};
|
||||
|
||||
channel@17 {
|
||||
/* Ch17 : First 4 odd TS from all routed from TSA */
|
||||
reg = <17>;
|
||||
fsl,mode = "transparent";
|
||||
fsl,reverse-data;
|
||||
fsl,tx-ts-mask = <0x00000000 0x00000055>;
|
||||
fsl,rx-ts-mask = <0x00000000 0x00000055>;
|
||||
};
|
||||
|
||||
channel@19 {
|
||||
/* Ch19 : 8 TS (TS 8..15) from all routed from TSA */
|
||||
reg = <19>;
|
||||
fsl,mode = "hdlc";
|
||||
fsl,tx-ts-mask = <0x00000000 0x0000ff00>;
|
||||
fsl,rx-ts-mask = <0x00000000 0x0000ff00>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,205 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: PowerQUICC CPM Time-slot assigner (TSA) controller
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description:
|
||||
The TSA is the time-slot assigner that can be found on some PowerQUICC SoC.
|
||||
Its purpose is to route some TDM time-slots to other internal serial
|
||||
controllers.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- fsl,mpc885-tsa
|
||||
- fsl,mpc866-tsa
|
||||
- const: fsl,cpm1-tsa
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: SI (Serial Interface) register base
|
||||
- description: SI RAM base
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: si_regs
|
||||
- const: si_ram
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
'^tdm@[0-1]$':
|
||||
description:
|
||||
The TDM managed by this controller
|
||||
type: object
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
description:
|
||||
The TDM number for this TDM, 0 for TDMa and 1 for TDMb
|
||||
|
||||
fsl,common-rxtx-pins:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
The hardware can use four dedicated pins for Tx clock, Tx sync, Rx
|
||||
clock and Rx sync or use only two pins, Tx/Rx clock and Tx/Rx sync.
|
||||
Without the 'fsl,common-rxtx-pins' property, the four pins are used.
|
||||
With the 'fsl,common-rxtx-pins' property, two pins are used.
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
items:
|
||||
- description: External clock connected to L1RSYNC pin
|
||||
- description: External clock connected to L1RCLK pin
|
||||
- description: External clock connected to L1TSYNC pin
|
||||
- description: External clock connected to L1TCLK pin
|
||||
|
||||
clock-names:
|
||||
minItems: 2
|
||||
items:
|
||||
- const: l1rsync
|
||||
- const: l1rclk
|
||||
- const: l1tsync
|
||||
- const: l1tclk
|
||||
|
||||
fsl,rx-frame-sync-delay-bits:
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 0
|
||||
description: |
|
||||
Receive frame sync delay in number of bits.
|
||||
Indicates the delay between the Rx sync and the first bit of the Rx
|
||||
frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
|
||||
|
||||
fsl,tx-frame-sync-delay-bits:
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 0
|
||||
description: |
|
||||
Transmit frame sync delay in number of bits.
|
||||
Indicates the delay between the Tx sync and the first bit of the Tx
|
||||
frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
|
||||
|
||||
fsl,clock-falling-edge:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Data is sent on falling edge of the clock (and received on the rising
|
||||
edge). If 'clock-falling-edge' is not present, data is sent on the
|
||||
rising edge (and received on the falling edge).
|
||||
|
||||
fsl,fsync-rising-edge:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Frame sync pulses are sampled with the rising edge of the channel
|
||||
clock. If 'fsync-rising-edge' is not present, pulses are sampled with
|
||||
the falling edge.
|
||||
|
||||
fsl,double-speed-clock:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
The channel clock is twice the data rate.
|
||||
|
||||
patternProperties:
|
||||
'^fsl,[rt]x-ts-routes$':
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
description: |
|
||||
A list of tuple that indicates the Tx or Rx time-slots routes.
|
||||
items:
|
||||
items:
|
||||
- description:
|
||||
The number of time-slots
|
||||
minimum: 1
|
||||
maximum: 64
|
||||
- description: |
|
||||
The source (Tx) or destination (Rx) serial interface
|
||||
(dt-bindings/soc/cpm1-fsl,tsa.h defines these values)
|
||||
- 0: No destination
|
||||
- 1: SCC2
|
||||
- 2: SCC3
|
||||
- 3: SCC4
|
||||
- 4: SMC1
|
||||
- 5: SMC2
|
||||
enum: [0, 1, 2, 3, 4, 5]
|
||||
minItems: 1
|
||||
maxItems: 64
|
||||
|
||||
allOf:
|
||||
# If fsl,common-rxtx-pins is present, only 2 clocks are needed.
|
||||
# Else, the 4 clocks must be present.
|
||||
- if:
|
||||
required:
|
||||
- fsl,common-rxtx-pins
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 2
|
||||
clock-names:
|
||||
maxItems: 2
|
||||
else:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 4
|
||||
clock-names:
|
||||
minItems: 4
|
||||
|
||||
required:
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/cpm1-fsl,tsa.h>
|
||||
|
||||
tsa@ae0 {
|
||||
compatible = "fsl,mpc885-tsa", "fsl,cpm1-tsa";
|
||||
reg = <0xae0 0x10>,
|
||||
<0xc00 0x200>;
|
||||
reg-names = "si_regs", "si_ram";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tdm@0 {
|
||||
/* TDMa */
|
||||
reg = <0>;
|
||||
|
||||
clocks = <&clk_l1rsynca>, <&clk_l1rclka>;
|
||||
clock-names = "l1rsync", "l1rclk";
|
||||
|
||||
fsl,common-rxtx-pins;
|
||||
fsl,fsync-rising-edge;
|
||||
|
||||
fsl,tx-ts-routes = <2 0>, /* TS 0..1 */
|
||||
<24 FSL_CPM_TSA_SCC4>, /* TS 2..25 */
|
||||
<1 0>, /* TS 26 */
|
||||
<5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */
|
||||
|
||||
fsl,rx-ts-routes = <2 0>, /* TS 0..1 */
|
||||
<24 FSL_CPM_TSA_SCC4>, /* 2..25 */
|
||||
<1 0>, /* TS 26 */
|
||||
<5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */
|
||||
};
|
||||
};
|
||||
@@ -32,7 +32,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: "mclk"
|
||||
const: mclk
|
||||
|
||||
powerdown-gpios:
|
||||
description: GPIO used for hardware power-down.
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Analog Devices ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Should contain one of the following:
|
||||
"adi,adau1361"
|
||||
"adi,adau1461"
|
||||
"adi,adau1761"
|
||||
"adi,adau1961"
|
||||
"adi,adau1381"
|
||||
"adi,adau1781"
|
||||
|
||||
- reg: The i2c address. Value depends on the state of ADDR0
|
||||
and ADDR1, as wired in hardware.
|
||||
|
||||
Optional properties:
|
||||
- clock-names: If provided must be "mclk".
|
||||
- clocks: phandle + clock-specifiers for the clock that provides
|
||||
the audio master clock for the device.
|
||||
|
||||
Examples:
|
||||
#include <dt-bindings/sound/adau17x1.h>
|
||||
|
||||
i2c_bus {
|
||||
adau1361@38 {
|
||||
compatible = "adi,adau1761";
|
||||
reg = <0x38>;
|
||||
|
||||
clock-names = "mclk";
|
||||
clocks = <&audio_clock>;
|
||||
};
|
||||
};
|
||||
52
Documentation/devicetree/bindings/sound/adi,adau17x1.yaml
Normal file
52
Documentation/devicetree/bindings/sound/adi,adau17x1.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/adi,adau17x1.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781 Codec
|
||||
|
||||
maintainers:
|
||||
- Lars-Peter Clausen <lars@metafoo.de>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,adau1361
|
||||
- adi,adau1381
|
||||
- adi,adau1461
|
||||
- adi,adau1761
|
||||
- adi,adau1781
|
||||
- adi,adau1961
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description:
|
||||
The i2c address. Value depends on the state of ADDR0 and ADDR1,
|
||||
as wired in hardware.
|
||||
|
||||
clock-names:
|
||||
const: mclk
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: provides the audio master clock for the device.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@38 {
|
||||
compatible = "adi,adau1761";
|
||||
reg = <0x38>;
|
||||
clock-names = "mclk";
|
||||
clocks = <&audio_clock>;
|
||||
};
|
||||
};
|
||||
60
Documentation/devicetree/bindings/sound/adi,max98363.yaml
Normal file
60
Documentation/devicetree/bindings/sound/adi,max98363.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/adi,max98363.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices MAX98363 SoundWire Amplifier
|
||||
|
||||
maintainers:
|
||||
- Ryan Lee <ryans.lee@analog.com>
|
||||
|
||||
description:
|
||||
The MAX98363 is a SoundWire input Class D mono amplifier that
|
||||
supports MIPI SoundWire v1.2-compatible digital interface for
|
||||
audio and control data.
|
||||
SoundWire peripheral device ID of MAX98363 is 0x3*019f836300
|
||||
where * is the peripheral device unique ID decoded from pin.
|
||||
It supports up to 10 peripheral devices(0x0 to 0x9).
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sdw3019f836300
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#sound-dai-cells"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
soundwire-controller@3250000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x3250000 0x2000>;
|
||||
|
||||
speaker@0,0 {
|
||||
compatible = "sdw3019f836300";
|
||||
reg = <0 0>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Speaker Left";
|
||||
};
|
||||
|
||||
speaker@0,1 {
|
||||
compatible = "sdw3019f836300";
|
||||
reg = <0 1>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Speaker Right";
|
||||
};
|
||||
};
|
||||
@@ -41,21 +41,21 @@ properties:
|
||||
|
||||
adi,vmon-slot-no:
|
||||
description: slot number of the voltage sense monitor
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 0
|
||||
|
||||
adi,imon-slot-no:
|
||||
description: slot number of the current sense monitor
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 1
|
||||
|
||||
adi,spkfb-slot-no:
|
||||
description: slot number of speaker DSP monitor
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 2
|
||||
@@ -64,7 +64,7 @@ properties:
|
||||
description:
|
||||
Selects the PCM data input channel that is routed to the speaker
|
||||
audio processing bypass path.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
default: 0
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
AK4458 audio DAC
|
||||
|
||||
This device supports I2C mode.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "asahi-kasei,ak4458" or "asahi-kasei,ak4497"
|
||||
- reg : The I2C address of the device for I2C
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios: A GPIO specifier for the power down & reset pin
|
||||
- mute-gpios: A GPIO specifier for the soft mute pin
|
||||
- AVDD-supply: Analog power supply
|
||||
- DVDD-supply: Digital power supply
|
||||
- dsd-path: Select DSD input pins for ak4497
|
||||
0: select #16, #17, #19 pins
|
||||
1: select #3, #4, #5 pins
|
||||
|
||||
Example:
|
||||
|
||||
&i2c {
|
||||
ak4458: dac@10 {
|
||||
compatible = "asahi-kasei,ak4458";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>
|
||||
mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>
|
||||
};
|
||||
};
|
||||
@@ -1,24 +0,0 @@
|
||||
AK5558 8 channel differential 32-bit delta-sigma ADC
|
||||
|
||||
This device supports I2C mode only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "asahi-kasei,ak5558" or "asahi-kasei,ak5552".
|
||||
- reg : The I2C address of the device.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios: A GPIO specifier for the power down & reset pin.
|
||||
- AVDD-supply: Analog power supply
|
||||
- DVDD-supply: Digital power supply
|
||||
|
||||
Example:
|
||||
|
||||
&i2c {
|
||||
ak5558: adc@10 {
|
||||
compatible = "asahi-kasei,ak5558";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
@@ -1,43 +0,0 @@
|
||||
ALC5632 audio CODEC
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "realtek,alc5632"
|
||||
|
||||
- reg : the I2C address of the device.
|
||||
|
||||
- gpio-controller : Indicates this device is a GPIO controller.
|
||||
|
||||
- #gpio-cells : Should be two. The first cell is the pin number and the
|
||||
second cell is used to specify optional parameters (currently unused).
|
||||
|
||||
Pins on the device (for linking into audio routes):
|
||||
|
||||
* SPK_OUTP
|
||||
* SPK_OUTN
|
||||
* HP_OUT_L
|
||||
* HP_OUT_R
|
||||
* AUX_OUT_P
|
||||
* AUX_OUT_N
|
||||
* LINE_IN_L
|
||||
* LINE_IN_R
|
||||
* PHONE_P
|
||||
* PHONE_N
|
||||
* MIC1_P
|
||||
* MIC1_N
|
||||
* MIC2_P
|
||||
* MIC2_N
|
||||
* MICBIAS1
|
||||
* DMICDAT
|
||||
|
||||
Example:
|
||||
|
||||
alc5632: alc5632@1e {
|
||||
compatible = "realtek,alc5632";
|
||||
reg = <0x1a>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
@@ -0,0 +1,73 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/asahi-kasei,ak4458.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: AK4458 audio DAC
|
||||
|
||||
maintainers:
|
||||
- Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- asahi-kasei,ak4458
|
||||
- asahi-kasei,ak4497
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
avdd-supply:
|
||||
description: Analog power supply
|
||||
|
||||
dvdd-supply:
|
||||
description: Digital power supply
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
mute-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO used to mute all the outputs
|
||||
|
||||
dsd-path:
|
||||
description: Select DSD input pins for ak4497
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
oneOf:
|
||||
- const: 0
|
||||
description: "select #16, #17, #19 pins"
|
||||
- const: 1
|
||||
description: "select #3, #4, #5 pins"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: asahi-kasei,ak4458
|
||||
|
||||
then:
|
||||
properties:
|
||||
dsd-path: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
codec@10 {
|
||||
compatible = "asahi-kasei,ak4458";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||
mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,48 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/asahi-kasei,ak5558.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: AK5558 8 channel differential 32-bit delta-sigma ADC
|
||||
|
||||
maintainers:
|
||||
- Junichi Wakasugi <wakasugi.jb@om.asahi-kasei.co.jp>
|
||||
- Mihai Serban <mihai.serban@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- asahi-kasei,ak5552
|
||||
- asahi-kasei,ak5558
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
avdd-supply:
|
||||
description: A 1.8V supply that powers up the AVDD pin.
|
||||
|
||||
dvdd-supply:
|
||||
description: A 1.2V supply that powers up the DVDD pin.
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ak5558: codec@10 {
|
||||
compatible = "asahi-kasei,ak5558";
|
||||
reg = <0x10>;
|
||||
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
@@ -16,19 +16,19 @@ definitions:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
properties:
|
||||
convert-rate:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||
convert-channels:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||
convert-sample-format:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||
mclk-fs:
|
||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
||||
$ref: simple-card.yaml#/definitions/mclk-fs
|
||||
|
||||
endpoint-base:
|
||||
$ref: /schemas/graph.yaml#/$defs/endpoint-base
|
||||
properties:
|
||||
mclk-fs:
|
||||
$ref: "simple-card.yaml#/definitions/mclk-fs"
|
||||
$ref: simple-card.yaml#/definitions/mclk-fs
|
||||
frame-inversion:
|
||||
description: dai-link uses frame clock inversion
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
@@ -49,11 +49,11 @@ definitions:
|
||||
description: Indicates system clock
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
system-clock-frequency:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-frequency"
|
||||
$ref: simple-card.yaml#/definitions/system-clock-frequency
|
||||
system-clock-direction-out:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-direction-out"
|
||||
$ref: simple-card.yaml#/definitions/system-clock-direction-out
|
||||
system-clock-fixed:
|
||||
$ref: "simple-card.yaml#/definitions/system-clock-fixed"
|
||||
$ref: simple-card.yaml#/definitions/system-clock-fixed
|
||||
|
||||
dai-format:
|
||||
description: audio format.
|
||||
@@ -69,11 +69,11 @@ definitions:
|
||||
- msb
|
||||
- lsb
|
||||
convert-rate:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||
convert-channels:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||
convert-sample-format:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||
|
||||
dai-tdm-slot-num:
|
||||
description: Number of slots in use.
|
||||
|
||||
@@ -15,7 +15,7 @@ properties:
|
||||
label:
|
||||
maxItems: 1
|
||||
prefix:
|
||||
description: "device name prefix"
|
||||
description: device name prefix
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
routing:
|
||||
description: |
|
||||
@@ -27,11 +27,11 @@ properties:
|
||||
description: User specified audio sound widgets.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
convert-rate:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate
|
||||
convert-channels:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-channels
|
||||
convert-sample-format:
|
||||
$ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
|
||||
$ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-format
|
||||
|
||||
pa-gpios:
|
||||
maxItems: 1
|
||||
|
||||
@@ -85,11 +85,19 @@ properties:
|
||||
boost-cap-microfarad.
|
||||
External Boost must have GPIO1 as GPIO output. GPIO1 will be set high to
|
||||
enable boost voltage.
|
||||
Shared boost allows two amplifiers to share a single boost circuit by
|
||||
communicating on the MDSYNC bus. The active amplifier controls the boost
|
||||
circuit using combined data from both amplifiers. GPIO1 should be
|
||||
configured for Sync when shared boost is used. Shared boost is not
|
||||
compatible with External boost. Active amplifier requires
|
||||
boost-peak-milliamp, boost-ind-nanohenry and boost-cap-microfarad.
|
||||
0 = Internal Boost
|
||||
1 = External Boost
|
||||
2 = Shared Boost Active
|
||||
3 = Shared Boost Passive
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
maximum: 3
|
||||
|
||||
cirrus,gpio1-polarity-invert:
|
||||
description:
|
||||
|
||||
@@ -45,11 +45,79 @@ properties:
|
||||
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
|
||||
configuration for SDOUT pin of amplifier. Logical OR of
|
||||
CS35L45_ASP_TX_HIZ_xxx values.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
default: 2
|
||||
|
||||
patternProperties:
|
||||
"^cirrus,gpio-ctrl[1-3]$":
|
||||
description:
|
||||
GPIO pins configuration.
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
gpio-dir:
|
||||
description:
|
||||
GPIO pin direction. Valid only when 'gpio-ctrl' is 1
|
||||
0 = Output
|
||||
1 = Input
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
default: 1
|
||||
gpio-lvl:
|
||||
description:
|
||||
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
|
||||
0 = Low
|
||||
1 = High
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
default: 0
|
||||
gpio-op-cfg:
|
||||
description:
|
||||
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
|
||||
0 = CMOS
|
||||
1 = Open Drain
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
default: 0
|
||||
gpio-pol:
|
||||
description:
|
||||
GPIO output polarity select. Valid only when 'gpio-ctrl' is 1
|
||||
and 'gpio-dir' is 0
|
||||
0 = Non-inverted, Active High
|
||||
1 = Inverted, Active Low
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
default: 0
|
||||
gpio-ctrl:
|
||||
description:
|
||||
Defines the function of the GPIO pin.
|
||||
GPIO1
|
||||
0 = High impedance input
|
||||
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||
2 = Pin acts as MDSYNC, direction controlled by MDSYNC
|
||||
3-7 = Reserved
|
||||
GPIO2
|
||||
0 = High impedance input
|
||||
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||
2 = Pin acts as open drain INT
|
||||
3 = Reserved
|
||||
4 = Pin acts as push-pull output INT. Active low.
|
||||
5 = Pin acts as push-pull output INT. Active high.
|
||||
6,7 = Reserved
|
||||
GPIO3
|
||||
0 = High impedance input
|
||||
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
|
||||
2-7 = Reserved
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
default: 0
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -74,5 +142,15 @@ examples:
|
||||
reset-gpios = <&gpio 110 0>;
|
||||
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
|
||||
CS35L45_ASP_TX_HIZ_DISABLED)>;
|
||||
cirrus,gpio-ctrl1 {
|
||||
gpio-ctrl = <0x2>;
|
||||
};
|
||||
cirrus,gpio-ctrl2 {
|
||||
gpio-ctrl = <0x2>;
|
||||
};
|
||||
cirrus,gpio-ctrl3 {
|
||||
gpio-ctrl = <0x1>;
|
||||
gpio-dir = <0x1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -68,7 +68,7 @@ properties:
|
||||
This is "normal tip sense (TS)" in the datasheet.
|
||||
|
||||
The CS42L42_TS_INV_* defines are available for this.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
|
||||
@@ -87,7 +87,7 @@ properties:
|
||||
7 - 1.5s
|
||||
|
||||
The CS42L42_TS_DBNCE_* defines are available for this.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
|
||||
@@ -106,7 +106,7 @@ properties:
|
||||
7 - 1.5s
|
||||
|
||||
The CS42L42_TS_DBNCE_* defines are available for this.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
|
||||
@@ -120,7 +120,7 @@ properties:
|
||||
|
||||
0ms - 200ms,
|
||||
Default = 100ms
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 200
|
||||
|
||||
@@ -133,7 +133,7 @@ properties:
|
||||
|
||||
0ms - 20ms,
|
||||
Default = 10ms
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 20
|
||||
|
||||
@@ -169,7 +169,7 @@ properties:
|
||||
3 - Slowest
|
||||
|
||||
The CS42L42_HSBIAS_RAMP_* defines are available for this.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus EP93xx I2S Controller
|
||||
|
||||
description: |
|
||||
The I2S controller is used to stream serial audio data between the external
|
||||
I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left-
|
||||
and Right-Justified DSP formats.
|
||||
|
||||
maintainers:
|
||||
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: cirrus,ep9301-i2s
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
- const: sclk
|
||||
- const: lrclk
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#sound-dai-cells'
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2s: i2s@80820000 {
|
||||
compatible = "cirrus,ep9301-i2s";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x80820000 0x100>;
|
||||
interrupt-parent = <&vic1>;
|
||||
interrupts = <28>;
|
||||
clocks = <&syscon 29>,
|
||||
<&syscon 30>,
|
||||
<&syscon 31>;
|
||||
clock-names = "mclk", "sclk", "lrclk";
|
||||
};
|
||||
|
||||
...
|
||||
@@ -28,6 +28,10 @@ properties:
|
||||
items:
|
||||
- const: mclk
|
||||
|
||||
port:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
|
||||
117
Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
Normal file
117
Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: QMC audio
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description: |
|
||||
The QMC audio is an ASoC component which uses QMC (QUICC Multichannel
|
||||
Controller) channels to transfer the audio data.
|
||||
It provides as many DAI as the number of QMC channel used.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,qmc-audio
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
'#size-cells':
|
||||
const: 0
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
'^dai@([0-9]|[1-5][0-9]|6[0-3])$':
|
||||
description:
|
||||
A DAI managed by this controller
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
minimum: 0
|
||||
maximum: 63
|
||||
description:
|
||||
The DAI number
|
||||
|
||||
fsl,qmc-chan:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to QMC node
|
||||
- description: Channel number
|
||||
description:
|
||||
Should be a phandle/number pair. The phandle to QMC node and the QMC
|
||||
channel to use for this DAI.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- fsl,qmc-chan
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#address-cells'
|
||||
- '#size-cells'
|
||||
- '#sound-dai-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
audio_controller: audio-controller {
|
||||
compatible = "fsl,qmc-audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
dai@16 {
|
||||
reg = <16>;
|
||||
fsl,qmc-chan = <&qmc 16>;
|
||||
};
|
||||
dai@17 {
|
||||
reg = <17>;
|
||||
fsl,qmc-chan = <&qmc 17>;
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
simple-audio-card,dai-link@0 {
|
||||
reg = <0>;
|
||||
format = "dsp_b";
|
||||
cpu {
|
||||
sound-dai = <&audio_controller 16>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&codec1>;
|
||||
dai-tdm-slot-num = <4>;
|
||||
dai-tdm-slot-width = <8>;
|
||||
/* TS 3, 5, 7, 9 */
|
||||
dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>;
|
||||
dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>;
|
||||
};
|
||||
};
|
||||
simple-audio-card,dai-link@1 {
|
||||
reg = <1>;
|
||||
format = "dsp_b";
|
||||
cpu {
|
||||
sound-dai = <&audio_controller 17>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&codec2>;
|
||||
dai-tdm-slot-num = <4>;
|
||||
dai-tdm-slot-width = <8>;
|
||||
/* TS 2, 4, 6, 8 */
|
||||
dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>;
|
||||
dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user