ASoC: Updates for v5.16
This is an unusually large set of updates, mostly a large crop of unusually big drivers coupled with extensive overhauls of existing code. There's a SH change here for the DAI format terminology, the change is straightforward and the SH maintainers don't seem very active. - A new version of the audio graph card which supports a wider range of systems. - Move of the Cirrus DSP framework into drivers/firmware to allow for future use by non-audio DSPs. - Several conversions to YAML DT bindings. - Continuing cleanups to the SOF and Intel code. - A very big overhaul of the cs42l42 driver, correcting many problems. - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, RT5682S, and RT9120 and Rockchip RV1126 and RK3568 -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmF/+i8ACgkQJNaLcl1U h9AWiAf+OoukOIBspXW3hoa7gfAhiP1bEpaforZaz0grYDT8IGBwO01JTe3qlHM2 KLSi1k97Y33aVPjIox6ynJ9EJ+OwGfHujqFCeI1jm+QRnOCAqQx8oHaKCMzbvUpk rFhok4xR5XMR6NZUGQVtp5cv903r32mb0Prxvp6CXeGc6HZxcjAMYsGRBPcQoprN FCkiTf1qxrNQl2UmRsf8rDQmHiHpnGjiUpIUrtY9wvZGE3EQzfhQ3r1TAw7AVMmC YDQxjU/KftW2zTgXx+mGtu1iX0OMUBo/W8oR9RjIUUIkyA6CllScBOvQIgp9EU18 PZPIEsyuC9zwcxHb7bPXx5E9vRsY7A== =/NwC -----END PGP SIGNATURE----- Merge tag 'asoc-v5.16' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v5.16 This is an unusually large set of updates, mostly a large crop of unusually big drivers coupled with extensive overhauls of existing code. There's a SH change here for the DAI format terminology, the change is straightforward and the SH maintainers don't seem very active. - A new version of the audio graph card which supports a wider range of systems. - Move of the Cirrus DSP framework into drivers/firmware to allow for future use by non-audio DSPs. - Several conversions to YAML DT bindings. - Continuing cleanups to the SOF and Intel code. - A very big overhaul of the cs42l42 driver, correcting many problems. - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, RT5682S, and RT9120 and Rockchip RV1126 and RK3568
This commit is contained in:
commit
a0292f3ebe
1
CREDITS
1
CREDITS
|
@ -971,6 +971,7 @@ D: PowerPC
|
||||||
N: Daniel Drake
|
N: Daniel Drake
|
||||||
E: dsd@gentoo.org
|
E: dsd@gentoo.org
|
||||||
D: USBAT02 CompactFlash support in usb-storage
|
D: USBAT02 CompactFlash support in usb-storage
|
||||||
|
D: ZD1211RW wireless driver
|
||||||
S: UK
|
S: UK
|
||||||
|
|
||||||
N: Oleg Drokin
|
N: Oleg Drokin
|
||||||
|
|
|
@ -259,7 +259,7 @@ Configuring the kernel
|
||||||
Compiling the kernel
|
Compiling the kernel
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
- Make sure you have at least gcc 4.9 available.
|
- Make sure you have at least gcc 5.1 available.
|
||||||
For more information, refer to :ref:`Documentation/process/changes.rst <changes>`.
|
For more information, refer to :ref:`Documentation/process/changes.rst <changes>`.
|
||||||
|
|
||||||
Please note that you can still run a.out user programs with this kernel.
|
Please note that you can still run a.out user programs with this kernel.
|
||||||
|
|
|
@ -1226,7 +1226,7 @@ PAGE_SIZE multiple when read back.
|
||||||
|
|
||||||
Note that all fields in this file are hierarchical and the
|
Note that all fields in this file are hierarchical and the
|
||||||
file modified event can be generated due to an event down the
|
file modified event can be generated due to an event down the
|
||||||
hierarchy. For for the local events at the cgroup level see
|
hierarchy. For the local events at the cgroup level see
|
||||||
memory.events.local.
|
memory.events.local.
|
||||||
|
|
||||||
low
|
low
|
||||||
|
@ -2170,19 +2170,19 @@ existing device files.
|
||||||
|
|
||||||
Cgroup v2 device controller has no interface files and is implemented
|
Cgroup v2 device controller has no interface files and is implemented
|
||||||
on top of cgroup BPF. To control access to device files, a user may
|
on top of cgroup BPF. To control access to device files, a user may
|
||||||
create bpf programs of the BPF_CGROUP_DEVICE type and attach them
|
create bpf programs of type BPF_PROG_TYPE_CGROUP_DEVICE and attach
|
||||||
to cgroups. On an attempt to access a device file, corresponding
|
them to cgroups with BPF_CGROUP_DEVICE flag. On an attempt to access a
|
||||||
BPF programs will be executed, and depending on the return value
|
device file, corresponding BPF programs will be executed, and depending
|
||||||
the attempt will succeed or fail with -EPERM.
|
on the return value the attempt will succeed or fail with -EPERM.
|
||||||
|
|
||||||
A BPF_CGROUP_DEVICE program takes a pointer to the bpf_cgroup_dev_ctx
|
A BPF_PROG_TYPE_CGROUP_DEVICE program takes a pointer to the
|
||||||
structure, which describes the device access attempt: access type
|
bpf_cgroup_dev_ctx structure, which describes the device access attempt:
|
||||||
(mknod/read/write) and device (type, major and minor numbers).
|
access type (mknod/read/write) and device (type, major and minor numbers).
|
||||||
If the program returns 0, the attempt fails with -EPERM, otherwise
|
If the program returns 0, the attempt fails with -EPERM, otherwise it
|
||||||
it succeeds.
|
succeeds.
|
||||||
|
|
||||||
An example of BPF_CGROUP_DEVICE program may be found in the kernel
|
An example of BPF_PROG_TYPE_CGROUP_DEVICE program may be found in
|
||||||
source tree in the tools/testing/selftests/bpf/progs/dev_cgroup.c file.
|
tools/testing/selftests/bpf/progs/dev_cgroup.c in the kernel source tree.
|
||||||
|
|
||||||
|
|
||||||
RDMA
|
RDMA
|
||||||
|
|
|
@ -1266,7 +1266,7 @@
|
||||||
The VGA and EFI output is eventually overwritten by
|
The VGA and EFI output is eventually overwritten by
|
||||||
the real console.
|
the real console.
|
||||||
|
|
||||||
The xen output can only be used by Xen PV guests.
|
The xen option can only be used in Xen domains.
|
||||||
|
|
||||||
The sclp output can only be used on s390.
|
The sclp output can only be used on s390.
|
||||||
|
|
||||||
|
|
|
@ -175,9 +175,10 @@ for IRQ numbers that are passed to struct device registrations. In that
|
||||||
case the Linux IRQ numbers cannot be dynamically assigned and the legacy
|
case the Linux IRQ numbers cannot be dynamically assigned and the legacy
|
||||||
mapping should be used.
|
mapping should be used.
|
||||||
|
|
||||||
As the name implies, the *_legacy() functions are deprecated and only
|
As the name implies, the \*_legacy() functions are deprecated and only
|
||||||
exist to ease the support of ancient platforms. No new users should be
|
exist to ease the support of ancient platforms. No new users should be
|
||||||
added.
|
added. Same goes for the \*_simple() functions when their use results
|
||||||
|
in the legacy behaviour.
|
||||||
|
|
||||||
The legacy map assumes a contiguous range of IRQ numbers has already
|
The legacy map assumes a contiguous range of IRQ numbers has already
|
||||||
been allocated for the controller and that the IRQ number can be
|
been allocated for the controller and that the IRQ number can be
|
||||||
|
|
|
@ -54,7 +54,7 @@ properties:
|
||||||
- const: toradex,apalis_t30
|
- const: toradex,apalis_t30
|
||||||
- const: nvidia,tegra30
|
- const: nvidia,tegra30
|
||||||
- items:
|
- items:
|
||||||
- const: toradex,apalis_t30-eval-v1.1
|
- const: toradex,apalis_t30-v1.1-eval
|
||||||
- const: toradex,apalis_t30-eval
|
- const: toradex,apalis_t30-eval
|
||||||
- const: toradex,apalis_t30-v1.1
|
- const: toradex,apalis_t30-v1.1
|
||||||
- const: toradex,apalis_t30
|
- const: toradex,apalis_t30
|
||||||
|
|
|
@ -50,7 +50,6 @@ properties:
|
||||||
data-lanes:
|
data-lanes:
|
||||||
description: array of physical DSI data lane indexes.
|
description: array of physical DSI data lane indexes.
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 4
|
|
||||||
items:
|
items:
|
||||||
- const: 1
|
- const: 1
|
||||||
- const: 2
|
- const: 2
|
||||||
|
@ -71,7 +70,6 @@ properties:
|
||||||
data-lanes:
|
data-lanes:
|
||||||
description: array of physical DSI data lane indexes.
|
description: array of physical DSI data lane indexes.
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 4
|
|
||||||
items:
|
items:
|
||||||
- const: 1
|
- const: 1
|
||||||
- const: 2
|
- const: 2
|
||||||
|
|
|
@ -18,7 +18,7 @@ properties:
|
||||||
const: ti,sn65dsi86
|
const: ti,sn65dsi86
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
const: 0x2d
|
enum: [ 0x2c, 0x2d ]
|
||||||
|
|
||||||
enable-gpios:
|
enable-gpios:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -9,7 +9,7 @@ function block.
|
||||||
|
|
||||||
All DISP device tree nodes must be siblings to the central MMSYS_CONFIG node.
|
All DISP device tree nodes must be siblings to the central MMSYS_CONFIG node.
|
||||||
For a description of the MMSYS_CONFIG binding, see
|
For a description of the MMSYS_CONFIG binding, see
|
||||||
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt.
|
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml.
|
||||||
|
|
||||||
DISP function blocks
|
DISP function blocks
|
||||||
====================
|
====================
|
||||||
|
|
|
@ -22,7 +22,7 @@ properties:
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
# ili9341 240*320 Color on stm32f429-disco board
|
# ili9341 240*320 Color on stm32f429-disco board
|
||||||
- st,sf-tc240t-9370-t
|
- st,sf-tc240t-9370-t
|
||||||
- const: ilitek,ili9341
|
- const: ilitek,ili9341
|
||||||
|
|
||||||
reg: true
|
reg: true
|
||||||
|
|
|
@ -31,11 +31,11 @@ properties:
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 3
|
maxItems: 7
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 3
|
maxItems: 7
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -72,6 +72,32 @@ allOf:
|
||||||
contains:
|
contains:
|
||||||
enum:
|
enum:
|
||||||
- qcom,sdm660-a2noc
|
- qcom,sdm660-a2noc
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Bus Clock.
|
||||||
|
- description: Bus A Clock.
|
||||||
|
- description: IPA Clock.
|
||||||
|
- description: UFS AXI Clock.
|
||||||
|
- description: Aggregate2 UFS AXI Clock.
|
||||||
|
- description: Aggregate2 USB3 AXI Clock.
|
||||||
|
- description: Config NoC USB2 AXI Clock.
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: bus
|
||||||
|
- const: bus_a
|
||||||
|
- const: ipa
|
||||||
|
- const: ufs_axi
|
||||||
|
- const: aggre2_ufs_axi
|
||||||
|
- const: aggre2_usb3_axi
|
||||||
|
- const: cfg_noc_usb2_axi
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
- qcom,sdm660-bimc
|
- qcom,sdm660-bimc
|
||||||
- qcom,sdm660-cnoc
|
- qcom,sdm660-cnoc
|
||||||
- qcom,sdm660-gnoc
|
- qcom,sdm660-gnoc
|
||||||
|
@ -91,6 +117,7 @@ examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||||
#include <dt-bindings/clock/qcom,mmcc-sdm660.h>
|
#include <dt-bindings/clock/qcom,mmcc-sdm660.h>
|
||||||
|
#include <dt-bindings/clock/qcom,gcc-sdm660.h>
|
||||||
|
|
||||||
bimc: interconnect@1008000 {
|
bimc: interconnect@1008000 {
|
||||||
compatible = "qcom,sdm660-bimc";
|
compatible = "qcom,sdm660-bimc";
|
||||||
|
@ -123,9 +150,20 @@ examples:
|
||||||
compatible = "qcom,sdm660-a2noc";
|
compatible = "qcom,sdm660-a2noc";
|
||||||
reg = <0x01704000 0xc100>;
|
reg = <0x01704000 0xc100>;
|
||||||
#interconnect-cells = <1>;
|
#interconnect-cells = <1>;
|
||||||
clock-names = "bus", "bus_a";
|
clock-names = "bus",
|
||||||
|
"bus_a",
|
||||||
|
"ipa",
|
||||||
|
"ufs_axi",
|
||||||
|
"aggre2_ufs_axi",
|
||||||
|
"aggre2_usb3_axi",
|
||||||
|
"cfg_noc_usb2_axi";
|
||||||
clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
|
clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
|
||||||
<&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>;
|
<&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
|
||||||
|
<&rpmcc RPM_SMD_IPA_CLK>,
|
||||||
|
<&gcc GCC_UFS_AXI_CLK>,
|
||||||
|
<&gcc GCC_AGGRE2_UFS_AXI_CLK>,
|
||||||
|
<&gcc GCC_AGGRE2_USB3_AXI_CLK>,
|
||||||
|
<&gcc GCC_CFG_NOC_USB2_AXI_CLK>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mnoc: interconnect@1745000 {
|
mnoc: interconnect@1745000 {
|
||||||
|
|
|
@ -31,7 +31,7 @@ properties:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
port:
|
port:
|
||||||
$ref: /schemas/graph.yaml#/properties/port
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -38,7 +38,7 @@ properties:
|
||||||
|
|
||||||
port:
|
port:
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
$ref: /schemas/graph.yaml#/properties/port
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
endpoint:
|
endpoint:
|
||||||
|
|
|
@ -38,7 +38,7 @@ properties:
|
||||||
|
|
||||||
port:
|
port:
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
$ref: /schemas/graph.yaml#/properties/port
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
endpoint:
|
endpoint:
|
||||||
|
|
|
@ -38,7 +38,7 @@ properties:
|
||||||
|
|
||||||
port:
|
port:
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
$ref: /schemas/graph.yaml#/properties/port
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
endpoint:
|
endpoint:
|
||||||
|
|
|
@ -20,9 +20,7 @@ properties:
|
||||||
- snps,dwcmshc-sdhci
|
- snps,dwcmshc-sdhci
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
minItems: 1
|
maxItems: 1
|
||||||
items:
|
|
||||||
- description: Offset and length of the register set for the device
|
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -19,7 +19,9 @@ properties:
|
||||||
- const: allwinner,sun8i-v3s-emac
|
- const: allwinner,sun8i-v3s-emac
|
||||||
- const: allwinner,sun50i-a64-emac
|
- const: allwinner,sun50i-a64-emac
|
||||||
- items:
|
- items:
|
||||||
- const: allwinner,sun50i-h6-emac
|
- enum:
|
||||||
|
- allwinner,sun20i-d1-emac
|
||||||
|
- allwinner,sun50i-h6-emac
|
||||||
- const: allwinner,sun50i-a64-emac
|
- const: allwinner,sun50i-a64-emac
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
|
|
@ -83,7 +83,7 @@ Example:
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
|
|
||||||
switch0: switch@0 {
|
switch0: switch@0 {
|
||||||
compatible = "marvell,mv88e6390";
|
compatible = "marvell,mv88e6190";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ properties:
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 3
|
minItems: 3
|
||||||
maxItems: 5
|
|
||||||
items:
|
items:
|
||||||
- description: MAC host clock
|
- description: MAC host clock
|
||||||
- description: MAC apb clock
|
- description: MAC apb clock
|
||||||
|
|
|
@ -21,6 +21,7 @@ select:
|
||||||
contains:
|
contains:
|
||||||
enum:
|
enum:
|
||||||
- snps,dwmac
|
- snps,dwmac
|
||||||
|
- snps,dwmac-3.40a
|
||||||
- snps,dwmac-3.50a
|
- snps,dwmac-3.50a
|
||||||
- snps,dwmac-3.610
|
- snps,dwmac-3.610
|
||||||
- snps,dwmac-3.70a
|
- snps,dwmac-3.70a
|
||||||
|
@ -76,6 +77,7 @@ properties:
|
||||||
- rockchip,rk3399-gmac
|
- rockchip,rk3399-gmac
|
||||||
- rockchip,rv1108-gmac
|
- rockchip,rv1108-gmac
|
||||||
- snps,dwmac
|
- snps,dwmac
|
||||||
|
- snps,dwmac-3.40a
|
||||||
- snps,dwmac-3.50a
|
- snps,dwmac-3.50a
|
||||||
- snps,dwmac-3.610
|
- snps,dwmac-3.610
|
||||||
- snps,dwmac-3.70a
|
- snps,dwmac-3.70a
|
||||||
|
|
|
@ -41,7 +41,6 @@ properties:
|
||||||
- description: builtin MSI controller.
|
- description: builtin MSI controller.
|
||||||
|
|
||||||
interrupt-names:
|
interrupt-names:
|
||||||
minItems: 1
|
|
||||||
items:
|
items:
|
||||||
- const: msi
|
- const: msi
|
||||||
|
|
||||||
|
|
|
@ -1,134 +0,0 @@
|
||||||
Qualcomm APR (Asynchronous Packet Router) binding
|
|
||||||
|
|
||||||
This binding describes the Qualcomm APR. APR is a IPC protocol for
|
|
||||||
communication between Application processor and QDSP. APR is mainly
|
|
||||||
used for audio/voice services on the QDSP.
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"
|
|
||||||
|
|
||||||
- qcom,apr-domain
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Destination processor ID.
|
|
||||||
Possible values are :
|
|
||||||
1 - APR simulator
|
|
||||||
2 - PC
|
|
||||||
3 - MODEM
|
|
||||||
4 - ADSP
|
|
||||||
5 - APPS
|
|
||||||
6 - MODEM2
|
|
||||||
7 - APPS2
|
|
||||||
|
|
||||||
= APR SERVICES
|
|
||||||
Each subnode of the APR node represents service tied to this apr. The name
|
|
||||||
of the nodes are not important. The properties of these nodes are defined
|
|
||||||
by the individual bindings for the specific service
|
|
||||||
- All APR services MUST contain the following property:
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: APR Service ID
|
|
||||||
Possible values are :
|
|
||||||
3 - DSP Core Service
|
|
||||||
4 - Audio Front End Service.
|
|
||||||
5 - Voice Stream Manager Service.
|
|
||||||
6 - Voice processing manager.
|
|
||||||
7 - Audio Stream Manager Service.
|
|
||||||
8 - Audio Device Manager Service.
|
|
||||||
9 - Multimode voice manager.
|
|
||||||
10 - Core voice stream.
|
|
||||||
11 - Core voice processor.
|
|
||||||
12 - Ultrasound stream manager.
|
|
||||||
13 - Listen stream manager.
|
|
||||||
|
|
||||||
- qcom,protection-domain
|
|
||||||
Usage: optional
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: Must list the protection domain service name and path
|
|
||||||
that the particular apr service has a dependency on.
|
|
||||||
Possible values are :
|
|
||||||
"avs/audio", "msm/adsp/audio_pd".
|
|
||||||
"kernel/elf_loader", "msm/modem/wlan_pd".
|
|
||||||
"tms/servreg", "msm/adsp/audio_pd".
|
|
||||||
"tms/servreg", "msm/modem/wlan_pd".
|
|
||||||
"tms/servreg", "msm/slpi/sensor_pd".
|
|
||||||
|
|
||||||
= EXAMPLE
|
|
||||||
The following example represents a QDSP based sound card on a MSM8996 device
|
|
||||||
which uses apr as communication between Apps and QDSP.
|
|
||||||
|
|
||||||
apr {
|
|
||||||
compatible = "qcom,apr-v2";
|
|
||||||
qcom,apr-domain = <APR_DOMAIN_ADSP>;
|
|
||||||
|
|
||||||
apr-service@3 {
|
|
||||||
compatible = "qcom,q6core";
|
|
||||||
reg = <APR_SVC_ADSP_CORE>;
|
|
||||||
};
|
|
||||||
|
|
||||||
apr-service@4 {
|
|
||||||
compatible = "qcom,q6afe";
|
|
||||||
reg = <APR_SVC_AFE>;
|
|
||||||
|
|
||||||
dais {
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
dai@1 {
|
|
||||||
reg = <HDMI_RX>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
apr-service@7 {
|
|
||||||
compatible = "qcom,q6asm";
|
|
||||||
reg = <APR_SVC_ASM>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
apr-service@8 {
|
|
||||||
compatible = "qcom,q6adm";
|
|
||||||
reg = <APR_SVC_ADM>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
= EXAMPLE 2
|
|
||||||
The following example represents a QDSP based sound card with protection domain
|
|
||||||
dependencies specified. Here some of the apr services are dependent on services
|
|
||||||
running on protection domain hosted on ADSP/SLPI remote processors while others
|
|
||||||
have no such dependency.
|
|
||||||
|
|
||||||
apr {
|
|
||||||
compatible = "qcom,apr-v2";
|
|
||||||
qcom,glink-channels = "apr_audio_svc";
|
|
||||||
qcom,apr-domain = <APR_DOMAIN_ADSP>;
|
|
||||||
|
|
||||||
apr-service@3 {
|
|
||||||
compatible = "qcom,q6core";
|
|
||||||
reg = <APR_SVC_ADSP_CORE>;
|
|
||||||
};
|
|
||||||
|
|
||||||
q6afe: apr-service@4 {
|
|
||||||
compatible = "qcom,q6afe";
|
|
||||||
reg = <APR_SVC_AFE>;
|
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
q6asm: apr-service@7 {
|
|
||||||
compatible = "qcom,q6asm";
|
|
||||||
reg = <APR_SVC_ASM>;
|
|
||||||
qcom,protection-domain = "tms/servreg", "msm/slpi/sensor_pd";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
q6adm: apr-service@8 {
|
|
||||||
compatible = "qcom,q6adm";
|
|
||||||
reg = <APR_SVC_ADM>;
|
|
||||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,177 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for
|
||||||
|
communication between Application processor and QDSP. APR/GPR is mainly
|
||||||
|
used for audio/voice services on the QDSP.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,apr-v2
|
||||||
|
- qcom,gpr
|
||||||
|
|
||||||
|
qcom,apr-domain:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [1, 2, 3, 4, 5, 6, 7]
|
||||||
|
description:
|
||||||
|
Selects the processor domain for apr
|
||||||
|
1 = APR simulator
|
||||||
|
2 = PC Domain
|
||||||
|
3 = Modem Domain
|
||||||
|
4 = ADSP Domain
|
||||||
|
5 = Application processor Domain
|
||||||
|
6 = Modem2 Domain
|
||||||
|
7 = Application Processor2 Domain
|
||||||
|
deprecated: true
|
||||||
|
|
||||||
|
qcom,domain:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
minimum: 1
|
||||||
|
maximum: 7
|
||||||
|
description:
|
||||||
|
Selects the processor domain for apr
|
||||||
|
1 = APR simulator
|
||||||
|
2 = PC Domain
|
||||||
|
3 = Modem Domain
|
||||||
|
4 = ADSP Domain
|
||||||
|
5 = Application processor Domain
|
||||||
|
6 = Modem2 Domain
|
||||||
|
7 = Application Processor2 Domain
|
||||||
|
Selects the processor domain for gpr
|
||||||
|
1 = Modem Domain
|
||||||
|
2 = Audio DSP Domain
|
||||||
|
3 = Application Processor Domain
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
#APR/GPR Services
|
||||||
|
patternProperties:
|
||||||
|
"^service@[1-9a-d]$":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
APR/GPR node's client devices use subnodes for desired static port services.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,q6core
|
||||||
|
- qcom,q6asm
|
||||||
|
- qcom,q6afe
|
||||||
|
- qcom,q6adm
|
||||||
|
- qcom,q6apm
|
||||||
|
- qcom,q6prm
|
||||||
|
|
||||||
|
reg:
|
||||||
|
minimum: 1
|
||||||
|
maximum: 13
|
||||||
|
description:
|
||||||
|
APR Service ID
|
||||||
|
3 = DSP Core Service
|
||||||
|
4 = Audio Front End Service.
|
||||||
|
5 = Voice Stream Manager Service.
|
||||||
|
6 = Voice processing manager.
|
||||||
|
7 = Audio Stream Manager Service.
|
||||||
|
8 = Audio Device Manager Service.
|
||||||
|
9 = Multimode voice manager.
|
||||||
|
10 = Core voice stream.
|
||||||
|
11 = Core voice processor.
|
||||||
|
12 = Ultrasound stream manager.
|
||||||
|
13 = Listen stream manager.
|
||||||
|
GPR Service ID
|
||||||
|
1 = Audio Process Manager Service
|
||||||
|
2 = Proxy Resource Manager Service.
|
||||||
|
3 = AMDB Service.
|
||||||
|
4 = Voice processing manager.
|
||||||
|
|
||||||
|
qcom,protection-domain:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string-array
|
||||||
|
description: protection domain service name and path for apr service
|
||||||
|
possible values are
|
||||||
|
"avs/audio", "msm/adsp/audio_pd".
|
||||||
|
"kernel/elf_loader", "msm/modem/wlan_pd".
|
||||||
|
"tms/servreg", "msm/adsp/audio_pd".
|
||||||
|
"tms/servreg", "msm/modem/wlan_pd".
|
||||||
|
"tms/servreg", "msm/slpi/sensor_pd".
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+$":
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Service based devices like clock controllers or digital audio interfaces.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- qcom,domain
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,apr.h>
|
||||||
|
apr {
|
||||||
|
compatible = "qcom,apr-v2";
|
||||||
|
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
q6core: service@3 {
|
||||||
|
compatible = "qcom,q6core";
|
||||||
|
reg = <APR_SVC_ADSP_CORE>;
|
||||||
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
|
};
|
||||||
|
|
||||||
|
q6afe: service@4 {
|
||||||
|
compatible = "qcom,q6afe";
|
||||||
|
reg = <APR_SVC_AFE>;
|
||||||
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
|
};
|
||||||
|
|
||||||
|
q6asm: service@7 {
|
||||||
|
compatible = "qcom,q6asm";
|
||||||
|
reg = <APR_SVC_ASM>;
|
||||||
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
|
};
|
||||||
|
|
||||||
|
q6adm: service@8 {
|
||||||
|
compatible = "qcom,q6adm";
|
||||||
|
reg = <APR_SVC_ADM>;
|
||||||
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,gpr.h>
|
||||||
|
gpr {
|
||||||
|
compatible = "qcom,gpr";
|
||||||
|
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
service@1 {
|
||||||
|
compatible = "qcom,q6apm";
|
||||||
|
reg = <GPR_APM_MODULE_IID>;
|
||||||
|
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||||
|
};
|
||||||
|
};
|
|
@ -34,6 +34,10 @@ properties:
|
||||||
resets:
|
resets:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
AVDD-supply:
|
||||||
|
description:
|
||||||
|
Analogue power supply.
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#sound-dai-cells"
|
- "#sound-dai-cells"
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -41,6 +45,7 @@ required:
|
||||||
- clocks
|
- clocks
|
||||||
- clock-names
|
- clock-names
|
||||||
- resets
|
- resets
|
||||||
|
- AVDD-supply
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
|
@ -56,4 +61,5 @@ examples:
|
||||||
clocks = <&clkc CLKID_AUDIO_CODEC>;
|
clocks = <&clkc CLKID_AUDIO_CODEC>;
|
||||||
clock-names = "pclk";
|
clock-names = "pclk";
|
||||||
resets = <&reset RESET_AUDIO_CODEC>;
|
resets = <&reset RESET_AUDIO_CODEC>;
|
||||||
|
AVDD-supply = <&vddao_1v8>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/audio-graph-card2.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Audio Graph Card2 Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- audio-graph-card2
|
||||||
|
links:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
label:
|
||||||
|
maxItems: 1
|
||||||
|
routing:
|
||||||
|
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.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
multi:
|
||||||
|
description: Multi-CPU/Codec node
|
||||||
|
dpcm:
|
||||||
|
description: DPCM node
|
||||||
|
codec2codec:
|
||||||
|
description: Codec to Codec node
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- links
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
|
||||||
|
links = <&cpu_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu {
|
||||||
|
compatible = "cpu-driver";
|
||||||
|
|
||||||
|
cpu_port: port { cpu_ep: endpoint { remote-endpoint = <&codec_ep>; }; };
|
||||||
|
};
|
||||||
|
|
||||||
|
codec {
|
||||||
|
compatible = "codec-driver";
|
||||||
|
|
||||||
|
port { codec_ep: endpoint { remote-endpoint = <&cpu_ep>; }; };
|
||||||
|
};
|
|
@ -1,13 +0,0 @@
|
||||||
Bluetooth-SCO audio CODEC
|
|
||||||
|
|
||||||
This device support generic Bluetooth SCO link.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "delta,dfbmcs320" or "linux,bt-sco"
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
codec: bt_sco {
|
|
||||||
compatible = "delta,dfbmcs320";
|
|
||||||
};
|
|
|
@ -0,0 +1,157 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/cirrus,cs35l41.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Cirrus Logic CS35L41 Speaker Amplifier
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- david.rhodes@cirrus.com
|
||||||
|
|
||||||
|
description: |
|
||||||
|
CS35L41 is a boosted mono Class D amplifier with DSP
|
||||||
|
speaker protection and equalization
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- cirrus,cs35l40
|
||||||
|
- cirrus,cs35l41
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
description:
|
||||||
|
The first cell indicating the audio interface.
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
VA-supply:
|
||||||
|
description: voltage regulator phandle for the VA supply
|
||||||
|
|
||||||
|
VP-supply:
|
||||||
|
description: voltage regulator phandle for the VP supply
|
||||||
|
|
||||||
|
cirrus,boost-peak-milliamp:
|
||||||
|
description:
|
||||||
|
Boost-converter peak current limit in mA.
|
||||||
|
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"
|
||||||
|
minimum: 1600
|
||||||
|
maximum: 4500
|
||||||
|
default: 4500
|
||||||
|
|
||||||
|
cirrus,boost-ind-nanohenry:
|
||||||
|
description:
|
||||||
|
Boost inductor value, expressed in nH. Valid
|
||||||
|
values include 1000, 1200, 1500 and 2200.
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 1000
|
||||||
|
maximum: 2200
|
||||||
|
|
||||||
|
cirrus,boost-cap-microfarad:
|
||||||
|
description:
|
||||||
|
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"
|
||||||
|
|
||||||
|
cirrus,asp-sdout-hiz:
|
||||||
|
description:
|
||||||
|
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
|
||||||
|
configuration for SDOUT pin of amplifier.
|
||||||
|
0 = Logic 0 during unused slots, and while all transmit channels disabled
|
||||||
|
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"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 3
|
||||||
|
default: 2
|
||||||
|
|
||||||
|
cirrus,gpio1-polarity-invert:
|
||||||
|
description:
|
||||||
|
Boolean which specifies whether the GPIO1
|
||||||
|
level is inverted. If this property is not present the level is not inverted.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
cirrus,gpio1-output-enable:
|
||||||
|
description:
|
||||||
|
Boolean which specifies whether the GPIO1 pin
|
||||||
|
is configured as an output. If this property is not present the
|
||||||
|
pin will be configured as an input.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
cirrus,gpio1-src-select:
|
||||||
|
description:
|
||||||
|
Configures the function of the GPIO1 pin.
|
||||||
|
Note that the options are different from the GPIO2 pin
|
||||||
|
0 = High Impedance (Default)
|
||||||
|
1 = GPIO
|
||||||
|
2 = Sync
|
||||||
|
3 = MCLK input
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 3
|
||||||
|
|
||||||
|
cirrus,gpio2-polarity-invert:
|
||||||
|
description:
|
||||||
|
Boolean which specifies whether the GPIO2
|
||||||
|
level is inverted. If this property is not present the level is not inverted.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
cirrus,gpio2-output-enable:
|
||||||
|
description:
|
||||||
|
Boolean which specifies whether the GPIO2 pin
|
||||||
|
is configured as an output. If this property is not present the
|
||||||
|
pin will be configured as an input.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
cirrus,gpio2-src-select:
|
||||||
|
description:
|
||||||
|
Configures the function of the GPIO2 pin.
|
||||||
|
Note that the options are different from the GPIO1 pin.
|
||||||
|
0 = High Impedance (Default)
|
||||||
|
1 = GPIO
|
||||||
|
2 = Open Drain INTB
|
||||||
|
3 = MCLK input
|
||||||
|
4 = Push-pull INTB (active low)
|
||||||
|
5 = Push-pull INT (active high)
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||||
|
minimum: 0
|
||||||
|
maximum: 5
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- cirrus,boost-peak-milliamp
|
||||||
|
- cirrus,boost-ind-nanohenry
|
||||||
|
- cirrus,boost-cap-microfarad
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
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>;
|
||||||
|
cirrus,boost-peak-milliamp = <4500>;
|
||||||
|
cirrus,boost-ind-nanohenry = <1000>;
|
||||||
|
cirrus,boost-cap-microfarad = <15>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -19,13 +19,14 @@ Optional properties:
|
||||||
(See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
(See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||||
for further information relating to interrupt properties)
|
for further information relating to interrupt properties)
|
||||||
|
|
||||||
- cirrus,ts-inv : Boolean property. For jacks that invert the tip sense
|
- cirrus,ts-inv : Boolean property. Sets the behaviour of the jack plug
|
||||||
polarity. Normal jacks will short tip sense pin to HS1 when headphones are
|
detect switch.
|
||||||
plugged in and leave tip sense floating when not plugged in. Inverting jacks
|
|
||||||
short tip sense when unplugged and float when plugged in.
|
|
||||||
|
|
||||||
0 = (Default) Non-inverted
|
0 = (Default) Shorted to tip when unplugged, open when plugged.
|
||||||
1 = Inverted
|
This is "inverted tip sense (ITS)" in the datasheet.
|
||||||
|
|
||||||
|
1 = Open when unplugged, shorted to tip when plugged.
|
||||||
|
This is "normal tip sense (TS)" in the datasheet.
|
||||||
|
|
||||||
- cirrus,ts-dbnc-rise : Debounce the rising edge of TIP_SENSE_PLUG. With no
|
- cirrus,ts-dbnc-rise : Debounce the rising edge of TIP_SENSE_PLUG. With no
|
||||||
debounce, the tip sense pin might be noisy on a plug event.
|
debounce, the tip sense pin might be noisy on a plug event.
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Bluetooth SCO Audio Codec Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Mark Brown <broonie@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
'#sound-dai-cells':
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
|
||||||
|
# For Wideband PCM
|
||||||
|
- 1
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- delta,dfbmcs320
|
||||||
|
- linux,bt-sco
|
||||||
|
|
||||||
|
required:
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
codec {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "linux,bt-sco";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,32 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/linux,spdif-dit.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Dummy SPDIF Transmitter Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Mark Brown <broonie@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: linux,spdif-dit
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spdif-out {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "linux,spdif-dit";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -30,6 +30,9 @@ Required properties:
|
||||||
|
|
||||||
- reg : the I2C address of the device for I2C
|
- reg : the I2C address of the device for I2C
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- reset-gpios : GPIO to reset the device
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
codec: max98927@3a {
|
codec: max98927@3a {
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/maxim,max98520.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim Integrated MAX98520 Speaker Amplifier Driver
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- George Song <george.song@maximintegrated.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max98520
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: I2C address of the device.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
max98520: amplifier@38 {
|
||||||
|
compatible = "maxim,max98520";
|
||||||
|
reg = <0x38>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/mt8192-afe-pcm.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Mediatek AFE PCM controller for mt8192
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jiaxin Yu <jiaxin.yu@mediatek.com>
|
||||||
|
- Shane Chien <shane.chien@mediatek.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mediatek,mt8192-audio
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
const: audiosys
|
||||||
|
|
||||||
|
mediatek,apmixedsys:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of the mediatek apmixedsys controller
|
||||||
|
|
||||||
|
mediatek,infracfg:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of the mediatek infracfg controller
|
||||||
|
|
||||||
|
mediatek,topckgen:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of the mediatek topckgen controller
|
||||||
|
|
||||||
|
power-domains:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: AFE clock
|
||||||
|
- description: ADDA DAC clock
|
||||||
|
- description: ADDA DAC pre-distortion clock
|
||||||
|
- description: audio infra sys clock
|
||||||
|
- description: audio infra 26M clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: aud_afe_clk
|
||||||
|
- const: aud_dac_clk
|
||||||
|
- const: aud_dac_predis_clk
|
||||||
|
- const: aud_infra_clk
|
||||||
|
- const: aud_infra_26m_clk
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- interrupts
|
||||||
|
- resets
|
||||||
|
- reset-names
|
||||||
|
- mediatek,apmixedsys
|
||||||
|
- mediatek,infracfg
|
||||||
|
- mediatek,topckgen
|
||||||
|
- power-domains
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/mt8192-clk.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/power/mt8192-power.h>
|
||||||
|
#include <dt-bindings/reset/mt8192-resets.h>
|
||||||
|
|
||||||
|
afe: mt8192-afe-pcm {
|
||||||
|
compatible = "mediatek,mt8192-audio";
|
||||||
|
interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
resets = <&watchdog MT8192_TOPRGU_AUDIO_SW_RST>;
|
||||||
|
reset-names = "audiosys";
|
||||||
|
mediatek,apmixedsys = <&apmixedsys>;
|
||||||
|
mediatek,infracfg = <&infracfg>;
|
||||||
|
mediatek,topckgen = <&topckgen>;
|
||||||
|
power-domains = <&scpsys MT8192_POWER_DOMAIN_AUDIO>;
|
||||||
|
clocks = <&audsys CLK_AUD_AFE>,
|
||||||
|
<&audsys CLK_AUD_DAC>,
|
||||||
|
<&audsys CLK_AUD_DAC_PREDIS>,
|
||||||
|
<&infracfg CLK_INFRA_AUDIO>,
|
||||||
|
<&infracfg CLK_INFRA_AUDIO_26M_B>;
|
||||||
|
clock-names = "aud_afe_clk",
|
||||||
|
"aud_dac_clk",
|
||||||
|
"aud_dac_predis_clk",
|
||||||
|
"aud_infra_clk",
|
||||||
|
"aud_infra_26m_clk";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,47 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/mt8195-mt6359-rt1011-rt5682.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Mediatek MT8195 with MT6359, RT1011 and RT5682 ASoC sound card driver
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Trevor Wu <trevor.wu@mediatek.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
This binding describes the MT8195 sound card with RT1011 and RT5682.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mediatek,mt8195_mt6359_rt1011_rt5682
|
||||||
|
|
||||||
|
mediatek,platform:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of MT8195 ASoC platform.
|
||||||
|
|
||||||
|
mediatek,dptx-codec:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of MT8195 Display Port Tx codec node.
|
||||||
|
|
||||||
|
mediatek,hdmi-codec:
|
||||||
|
$ref: "/schemas/types.yaml#/definitions/phandle"
|
||||||
|
description: The phandle of MT8195 HDMI codec node.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- mediatek,platform
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
sound: mt8195-sound {
|
||||||
|
compatible = "mediatek,mt8195_mt6359_rt1011_rt5682";
|
||||||
|
mediatek,platform = <&afe>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&aud_pins_default>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -1,24 +0,0 @@
|
||||||
Name prefix:
|
|
||||||
|
|
||||||
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 the name prefix property to prepend the
|
|
||||||
name of their sinks/sources with the provided string.
|
|
||||||
|
|
||||||
Optional name prefix property:
|
|
||||||
- sound-name-prefix : string using as prefix for the sink/source names of
|
|
||||||
the component.
|
|
||||||
|
|
||||||
Example: Two instances of the same component.
|
|
||||||
|
|
||||||
amp0: analog-amplifier@0 {
|
|
||||||
compatible = "simple-audio-amplifier";
|
|
||||||
enable-gpios = <&gpio GPIOH_3 0>;
|
|
||||||
sound-name-prefix = "FRONT";
|
|
||||||
};
|
|
||||||
|
|
||||||
amp1: analog-amplifier@1 {
|
|
||||||
compatible = "simple-audio-amplifier";
|
|
||||||
enable-gpios = <&gpio GPIOH_4 0>;
|
|
||||||
sound-name-prefix = "BACK";
|
|
||||||
};
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Component sound name prefix
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,55 @@
|
||||||
|
Nuvoton NAU88L21 audio codec
|
||||||
|
|
||||||
|
This device supports I2C only.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : Must be "nuvoton,nau8821"
|
||||||
|
|
||||||
|
- reg : the I2C address of the device. This is either 0x1B (CSB=0) or 0x54 (CSB=1).
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- nuvoton,jkdet-enable: Enable jack detection via JKDET pin.
|
||||||
|
- nuvoton,jkdet-pull-enable: Enable JKDET pin pull. If set - pin pull enabled,
|
||||||
|
otherwise pin in high impedance state.
|
||||||
|
- nuvoton,jkdet-pull-up: Pull-up JKDET pin. If set then JKDET pin is pull up, otherwise pull down.
|
||||||
|
- nuvoton,jkdet-polarity: JKDET pin polarity. 0 - active high, 1 - active low.
|
||||||
|
|
||||||
|
- nuvoton,vref-impedance: VREF Impedance selection
|
||||||
|
0 - Open
|
||||||
|
1 - 25 kOhm
|
||||||
|
2 - 125 kOhm
|
||||||
|
3 - 2.5 kOhm
|
||||||
|
|
||||||
|
- nuvoton,micbias-voltage: Micbias voltage level.
|
||||||
|
0 - VDDA
|
||||||
|
1 - VDDA
|
||||||
|
2 - VDDA * 1.1
|
||||||
|
3 - VDDA * 1.2
|
||||||
|
4 - VDDA * 1.3
|
||||||
|
5 - VDDA * 1.4
|
||||||
|
6 - VDDA * 1.53
|
||||||
|
7 - VDDA * 1.53
|
||||||
|
|
||||||
|
- nuvoton,jack-insert-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
|
||||||
|
- nuvoton,jack-eject-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
|
||||||
|
|
||||||
|
- nuvoton,dmic-clk-threshold: the ADC threshold of DMIC clock.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
headset: nau8821@1b {
|
||||||
|
compatible = "nuvoton,nau8821";
|
||||||
|
reg = <0x1b>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
nuvoton,jkdet-enable;
|
||||||
|
nuvoton,jkdet-pull-enable;
|
||||||
|
nuvoton,jkdet-pull-up;
|
||||||
|
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
|
||||||
|
nuvoton,vref-impedance = <2>;
|
||||||
|
nuvoton,micbias-voltage = <6>;
|
||||||
|
nuvoton,jack-insert-debounce = <7>;
|
||||||
|
nuvoton,jack-eject-debounce = <7>;
|
||||||
|
nuvoton,dmic-clk-threshold = 3072000;
|
||||||
|
};
|
|
@ -17,6 +17,9 @@ maintainers:
|
||||||
- Jon Hunter <jonathanh@nvidia.com>
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: "^dspk@[0-9a-f]*$"
|
pattern: "^dspk@[0-9a-f]*$"
|
||||||
|
@ -48,12 +51,6 @@ properties:
|
||||||
|
|
||||||
sound-name-prefix:
|
sound-name-prefix:
|
||||||
pattern: "^DSPK[1-9]$"
|
pattern: "^DSPK[1-9]$"
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
|
||||||
description:
|
|
||||||
Used as prefix for sink/source names of the component. Must be a
|
|
||||||
unique string among multiple instances of the same component.
|
|
||||||
The name can be "DSPK1" or "DSPKx", where x depends on the maximum
|
|
||||||
available instances on a Tegra SoC.
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
$ref: /schemas/graph.yaml#/properties/ports
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-adx.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 ADX Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Audio Demultiplexer (ADX) block takes an input stream with up to
|
||||||
|
16 channels and demultiplexes it into four output streams of up to 16
|
||||||
|
channels each. A byte RAM helps to form output frames by any combination
|
||||||
|
of bytes from the input frame. Its design is identical to that of byte
|
||||||
|
RAM in the AMX except that the data flow direction is reversed.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Mohan Kumar <mkumard@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^adx@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-adx
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-adx
|
||||||
|
- nvidia,tegra186-adx
|
||||||
|
- const: nvidia,tegra210-adx
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^ADX[1-9]$"
|
||||||
|
|
||||||
|
ports:
|
||||||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
description: |
|
||||||
|
ADX has one input and four outputs. Accordingly ACIF (Audio Client
|
||||||
|
Interface) port nodes are defined to represent ADX input (port 0)
|
||||||
|
and outputs (ports 1 to 4). These are connected to corresponding
|
||||||
|
ports on AHUB (Audio Hub).
|
||||||
|
properties:
|
||||||
|
port@0:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: ADX ACIF input port
|
||||||
|
patternProperties:
|
||||||
|
'^port@[1-4]':
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: ADX ACIF output ports
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
adx@702d3800 {
|
||||||
|
compatible = "nvidia,tegra210-adx";
|
||||||
|
reg = <0x702d3800 0x100>;
|
||||||
|
sound-name-prefix = "ADX1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -85,6 +85,26 @@ patternProperties:
|
||||||
type: object
|
type: object
|
||||||
$ref: nvidia,tegra186-dspk.yaml#
|
$ref: nvidia,tegra186-dspk.yaml#
|
||||||
|
|
||||||
|
'^mvc@[0-9a-f]+$':
|
||||||
|
type: object
|
||||||
|
$ref: nvidia,tegra210-mvc.yaml#
|
||||||
|
|
||||||
|
'^sfc@[0-9a-f]+$':
|
||||||
|
type: object
|
||||||
|
$ref: nvidia,tegra210-sfc.yaml#
|
||||||
|
|
||||||
|
'^amx@[0-9a-f]+$':
|
||||||
|
type: object
|
||||||
|
$ref: nvidia,tegra210-amx.yaml#
|
||||||
|
|
||||||
|
'^adx@[0-9a-f]+$':
|
||||||
|
type: object
|
||||||
|
$ref: nvidia,tegra210-adx.yaml#
|
||||||
|
|
||||||
|
'^amixer@[0-9a-f]+$':
|
||||||
|
type: object
|
||||||
|
$ref: nvidia,tegra210-mixer.yaml#
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-amx.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 AMX Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Audio Multiplexer (AMX) block can multiplex up to four input streams
|
||||||
|
each of which can have maximum 16 channels and generate an output stream
|
||||||
|
with maximum 16 channels. A byte RAM helps to form an output frame by
|
||||||
|
any combination of bytes from the input frames.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Mohan Kumar <mkumard@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^amx@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-amx
|
||||||
|
- items:
|
||||||
|
- const: nvidia,tegra186-amx
|
||||||
|
- const: nvidia,tegra210-amx
|
||||||
|
- const: nvidia,tegra194-amx
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^AMX[1-9]$"
|
||||||
|
|
||||||
|
ports:
|
||||||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
description: |
|
||||||
|
AMX has four inputs and one output. Accordingly ACIF (Audio Client
|
||||||
|
Interfaces) port nodes are defined to represent AMX inputs (port 0
|
||||||
|
to 3) and output (port 4). These are connected to corresponding
|
||||||
|
ports on AHUB (Audio Hub).
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^port@[0-3]':
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: AMX ACIF input ports
|
||||||
|
|
||||||
|
properties:
|
||||||
|
port@4:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: AMX ACIF output port
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
amx@702d3000 {
|
||||||
|
compatible = "nvidia,tegra210-amx";
|
||||||
|
reg = <0x702d3000 0x100>;
|
||||||
|
sound-name-prefix = "AMX1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -16,6 +16,9 @@ maintainers:
|
||||||
- Jon Hunter <jonathanh@nvidia.com>
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: "^dmic@[0-9a-f]*$"
|
pattern: "^dmic@[0-9a-f]*$"
|
||||||
|
@ -49,12 +52,6 @@ properties:
|
||||||
|
|
||||||
sound-name-prefix:
|
sound-name-prefix:
|
||||||
pattern: "^DMIC[1-9]$"
|
pattern: "^DMIC[1-9]$"
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
|
||||||
description:
|
|
||||||
used as prefix for sink/source names of the component. Must be a
|
|
||||||
unique string among multiple instances of the same component.
|
|
||||||
The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends
|
|
||||||
on the maximum available instances on a Tegra SoC.
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
$ref: /schemas/graph.yaml#/properties/ports
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
|
|
@ -16,6 +16,9 @@ maintainers:
|
||||||
- Jon Hunter <jonathanh@nvidia.com>
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
- Sameer Pujar <spujar@nvidia.com>
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
$nodename:
|
$nodename:
|
||||||
pattern: "^i2s@[0-9a-f]*$"
|
pattern: "^i2s@[0-9a-f]*$"
|
||||||
|
@ -65,12 +68,6 @@ properties:
|
||||||
|
|
||||||
sound-name-prefix:
|
sound-name-prefix:
|
||||||
pattern: "^I2S[1-9]$"
|
pattern: "^I2S[1-9]$"
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
|
||||||
description:
|
|
||||||
Used as prefix for sink/source names of the component. Must be a
|
|
||||||
unique string among multiple instances of the same component.
|
|
||||||
The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends
|
|
||||||
on the maximum available instances on a Tegra SoC.
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
$ref: /schemas/graph.yaml#/properties/ports
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-mixer.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 Mixer Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Mixer supports mixing of up to ten 7.1 audio input streams and
|
||||||
|
generate five outputs (each of which can be any combination of the
|
||||||
|
ten input streams).
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Mohan Kumar <mkumard@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^amixer@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-amixer
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-amixer
|
||||||
|
- nvidia,tegra186-amixer
|
||||||
|
- const: nvidia,tegra210-amixer
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^MIXER[1-9]$"
|
||||||
|
|
||||||
|
ports:
|
||||||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
description: |
|
||||||
|
Mixer has ten inputs and five outputs. Accordingly ACIF (Audio
|
||||||
|
Client Interfaces) port nodes are defined to represent Mixer
|
||||||
|
inputs (port 0 to 9) and outputs (port 10 to 14). These are
|
||||||
|
connected to corresponding ports on AHUB (Audio Hub).
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'^port@[0-9]':
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: Mixer ACIF input ports
|
||||||
|
'^port@[10-14]':
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: Mixer ACIF output ports
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
amixer@702dbb00 {
|
||||||
|
compatible = "nvidia,tegra210-amixer";
|
||||||
|
reg = <0x702dbb00 0x800>;
|
||||||
|
sound-name-prefix = "MIXER1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,76 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-mvc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 MVC Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Master Volume Control (MVC) provides gain or attenuation to a digital
|
||||||
|
signal path. It can be used in input or output signal path for per-stream
|
||||||
|
volume control or it can be used as master volume control. The MVC block
|
||||||
|
has one input and one output. The input digital stream can be mono or
|
||||||
|
multi-channel (up to 7.1 channels) stream. An independent mute control is
|
||||||
|
also included in the MVC block.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Mohan Kumar <mkumard@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^mvc@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-mvc
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-mvc
|
||||||
|
- nvidia,tegra186-mvc
|
||||||
|
- const: nvidia,tegra210-mvc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^MVC[1-9]$"
|
||||||
|
|
||||||
|
ports:
|
||||||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
properties:
|
||||||
|
port@0:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: |
|
||||||
|
MVC ACIF (Audio Client Interface) input port. This is connected
|
||||||
|
to corresponding ACIF output port on AHUB (Audio Hub).
|
||||||
|
|
||||||
|
port@1:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: |
|
||||||
|
MVC ACIF output port. This is connected to corresponding ACIF
|
||||||
|
input port on AHUB.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
mvc@702da000 {
|
||||||
|
compatible = "nvidia,tegra210-mvc";
|
||||||
|
reg = <0x702da000 0x200>;
|
||||||
|
sound-name-prefix = "MVC1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-sfc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Tegra210 SFC Device Tree Bindings
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Sampling Frequency Converter (SFC) converts the sampling frequency
|
||||||
|
of the input signal from one frequency to another. It supports sampling
|
||||||
|
frequency conversions of streams of up to two channels (stereo).
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Mohan Kumar <mkumard@nvidia.com>
|
||||||
|
- Sameer Pujar <spujar@nvidia.com>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^sfc@[0-9a-f]*$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: nvidia,tegra210-sfc
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra194-sfc
|
||||||
|
- nvidia,tegra186-sfc
|
||||||
|
- const: nvidia,tegra210-sfc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
pattern: "^SFC[1-9]$"
|
||||||
|
|
||||||
|
ports:
|
||||||
|
$ref: /schemas/graph.yaml#/properties/ports
|
||||||
|
properties:
|
||||||
|
port@0:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: |
|
||||||
|
SFC ACIF (Audio Client Interface) input port. This is connected
|
||||||
|
to corresponding ACIF output port on AHUB (Audio Hub).
|
||||||
|
|
||||||
|
port@1:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
description: |
|
||||||
|
SFC ACIF output port. This is connected to corresponding ACIF
|
||||||
|
input port on AHUB.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
|
||||||
|
sfc@702d2000 {
|
||||||
|
compatible = "nvidia,tegra210-sfc";
|
||||||
|
reg = <0x702d2000 0x200>;
|
||||||
|
sound-name-prefix = "SFC1";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -9,6 +9,9 @@ title: NXP/Goodix TFA989X (TFA1) Audio Amplifiers
|
||||||
maintainers:
|
maintainers:
|
||||||
- Stephan Gerhold <stephan@gerhold.net>
|
- Stephan Gerhold <stephan@gerhold.net>
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
|
@ -21,11 +24,7 @@ properties:
|
||||||
'#sound-dai-cells':
|
'#sound-dai-cells':
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
sound-name-prefix:
|
sound-name-prefix: true
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
|
||||||
description:
|
|
||||||
Used as prefix for sink/source names of the component. Must be a
|
|
||||||
unique string among multiple instances of the same component.
|
|
||||||
|
|
||||||
vddd-supply:
|
vddd-supply:
|
||||||
description: regulator phandle for the VDDD power supply.
|
description: regulator phandle for the VDDD power supply.
|
||||||
|
|
|
@ -11,7 +11,9 @@ maintainers:
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: qcom,sm8250-lpass-rx-macro
|
enum:
|
||||||
|
- qcom,sc7280-lpass-rx-macro
|
||||||
|
- qcom,sm8250-lpass-rx-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -11,7 +11,9 @@ maintainers:
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: qcom,sm8250-lpass-tx-macro
|
enum:
|
||||||
|
- qcom,sc7280-lpass-tx-macro
|
||||||
|
- qcom,sm8250-lpass-tx-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -11,7 +11,9 @@ maintainers:
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: qcom,sm8250-lpass-va-macro
|
enum:
|
||||||
|
- qcom,sc7280-lpass-va-macro
|
||||||
|
- qcom,sm8250-lpass-va-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -11,7 +11,9 @@ maintainers:
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: qcom,sm8250-lpass-wsa-macro
|
enum:
|
||||||
|
- qcom,sc7280-lpass-wsa-macro
|
||||||
|
- qcom,sm8250-lpass-wsa-macro
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -12,190 +12,9 @@ used by all apr services. Must contain the following properties.
|
||||||
from DSP.
|
from DSP.
|
||||||
example "qcom,q6afe"
|
example "qcom,q6afe"
|
||||||
|
|
||||||
= AFE DAIs (Digial Audio Interface)
|
|
||||||
"dais" subnode of the AFE node. It represents afe dais, each afe dai is a
|
|
||||||
subnode of "dais" representing board specific dai setup.
|
|
||||||
"dais" node should have following properties followed by dai children.
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: must be "qcom,q6afe-dais"
|
|
||||||
|
|
||||||
- #sound-dai-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 1
|
|
||||||
|
|
||||||
- #address-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 1
|
|
||||||
|
|
||||||
- #size-cells
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 0
|
|
||||||
|
|
||||||
== AFE DAI is subnode of "dais" and represent a dai, it includes board specific
|
|
||||||
configuration of each dai. Must contain the following properties.
|
|
||||||
|
|
||||||
- reg
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be dai id
|
|
||||||
|
|
||||||
- qcom,sd-lines
|
|
||||||
Usage: required for mi2s interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Must be list of serial data lines used by this dai.
|
|
||||||
should be one or more of the 0-3 sd lines.
|
|
||||||
|
|
||||||
- qcom,tdm-sync-mode:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Synchronization mode.
|
|
||||||
0 - Short sync bit mode
|
|
||||||
1 - Long sync mode
|
|
||||||
2 - Short sync slot mode
|
|
||||||
|
|
||||||
- qcom,tdm-sync-src:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Synchronization source.
|
|
||||||
0 - External source
|
|
||||||
1 - Internal source
|
|
||||||
|
|
||||||
- qcom,tdm-data-out:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Data out signal to drive with other masters.
|
|
||||||
0 - Disable
|
|
||||||
1 - Enable
|
|
||||||
|
|
||||||
- qcom,tdm-invert-sync:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Invert the sync.
|
|
||||||
0 - Normal
|
|
||||||
1 - Invert
|
|
||||||
|
|
||||||
- qcom,tdm-data-delay:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Number of bit clock to delay data
|
|
||||||
with respect to sync edge.
|
|
||||||
0 - 0 bit clock cycle
|
|
||||||
1 - 1 bit clock cycle
|
|
||||||
2 - 2 bit clock cycle
|
|
||||||
|
|
||||||
- qcom,tdm-data-align:
|
|
||||||
Usage: required for tdm interface
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: Indicate how data is packed
|
|
||||||
within the slot. For example, 32 slot width in case of
|
|
||||||
sample bit width is 24.
|
|
||||||
0 - MSB
|
|
||||||
1 - LSB
|
|
||||||
|
|
||||||
= AFE CLOCKSS
|
|
||||||
"clocks" subnode of the AFE node. It represents q6afe clocks
|
|
||||||
"clocks" node should have following properties.
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <stringlist>
|
|
||||||
Definition: must be "qcom,q6afe-clocks"
|
|
||||||
|
|
||||||
- #clock-cells:
|
|
||||||
Usage: required
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Must be 2. Clock Id followed by
|
|
||||||
below valid clock coupling attributes.
|
|
||||||
1 - for no coupled clock
|
|
||||||
2 - for dividend of the coupled clock
|
|
||||||
3 - for divisor of the coupled clock
|
|
||||||
4 - for inverted and no couple clock
|
|
||||||
|
|
||||||
= EXAMPLE
|
= EXAMPLE
|
||||||
|
|
||||||
apr-service@4 {
|
apr-service@4 {
|
||||||
compatible = "qcom,q6afe";
|
compatible = "qcom,q6afe";
|
||||||
reg = <APR_SVC_AFE>;
|
reg = <APR_SVC_AFE>;
|
||||||
|
|
||||||
dais {
|
|
||||||
compatible = "qcom,q6afe-dais";
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
dai@1 {
|
|
||||||
reg = <HDMI_RX>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@24 {
|
|
||||||
reg = <PRIMARY_TDM_RX_0>;
|
|
||||||
qcom,tdm-sync-mode = <1>:
|
|
||||||
qcom,tdm-sync-src = <1>;
|
|
||||||
qcom,tdm-data-out = <0>;
|
|
||||||
qcom,tdm-invert-sync = <1>;
|
|
||||||
qcom,tdm-data-delay = <1>;
|
|
||||||
qcom,tdm-data-align = <0>;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@25 {
|
|
||||||
reg = <PRIMARY_TDM_TX_0>;
|
|
||||||
qcom,tdm-sync-mode = <1>:
|
|
||||||
qcom,tdm-sync-src = <1>;
|
|
||||||
qcom,tdm-data-out = <0>;
|
|
||||||
qcom,tdm-invert-sync = <1>;
|
|
||||||
qcom,tdm-data-delay <1>:
|
|
||||||
qcom,tdm-data-align = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@16 {
|
|
||||||
reg = <PRIMARY_MI2S_RX>;
|
|
||||||
qcom,sd-lines = <0 2>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@17 {
|
|
||||||
reg = <PRIMARY_MI2S_TX>;
|
|
||||||
qcom,sd-lines = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@18 {
|
|
||||||
reg = <SECONDARY_MI2S_RX>;
|
|
||||||
qcom,sd-lines = <0 3>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@19 {
|
|
||||||
reg = <SECONDARY_MI2S_TX>;
|
|
||||||
qcom,sd-lines = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@20 {
|
|
||||||
reg = <TERTIARY_MI2S_RX>;
|
|
||||||
qcom,sd-lines = <1 3>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@21 {
|
|
||||||
reg = <TERTIARY_MI2S_TX>;
|
|
||||||
qcom,sd-lines = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@22 {
|
|
||||||
reg = <QUATERNARY_MI2S_RX>;
|
|
||||||
qcom,sd-lines = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dai@23 {
|
|
||||||
reg = <QUATERNARY_MI2S_TX>;
|
|
||||||
qcom,sd-lines = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
clocks {
|
|
||||||
compatible = "qcom,q6afe-clocks";
|
|
||||||
#clock-cells = <2>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/sound/qcom,q6apm-dai.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Qualcomm Audio Process Manager Digital Audio Interfaces binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This binding describes the Qualcomm APM DAIs in DSP
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qcom,q6apm-dais
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
iommus:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- iommus
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,gpr.h>
|
||||||
|
gpr {
|
||||||
|
compatible = "qcom,gpr";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||||
|
service@1 {
|
||||||
|
compatible = "qcom,q6apm";
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
apm-dai@1 {
|
||||||
|
compatible = "qcom,q6apm-dais";
|
||||||
|
iommus = <&apps_smmu 0x1801 0x0>;
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -14,7 +14,7 @@ used by the apr service device.
|
||||||
from DSP.
|
from DSP.
|
||||||
example "qcom,q6asm-v2.0"
|
example "qcom,q6asm-v2.0"
|
||||||
|
|
||||||
= ASM DAIs (Digial Audio Interface)
|
= ASM DAIs (Digital Audio Interface)
|
||||||
"dais" subnode of the ASM node represents dai specific configuration
|
"dais" subnode of the ASM node represents dai specific configuration
|
||||||
|
|
||||||
- compatible:
|
- compatible:
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-clocks.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Qualcomm DSP LPASS Clock Controller binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This binding describes the Qualcomm DSP Clock Controller
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,q6afe-clocks
|
||||||
|
- qcom,q6prm-lpass-clocks
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#clock-cells':
|
||||||
|
const: 2
|
||||||
|
description:
|
||||||
|
Clock Id is followed by clock coupling attributes.
|
||||||
|
1 = for no coupled clock
|
||||||
|
2 = for dividend of the coupled clock
|
||||||
|
3 = for divisor of the coupled clock
|
||||||
|
4 = for inverted and no couple clock
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#clock-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,apr.h>
|
||||||
|
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||||
|
apr {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
apr-service@4 {
|
||||||
|
reg = <APR_SVC_AFE>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
clock-controller@2 {
|
||||||
|
compatible = "qcom,q6afe-clocks";
|
||||||
|
reg = <2>;
|
||||||
|
#clock-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,gpr.h>
|
||||||
|
gpr {
|
||||||
|
compatible = "qcom,gpr";
|
||||||
|
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
service@2 {
|
||||||
|
reg = <GPR_PRM_MODULE_IID>;
|
||||||
|
compatible = "qcom,q6prm";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
clock-controller@2 {
|
||||||
|
compatible = "qcom,q6prm-lpass-clocks";
|
||||||
|
reg = <2>;
|
||||||
|
#clock-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,205 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This binding describes the Qualcomm DSP LPASS Audio ports
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,q6afe-dais
|
||||||
|
- qcom,q6apm-lpass-dais
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
#Digital Audio Interfaces
|
||||||
|
patternProperties:
|
||||||
|
'^dai@[0-9]+$':
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Q6DSP Digital Audio Interfaces.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
description:
|
||||||
|
Digital Audio Interface ID
|
||||||
|
|
||||||
|
qcom,sd-lines:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
List of serial data lines used by this dai.should be one or more of the 0-3 sd lines.
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 4
|
||||||
|
uniqueItems: true
|
||||||
|
items:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 3
|
||||||
|
|
||||||
|
qcom,tdm-sync-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2]
|
||||||
|
description:
|
||||||
|
TDM Synchronization mode
|
||||||
|
0 = Short sync bit mode
|
||||||
|
1 = Long sync mode
|
||||||
|
2 = Short sync slot mode
|
||||||
|
|
||||||
|
qcom,tdm-sync-src:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1]
|
||||||
|
description:
|
||||||
|
TDM Synchronization source
|
||||||
|
0 = External source
|
||||||
|
1 = Internal source
|
||||||
|
|
||||||
|
qcom,tdm-data-out:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1]
|
||||||
|
description:
|
||||||
|
TDM Data out signal to drive with other masters
|
||||||
|
0 = Disable
|
||||||
|
1 = Enable
|
||||||
|
|
||||||
|
qcom,tdm-invert-sync:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1]
|
||||||
|
description:
|
||||||
|
TDM Invert the sync
|
||||||
|
0 = Normal
|
||||||
|
1 = Invert
|
||||||
|
|
||||||
|
qcom,tdm-data-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2]
|
||||||
|
description:
|
||||||
|
TDM Number of bit clock to delay data
|
||||||
|
0 = 0 bit clock cycle
|
||||||
|
1 = 1 bit clock cycle
|
||||||
|
2 = 2 bit clock cycle
|
||||||
|
|
||||||
|
qcom,tdm-data-align:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1]
|
||||||
|
description:
|
||||||
|
Indicate how data is packed within the slot. For example, 32 slot
|
||||||
|
width in case of sample bit width is 24TDM Invert the sync.
|
||||||
|
0 = MSB
|
||||||
|
1 = LSB
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
contains:
|
||||||
|
# TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7
|
||||||
|
items:
|
||||||
|
minimum: 24
|
||||||
|
maximum: 103
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- qcom,tdm-sync-mode
|
||||||
|
- qcom,tdm-sync-src
|
||||||
|
- qcom,tdm-data-out
|
||||||
|
- qcom,tdm-invert-sync
|
||||||
|
- qcom,tdm-data-delay
|
||||||
|
- qcom,tdm-data-align
|
||||||
|
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
contains:
|
||||||
|
# MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and
|
||||||
|
# QUINARY_MI2S_RX - QUINARY_MI2S_TX
|
||||||
|
items:
|
||||||
|
oneOf:
|
||||||
|
- minimum: 16
|
||||||
|
maximum: 23
|
||||||
|
- minimum: 127
|
||||||
|
maximum: 128
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- qcom,sd-lines
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,apr.h>
|
||||||
|
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||||
|
apr {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
apr-service@4 {
|
||||||
|
reg = <APR_SVC_AFE>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
q6afedai@1 {
|
||||||
|
compatible = "qcom,q6afe-dais";
|
||||||
|
reg = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
|
dai@22 {
|
||||||
|
reg = <QUATERNARY_MI2S_RX>;
|
||||||
|
qcom,sd-lines = <0 1 2 3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/soc/qcom,gpr.h>
|
||||||
|
gpr {
|
||||||
|
compatible = "qcom,gpr";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
qcom,domain = <GPR_DOMAIN_ID_ADSP>;
|
||||||
|
service@1 {
|
||||||
|
compatible = "qcom,q6apm";
|
||||||
|
reg = <GPR_APM_MODULE_IID>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
q6apmdai@1 {
|
||||||
|
compatible = "qcom,q6apm-lpass-dais";
|
||||||
|
reg = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
|
dai@22 {
|
||||||
|
reg = <QUATERNARY_MI2S_RX>;
|
||||||
|
qcom,sd-lines = <0 1 2 3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,117 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/realtek,rt5682s.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Realtek rt5682s codec devicetree bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Derek Fang <derek.fang@realtek.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Rt5682s(ALC5682I-VS) is a rt5682i variant which supports I2C only.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: realtek,rt5682s
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: I2C address of the device.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
description: The CODEC's interrupt output.
|
||||||
|
|
||||||
|
realtek,dmic1-data-pin:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # dmic1 data is not used
|
||||||
|
- 1 # using GPIO2 pin as dmic1 data pin
|
||||||
|
- 2 # using GPIO5 pin as dmic1 data pin
|
||||||
|
description: |
|
||||||
|
Specify which GPIO pin be used as DMIC1 data pin.
|
||||||
|
|
||||||
|
realtek,dmic1-clk-pin:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # dmic1 clk is not used
|
||||||
|
- 1 # using GPIO1 pin as dmic1 clock pin
|
||||||
|
- 2 # using GPIO3 pin as dmic1 clock pin
|
||||||
|
description: |
|
||||||
|
Specify which GPIO pin be used as DMIC1 clk pin.
|
||||||
|
|
||||||
|
realtek,jd-src:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # No JD is used
|
||||||
|
- 1 # using JD1 as JD source
|
||||||
|
description: |
|
||||||
|
Specify which JD source be used.
|
||||||
|
|
||||||
|
realtek,ldo1-en-gpios:
|
||||||
|
description: |
|
||||||
|
The GPIO that controls the CODEC's LDO1_EN pin.
|
||||||
|
|
||||||
|
realtek,dmic-clk-rate-hz:
|
||||||
|
description: |
|
||||||
|
Set the clock rate (hz) for the requirement of the particular DMIC.
|
||||||
|
|
||||||
|
realtek,dmic-delay-ms:
|
||||||
|
description: |
|
||||||
|
Set the delay time (ms) for the requirement of the particular DMIC.
|
||||||
|
|
||||||
|
realtek,dmic-clk-driving-high:
|
||||||
|
type: boolean
|
||||||
|
description: |
|
||||||
|
Set the high driving of the DMIC clock out.
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: phandle and clock specifier for codec MCLK.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mclk
|
||||||
|
|
||||||
|
"#clock-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
clock-output-names:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
description: Name given for DAI word clock and bit clock outputs.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/tegra-gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@1a {
|
||||||
|
compatible = "realtek,rt5682s";
|
||||||
|
reg = <0x1a>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
realtek,ldo1-en-gpios =
|
||||||
|
<&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
|
||||||
|
realtek,dmic1-data-pin = <1>;
|
||||||
|
realtek,dmic1-clk-pin = <1>;
|
||||||
|
realtek,jd-src = <1>;
|
||||||
|
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "rt5682-dai-wclk", "rt5682-dai-bclk";
|
||||||
|
|
||||||
|
clocks = <&osc>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,59 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/richtek,rt9120.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Richtek RT9120 Class-D audio amplifier
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- ChiYuan Huang <cy_huang@richtek.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The RT9120 is a high efficiency, I2S-input, stereo audio power amplifier
|
||||||
|
delivering 2*20W into 8 Ohm BTL speaker loads. It supports the wide input
|
||||||
|
voltage range from 4.5V to 26.4V to meet the need on most common
|
||||||
|
applications like as TV, monitors. home entertainment, electronic music
|
||||||
|
equipment.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- richtek,rt9120
|
||||||
|
|
||||||
|
reg:
|
||||||
|
description: I2C device address
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
pwdnn-gpios:
|
||||||
|
description: GPIO used for power down, low active
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dvdd-supply:
|
||||||
|
description: |
|
||||||
|
Supply for the default on DVDD power, voltage domain must be 3P3V or 1P8V
|
||||||
|
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- dvdd-supply
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
rt9120@1a {
|
||||||
|
compatible = "richtek,rt9120";
|
||||||
|
reg = <0x1a>;
|
||||||
|
pwdnn-gpios = <&gpio26 2 0>;
|
||||||
|
dvdd-supply = <&vdd_io_reg>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,182 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/rockchip,i2s-tdm.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Rockchip I2S/TDM Controller
|
||||||
|
|
||||||
|
description:
|
||||||
|
The Rockchip I2S/TDM Controller is a Time Division Multiplexed
|
||||||
|
audio interface found in various Rockchip SoCs, allowing up
|
||||||
|
to 8 channels of audio over a serial interface.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- rockchip,px30-i2s-tdm
|
||||||
|
- rockchip,rk1808-i2s-tdm
|
||||||
|
- rockchip,rk3308-i2s-tdm
|
||||||
|
- rockchip,rk3568-i2s-tdm
|
||||||
|
- rockchip,rv1126-i2s-tdm
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- rx
|
||||||
|
- tx
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 3
|
||||||
|
items:
|
||||||
|
- description: clock for TX
|
||||||
|
- description: clock for RX
|
||||||
|
- description: AHB clock driving the interface
|
||||||
|
- description:
|
||||||
|
Parent clock for mclk_tx (only required when using mclk-calibrate)
|
||||||
|
- description:
|
||||||
|
Parent clock for mclk_rx (only required when using mclk-calibrate)
|
||||||
|
- description:
|
||||||
|
Clock for sample rates that are an integer multiple of 8000
|
||||||
|
(only required when using mclk-calibrate)
|
||||||
|
- description:
|
||||||
|
Clock for sample rates that are an integer multiple of 11025
|
||||||
|
(only required when using mclk-calibrate)
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 3
|
||||||
|
items:
|
||||||
|
- const: mclk_tx
|
||||||
|
- const: mclk_rx
|
||||||
|
- const: hclk
|
||||||
|
- const: mclk_tx_src
|
||||||
|
- const: mclk_rx_src
|
||||||
|
- const: mclk_root0
|
||||||
|
- const: mclk_root1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
description: resets for the tx and rx directions
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- tx-m
|
||||||
|
- rx-m
|
||||||
|
|
||||||
|
rockchip,grf:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
The phandle of the syscon node for the GRF register.
|
||||||
|
|
||||||
|
rockchip,trcm-sync-tx-only:
|
||||||
|
type: boolean
|
||||||
|
description: Use TX BCLK/LRCK for both TX and RX.
|
||||||
|
|
||||||
|
rockchip,trcm-sync-rx-only:
|
||||||
|
type: boolean
|
||||||
|
description: Use RX BCLK/LRCK for both TX and RX.
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
rockchip,i2s-rx-route:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
Defines the mapping of I2S RX sdis to I2S data bus lines.
|
||||||
|
By default, they are mapped one-to-one.
|
||||||
|
rockchip,i2s-rx-route = <3> would mean sdi3 is receiving from data0.
|
||||||
|
maxItems: 4
|
||||||
|
items:
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
|
||||||
|
rockchip,i2s-tx-route:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
Defines the mapping of I2S TX sdos to I2S data bus lines.
|
||||||
|
By default, they are mapped one-to-one.
|
||||||
|
rockchip,i2s-tx-route = <3> would mean sdo3 is sending to data0.
|
||||||
|
maxItems: 4
|
||||||
|
items:
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
|
||||||
|
rockchip,io-multiplex:
|
||||||
|
description:
|
||||||
|
Specify that the GPIO lines on the I2S bus are multiplexed such that
|
||||||
|
the direction (input/output) needs to be dynamically adjusted.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
- reset-names
|
||||||
|
- rockchip,grf
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/rk3568-cru.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/pinctrl/rockchip.h>
|
||||||
|
|
||||||
|
bus {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
i2s@fe410000 {
|
||||||
|
compatible = "rockchip,rk3568-i2s-tdm";
|
||||||
|
reg = <0x0 0xfe410000 0x0 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
|
||||||
|
<&cru HCLK_I2S1_8CH>;
|
||||||
|
clock-names = "mclk_tx", "mclk_rx", "hclk";
|
||||||
|
dmas = <&dmac1 3>, <&dmac1 2>;
|
||||||
|
dma-names = "rx", "tx";
|
||||||
|
resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
|
||||||
|
reset-names = "tx-m", "rx-m";
|
||||||
|
rockchip,trcm-sync-tx-only;
|
||||||
|
rockchip,grf = <&grf>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 =
|
||||||
|
<&i2s1m0_sclktx
|
||||||
|
&i2s1m0_sclkrx
|
||||||
|
&i2s1m0_lrcktx
|
||||||
|
&i2s1m0_lrckrx
|
||||||
|
&i2s1m0_sdi0
|
||||||
|
&i2s1m0_sdi1
|
||||||
|
&i2s1m0_sdi2
|
||||||
|
&i2s1m0_sdi3
|
||||||
|
&i2s1m0_sdo0
|
||||||
|
&i2s1m0_sdo1
|
||||||
|
&i2s1m0_sdo2
|
||||||
|
&i2s1m0_sdo3>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,46 +0,0 @@
|
||||||
* Rockchip PDM controller
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: "rockchip,pdm"
|
|
||||||
- "rockchip,px30-pdm"
|
|
||||||
- "rockchip,rk1808-pdm"
|
|
||||||
- "rockchip,rk3308-pdm"
|
|
||||||
- reg: physical base address of the controller and length of memory mapped
|
|
||||||
region.
|
|
||||||
- dmas: DMA specifiers for rx dma. See the DMA client binding,
|
|
||||||
Documentation/devicetree/bindings/dma/dma.txt
|
|
||||||
- dma-names: should include "rx".
|
|
||||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
|
||||||
- clock-names: should contain following:
|
|
||||||
- "pdm_hclk": clock for PDM BUS
|
|
||||||
- "pdm_clk" : clock for PDM controller
|
|
||||||
- resets: a list of phandle + reset-specifer paris, one for each entry in reset-names.
|
|
||||||
- reset-names: reset names, should include "pdm-m".
|
|
||||||
- pinctrl-names: Must contain a "default" entry.
|
|
||||||
- pinctrl-N: One property must exist for each entry in
|
|
||||||
pinctrl-names. See ../pinctrl/pinctrl-bindings.txt
|
|
||||||
for details of the property values.
|
|
||||||
|
|
||||||
Example for rk3328 PDM controller:
|
|
||||||
|
|
||||||
pdm: pdm@ff040000 {
|
|
||||||
compatible = "rockchip,pdm";
|
|
||||||
reg = <0x0 0xff040000 0x0 0x1000>;
|
|
||||||
clocks = <&clk_pdm>, <&clk_gates28 0>;
|
|
||||||
clock-names = "pdm_clk", "pdm_hclk";
|
|
||||||
dmas = <&pdma 16>;
|
|
||||||
#dma-cells = <1>;
|
|
||||||
dma-names = "rx";
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
pinctrl-0 = <&pdmm0_clk
|
|
||||||
&pdmm0_sdi0
|
|
||||||
&pdmm0_sdi1
|
|
||||||
&pdmm0_sdi2
|
|
||||||
&pdmm0_sdi3>;
|
|
||||||
pinctrl-1 = <&pdmm0_clk_sleep
|
|
||||||
&pdmm0_sdi0_sleep
|
|
||||||
&pdmm0_sdi1_sleep
|
|
||||||
&pdmm0_sdi2_sleep
|
|
||||||
&pdmm0_sdi3_sleep>;
|
|
||||||
};
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Rockchip PDM controller
|
||||||
|
|
||||||
|
description:
|
||||||
|
The Pulse Density Modulation Interface Controller (PDMC) is
|
||||||
|
a PDM interface controller and decoder that support PDM format.
|
||||||
|
It integrates a clock generator driving the PDM microphone
|
||||||
|
and embeds filters which decimate the incoming bit stream to
|
||||||
|
obtain most common audio rates.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Heiko Stuebner <heiko@sntech.de>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- rockchip,pdm
|
||||||
|
- rockchip,px30-pdm
|
||||||
|
- rockchip,rk1808-pdm
|
||||||
|
- rockchip,rk3308-pdm
|
||||||
|
- rockchip,rk3568-pdm
|
||||||
|
- rockchip,rv1126-pdm
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: clock for PDM controller
|
||||||
|
- description: clock for PDM BUS
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pdm_clk
|
||||||
|
- const: pdm_hclk
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
items:
|
||||||
|
- const: rx
|
||||||
|
|
||||||
|
power-domains:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
items:
|
||||||
|
- description: reset for PDM controller
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
items:
|
||||||
|
- const: pdm-m
|
||||||
|
|
||||||
|
rockchip,path-map:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
Defines the mapping of PDM SDIx to PDM PATHx.
|
||||||
|
By default, they are mapped one-to-one.
|
||||||
|
maxItems: 4
|
||||||
|
uniqueItems: true
|
||||||
|
items:
|
||||||
|
enum: [ 0, 1, 2, 3 ]
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- dmas
|
||||||
|
- dma-names
|
||||||
|
- "#sound-dai-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/rk3328-cru.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/pinctrl/rockchip.h>
|
||||||
|
|
||||||
|
bus {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
pdm@ff040000 {
|
||||||
|
compatible = "rockchip,pdm";
|
||||||
|
reg = <0x0 0xff040000 0x0 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
|
||||||
|
clock-names = "pdm_clk", "pdm_hclk";
|
||||||
|
dmas = <&dmac 16>;
|
||||||
|
dma-names = "rx";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
pinctrl-0 = <&pdmm0_clk
|
||||||
|
&pdmm0_sdi0
|
||||||
|
&pdmm0_sdi1
|
||||||
|
&pdmm0_sdi2
|
||||||
|
&pdmm0_sdi3>;
|
||||||
|
pinctrl-1 = <&pdmm0_clk_sleep
|
||||||
|
&pdmm0_sdi0_sleep
|
||||||
|
&pdmm0_sdi1_sleep
|
||||||
|
&pdmm0_sdi2_sleep
|
||||||
|
&pdmm0_sdi3_sleep>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -42,7 +42,7 @@ Optional properties:
|
||||||
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
|
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
|
||||||
- realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin.
|
- realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin.
|
||||||
|
|
||||||
- sound-name-prefix: Please refer to name-prefix.txt
|
- sound-name-prefix: Please refer to name-prefix.yaml
|
||||||
|
|
||||||
- ports: A Codec may have a single or multiple I2S interfaces. These
|
- ports: A Codec may have a single or multiple I2S interfaces. These
|
||||||
interfaces on Codec side can be described under 'ports' or 'port'.
|
interfaces on Codec side can be described under 'ports' or 'port'.
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
Simple Amplifier Audio Driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "dioo,dio2125" or "simple-audio-amplifier"
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- enable-gpios : the gpio connected to the enable pin of the simple amplifier
|
|
||||||
- VCC-supply : power supply for the device, as covered
|
|
||||||
in Documentation/devicetree/bindings/regulator/regulator.txt
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
amp: analog-amplifier {
|
|
||||||
compatible = "simple-audio-amplifier";
|
|
||||||
VCC-supply = <®ulator>;
|
|
||||||
enable-gpios = <&gpio GPIOH_3 0>;
|
|
||||||
};
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/simple-audio-amplifier.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Simple Audio Amplifier Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jerome Brunet <jbrunet@baylibre.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- dioo,dio2125
|
||||||
|
- simple-audio-amplifier
|
||||||
|
|
||||||
|
enable-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
VCC-supply:
|
||||||
|
description: >
|
||||||
|
power supply for the device
|
||||||
|
|
||||||
|
sound-name-prefix:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: >
|
||||||
|
See ./name-prefix.txt
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/meson8-gpio.h>
|
||||||
|
|
||||||
|
analog-amplifier {
|
||||||
|
compatible = "simple-audio-amplifier";
|
||||||
|
VCC-supply = <®ulator>;
|
||||||
|
enable-gpios = <&gpio GPIOH_3 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -13,6 +13,9 @@ description: |
|
||||||
Simple audio multiplexers are driven using gpios, allowing to select which of
|
Simple audio multiplexers are driven using gpios, allowing to select which of
|
||||||
their input line is connected to the output line.
|
their input line is connected to the output line.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: name-prefix.yaml#
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: simple-audio-mux
|
const: simple-audio-mux
|
||||||
|
@ -21,11 +24,7 @@ properties:
|
||||||
description: |
|
description: |
|
||||||
GPIOs used to select the input line.
|
GPIOs used to select the input line.
|
||||||
|
|
||||||
sound-name-prefix:
|
sound-name-prefix: true
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
|
||||||
description:
|
|
||||||
Used as prefix for sink/source names of the component. Must be a
|
|
||||||
unique string among multiple instances of the same component.
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
|
|
@ -46,7 +46,27 @@ properties:
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^port@[0-9]$":
|
"^port@[0-9]$":
|
||||||
description: FIXME, Need to define what each port is.
|
description: |
|
||||||
|
Port number of DT node is specified by the following DAI channels that
|
||||||
|
depends on SoC.
|
||||||
|
ld11-aio,ld20-aio:
|
||||||
|
0: hdmi
|
||||||
|
1: pcmin2
|
||||||
|
2: line
|
||||||
|
3: hpcmout1
|
||||||
|
4: pcmout3
|
||||||
|
5: hiecout1
|
||||||
|
6: epcmout2
|
||||||
|
7: epcmout3
|
||||||
|
8: hieccompout1
|
||||||
|
pxs2-aio:
|
||||||
|
0: hdmi
|
||||||
|
1: line
|
||||||
|
2: aux
|
||||||
|
3: hiecout1
|
||||||
|
4: iecout1
|
||||||
|
5: hieccompout1
|
||||||
|
6: ieccompout1
|
||||||
$ref: audio-graph-port.yaml#
|
$ref: audio-graph-port.yaml#
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,11 @@ properties:
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^port@[0-9]$":
|
"^port@[0-9]$":
|
||||||
description: FIXME, Need to define what each port is.
|
description: |
|
||||||
|
Port number of DT node is specified by the following DAI channels.
|
||||||
|
0: line1
|
||||||
|
1: hp
|
||||||
|
2: line2
|
||||||
$ref: audio-graph-port.yaml#
|
$ref: audio-graph-port.yaml#
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
Device-Tree bindings for dummy spdif transmitter
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be "linux,spdif-dit".
|
|
||||||
|
|
||||||
Example node:
|
|
||||||
|
|
||||||
codec: spdif-transmitter {
|
|
||||||
compatible = "linux,spdif-dit";
|
|
||||||
};
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/test-component.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Test Component Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- test-cpu
|
||||||
|
- test-cpu-verbose
|
||||||
|
- test-cpu-verbose-dai
|
||||||
|
- test-cpu-verbose-component
|
||||||
|
- test-codec
|
||||||
|
- test-codec-verbose
|
||||||
|
- test-codec-verbose-dai
|
||||||
|
- test-codec-verbose-component
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
additionalProperties: true
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
test_cpu {
|
||||||
|
compatible = "test-cpu";
|
||||||
|
};
|
|
@ -0,0 +1,118 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8962.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Wolfson WM8962 Ultra-Low Power Stereo CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8962
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#sound-dai-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
AVDD-supply:
|
||||||
|
description: Analogue supply.
|
||||||
|
|
||||||
|
CPVDD-supply:
|
||||||
|
description: Charge pump power supply.
|
||||||
|
|
||||||
|
DBVDD-supply:
|
||||||
|
description: Digital Buffer Supply.
|
||||||
|
|
||||||
|
DCVDD-supply:
|
||||||
|
description: Digital Core Supply.
|
||||||
|
|
||||||
|
MICVDD-supply:
|
||||||
|
description: Microphone bias amp supply.
|
||||||
|
|
||||||
|
PLLVDD-supply:
|
||||||
|
description: PLL Supply
|
||||||
|
|
||||||
|
SPKVDD1-supply:
|
||||||
|
description: Supply for left speaker drivers.
|
||||||
|
|
||||||
|
SPKVDD2-supply:
|
||||||
|
description: Supply for right speaker drivers.
|
||||||
|
|
||||||
|
spk-mono:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
If present, the SPK_MONO bit of R51 (Class D Control 2) gets set,
|
||||||
|
indicating that the speaker is in mono mode.
|
||||||
|
|
||||||
|
mic-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Default register value for R48 (Additional Control 4).
|
||||||
|
If absent, the default should be the register default.
|
||||||
|
|
||||||
|
gpio-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
minItems: 6
|
||||||
|
maxItems: 6
|
||||||
|
description:
|
||||||
|
A list of GPIO configuration register values. If absent, no
|
||||||
|
configuration of these registers is performed. Note that only values
|
||||||
|
within [0x0, 0xffff] are valid. Any other value is regarded as setting
|
||||||
|
the GPIO register to its reset value 0x0.
|
||||||
|
|
||||||
|
port:
|
||||||
|
$ref: audio-graph-port.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- AVDD-supply
|
||||||
|
- CPVDD-supply
|
||||||
|
- DBVDD-supply
|
||||||
|
- DCVDD-supply
|
||||||
|
- MICVDD-supply
|
||||||
|
- PLLVDD-supply
|
||||||
|
- SPKVDD1-supply
|
||||||
|
- SPKVDD2-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/imx6qdl-clock.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
wm8962: codec@1a {
|
||||||
|
compatible = "wlf,wm8962";
|
||||||
|
reg = <0x1a>;
|
||||||
|
clocks = <&clks IMX6QDL_CLK_CKO>;
|
||||||
|
DCVDD-supply = <®_audio>;
|
||||||
|
DBVDD-supply = <®_audio>;
|
||||||
|
AVDD-supply = <®_audio>;
|
||||||
|
CPVDD-supply = <®_audio>;
|
||||||
|
MICVDD-supply = <®_audio>;
|
||||||
|
PLLVDD-supply = <®_audio>;
|
||||||
|
SPKVDD1-supply = <®_audio>;
|
||||||
|
SPKVDD2-supply = <®_audio>;
|
||||||
|
gpio-cfg = <
|
||||||
|
0x0000 /* 0:Default */
|
||||||
|
0x0000 /* 1:Default */
|
||||||
|
0x0013 /* 2:FN_DMICCLK */
|
||||||
|
0x0000 /* 3:Default */
|
||||||
|
0x8014 /* 4:FN_DMICCDAT */
|
||||||
|
0x0000 /* 5:Default */
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,58 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Wolfson WM8978 Codec Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- patches@opensource.cirrus.com
|
||||||
|
|
||||||
|
properties:
|
||||||
|
'#sound-dai-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
const: wlf,wm8978
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 526000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- '#sound-dai-cells'
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@0 {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "wlf,wm8978";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <500000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@1a {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "wlf,wm8978";
|
||||||
|
reg = <0x1a>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -1,43 +0,0 @@
|
||||||
WM8962 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : "wlf,wm8962"
|
|
||||||
|
|
||||||
- reg : the I2C address of the device.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- clocks : The clock source of the mclk
|
|
||||||
|
|
||||||
- spk-mono: This is a boolean property. If present, the SPK_MONO bit
|
|
||||||
of R51 (Class D Control 2) gets set, indicating that the speaker is
|
|
||||||
in mono mode.
|
|
||||||
|
|
||||||
- mic-cfg : Default register value for R48 (Additional Control 4).
|
|
||||||
If absent, the default should be the register default.
|
|
||||||
|
|
||||||
- gpio-cfg : A list of GPIO configuration register values. The list must
|
|
||||||
be 6 entries long. If absent, no configuration of these registers is
|
|
||||||
performed. And note that only the value within [0x0, 0xffff] is valid.
|
|
||||||
Any other value is regarded as setting the GPIO register by its reset
|
|
||||||
value 0x0.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wm8962: codec@1a {
|
|
||||||
compatible = "wlf,wm8962";
|
|
||||||
reg = <0x1a>;
|
|
||||||
clocks = <&clks IMX6QDL_CLK_CKO>;
|
|
||||||
|
|
||||||
gpio-cfg = <
|
|
||||||
0x0000 /* 0:Default */
|
|
||||||
0x0000 /* 1:Default */
|
|
||||||
0x0013 /* 2:FN_DMICCLK */
|
|
||||||
0x0000 /* 3:Default */
|
|
||||||
0x8014 /* 4:FN_DMICCDAT */
|
|
||||||
0x0000 /* 5:Default */
|
|
||||||
>;
|
|
||||||
};
|
|
|
@ -171,7 +171,7 @@ examples:
|
||||||
cs-gpios = <&gpio0 13 0>,
|
cs-gpios = <&gpio0 13 0>,
|
||||||
<&gpio0 14 0>;
|
<&gpio0 14 0>;
|
||||||
rx-sample-delay-ns = <3>;
|
rx-sample-delay-ns = <3>;
|
||||||
spi-flash@1 {
|
flash@1 {
|
||||||
compatible = "spi-nand";
|
compatible = "spi-nand";
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
rx-sample-delay-ns = <7>;
|
rx-sample-delay-ns = <7>;
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/ufs/samsung,exynos-ufs.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Samsung SoC series UFS host controller Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Alim Akhtar <alim.akhtar@samsung.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Each Samsung UFS host controller instance should have its own node.
|
||||||
|
This binding define Samsung specific binding other then what is used
|
||||||
|
in the common ufshcd bindings
|
||||||
|
[1] Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
|
||||||
|
|
||||||
|
properties:
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- samsung,exynos7-ufs
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: HCI register
|
||||||
|
- description: vendor specific register
|
||||||
|
- description: unipro register
|
||||||
|
- description: UFS protector register
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
- const: hci
|
||||||
|
- const: vs_hci
|
||||||
|
- const: unipro
|
||||||
|
- const: ufsp
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: ufs link core clock
|
||||||
|
- description: unipro main clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: core_clk
|
||||||
|
- const: sclk_unipro_main
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
phys:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
phy-names:
|
||||||
|
const: ufs-phy
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- phys
|
||||||
|
- phy-names
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/clock/exynos7-clk.h>
|
||||||
|
|
||||||
|
ufs: ufs@15570000 {
|
||||||
|
compatible = "samsung,exynos7-ufs";
|
||||||
|
reg = <0x15570000 0x100>,
|
||||||
|
<0x15570100 0x100>,
|
||||||
|
<0x15571000 0x200>,
|
||||||
|
<0x15572000 0x300>;
|
||||||
|
reg-names = "hci", "vs_hci", "unipro", "ufsp";
|
||||||
|
interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clock_fsys1 ACLK_UFS20_LINK>,
|
||||||
|
<&clock_fsys1 SCLK_UFSUNIPRO20_USER>;
|
||||||
|
clock-names = "core_clk", "sclk_unipro_main";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
|
||||||
|
phys = <&ufs_phy>;
|
||||||
|
phy-names = "ufs-phy";
|
||||||
|
};
|
||||||
|
...
|
|
@ -4,103 +4,112 @@
|
||||||
NTFS3
|
NTFS3
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
|
||||||
Summary and Features
|
Summary and Features
|
||||||
====================
|
====================
|
||||||
|
|
||||||
NTFS3 is fully functional NTFS Read-Write driver. The driver works with
|
NTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
|
||||||
NTFS versions up to 3.1, normal/compressed/sparse files
|
versions up to 3.1. File system type to use on mount is *ntfs3*.
|
||||||
and journal replaying. File system type to use on mount is 'ntfs3'.
|
|
||||||
|
|
||||||
- This driver implements NTFS read/write support for normal, sparse and
|
- This driver implements NTFS read/write support for normal, sparse and
|
||||||
compressed files.
|
compressed files.
|
||||||
- Supports native journal replaying;
|
- Supports native journal replaying.
|
||||||
- Supports extended attributes
|
|
||||||
Predefined extended attributes:
|
|
||||||
- 'system.ntfs_security' gets/sets security
|
|
||||||
descriptor (SECURITY_DESCRIPTOR_RELATIVE)
|
|
||||||
- 'system.ntfs_attrib' gets/sets ntfs file/dir attributes.
|
|
||||||
Note: applied to empty files, this allows to switch type between
|
|
||||||
sparse(0x200), compressed(0x800) and normal;
|
|
||||||
- Supports NFS export of mounted NTFS volumes.
|
- Supports NFS export of mounted NTFS volumes.
|
||||||
|
- Supports extended attributes. Predefined extended attributes:
|
||||||
|
|
||||||
|
- *system.ntfs_security* gets/sets security
|
||||||
|
|
||||||
|
Descriptor: SECURITY_DESCRIPTOR_RELATIVE
|
||||||
|
|
||||||
|
- *system.ntfs_attrib* gets/sets ntfs file/dir attributes.
|
||||||
|
|
||||||
|
Note: Applied to empty files, this allows to switch type between
|
||||||
|
sparse(0x200), compressed(0x800) and normal.
|
||||||
|
|
||||||
Mount Options
|
Mount Options
|
||||||
=============
|
=============
|
||||||
|
|
||||||
The list below describes mount options supported by NTFS3 driver in addition to
|
The list below describes mount options supported by NTFS3 driver in addition to
|
||||||
generic ones.
|
generic ones. You can use every mount option with **no** option. If it is in
|
||||||
|
this table marked with no it means default is without **no**.
|
||||||
|
|
||||||
===============================================================================
|
.. flat-table::
|
||||||
|
:widths: 1 5
|
||||||
|
:fill-cells:
|
||||||
|
|
||||||
nls=name This option informs the driver how to interpret path
|
* - iocharset=name
|
||||||
strings and translate them to Unicode and back. If
|
- This option informs the driver how to interpret path strings and
|
||||||
this option is not set, the default codepage will be
|
translate them to Unicode and back. If this option is not set, the
|
||||||
used (CONFIG_NLS_DEFAULT).
|
default codepage will be used (CONFIG_NLS_DEFAULT).
|
||||||
Examples:
|
|
||||||
'nls=utf8'
|
|
||||||
|
|
||||||
uid=
|
Example: iocharset=utf8
|
||||||
gid=
|
|
||||||
umask= Controls the default permissions for files/directories created
|
|
||||||
after the NTFS volume is mounted.
|
|
||||||
|
|
||||||
fmask=
|
* - uid=
|
||||||
dmask= Instead of specifying umask which applies both to
|
- :rspan:`1`
|
||||||
files and directories, fmask applies only to files and
|
* - gid=
|
||||||
dmask only to directories.
|
|
||||||
|
|
||||||
nohidden Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN)
|
* - umask=
|
||||||
attribute will not be shown under Linux.
|
- Controls the default permissions for files/directories created after
|
||||||
|
the NTFS volume is mounted.
|
||||||
|
|
||||||
sys_immutable Files with the Windows-specific SYSTEM
|
* - dmask=
|
||||||
(FILE_ATTRIBUTE_SYSTEM) attribute will be marked as system
|
- :rspan:`1` Instead of specifying umask which applies both to files and
|
||||||
immutable files.
|
directories, fmask applies only to files and dmask only to directories.
|
||||||
|
* - fmask=
|
||||||
|
|
||||||
discard Enable support of the TRIM command for improved performance
|
* - noacsrules
|
||||||
on delete operations, which is recommended for use with the
|
- "No access rules" mount option sets access rights for files/folders to
|
||||||
solid-state drives (SSD).
|
777 and owner/group to root. This mount option absorbs all other
|
||||||
|
permissions.
|
||||||
|
|
||||||
force Forces the driver to mount partitions even if 'dirty' flag
|
- Permissions change for files/folders will be reported as successful,
|
||||||
(volume dirty) is set. Not recommended for use.
|
but they will remain 777.
|
||||||
|
|
||||||
sparse Create new files as "sparse".
|
- Owner/group change will be reported as successful, butthey will stay
|
||||||
|
as root.
|
||||||
|
|
||||||
showmeta Use this parameter to show all meta-files (System Files) on
|
* - nohidden
|
||||||
a mounted NTFS partition.
|
- Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
|
||||||
By default, all meta-files are hidden.
|
will not be shown under Linux.
|
||||||
|
|
||||||
prealloc Preallocate space for files excessively when file size is
|
* - sys_immutable
|
||||||
increasing on writes. Decreases fragmentation in case of
|
- Files with the Windows-specific SYSTEM (FILE_ATTRIBUTE_SYSTEM) attribute
|
||||||
parallel write operations to different files.
|
will be marked as system immutable files.
|
||||||
|
|
||||||
no_acs_rules "No access rules" mount option sets access rights for
|
* - discard
|
||||||
files/folders to 777 and owner/group to root. This mount
|
- Enable support of the TRIM command for improved performance on delete
|
||||||
option absorbs all other permissions:
|
operations, which is recommended for use with the solid-state drives
|
||||||
- permissions change for files/folders will be reported
|
(SSD).
|
||||||
as successful, but they will remain 777;
|
|
||||||
- owner/group change will be reported as successful, but
|
|
||||||
they will stay as root
|
|
||||||
|
|
||||||
acl Support POSIX ACLs (Access Control Lists). Effective if
|
* - force
|
||||||
supported by Kernel. Not to be confused with NTFS ACLs.
|
- Forces the driver to mount partitions even if volume is marked dirty.
|
||||||
The option specified as acl enables support for POSIX ACLs.
|
Not recommended for use.
|
||||||
|
|
||||||
noatime All files and directories will not update their last access
|
* - sparse
|
||||||
time attribute if a partition is mounted with this parameter.
|
- Create new files as sparse.
|
||||||
This option can speed up file system operation.
|
|
||||||
|
|
||||||
===============================================================================
|
* - showmeta
|
||||||
|
- Use this parameter to show all meta-files (System Files) on a mounted
|
||||||
|
NTFS partition. By default, all meta-files are hidden.
|
||||||
|
|
||||||
ToDo list
|
* - prealloc
|
||||||
|
- Preallocate space for files excessively when file size is increasing on
|
||||||
|
writes. Decreases fragmentation in case of parallel write operations to
|
||||||
|
different files.
|
||||||
|
|
||||||
|
* - acl
|
||||||
|
- Support POSIX ACLs (Access Control Lists). Effective if supported by
|
||||||
|
Kernel. Not to be confused with NTFS ACLs. The option specified as acl
|
||||||
|
enables support for POSIX ACLs.
|
||||||
|
|
||||||
|
Todo list
|
||||||
=========
|
=========
|
||||||
|
- Full journaling support over JBD. Currently journal replaying is supported
|
||||||
- Full journaling support (currently journal replaying is supported) over JBD.
|
which is not necessarily as effectice as JBD would be.
|
||||||
|
|
||||||
|
|
||||||
References
|
References
|
||||||
==========
|
==========
|
||||||
https://www.paragon-software.com/home/ntfs-linux-professional/
|
- Commercial version of the NTFS driver for Linux.
|
||||||
- Commercial version of the NTFS driver for Linux.
|
https://www.paragon-software.com/home/ntfs-linux-professional/
|
||||||
|
|
||||||
almaz.alexandrovich@paragon-software.com
|
- Direct e-mail address for feedback and requests on the NTFS3 implementation.
|
||||||
- Direct e-mail address for feedback and requests on the NTFS3 implementation.
|
almaz.alexandrovich@paragon-software.com
|
||||||
|
|
|
@ -300,8 +300,8 @@ pcie_replay_count
|
||||||
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
|
||||||
:doc: pcie_replay_count
|
:doc: pcie_replay_count
|
||||||
|
|
||||||
+GPU SmartShift Information
|
GPU SmartShift Information
|
||||||
============================
|
==========================
|
||||||
|
|
||||||
GPU SmartShift information via sysfs
|
GPU SmartShift information via sysfs
|
||||||
|
|
||||||
|
|
|
@ -111,15 +111,6 @@ Component Helper Usage
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_drv.c
|
.. kernel-doc:: drivers/gpu/drm/drm_drv.c
|
||||||
:doc: component helper usage recommendations
|
:doc: component helper usage recommendations
|
||||||
|
|
||||||
IRQ Helper Library
|
|
||||||
~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_irq.c
|
|
||||||
:doc: irq helpers
|
|
||||||
|
|
||||||
.. kernel-doc:: drivers/gpu/drm/drm_irq.c
|
|
||||||
:export:
|
|
||||||
|
|
||||||
Memory Manager Initialization
|
Memory Manager Initialization
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -132,20 +132,3 @@ On Family 17h and Family 18h CPUs, additional temperature sensors may report
|
||||||
Core Complex Die (CCD) temperatures. Up to 8 such temperatures are reported
|
Core Complex Die (CCD) temperatures. Up to 8 such temperatures are reported
|
||||||
as temp{3..10}_input, labeled Tccd{1..8}. Actual support depends on the CPU
|
as temp{3..10}_input, labeled Tccd{1..8}. Actual support depends on the CPU
|
||||||
variant.
|
variant.
|
||||||
|
|
||||||
Various Family 17h and 18h CPUs report voltage and current telemetry
|
|
||||||
information. The following attributes may be reported.
|
|
||||||
|
|
||||||
Attribute Label Description
|
|
||||||
=============== ======= ================
|
|
||||||
in0_input Vcore Core voltage
|
|
||||||
in1_input Vsoc SoC voltage
|
|
||||||
curr1_input Icore Core current
|
|
||||||
curr2_input Isoc SoC current
|
|
||||||
=============== ======= ================
|
|
||||||
|
|
||||||
Current values are raw (unscaled) as reported by the CPU. Core current is
|
|
||||||
reported as multiples of 1A / LSB. SoC is reported as multiples of 0.25A
|
|
||||||
/ LSB. The real current is board specific. Reported currents should be seen
|
|
||||||
as rough guidance, and should be scaled using sensors3.conf as appropriate
|
|
||||||
for a given board.
|
|
||||||
|
|
|
@ -851,7 +851,7 @@ NOTES:
|
||||||
- 0x88A8 traffic will not be received unless VLAN stripping is disabled with
|
- 0x88A8 traffic will not be received unless VLAN stripping is disabled with
|
||||||
the following command::
|
the following command::
|
||||||
|
|
||||||
# ethool -K <ethX> rxvlan off
|
# ethtool -K <ethX> rxvlan off
|
||||||
|
|
||||||
- 0x88A8/0x8100 double VLANs cannot be used with 0x8100 or 0x8100/0x8100 VLANS
|
- 0x88A8/0x8100 double VLANs cannot be used with 0x8100 or 0x8100/0x8100 VLANS
|
||||||
configured on the same port. 0x88a8/0x8100 traffic will not be received if
|
configured on the same port. 0x88a8/0x8100 traffic will not be received if
|
||||||
|
|
|
@ -296,7 +296,7 @@ not available.
|
||||||
Device Tree bindings and board design
|
Device Tree bindings and board design
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
This section references ``Documentation/devicetree/bindings/net/dsa/sja1105.txt``
|
This section references ``Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml``
|
||||||
and aims to showcase some potential switch caveats.
|
and aims to showcase some potential switch caveats.
|
||||||
|
|
||||||
RMII PHY role and out-of-band signaling
|
RMII PHY role and out-of-band signaling
|
||||||
|
|
|
@ -29,7 +29,7 @@ you probably needn't concern yourself with pcmciautils.
|
||||||
====================== =============== ========================================
|
====================== =============== ========================================
|
||||||
Program Minimal version Command to check the version
|
Program Minimal version Command to check the version
|
||||||
====================== =============== ========================================
|
====================== =============== ========================================
|
||||||
GNU C 4.9 gcc --version
|
GNU C 5.1 gcc --version
|
||||||
Clang/LLVM (optional) 10.0.1 clang --version
|
Clang/LLVM (optional) 10.0.1 clang --version
|
||||||
GNU make 3.81 make --version
|
GNU make 3.81 make --version
|
||||||
binutils 2.23 ld -v
|
binutils 2.23 ld -v
|
||||||
|
|
|
@ -100,6 +100,15 @@ amidi_map
|
||||||
MIDI device number maps assigned to the 2st OSS device;
|
MIDI device number maps assigned to the 2st OSS device;
|
||||||
Default: 1
|
Default: 1
|
||||||
|
|
||||||
|
Module snd-soc-core
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The soc core module. It is used by all ALSA card drivers.
|
||||||
|
It takes the following options which have global effects.
|
||||||
|
|
||||||
|
prealloc_buffer_size_kbytes
|
||||||
|
Specify prealloc buffer size in kbytes (default: 512).
|
||||||
|
|
||||||
Common parameters for top sound card modules
|
Common parameters for top sound card modules
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ e.g.
|
||||||
.prepare = wm8731_pcm_prepare,
|
.prepare = wm8731_pcm_prepare,
|
||||||
.hw_params = wm8731_hw_params,
|
.hw_params = wm8731_hw_params,
|
||||||
.shutdown = wm8731_shutdown,
|
.shutdown = wm8731_shutdown,
|
||||||
.digital_mute = wm8731_mute,
|
.mute_stream = wm8731_mute,
|
||||||
.set_sysclk = wm8731_set_dai_sysclk,
|
.set_sysclk = wm8731_set_dai_sysclk,
|
||||||
.set_fmt = wm8731_set_dai_fmt,
|
.set_fmt = wm8731_set_dai_fmt,
|
||||||
};
|
};
|
||||||
|
@ -60,7 +60,7 @@ e.g.
|
||||||
.rates = WM8731_RATES,
|
.rates = WM8731_RATES,
|
||||||
.formats = WM8731_FORMATS,},
|
.formats = WM8731_FORMATS,},
|
||||||
.ops = &wm8731_dai_ops,
|
.ops = &wm8731_dai_ops,
|
||||||
.symmetric_rates = 1,
|
.symmetric_rate = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -177,10 +177,10 @@ when the mute is applied or freed.
|
||||||
i.e.
|
i.e.
|
||||||
::
|
::
|
||||||
|
|
||||||
static int wm8974_mute(struct snd_soc_dai *dai, int mute)
|
static int wm8974_mute(struct snd_soc_dai *dai, int mute, int direction)
|
||||||
{
|
{
|
||||||
struct snd_soc_component *component = dai->component;
|
struct snd_soc_component *component = dai->component;
|
||||||
u16 mute_reg = snd_soc_component_read32(component, WM8974_DAC) & 0xffbf;
|
u16 mute_reg = snd_soc_component_read(component, WM8974_DAC) & 0xffbf;
|
||||||
|
|
||||||
if (mute)
|
if (mute)
|
||||||
snd_soc_component_write(component, WM8974_DAC, mute_reg | 0x40);
|
snd_soc_component_write(component, WM8974_DAC, mute_reg | 0x40);
|
||||||
|
|
|
@ -223,7 +223,7 @@ Linux内核5.x版本 <http://kernel.org/>
|
||||||
编译内核
|
编译内核
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- 确保您至少有gcc 4.9可用。
|
- 确保您至少有gcc 5.1可用。
|
||||||
有关更多信息,请参阅 :ref:`Documentation/process/changes.rst <changes>` 。
|
有关更多信息,请参阅 :ref:`Documentation/process/changes.rst <changes>` 。
|
||||||
|
|
||||||
请注意,您仍然可以使用此内核运行a.out用户程序。
|
请注意,您仍然可以使用此内核运行a.out用户程序。
|
||||||
|
|
|
@ -226,7 +226,7 @@ Linux內核5.x版本 <http://kernel.org/>
|
||||||
編譯內核
|
編譯內核
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- 確保您至少有gcc 4.9可用。
|
- 確保您至少有gcc 5.1可用。
|
||||||
有關更多信息,請參閱 :ref:`Documentation/process/changes.rst <changes>` 。
|
有關更多信息,請參閱 :ref:`Documentation/process/changes.rst <changes>` 。
|
||||||
|
|
||||||
請注意,您仍然可以使用此內核運行a.out用戶程序。
|
請注意,您仍然可以使用此內核運行a.out用戶程序。
|
||||||
|
|
|
@ -18,7 +18,7 @@ types can be added after the security issue of corresponding device driver
|
||||||
is clarified or fixed in the future.
|
is clarified or fixed in the future.
|
||||||
|
|
||||||
Create/Destroy VDUSE devices
|
Create/Destroy VDUSE devices
|
||||||
------------------------
|
----------------------------
|
||||||
|
|
||||||
VDUSE devices are created as follows:
|
VDUSE devices are created as follows:
|
||||||
|
|
||||||
|
|
106
MAINTAINERS
106
MAINTAINERS
|
@ -414,7 +414,8 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
|
||||||
F: drivers/acpi/pmic/
|
F: drivers/acpi/pmic/
|
||||||
|
|
||||||
ACPI THERMAL DRIVER
|
ACPI THERMAL DRIVER
|
||||||
M: Zhang Rui <rui.zhang@intel.com>
|
M: Rafael J. Wysocki <rafael@kernel.org>
|
||||||
|
R: Zhang Rui <rui.zhang@intel.com>
|
||||||
L: linux-acpi@vger.kernel.org
|
L: linux-acpi@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://01.org/linux-acpi
|
W: https://01.org/linux-acpi
|
||||||
|
@ -810,7 +811,7 @@ F: Documentation/devicetree/bindings/dma/altr,msgdma.yaml
|
||||||
F: drivers/dma/altera-msgdma.c
|
F: drivers/dma/altera-msgdma.c
|
||||||
|
|
||||||
ALTERA PIO DRIVER
|
ALTERA PIO DRIVER
|
||||||
M: Joyce Ooi <joyce.ooi@intel.com>
|
M: Mun Yew Tham <mun.yew.tham@intel.com>
|
||||||
L: linux-gpio@vger.kernel.org
|
L: linux-gpio@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/gpio/gpio-altera.c
|
F: drivers/gpio/gpio-altera.c
|
||||||
|
@ -977,12 +978,12 @@ L: platform-driver-x86@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/platform/x86/amd-pmc.*
|
F: drivers/platform/x86/amd-pmc.*
|
||||||
|
|
||||||
AMD POWERPLAY
|
AMD POWERPLAY AND SWSMU
|
||||||
M: Evan Quan <evan.quan@amd.com>
|
M: Evan Quan <evan.quan@amd.com>
|
||||||
L: amd-gfx@lists.freedesktop.org
|
L: amd-gfx@lists.freedesktop.org
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git https://gitlab.freedesktop.org/agd5f/linux.git
|
T: git https://gitlab.freedesktop.org/agd5f/linux.git
|
||||||
F: drivers/gpu/drm/amd/pm/powerplay/
|
F: drivers/gpu/drm/amd/pm/
|
||||||
|
|
||||||
AMD PTDMA DRIVER
|
AMD PTDMA DRIVER
|
||||||
M: Sanjay R Mehta <sanju.mehta@amd.com>
|
M: Sanjay R Mehta <sanju.mehta@amd.com>
|
||||||
|
@ -1275,6 +1276,7 @@ F: drivers/input/mouse/bcm5974.c
|
||||||
|
|
||||||
APPLE DART IOMMU DRIVER
|
APPLE DART IOMMU DRIVER
|
||||||
M: Sven Peter <sven@svenpeter.dev>
|
M: Sven Peter <sven@svenpeter.dev>
|
||||||
|
R: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
|
F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
|
||||||
|
@ -1711,6 +1713,8 @@ F: drivers/*/*alpine*
|
||||||
|
|
||||||
ARM/APPLE MACHINE SUPPORT
|
ARM/APPLE MACHINE SUPPORT
|
||||||
M: Hector Martin <marcan@marcan.st>
|
M: Hector Martin <marcan@marcan.st>
|
||||||
|
M: Sven Peter <sven@svenpeter.dev>
|
||||||
|
R: Alyssa Rosenzweig <alyssa@rosenzweig.io>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: https://asahilinux.org
|
W: https://asahilinux.org
|
||||||
|
@ -2236,6 +2240,7 @@ F: arch/arm/mach-pxa/mioa701.c
|
||||||
|
|
||||||
ARM/MStar/Sigmastar Armv7 SoC support
|
ARM/MStar/Sigmastar Armv7 SoC support
|
||||||
M: Daniel Palmer <daniel@thingy.jp>
|
M: Daniel Palmer <daniel@thingy.jp>
|
||||||
|
M: Romain Perier <romain.perier@gmail.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://linux-chenxing.org/
|
W: http://linux-chenxing.org/
|
||||||
|
@ -2712,6 +2717,7 @@ F: drivers/power/reset/keystone-reset.c
|
||||||
|
|
||||||
ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE
|
ARM/TEXAS INSTRUMENTS K3 ARCHITECTURE
|
||||||
M: Nishanth Menon <nm@ti.com>
|
M: Nishanth Menon <nm@ti.com>
|
||||||
|
M: Vignesh Raghavendra <vigneshr@ti.com>
|
||||||
M: Tero Kristo <kristo@kernel.org>
|
M: Tero Kristo <kristo@kernel.org>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
|
@ -2804,9 +2810,8 @@ F: arch/arm/mach-pxa/include/mach/vpac270.h
|
||||||
F: arch/arm/mach-pxa/vpac270.c
|
F: arch/arm/mach-pxa/vpac270.c
|
||||||
|
|
||||||
ARM/VT8500 ARM ARCHITECTURE
|
ARM/VT8500 ARM ARCHITECTURE
|
||||||
M: Tony Prisk <linux@prisktech.co.nz>
|
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Orphan
|
||||||
F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
|
F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
|
||||||
F: arch/arm/mach-vt8500/
|
F: arch/arm/mach-vt8500/
|
||||||
F: drivers/clocksource/timer-vt8500.c
|
F: drivers/clocksource/timer-vt8500.c
|
||||||
|
@ -2962,7 +2967,7 @@ F: crypto/async_tx/
|
||||||
F: include/linux/async_tx.h
|
F: include/linux/async_tx.h
|
||||||
|
|
||||||
AT24 EEPROM DRIVER
|
AT24 EEPROM DRIVER
|
||||||
M: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
M: Bartosz Golaszewski <brgl@bgdev.pl>
|
||||||
L: linux-i2c@vger.kernel.org
|
L: linux-i2c@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
|
||||||
|
@ -3385,9 +3390,11 @@ F: Documentation/networking/filter.rst
|
||||||
F: Documentation/userspace-api/ebpf/
|
F: Documentation/userspace-api/ebpf/
|
||||||
F: arch/*/net/*
|
F: arch/*/net/*
|
||||||
F: include/linux/bpf*
|
F: include/linux/bpf*
|
||||||
|
F: include/linux/btf*
|
||||||
F: include/linux/filter.h
|
F: include/linux/filter.h
|
||||||
F: include/trace/events/xdp.h
|
F: include/trace/events/xdp.h
|
||||||
F: include/uapi/linux/bpf*
|
F: include/uapi/linux/bpf*
|
||||||
|
F: include/uapi/linux/btf*
|
||||||
F: include/uapi/linux/filter.h
|
F: include/uapi/linux/filter.h
|
||||||
F: kernel/bpf/
|
F: kernel/bpf/
|
||||||
F: kernel/trace/bpf_trace.c
|
F: kernel/trace/bpf_trace.c
|
||||||
|
@ -3821,7 +3828,6 @@ F: drivers/scsi/mpi3mr/
|
||||||
|
|
||||||
BROADCOM NETXTREME-E ROCE DRIVER
|
BROADCOM NETXTREME-E ROCE DRIVER
|
||||||
M: Selvin Xavier <selvin.xavier@broadcom.com>
|
M: Selvin Xavier <selvin.xavier@broadcom.com>
|
||||||
M: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com>
|
|
||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.broadcom.com
|
W: http://www.broadcom.com
|
||||||
|
@ -4445,6 +4451,17 @@ L: patches@opensource.cirrus.com
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: sound/soc/codecs/cs*
|
F: sound/soc/codecs/cs*
|
||||||
|
|
||||||
|
CIRRUS LOGIC DSP FIRMWARE DRIVER
|
||||||
|
M: Simon Trimmer <simont@opensource.cirrus.com>
|
||||||
|
M: Charles Keepax <ckeepax@opensource.cirrus.com>
|
||||||
|
M: Richard Fitzgerald <rf@opensource.cirrus.com>
|
||||||
|
L: patches@opensource.cirrus.com
|
||||||
|
S: Supported
|
||||||
|
W: https://github.com/CirrusLogic/linux-drivers/wiki
|
||||||
|
T: git https://github.com/CirrusLogic/linux-drivers.git
|
||||||
|
F: drivers/firmware/cirrus/*
|
||||||
|
F: include/linux/firmware/cirrus/*
|
||||||
|
|
||||||
CIRRUS LOGIC EP93XX ETHERNET DRIVER
|
CIRRUS LOGIC EP93XX ETHERNET DRIVER
|
||||||
M: Hartley Sweeten <hsweeten@visionengravers.com>
|
M: Hartley Sweeten <hsweeten@visionengravers.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
|
@ -4656,7 +4673,7 @@ W: http://linux-cifs.samba.org/
|
||||||
T: git git://git.samba.org/sfrench/cifs-2.6.git
|
T: git git://git.samba.org/sfrench/cifs-2.6.git
|
||||||
F: Documentation/admin-guide/cifs/
|
F: Documentation/admin-guide/cifs/
|
||||||
F: fs/cifs/
|
F: fs/cifs/
|
||||||
F: fs/cifs_common/
|
F: fs/smbfs_common/
|
||||||
|
|
||||||
COMPACTPCI HOTPLUG CORE
|
COMPACTPCI HOTPLUG CORE
|
||||||
M: Scott Murray <scott@spiteful.org>
|
M: Scott Murray <scott@spiteful.org>
|
||||||
|
@ -7337,10 +7354,11 @@ F: include/uapi/linux/fpga-dfl.h
|
||||||
|
|
||||||
FPGA MANAGER FRAMEWORK
|
FPGA MANAGER FRAMEWORK
|
||||||
M: Moritz Fischer <mdf@kernel.org>
|
M: Moritz Fischer <mdf@kernel.org>
|
||||||
|
M: Wu Hao <hao.wu@intel.com>
|
||||||
|
M: Xu Yilun <yilun.xu@intel.com>
|
||||||
R: Tom Rix <trix@redhat.com>
|
R: Tom Rix <trix@redhat.com>
|
||||||
L: linux-fpga@vger.kernel.org
|
L: linux-fpga@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://www.rocketboards.org
|
|
||||||
Q: http://patchwork.kernel.org/project/linux-fpga/list/
|
Q: http://patchwork.kernel.org/project/linux-fpga/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux-fpga.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux-fpga.git
|
||||||
F: Documentation/devicetree/bindings/fpga/
|
F: Documentation/devicetree/bindings/fpga/
|
||||||
|
@ -7434,7 +7452,7 @@ FREESCALE IMX / MXC FEC DRIVER
|
||||||
M: Joakim Zhang <qiangqing.zhang@nxp.com>
|
M: Joakim Zhang <qiangqing.zhang@nxp.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/net/fsl-fec.txt
|
F: Documentation/devicetree/bindings/net/fsl,fec.yaml
|
||||||
F: drivers/net/ethernet/freescale/fec.h
|
F: drivers/net/ethernet/freescale/fec.h
|
||||||
F: drivers/net/ethernet/freescale/fec_main.c
|
F: drivers/net/ethernet/freescale/fec_main.c
|
||||||
F: drivers/net/ethernet/freescale/fec_ptp.c
|
F: drivers/net/ethernet/freescale/fec_ptp.c
|
||||||
|
@ -7986,7 +8004,7 @@ F: include/linux/gpio/regmap.h
|
||||||
|
|
||||||
GPIO SUBSYSTEM
|
GPIO SUBSYSTEM
|
||||||
M: Linus Walleij <linus.walleij@linaro.org>
|
M: Linus Walleij <linus.walleij@linaro.org>
|
||||||
M: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
M: Bartosz Golaszewski <brgl@bgdev.pl>
|
||||||
L: linux-gpio@vger.kernel.org
|
L: linux-gpio@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
|
||||||
|
@ -8608,9 +8626,8 @@ F: Documentation/devicetree/bindings/iio/humidity/st,hts221.yaml
|
||||||
F: drivers/iio/humidity/hts221*
|
F: drivers/iio/humidity/hts221*
|
||||||
|
|
||||||
HUAWEI ETHERNET DRIVER
|
HUAWEI ETHERNET DRIVER
|
||||||
M: Bin Luo <luobin9@huawei.com>
|
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Orphan
|
||||||
F: Documentation/networking/device_drivers/ethernet/huawei/hinic.rst
|
F: Documentation/networking/device_drivers/ethernet/huawei/hinic.rst
|
||||||
F: drivers/net/ethernet/huawei/hinic/
|
F: drivers/net/ethernet/huawei/hinic/
|
||||||
|
|
||||||
|
@ -9302,7 +9319,7 @@ S: Maintained
|
||||||
F: drivers/platform/x86/intel/atomisp2/led.c
|
F: drivers/platform/x86/intel/atomisp2/led.c
|
||||||
|
|
||||||
INTEL BIOS SAR INT1092 DRIVER
|
INTEL BIOS SAR INT1092 DRIVER
|
||||||
M: Shravan S <s.shravan@intel.com>
|
M: Shravan Sudhakar <s.shravan@intel.com>
|
||||||
M: Intel Corporation <linuxwwan@intel.com>
|
M: Intel Corporation <linuxwwan@intel.com>
|
||||||
L: platform-driver-x86@vger.kernel.org
|
L: platform-driver-x86@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
@ -9624,7 +9641,7 @@ F: include/uapi/linux/isst_if.h
|
||||||
F: tools/power/x86/intel-speed-select/
|
F: tools/power/x86/intel-speed-select/
|
||||||
|
|
||||||
INTEL STRATIX10 FIRMWARE DRIVERS
|
INTEL STRATIX10 FIRMWARE DRIVERS
|
||||||
M: Richard Gong <richard.gong@linux.intel.com>
|
M: Dinh Nguyen <dinguyen@kernel.org>
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/ABI/testing/sysfs-devices-platform-stratix10-rsu
|
F: Documentation/ABI/testing/sysfs-devices-platform-stratix10-rsu
|
||||||
|
@ -10194,8 +10211,8 @@ M: Hyunchul Lee <hyc.lee@gmail.com>
|
||||||
L: linux-cifs@vger.kernel.org
|
L: linux-cifs@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.samba.org/ksmbd.git
|
T: git git://git.samba.org/ksmbd.git
|
||||||
F: fs/cifs_common/
|
|
||||||
F: fs/ksmbd/
|
F: fs/ksmbd/
|
||||||
|
F: fs/smbfs_common/
|
||||||
|
|
||||||
KERNEL UNIT TESTING FRAMEWORK (KUnit)
|
KERNEL UNIT TESTING FRAMEWORK (KUnit)
|
||||||
M: Brendan Higgins <brendanhiggins@google.com>
|
M: Brendan Higgins <brendanhiggins@google.com>
|
||||||
|
@ -10274,7 +10291,6 @@ KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
|
||||||
M: Christian Borntraeger <borntraeger@de.ibm.com>
|
M: Christian Borntraeger <borntraeger@de.ibm.com>
|
||||||
M: Janosch Frank <frankja@linux.ibm.com>
|
M: Janosch Frank <frankja@linux.ibm.com>
|
||||||
R: David Hildenbrand <david@redhat.com>
|
R: David Hildenbrand <david@redhat.com>
|
||||||
R: Cornelia Huck <cohuck@redhat.com>
|
|
||||||
R: Claudio Imbrenda <imbrenda@linux.ibm.com>
|
R: Claudio Imbrenda <imbrenda@linux.ibm.com>
|
||||||
L: kvm@vger.kernel.org
|
L: kvm@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
@ -11148,6 +11164,7 @@ S: Maintained
|
||||||
F: Documentation/devicetree/bindings/net/dsa/marvell.txt
|
F: Documentation/devicetree/bindings/net/dsa/marvell.txt
|
||||||
F: Documentation/networking/devlink/mv88e6xxx.rst
|
F: Documentation/networking/devlink/mv88e6xxx.rst
|
||||||
F: drivers/net/dsa/mv88e6xxx/
|
F: drivers/net/dsa/mv88e6xxx/
|
||||||
|
F: include/linux/dsa/mv88e6xxx.h
|
||||||
F: include/linux/platform_data/mv88e6xxx.h
|
F: include/linux/platform_data/mv88e6xxx.h
|
||||||
|
|
||||||
MARVELL ARMADA 3700 PHY DRIVERS
|
MARVELL ARMADA 3700 PHY DRIVERS
|
||||||
|
@ -11367,7 +11384,7 @@ F: Documentation/devicetree/bindings/iio/proximity/maxbotix,mb1232.yaml
|
||||||
F: drivers/iio/proximity/mb1232.c
|
F: drivers/iio/proximity/mb1232.c
|
||||||
|
|
||||||
MAXIM MAX77650 PMIC MFD DRIVER
|
MAXIM MAX77650 PMIC MFD DRIVER
|
||||||
M: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
M: Bartosz Golaszewski <brgl@bgdev.pl>
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/*/*max77650.yaml
|
F: Documentation/devicetree/bindings/*/*max77650.yaml
|
||||||
|
@ -13255,9 +13272,9 @@ F: Documentation/scsi/NinjaSCSI.rst
|
||||||
F: drivers/scsi/nsp32*
|
F: drivers/scsi/nsp32*
|
||||||
|
|
||||||
NIOS2 ARCHITECTURE
|
NIOS2 ARCHITECTURE
|
||||||
M: Ley Foon Tan <ley.foon.tan@intel.com>
|
M: Dinh Nguyen <dinguyen@kernel.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
|
||||||
F: arch/nios2/
|
F: arch/nios2/
|
||||||
|
|
||||||
NITRO ENCLAVES (NE)
|
NITRO ENCLAVES (NE)
|
||||||
|
@ -14342,7 +14359,8 @@ F: Documentation/devicetree/bindings/pci/intel,ixp4xx-pci.yaml
|
||||||
F: drivers/pci/controller/pci-ixp4xx.c
|
F: drivers/pci/controller/pci-ixp4xx.c
|
||||||
|
|
||||||
PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD)
|
PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD)
|
||||||
M: Jonathan Derrick <jonathan.derrick@intel.com>
|
M: Nirmal Patel <nirmal.patel@linux.intel.com>
|
||||||
|
R: Jonathan Derrick <jonathan.derrick@linux.dev>
|
||||||
L: linux-pci@vger.kernel.org
|
L: linux-pci@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/pci/controller/vmd.c
|
F: drivers/pci/controller/vmd.c
|
||||||
|
@ -16097,6 +16115,13 @@ F: Documentation/ABI/*/sysfs-driver-hid-roccat*
|
||||||
F: drivers/hid/hid-roccat*
|
F: drivers/hid/hid-roccat*
|
||||||
F: include/linux/hid-roccat*
|
F: include/linux/hid-roccat*
|
||||||
|
|
||||||
|
ROCKCHIP I2S TDM DRIVER
|
||||||
|
M: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
|
||||||
|
L: linux-rockchip@lists.infradead.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/sound/rockchip,i2s-tdm.yaml
|
||||||
|
F: sound/soc/rockchip/rockchip_i2s_tdm.*
|
||||||
|
|
||||||
ROCKCHIP ISP V1 DRIVER
|
ROCKCHIP ISP V1 DRIVER
|
||||||
M: Helen Koike <helen.koike@collabora.com>
|
M: Helen Koike <helen.koike@collabora.com>
|
||||||
M: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
|
M: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
|
||||||
|
@ -16295,6 +16320,7 @@ S390
|
||||||
M: Heiko Carstens <hca@linux.ibm.com>
|
M: Heiko Carstens <hca@linux.ibm.com>
|
||||||
M: Vasily Gorbik <gor@linux.ibm.com>
|
M: Vasily Gorbik <gor@linux.ibm.com>
|
||||||
M: Christian Borntraeger <borntraeger@de.ibm.com>
|
M: Christian Borntraeger <borntraeger@de.ibm.com>
|
||||||
|
R: Alexander Gordeev <agordeev@linux.ibm.com>
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.ibm.com/developerworks/linux/linux390/
|
W: http://www.ibm.com/developerworks/linux/linux390/
|
||||||
|
@ -16373,7 +16399,6 @@ F: drivers/s390/crypto/vfio_ap_ops.c
|
||||||
F: drivers/s390/crypto/vfio_ap_private.h
|
F: drivers/s390/crypto/vfio_ap_private.h
|
||||||
|
|
||||||
S390 VFIO-CCW DRIVER
|
S390 VFIO-CCW DRIVER
|
||||||
M: Cornelia Huck <cohuck@redhat.com>
|
|
||||||
M: Eric Farman <farman@linux.ibm.com>
|
M: Eric Farman <farman@linux.ibm.com>
|
||||||
M: Matthew Rosato <mjrosato@linux.ibm.com>
|
M: Matthew Rosato <mjrosato@linux.ibm.com>
|
||||||
R: Halil Pasic <pasic@linux.ibm.com>
|
R: Halil Pasic <pasic@linux.ibm.com>
|
||||||
|
@ -16650,13 +16675,6 @@ M: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/char/pcmcia/scr24x_cs.c
|
F: drivers/char/pcmcia/scr24x_cs.c
|
||||||
|
|
||||||
SCSI CDROM DRIVER
|
|
||||||
M: Jens Axboe <axboe@kernel.dk>
|
|
||||||
L: linux-scsi@vger.kernel.org
|
|
||||||
S: Maintained
|
|
||||||
W: http://www.kernel.dk
|
|
||||||
F: drivers/scsi/sr*
|
|
||||||
|
|
||||||
SCSI RDMA PROTOCOL (SRP) INITIATOR
|
SCSI RDMA PROTOCOL (SRP) INITIATOR
|
||||||
M: Bart Van Assche <bvanassche@acm.org>
|
M: Bart Van Assche <bvanassche@acm.org>
|
||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
|
@ -16955,7 +16973,6 @@ F: drivers/misc/sgi-xp/
|
||||||
|
|
||||||
SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
|
SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
|
||||||
M: Karsten Graul <kgraul@linux.ibm.com>
|
M: Karsten Graul <kgraul@linux.ibm.com>
|
||||||
M: Guvenc Gulce <guvenc@linux.ibm.com>
|
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.ibm.com/developerworks/linux/linux390/
|
W: http://www.ibm.com/developerworks/linux/linux390/
|
||||||
|
@ -17800,7 +17817,6 @@ F: drivers/staging/nvec/
|
||||||
|
|
||||||
STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
|
STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
|
||||||
M: Jens Frederich <jfrederich@gmail.com>
|
M: Jens Frederich <jfrederich@gmail.com>
|
||||||
M: Daniel Drake <dsd@laptop.org>
|
|
||||||
M: Jon Nettleton <jon.nettleton@gmail.com>
|
M: Jon Nettleton <jon.nettleton@gmail.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://wiki.laptop.org/go/DCON
|
W: http://wiki.laptop.org/go/DCON
|
||||||
|
@ -17969,10 +17985,11 @@ F: Documentation/admin-guide/svga.rst
|
||||||
F: arch/x86/boot/video*
|
F: arch/x86/boot/video*
|
||||||
|
|
||||||
SWIOTLB SUBSYSTEM
|
SWIOTLB SUBSYSTEM
|
||||||
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
M: Christoph Hellwig <hch@infradead.org>
|
||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git
|
W: http://git.infradead.org/users/hch/dma-mapping.git
|
||||||
|
T: git git://git.infradead.org/users/hch/dma-mapping.git
|
||||||
F: arch/*/kernel/pci-swiotlb.c
|
F: arch/*/kernel/pci-swiotlb.c
|
||||||
F: include/linux/swiotlb.h
|
F: include/linux/swiotlb.h
|
||||||
F: kernel/dma/swiotlb.c
|
F: kernel/dma/swiotlb.c
|
||||||
|
@ -17988,7 +18005,7 @@ F: net/switchdev/
|
||||||
SY8106A REGULATOR DRIVER
|
SY8106A REGULATOR DRIVER
|
||||||
M: Icenowy Zheng <icenowy@aosc.io>
|
M: Icenowy Zheng <icenowy@aosc.io>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
|
F: Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
|
||||||
F: drivers/regulator/sy8106a-regulator.c
|
F: drivers/regulator/sy8106a-regulator.c
|
||||||
|
|
||||||
SYNC FILE FRAMEWORK
|
SYNC FILE FRAMEWORK
|
||||||
|
@ -18555,13 +18572,14 @@ T: git git://linuxtv.org/media_tree.git
|
||||||
F: drivers/media/radio/radio-raremono.c
|
F: drivers/media/radio/radio-raremono.c
|
||||||
|
|
||||||
THERMAL
|
THERMAL
|
||||||
M: Zhang Rui <rui.zhang@intel.com>
|
M: Rafael J. Wysocki <rafael@kernel.org>
|
||||||
M: Daniel Lezcano <daniel.lezcano@linaro.org>
|
M: Daniel Lezcano <daniel.lezcano@linaro.org>
|
||||||
R: Amit Kucheria <amitk@kernel.org>
|
R: Amit Kucheria <amitk@kernel.org>
|
||||||
|
R: Zhang Rui <rui.zhang@intel.com>
|
||||||
L: linux-pm@vger.kernel.org
|
L: linux-pm@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
Q: https://patchwork.kernel.org/project/linux-pm/list/
|
Q: https://patchwork.kernel.org/project/linux-pm/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git thermal
|
||||||
F: Documentation/devicetree/bindings/thermal/
|
F: Documentation/devicetree/bindings/thermal/
|
||||||
F: drivers/thermal/
|
F: drivers/thermal/
|
||||||
F: include/linux/cpu_cooling.h
|
F: include/linux/cpu_cooling.h
|
||||||
|
@ -18690,7 +18708,7 @@ F: include/linux/clk/ti.h
|
||||||
|
|
||||||
TI DAVINCI MACHINE SUPPORT
|
TI DAVINCI MACHINE SUPPORT
|
||||||
M: Sekhar Nori <nsekhar@ti.com>
|
M: Sekhar Nori <nsekhar@ti.com>
|
||||||
R: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
R: Bartosz Golaszewski <brgl@bgdev.pl>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
|
||||||
|
@ -19289,13 +19307,12 @@ S: Maintained
|
||||||
F: drivers/usb/misc/chaoskey.c
|
F: drivers/usb/misc/chaoskey.c
|
||||||
|
|
||||||
USB CYPRESS C67X00 DRIVER
|
USB CYPRESS C67X00 DRIVER
|
||||||
M: Peter Korsgaard <jacmet@sunsite.dk>
|
|
||||||
L: linux-usb@vger.kernel.org
|
L: linux-usb@vger.kernel.org
|
||||||
S: Maintained
|
S: Orphan
|
||||||
F: drivers/usb/c67x00/
|
F: drivers/usb/c67x00/
|
||||||
|
|
||||||
USB DAVICOM DM9601 DRIVER
|
USB DAVICOM DM9601 DRIVER
|
||||||
M: Peter Korsgaard <jacmet@sunsite.dk>
|
M: Peter Korsgaard <peter@korsgaard.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://www.linux-usb.org/usbnet
|
W: http://www.linux-usb.org/usbnet
|
||||||
|
@ -20475,7 +20492,6 @@ F: samples/bpf/xdpsock*
|
||||||
F: tools/lib/bpf/xsk*
|
F: tools/lib/bpf/xsk*
|
||||||
|
|
||||||
XEN BLOCK SUBSYSTEM
|
XEN BLOCK SUBSYSTEM
|
||||||
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|
||||||
M: Roger Pau Monné <roger.pau@citrix.com>
|
M: Roger Pau Monné <roger.pau@citrix.com>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
|
@ -20523,7 +20539,7 @@ S: Supported
|
||||||
F: drivers/net/xen-netback/*
|
F: drivers/net/xen-netback/*
|
||||||
|
|
||||||
XEN PCI SUBSYSTEM
|
XEN PCI SUBSYSTEM
|
||||||
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
M: Juergen Gross <jgross@suse.com>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Supported
|
||||||
F: arch/x86/pci/*xen*
|
F: arch/x86/pci/*xen*
|
||||||
|
@ -20546,7 +20562,8 @@ S: Supported
|
||||||
F: sound/xen/*
|
F: sound/xen/*
|
||||||
|
|
||||||
XEN SWIOTLB SUBSYSTEM
|
XEN SWIOTLB SUBSYSTEM
|
||||||
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
M: Juergen Gross <jgross@suse.com>
|
||||||
|
M: Stefano Stabellini <sstabellini@kernel.org>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
@ -20705,7 +20722,6 @@ S: Maintained
|
||||||
F: mm/zbud.c
|
F: mm/zbud.c
|
||||||
|
|
||||||
ZD1211RW WIRELESS DRIVER
|
ZD1211RW WIRELESS DRIVER
|
||||||
M: Daniel Drake <dsd@gentoo.org>
|
|
||||||
M: Ulrich Kunitz <kune@deine-taler.de>
|
M: Ulrich Kunitz <kune@deine-taler.de>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
L: zd1211-devs@lists.sourceforge.net (subscribers-only)
|
L: zd1211-devs@lists.sourceforge.net (subscribers-only)
|
||||||
|
|
8
Makefile
8
Makefile
|
@ -2,7 +2,7 @@
|
||||||
VERSION = 5
|
VERSION = 5
|
||||||
PATCHLEVEL = 15
|
PATCHLEVEL = 15
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc6
|
||||||
NAME = Opossums on Parade
|
NAME = Opossums on Parade
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
@ -849,12 +849,6 @@ endif
|
||||||
|
|
||||||
DEBUG_CFLAGS :=
|
DEBUG_CFLAGS :=
|
||||||
|
|
||||||
# Workaround for GCC versions < 5.0
|
|
||||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
|
|
||||||
ifdef CONFIG_CC_IS_GCC
|
|
||||||
DEBUG_CFLAGS += $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_DEBUG_INFO
|
ifdef CONFIG_DEBUG_INFO
|
||||||
|
|
||||||
ifdef CONFIG_DEBUG_INFO_SPLIT
|
ifdef CONFIG_DEBUG_INFO_SPLIT
|
||||||
|
|
|
@ -20,7 +20,7 @@ config ALPHA
|
||||||
select NEED_SG_DMA_LENGTH
|
select NEED_SG_DMA_LENGTH
|
||||||
select VIRT_TO_BUS
|
select VIRT_TO_BUS
|
||||||
select GENERIC_IRQ_PROBE
|
select GENERIC_IRQ_PROBE
|
||||||
select GENERIC_PCI_IOMAP if PCI
|
select GENERIC_PCI_IOMAP
|
||||||
select AUTO_IRQ_AFFINITY if SMP
|
select AUTO_IRQ_AFFINITY if SMP
|
||||||
select GENERIC_IRQ_SHOW
|
select GENERIC_IRQ_SHOW
|
||||||
select ARCH_WANT_IPC_PARSE_VERSION
|
select ARCH_WANT_IPC_PARSE_VERSION
|
||||||
|
@ -199,7 +199,6 @@ config ALPHA_EIGER
|
||||||
|
|
||||||
config ALPHA_JENSEN
|
config ALPHA_JENSEN
|
||||||
bool "Jensen"
|
bool "Jensen"
|
||||||
depends on BROKEN
|
|
||||||
select HAVE_EISA
|
select HAVE_EISA
|
||||||
help
|
help
|
||||||
DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
|
DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
|
||||||
|
|
|
@ -16,3 +16,4 @@ extern void __divlu(void);
|
||||||
extern void __remlu(void);
|
extern void __remlu(void);
|
||||||
extern void __divqu(void);
|
extern void __divqu(void);
|
||||||
extern void __remqu(void);
|
extern void __remqu(void);
|
||||||
|
extern unsigned long __udiv_qrnnd(unsigned long *, unsigned long, unsigned long , unsigned long);
|
||||||
|
|
|
@ -60,7 +60,7 @@ extern inline void set_hae(unsigned long new_hae)
|
||||||
* Change virtual addresses to physical addresses and vv.
|
* Change virtual addresses to physical addresses and vv.
|
||||||
*/
|
*/
|
||||||
#ifdef USE_48_BIT_KSEG
|
#ifdef USE_48_BIT_KSEG
|
||||||
static inline unsigned long virt_to_phys(void *address)
|
static inline unsigned long virt_to_phys(volatile void *address)
|
||||||
{
|
{
|
||||||
return (unsigned long)address - IDENT_ADDR;
|
return (unsigned long)address - IDENT_ADDR;
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ static inline void * phys_to_virt(unsigned long address)
|
||||||
return (void *) (address + IDENT_ADDR);
|
return (void *) (address + IDENT_ADDR);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline unsigned long virt_to_phys(void *address)
|
static inline unsigned long virt_to_phys(volatile void *address)
|
||||||
{
|
{
|
||||||
unsigned long phys = (unsigned long)address;
|
unsigned long phys = (unsigned long)address;
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ static inline void * phys_to_virt(unsigned long address)
|
||||||
extern unsigned long __direct_map_base;
|
extern unsigned long __direct_map_base;
|
||||||
extern unsigned long __direct_map_size;
|
extern unsigned long __direct_map_size;
|
||||||
|
|
||||||
static inline unsigned long __deprecated virt_to_bus(void *address)
|
static inline unsigned long __deprecated virt_to_bus(volatile void *address)
|
||||||
{
|
{
|
||||||
unsigned long phys = virt_to_phys(address);
|
unsigned long phys = virt_to_phys(address);
|
||||||
unsigned long bus = phys + __direct_map_base;
|
unsigned long bus = phys + __direct_map_base;
|
||||||
|
|
|
@ -111,18 +111,18 @@ __EXTERN_INLINE void jensen_set_hae(unsigned long addr)
|
||||||
* convinced that I need one of the newer machines.
|
* convinced that I need one of the newer machines.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline unsigned int jensen_local_inb(unsigned long addr)
|
__EXTERN_INLINE unsigned int jensen_local_inb(unsigned long addr)
|
||||||
{
|
{
|
||||||
return 0xff & *(vuip)((addr << 9) + EISA_VL82C106);
|
return 0xff & *(vuip)((addr << 9) + EISA_VL82C106);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void jensen_local_outb(u8 b, unsigned long addr)
|
__EXTERN_INLINE void jensen_local_outb(u8 b, unsigned long addr)
|
||||||
{
|
{
|
||||||
*(vuip)((addr << 9) + EISA_VL82C106) = b;
|
*(vuip)((addr << 9) + EISA_VL82C106) = b;
|
||||||
mb();
|
mb();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned int jensen_bus_inb(unsigned long addr)
|
__EXTERN_INLINE unsigned int jensen_bus_inb(unsigned long addr)
|
||||||
{
|
{
|
||||||
long result;
|
long result;
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ static inline unsigned int jensen_bus_inb(unsigned long addr)
|
||||||
return __kernel_extbl(result, addr & 3);
|
return __kernel_extbl(result, addr & 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void jensen_bus_outb(u8 b, unsigned long addr)
|
__EXTERN_INLINE void jensen_bus_outb(u8 b, unsigned long addr)
|
||||||
{
|
{
|
||||||
jensen_set_hae(0);
|
jensen_set_hae(0);
|
||||||
*(vuip)((addr << 7) + EISA_IO + 0x00) = b * 0x01010101;
|
*(vuip)((addr << 7) + EISA_IO + 0x00) = b * 0x01010101;
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
#ifndef __ALPHA_SETUP_H
|
||||||
|
#define __ALPHA_SETUP_H
|
||||||
|
|
||||||
|
#include <uapi/asm/setup.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We leave one page for the initial stack page, and one page for
|
||||||
|
* the initial process structure. Also, the console eats 3 MB for
|
||||||
|
* the initial bootloader (one of which we can reclaim later).
|
||||||
|
*/
|
||||||
|
#define BOOT_PCB 0x20000000
|
||||||
|
#define BOOT_ADDR 0x20000000
|
||||||
|
/* Remove when official MILO sources have ELF support: */
|
||||||
|
#define BOOT_SIZE (16*1024)
|
||||||
|
|
||||||
|
#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
|
||||||
|
#define KERNEL_START_PHYS 0x300000 /* Old bootloaders hardcoded this. */
|
||||||
|
#else
|
||||||
|
#define KERNEL_START_PHYS 0x1000000 /* required: Wildfire/Titan/Marvel */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define KERNEL_START (PAGE_OFFSET+KERNEL_START_PHYS)
|
||||||
|
#define SWAPPER_PGD KERNEL_START
|
||||||
|
#define INIT_STACK (PAGE_OFFSET+KERNEL_START_PHYS+0x02000)
|
||||||
|
#define EMPTY_PGT (PAGE_OFFSET+KERNEL_START_PHYS+0x04000)
|
||||||
|
#define EMPTY_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x08000)
|
||||||
|
#define ZERO_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000)
|
||||||
|
|
||||||
|
#define START_ADDR (PAGE_OFFSET+KERNEL_START_PHYS+0x10000)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is setup by the secondary bootstrap loader. Because
|
||||||
|
* the zero page is zeroed out as soon as the vm system is
|
||||||
|
* initialized, we need to copy things out into a more permanent
|
||||||
|
* place.
|
||||||
|
*/
|
||||||
|
#define PARAM ZERO_PGE
|
||||||
|
#define COMMAND_LINE ((char *)(absolute_pointer(PARAM + 0x0000)))
|
||||||
|
#define INITRD_START (*(unsigned long *) (PARAM+0x100))
|
||||||
|
#define INITRD_SIZE (*(unsigned long *) (PARAM+0x108))
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,43 +1,7 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||||
#ifndef __ALPHA_SETUP_H
|
#ifndef _UAPI__ALPHA_SETUP_H
|
||||||
#define __ALPHA_SETUP_H
|
#define _UAPI__ALPHA_SETUP_H
|
||||||
|
|
||||||
#define COMMAND_LINE_SIZE 256
|
#define COMMAND_LINE_SIZE 256
|
||||||
|
|
||||||
/*
|
#endif /* _UAPI__ALPHA_SETUP_H */
|
||||||
* We leave one page for the initial stack page, and one page for
|
|
||||||
* the initial process structure. Also, the console eats 3 MB for
|
|
||||||
* the initial bootloader (one of which we can reclaim later).
|
|
||||||
*/
|
|
||||||
#define BOOT_PCB 0x20000000
|
|
||||||
#define BOOT_ADDR 0x20000000
|
|
||||||
/* Remove when official MILO sources have ELF support: */
|
|
||||||
#define BOOT_SIZE (16*1024)
|
|
||||||
|
|
||||||
#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
|
|
||||||
#define KERNEL_START_PHYS 0x300000 /* Old bootloaders hardcoded this. */
|
|
||||||
#else
|
|
||||||
#define KERNEL_START_PHYS 0x1000000 /* required: Wildfire/Titan/Marvel */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define KERNEL_START (PAGE_OFFSET+KERNEL_START_PHYS)
|
|
||||||
#define SWAPPER_PGD KERNEL_START
|
|
||||||
#define INIT_STACK (PAGE_OFFSET+KERNEL_START_PHYS+0x02000)
|
|
||||||
#define EMPTY_PGT (PAGE_OFFSET+KERNEL_START_PHYS+0x04000)
|
|
||||||
#define EMPTY_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x08000)
|
|
||||||
#define ZERO_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000)
|
|
||||||
|
|
||||||
#define START_ADDR (PAGE_OFFSET+KERNEL_START_PHYS+0x10000)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is setup by the secondary bootstrap loader. Because
|
|
||||||
* the zero page is zeroed out as soon as the vm system is
|
|
||||||
* initialized, we need to copy things out into a more permanent
|
|
||||||
* place.
|
|
||||||
*/
|
|
||||||
#define PARAM ZERO_PGE
|
|
||||||
#define COMMAND_LINE ((char*)(PARAM + 0x0000))
|
|
||||||
#define INITRD_START (*(unsigned long *) (PARAM+0x100))
|
|
||||||
#define INITRD_SIZE (*(unsigned long *) (PARAM+0x108))
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -7,6 +7,11 @@
|
||||||
*
|
*
|
||||||
* Code supporting the Jensen.
|
* Code supporting the Jensen.
|
||||||
*/
|
*/
|
||||||
|
#define __EXTERN_INLINE
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/jensen.h>
|
||||||
|
#undef __EXTERN_INLINE
|
||||||
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
@ -17,11 +22,6 @@
|
||||||
|
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
|
|
||||||
#define __EXTERN_INLINE inline
|
|
||||||
#include <asm/io.h>
|
|
||||||
#include <asm/jensen.h>
|
|
||||||
#undef __EXTERN_INLINE
|
|
||||||
|
|
||||||
#include <asm/dma.h>
|
#include <asm/dma.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
|
|
|
@ -14,6 +14,7 @@ ev6-$(CONFIG_ALPHA_EV6) := ev6-
|
||||||
ev67-$(CONFIG_ALPHA_EV67) := ev67-
|
ev67-$(CONFIG_ALPHA_EV67) := ev67-
|
||||||
|
|
||||||
lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \
|
lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \
|
||||||
|
udiv-qrnnd.o \
|
||||||
udelay.o \
|
udelay.o \
|
||||||
$(ev6-y)memset.o \
|
$(ev6-y)memset.o \
|
||||||
$(ev6-y)memcpy.o \
|
$(ev6-y)memcpy.o \
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
# along with GCC; see the file COPYING. If not, write to the
|
# along with GCC; see the file COPYING. If not, write to the
|
||||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||||
# MA 02111-1307, USA.
|
# MA 02111-1307, USA.
|
||||||
|
#include <asm/export.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
@ -161,3 +162,4 @@ $Odd:
|
||||||
ret $31,($26),1
|
ret $31,($26),1
|
||||||
|
|
||||||
.end __udiv_qrnnd
|
.end __udiv_qrnnd
|
||||||
|
EXPORT_SYMBOL(__udiv_qrnnd)
|
|
@ -7,4 +7,4 @@ ccflags-y := -w
|
||||||
|
|
||||||
obj-$(CONFIG_MATHEMU) += math-emu.o
|
obj-$(CONFIG_MATHEMU) += math-emu.o
|
||||||
|
|
||||||
math-emu-objs := math.o qrnnd.o
|
math-emu-objs := math.o
|
||||||
|
|
|
@ -403,5 +403,3 @@ alpha_fp_emul_imprecise (struct pt_regs *regs, unsigned long write_mask)
|
||||||
egress:
|
egress:
|
||||||
return si_code;
|
return si_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT_SYMBOL(__udiv_qrnnd);
|
|
||||||
|
|
|
@ -26,11 +26,6 @@ extern char empty_zero_page[PAGE_SIZE];
|
||||||
|
|
||||||
extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
|
extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
|
||||||
|
|
||||||
/* Macro to mark a page protection as uncacheable */
|
|
||||||
#define pgprot_noncached(prot) (__pgprot(pgprot_val(prot) & ~_PAGE_CACHEABLE))
|
|
||||||
|
|
||||||
extern pgd_t swapper_pg_dir[] __aligned(PAGE_SIZE);
|
|
||||||
|
|
||||||
/* to cope with aliasing VIPT cache */
|
/* to cope with aliasing VIPT cache */
|
||||||
#define HAVE_ARCH_UNMAPPED_AREA
|
#define HAVE_ARCH_UNMAPPED_AREA
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue