Message ID | 20190829144442.6210-2-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
Series | ASoC: codecs: Add WSA881x Smart Speaker amplifier support | expand |
On 29/08/2019 16:42, Rob Herring wrote: > On Thu, Aug 29, 2019 at 9:45 AM Srinivas Kandagatla > <srinivas.kandagatla@linaro.org> wrote: >> >> This patch adds bindings for Soundwire Slave devices that includes how >> SoundWire enumeration address and Link ID are used to represented in >> SoundWire slave device tree nodes. >> >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >> --- >> .../soundwire/soundwire-controller.yaml | 72 +++++++++++++++++++ >> 1 file changed, 72 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml >> >> diff --git a/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml >> new file mode 100644 >> index 000000000000..449b6130ce63 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml >> @@ -0,0 +1,72 @@ >> +# SPDX-License-Identifier: GPL-2.0 > > (GPL-2.0-only OR BSD-2-Clause) for new bindings. > Okay Sure will do that! >> +%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. >> + >> + additionalProperties: false > > I'm pretty sure you'll want nodes with other properties. If not, then > why are they in DT? So drop this. will do! > > Both the controller and child nodes need to list required properties. > Okay, will spin that in next version! Thanks, srini >> + >> +examples: >> + - | >> + soundwire@c2d0000 { >> + #address-cells = <2>; >> + #size-cells = <0>; >> + reg = <0x0c2d0000 0x2000>; >> + >> + speaker@0,1 { >> + compatible = "sdw10217201000"; >> + reg = <0 1>; >> + }; >> + >> + speaker@0,2 { >> + compatible = "sdw10217201000"; >> + reg = <0 2>; >> + }; >> + }; >> + >> +... >> -- >> 2.21.0 >>
diff --git a/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml new file mode 100644 index 000000000000..449b6130ce63 --- /dev/null +++ b/Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: GPL-2.0 +%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. + + additionalProperties: false + +examples: + - | + soundwire@c2d0000 { + #address-cells = <2>; + #size-cells = <0>; + reg = <0x0c2d0000 0x2000>; + + speaker@0,1 { + compatible = "sdw10217201000"; + reg = <0 1>; + }; + + speaker@0,2 { + compatible = "sdw10217201000"; + reg = <0 2>; + }; + }; + +...
This patch adds bindings for Soundwire Slave devices that includes how SoundWire enumeration address and Link ID are used to represented in SoundWire slave device tree nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- .../soundwire/soundwire-controller.yaml | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 Documentation/devicetree/bindings/soundwire/soundwire-controller.yaml -- 2.21.0