Re: [PATCH v3 4/6] dt-bindings: sound: Add support for the Lantiq PEF2256 codec

Krzysztof Kozlowski
2023-03-23T07:31:53Z

On 23/03/2023 08:27, Herve Codina wrote:
> Hi Krzysztof
>
> On Wed, 22 Mar 2023 22:59:37 +0100
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
>
>> On 22/03/2023 14:46, Herve Codina wrote:
>>> The Lantiq PEF2256 is a framer and line interface component designed to
>>> fulfill all required interfacing between an analog E1/T1/J1 line and the
>>> digital PCM system highway/H.100 bus.
>>>
>>> The codec support allows to use some of the PCM system highway
>>> time-slots as audio channels to transport audio data over the E1/T1/J1
>>> lines.
>>>
>>> Signed-off-by: Herve Codina <herve.codina@bootlin.com>
>>> ---
>>> .../bindings/sound/lantiq,pef2256-codec.yaml | 54 +++++++++++++++++++
>>> 1 file changed, 54 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml b/Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml
>>> new file mode 100644
>>> index 000000000000..da35b70cda99
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/sound/lantiq,pef2256-codec.yaml
>>> @@ -0,0 +1,54 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/sound/lantiq,pef2256-codec.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Lantiq PEF2256 codec
>>> +
>>> +maintainers:
>>> + - Herve Codina <herve.codina@bootlin.com>
>>> +
>>> +description: |
>>> + Codec support for PEF2256.
>>> +
>>> + The Lantiq PEF2256, also known as Infineon PEF2256 or FALC56, is a framer and
>>> + line interface component designed to fulfill all required interfacing between
>>> + an analog E1/T1/J1 line and the digital PCM system highway/H.100 bus.
>>> +
>>> + The codec support allows to use some of the PCM system highway time-slots as
>>> + audio channels to transport audio data over the E1/T1/J1 lines.
>>> +
>>> + The time-slots used by the codec must be set and so, the properties
>>> + 'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
>>> + 'dai-tdm-slot-rx-mask' must be present in the ALSA sound card node for
>>> + sub-nodes that involve the codec. The codec uses 8bit time-slots.
>>> + 'dai-tdm-tdm-slot-with' must be set to 8.
>>> + The tx and rx masks define the PEF2256 time-slots assigned to the codec.
>>> +
>>> + The PEF2256 codec node should be a child of a PEF2256 node.
>>> + Refer to the bindings described in
>>> + Documentation/devicetree/bindings/mfd/lantiq,pef2256.yaml
>>> +
>>> +allOf:
>>> + - $ref: dai-common.yaml#
>>> +
>>> +properties:
>>> + compatible:
>>> + const: lantiq,pef2256-codec
>>> +
>>> + '#sound-dai-cells':
>>> + const: 0
>>
>> You do not have here any resources, so the entire binding can be dropped
>> and merged into the parent.
>>
>> Best regards,
>> Krzysztof
>>
>
> Ok,
> Do you expect all these properties (except compatible) merged at the parent

You have only two properties here - dai cells and name-prefix...

> level or may I keep a child node with these properties including the
> compatible property (ie. yaml file merge).

I was thinking that these should be merged into parent because usually
you do not need child node for this. However now I started to think how
the codec driver would look like. Essentially the parent MFD driver
would need to register dais...

Best regards,
Krzysztof