From: "Padmanabhan Rajanbabu" <p.rajanbabu@samsung.com>
To: "'Krzysztof Kozlowski'" <krzysztof.kozlowski@linaro.org>,
"'Rob Herring'" <robh@kernel.org>
Cc: <lgirdwood@gmail.com>, <broonie@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <s.nawrocki@samsung.com>,
<perex@perex.cz>, <tiwai@suse.com>, <pankaj.dubey@samsung.com>,
<alim.akhtar@samsung.com>, <rcsekar@samsung.com>,
<aswani.reddy@samsung.com>, <alsa-devel@alsa-project.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-samsung-soc@vger.kernel.org>
Subject: RE: [PATCH 3/6] dt-bindings: sound: Add sound card bindings for Tesla FSD
Date: Tue, 8 Nov 2022 11:03:55 +0530 [thread overview]
Message-ID: <01c101d8f333$b3bc8db0$1b35a910$@samsung.com> (raw)
In-Reply-To: <253fc459-c3dc-7710-6f34-0466d5301482@linaro.org>
> -----Original Message-----
> From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@linaro.org]
> Sent: 22 October 2022 10:19 PM
> To: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>; 'Rob Herring'
> <robh@kernel.org>
> Cc: lgirdwood@gmail.com; broonie@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; s.nawrocki@samsung.com;
> perex@perex.cz; tiwai@suse.com; pankaj.dubey@samsung.com;
> alim.akhtar@samsung.com; rcsekar@samsung.com;
> aswani.reddy@samsung.com; alsa-devel@alsa-project.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux-samsung-
> soc@vger.kernel.org
> Subject: Re: [PATCH 3/6] dt-bindings: sound: Add sound card bindings for
> Tesla FSD
>
> On 21/10/2022 04:44, Padmanabhan Rajanbabu wrote:
> >> On Fri, Oct 14, 2022 at 03:51:48PM +0530, Padmanabhan Rajanbabu wrote:
> >>> Add dt-binding reference document to configure the DAI link for
> >>> Tesla FSD sound card driver.
> >>
> >> The simple-card or graph-card bindings don't work for you?
> > Thank you for reviewing the patch.
> >
> > The actual reason for having a custom sound card driver lies in the
> > fact that the Samsung i2s cpu dai requires configuration of some
> > Samsung specific properties like rfs, bfs, codec clock direction and
> > root clock source. We do not have flexibility of configuring the same
> > in simple card driver (sound/soc/generic/simple-card.c) or audio graph
> > card driver (sound/soc/generic/audio-graph-card.c). The binding has
> > been added to support the custom sound card driver.
> >
> > I understand from your query that the newly added card has device tree
> > nodes and properties which are used in simple card as well, but having
> > a different or new prefixes. I believe to address that, we can
> > restructure the string names to generic ones.
>
> You must use generic, existing properties where applicable.
Okay
>
> > But I would like to understand, to reuse the simple card or audio
> > graph card bindings, can we add secondary compatible strings in the
> > simple card dt-binding for the custom sound card to probe ?
>
> If you see other vendor compatibles there, then yes... But there aren't any,
> right?
Yes you are right, we don't see other vendor compatibles. But, am I allowed
to add such secondary compatibles so that we can extend the simple card
and its utilities to a large extent?
If no, then I believe we will need a separate binding to extend the generic
properties.
>
> >>
> >>>
> >>> Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
> >>> ---
> >>> .../bindings/sound/tesla,fsd-card.yaml | 158 ++++++++++++++++++
> >>> 1 file changed, 158 insertions(+)
> >>> create mode 100644
> >>> Documentation/devicetree/bindings/sound/tesla,fsd-card.yaml
> >>>
> >>> diff --git
> >>> a/Documentation/devicetree/bindings/sound/tesla,fsd-card.yaml
> >>> b/Documentation/devicetree/bindings/sound/tesla,fsd-card.yaml
> >>> new file mode 100644
> >>> index 000000000000..4bd590f4ee27
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/sound/tesla,fsd-card.yaml
> >>> @@ -0,0 +1,158 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) #
> >>> +Copyright
> >>> +2022 Samsung Electronics Co. Ltd.
> >>> +%YAML 1.2
> >>> +---
> >>> +$id:
> >>> +https://protect2.fireeye.com/v1/url?k=4ae54403-157e7d1c-4ae4cf4c-
> >> 000b
> >>> +abdfecba-9eb398ea304f8ae8&q=1&e=4935bed0-ce62-47dd-8faf-
> >> 4750b01e22d3&
> >>>
> >>
> +u=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fsound%2Ftesla%2Cfsd-
> >> card.ya
> >>> +ml%23
> >>> +$schema:
> >>> +https://protect2.fireeye.com/v1/url?k=8c72226e-d3e91b71-8c73a921-
> >> 000b
> >>> +abdfecba-3ce999f6c052255b&q=1&e=4935bed0-ce62-47dd-8faf-
> >> 4750b01e22d3&
> >>> +u=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23
> >>> +
> >>> +title: Tesla FSD ASoC sound card driver
> >>> +
> >>> +maintainers:
> >>> + - Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
> >>> +
> >>> +description: |
> >>> + This binding describes the node properties and essential DT
> >>> +entries of FSD
> >>> + SoC sound card node
> >>> +
> >>> +select: false
> >>
> >> Never apply this schema. Why?
> > Sorry about it, let me change the select property to true in the next
> > patchset
>
> No, just drop it. Look at other bindings or at example-schema
>
> >>
> >>> +
> >>> +properties:
> >>> + compatible:
> >>> + enum:
> >>> + - tesla,fsd-sndcard
> >>> +
> >>> + model:
> >>> + description: Describes the Name of the sound card
> >>> + $ref: /schemas/types.yaml#/definitions/string
> >>> +
> >>> + widgets:
> >>> + description: A list of DAPM widgets in the sound card. Each
> >>> + entry
> > is a pair
> >>> + of strings, the first being the widget name and the second
> >>> + being
> > the
> >>> + widget alias
> >>> + $ref: /schemas/types.yaml#/definitions/string-array
> >>> +
> >>> + audio-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/string-array
> >>> +
> >>> + dai-tdm-slot-num:
> >>> + description: Enables TDM mode and specifies the number of TDM
> >>> + slots
> > to be
> >>> + enabled
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + enum: [0, 1, 2, 3, 4, 5, 6, 7, 8]
> >>
> >> maximum: 8
> > Okay
> >>
> >>> + default: 2
> >>> +
> >>> + dai-tdm-slot-width:
> >>> + description: Specifies the slot width of each TDm slot enabled
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + enum: [8, 16, 24]
> >>> + default: 16
> >>
> >> All the above have types defined. You should not be redefining the types.
> > Okay
> >>
> >>> +
> >>> + dai-link:
> >>> + description: Holds the DAI link data between CPU, Codec and
> > Platform
> >>> + type: object
> >>
> >> additionalProperties: false
> > okay
> >>
> >>> + properties:
> >>> + link-name:
> >>> + description: Specifies the name of the DAI link
> >>> + $ref: /schemas/types.yaml#/definitions/string
> >>> +
> >>> + dai-format:
> >>> + description: Specifies the serial data format of CPU DAI
> >>> + $ref: /schemas/types.yaml#/definitions/string
> >>> +
> >>> + tesla,bitclock-master:
> >>> + description: Specifies the phandle of bitclock master DAI
> >>> + $ref: /schemas/types.yaml#/definitions/phandle
> >>> +
> >>> + tesla,frame-master:
> >>> + description: Specifies the phandle of frameclock master DAI
> >>> + $ref: /schemas/types.yaml#/definitions/phandle
> >>
> >> These are common properties. Drop 'tesla'.
> > Okay
> >>
> >>> +
> >>> + cpu:
> >>> + description: Holds the CPU DAI node and instance
> >>> + type: object
> >>
> >> additionalProperties: false
> > Okay
> >>
> >>> + properties:
> >>> + sound-dai:
> >>> + description: Specifies the phandle of CPU DAI node
> >>> + $ref: /schemas/types.yaml#/definitions/phandle-array
> >>> +
> >>> + required:
> >>> + - sound-dai
> >>> +
> >>> + codec:
> >>> + description: Holds the Codec DAI node and instance
> >>> + type: object
> >>
> >> additionalProperties: false
> > Okay
> >>
> >>> + properties:
> >>> + sound-dai:
> >>> + description: Specifies the phandle of Codec DAI node
> >>> + $ref: /schemas/types.yaml#/definitions/phandle-array
> >>
> >> Already has a type. Need to define how many entries (maxItems: 1 ?).
> > Okay. I'll update in the upcoming patch set
> >>
> >>> +
> >>> + required:
> >>> + - sound-dai
> >>> +
> >>> + required:
> >>> + - link-name
> >>> + - dai-format
> >>> + - tesla,bitclock-master
> >>> + - tesla,frame-master
> >>> + - cpu
> >>> +
> >>> +dependencies:
> >>> + dai-tdm-slot-width: [ 'dai-tdm-slot-num' ]
> >>
> >> This should be captured with tdm-slot.txt converted to schema.
> > Okay
> >>
> >>> +
> >>> +required:
> >>> + - compatible
> >>> + - model
> >>> + - dai-link
> >>> +
> >>> +additionalProperties: false
> >>> +
> >>> +examples:
> >>> + - |
> >>> + sound {
> >>> + compatible = "tesla,fsd-sndcard";
> >>> + status = "disabled";
> >>
> >> Why have a disabled example? Other than your example won't pass your
> >> schema.
> > Thanks for noticing, I'll double check and change the example keeping
> > the status as enabled
>
> No, just drop. Start with example-schema instead.
>
> Best regards,
> Krzysztof
next prev parent reply other threads:[~2022-11-08 6:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20221014104843epcas5p47f6daaad2e67e0c9eedd68c2256c025b@epcas5p4.samsung.com>
2022-10-14 10:21 ` [PATCH 0/6] ASoC: samsung: fsd: audio support for FSD SoC Padmanabhan Rajanbabu
[not found] ` <CGME20221014104850epcas5p1a707b9d407a0947c3519077cf7fca5ff@epcas5p1.samsung.com>
2022-10-14 10:21 ` [PATCH 1/6] ASoC: samsung: i2s: TDM Support for CPU DAI driver Padmanabhan Rajanbabu
[not found] ` <CGME20221014104857epcas5p2a275a1d606ca066227228d13bcf5b120@epcas5p2.samsung.com>
2022-10-14 10:21 ` [PATCH 2/6] ASoC: samsung: i2s: configure PSR from sound card Padmanabhan Rajanbabu
2022-10-14 12:02 ` Mark Brown
2022-10-21 8:00 ` Padmanabhan Rajanbabu
2022-10-21 11:53 ` Mark Brown
2022-11-08 5:23 ` Padmanabhan Rajanbabu
2022-11-09 17:38 ` Mark Brown
2023-01-03 4:55 ` Padmanabhan Rajanbabu
2022-10-23 13:12 ` Krzysztof Kozlowski
[not found] ` <CGME20221014104901epcas5p1a61ea81c3b1640bd8a064633c0b1e40d@epcas5p1.samsung.com>
2022-10-14 10:21 ` [PATCH 3/6] dt-bindings: sound: Add sound card bindings for Tesla FSD Padmanabhan Rajanbabu
2022-10-14 15:13 ` Rob Herring
2022-10-21 8:44 ` Padmanabhan Rajanbabu
2022-10-22 16:48 ` Krzysztof Kozlowski
2022-11-08 5:33 ` Padmanabhan Rajanbabu [this message]
2022-11-08 10:36 ` Krzysztof Kozlowski
[not found] ` <CGME20221014104904epcas5p4f458182cc9ac9c223d9a25566f3dd300@epcas5p4.samsung.com>
2022-10-14 10:21 ` [PATCH 4/6] ASoC: samsung: fsd: Add FSD soundcard driver Padmanabhan Rajanbabu
2022-10-14 12:23 ` Mark Brown
2022-10-21 8:09 ` Padmanabhan Rajanbabu
2022-10-16 15:18 ` Krzysztof Kozlowski
2022-10-21 9:04 ` Padmanabhan Rajanbabu
[not found] ` <CGME20221014104911epcas5p394100ff6ed53be32c4d64c7e23e48833@epcas5p3.samsung.com>
2022-10-14 10:21 ` [PATCH 5/6] arm64: dts: fsd: Add I2S DAI node for Tesla FSD Padmanabhan Rajanbabu
2022-10-14 13:24 ` Alim Akhtar
2022-10-21 8:09 ` Padmanabhan Rajanbabu
2022-10-16 15:14 ` Krzysztof Kozlowski
2022-10-21 8:49 ` Padmanabhan Rajanbabu
2022-10-21 13:01 ` Krzysztof Kozlowski
2022-11-08 5:26 ` Padmanabhan Rajanbabu
[not found] ` <CGME20221014104915epcas5p12414b87ea127b2d5bf521556bf841b00@epcas5p1.samsung.com>
2022-10-14 10:21 ` [PATCH 6/6] arm64: dts: fsd: Add sound card " Padmanabhan Rajanbabu
2022-10-14 13:29 ` Alim Akhtar
2022-10-21 8:12 ` Padmanabhan Rajanbabu
2022-10-21 12:53 ` Krzysztof Kozlowski
2022-11-08 5:25 ` Padmanabhan Rajanbabu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='01c101d8f333$b3bc8db0$1b35a910$@samsung.com' \
--to=p.rajanbabu@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=alsa-devel@alsa-project.org \
--cc=aswani.reddy@samsung.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=pankaj.dubey@samsung.com \
--cc=perex@perex.cz \
--cc=rcsekar@samsung.com \
--cc=robh@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).