dt-bindings: Add devicetree bindings
Add snapshot of device tree bindings from keystone common kernel, branch "android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065 from e32903b9a63bb558df8b803b076619c53c16baad to android-mainline-keystone-qcom-release"). Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1 Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
214
bindings/soundwire/qcom,sdw.txt
Normal file
214
bindings/soundwire/qcom,sdw.txt
Normal file
@@ -0,0 +1,214 @@
|
||||
Qualcomm SoundWire Controller Bindings
|
||||
|
||||
|
||||
This binding describes the Qualcomm SoundWire Controller along with its
|
||||
board specific bus parameters.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,soundwire-v<MAJOR>.<MINOR>.<STEP>",
|
||||
Example:
|
||||
"qcom,soundwire-v1.3.0"
|
||||
"qcom,soundwire-v1.5.0"
|
||||
"qcom,soundwire-v1.5.1"
|
||||
"qcom,soundwire-v1.6.0"
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: the base address and size of SoundWire controller
|
||||
address space.
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify the SoundWire Controller core and optional
|
||||
wake IRQ
|
||||
|
||||
- interrupt-names:
|
||||
Usage: Optional
|
||||
Value type: boolean
|
||||
Value type: <stringlist>
|
||||
Definition: should be "core" for core and "wakeup" for wake interrupt.
|
||||
|
||||
- wakeup-source:
|
||||
Usage: Optional
|
||||
Value type: boolean
|
||||
Definition: should specify if SoundWire Controller is wake up capable.
|
||||
|
||||
- clock-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: should be "iface" for SoundWire Controller interface clock
|
||||
|
||||
- clocks:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify the SoundWire Controller interface clock
|
||||
|
||||
- #sound-dai-cells:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be 1 for digital audio interfaces on the controller.
|
||||
|
||||
- qcom,dout-ports:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be count of data out ports
|
||||
|
||||
- qcom,din-ports:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be count of data in ports
|
||||
|
||||
- qcom,ports-offset1:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify payload transport window offset1 of each
|
||||
data port. Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-offset2:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should specify payload transport window offset2 of each
|
||||
data port. Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-sinterval-low:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be sample interval low of each data port.
|
||||
Out ports followed by In ports. Used for Sample Interval
|
||||
calculation.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-word-length:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be size of payload channel sample.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-block-pack-mode:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be 0 or 1 to indicate the block packing mode.
|
||||
0 to indicate Blocks are per Channel
|
||||
1 to indicate Blocks are per Port.
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-block-group-count:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be in range 1 to 4 to indicate how many sample
|
||||
intervals are combined into a payload.
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-lane-control:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be in range 0 to 7 to identify which data lane
|
||||
the data port uses.
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-hstart:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be number identifying lowerst numbered coloum in
|
||||
SoundWire Frame, i.e. left edge of the Transport sub-frame
|
||||
for each port. Values between 0 and 15 are valid.
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,ports-hstop:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be number identifying highest numbered coloum in
|
||||
SoundWire Frame, i.e. the right edge of the Transport
|
||||
sub-frame for each port. Values between 0 and 15 are valid.
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- qcom,dports-type:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: should be one of the following types
|
||||
0 for reduced port
|
||||
1 for simple ports
|
||||
2 for full port
|
||||
Out ports followed by In ports.
|
||||
Value of 0xFF indicates that this option is not implemented
|
||||
or applicable for the respective data port.
|
||||
More info in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
- reset:
|
||||
Usage: optional
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: Should specify the SoundWire audio CSR reset controller interface,
|
||||
which is required for SoundWire version 1.6.0 and above.
|
||||
|
||||
- reset-names:
|
||||
Usage: optional
|
||||
Value type: <stringlist>
|
||||
Definition: should be "swr_audio_cgcr" for SoundWire audio CSR reset
|
||||
controller interface.
|
||||
|
||||
Note:
|
||||
More Information on detail of encoding of these fields can be
|
||||
found in MIPI Alliance SoundWire 1.0 Specifications.
|
||||
|
||||
= SoundWire devices
|
||||
Each subnode of the bus represents SoundWire device attached to it.
|
||||
The properties of these nodes are defined by the individual bindings.
|
||||
|
||||
= EXAMPLE
|
||||
The following example represents a SoundWire controller on DB845c board
|
||||
which has controller integrated inside WCD934x codec on SDM845 SoC.
|
||||
|
||||
soundwire: soundwire@c85 {
|
||||
compatible = "qcom,soundwire-v1.3.0";
|
||||
reg = <0xc85 0x20>;
|
||||
interrupts = <20 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&wcc>;
|
||||
clock-names = "iface";
|
||||
resets = <&lpass_audiocc LPASS_AUDIO_SWR_TX_CGCR>;
|
||||
reset-names = "swr_audio_cgcr";
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,dports-type = <0>;
|
||||
qcom,dout-ports = <6>;
|
||||
qcom,din-ports = <2>;
|
||||
qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>;
|
||||
qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >;
|
||||
qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>;
|
||||
|
||||
/* Left Speaker */
|
||||
left{
|
||||
....
|
||||
};
|
||||
|
||||
/* Right Speaker */
|
||||
right{
|
||||
....
|
||||
};
|
||||
};
|
86
bindings/soundwire/soundwire-controller.yaml
Normal file
86
bindings/soundwire/soundwire-controller.yaml
Normal file
@@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: SoundWire Controller Generic Binding
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
- Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
description: |
|
||||
SoundWire busses can be described with a node for the SoundWire controller
|
||||
device and a set of child nodes for each SoundWire slave on the bus.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^soundwire(@.*)?$"
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^.*@[0-9a-f],[0-9a-f]$":
|
||||
type: object
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
pattern: "^sdw[0-9a-f]{1}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{2}$"
|
||||
description: Is the textual representation of SoundWire Enumeration
|
||||
address. compatible string should contain SoundWire Version ID,
|
||||
Manufacturer ID, Part ID and Class ID in order and shall be in
|
||||
lower-case hexadecimal with leading zeroes.
|
||||
Valid sizes of these fields are
|
||||
Version ID is 1 nibble, number '0x1' represents SoundWire 1.0
|
||||
and '0x2' represents SoundWire 1.1 and so on.
|
||||
MFD is 4 nibbles
|
||||
PID is 4 nibbles
|
||||
CID is 2 nibbles
|
||||
More Information on detail of encoding of these fields can be
|
||||
found in MIPI Alliance DisCo & SoundWire 1.0 Specifications.
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description:
|
||||
Link ID followed by Instance ID of SoundWire Device Address.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
soundwire@c2d0000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0c2d0000 0x2000>;
|
||||
|
||||
speaker@0,1 {
|
||||
compatible = "sdw10217201000";
|
||||
reg = <0 1>;
|
||||
powerdown-gpios = <&wcdpinctrl 2 0>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
speaker@0,2 {
|
||||
compatible = "sdw10217201000";
|
||||
reg = <0 2>;
|
||||
powerdown-gpios = <&wcdpinctrl 2 0>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
Reference in New Issue
Block a user