Message ID | 20230612085614.3039498-1-mengyingkun@loongson.cn |
---|---|
State | Superseded |
Headers | show |
Series | None | expand |
On Tue, Jun 13, 2023 at 08:23:58PM +0800, Yingkun Meng wrote: > > On 2023/6/13 01:24, Conor Dooley wrote: > > Hey! > > > > On Mon, Jun 12, 2023 at 04:56:14PM +0800, YingKun Meng wrote: > > > From: Yingkun Meng <mengyingkun@loongson.cn> > > > > > > The audio card uses loongson I2S controller present in > > > 7axxx/2kxxx chips to transfer audio data. > > > > > > On loongson platform, the chip has only one I2S controller. > > > > > > Signed-off-by: Yingkun Meng <mengyingkun@loongson.cn> > > I got 2 copies of this patch, but none of the rest of the series appears > > to be threaded with it. > > > > > .../sound/loongson,ls-audio-card.yaml | 70 +++++++++++++++++++ > > > 1 file changed, 70 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml b/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml > > > new file mode 100644 > > > index 000000000000..61e8babed402 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml > > > @@ -0,0 +1,70 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/sound/loongson,ls-audio-card.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Loongson 7axxx/2kxxx ASoC audio sound card driver > > > + > > > +maintainers: > > > + - Yingkun Meng <mengyingkun@loongson.cn> > > > + > > > +description: > > > + The binding describes the sound card present in loongson > > > + 7axxx/2kxxx platform. The sound card is an ASoC component > > > + which uses Loongson I2S controller to transfer the audio data. > > > + > > > +properties: > > > + compatible: > > > + const: loongson,ls-audio-card > > Reviewing sound stuff is beyond my pay grade, so forgive me if I am off > > the rails here, but this (and the "x"s in the description) look a bit > > odd. Recently, we've noticed quite a few loongson dt-bindings attempting > > to use a single compatible for many different chips. > > Usually you have individual compatibles for the various SoCs with this > > core, which can fall back to a generic one, rather than just adding a > > generic compatible for all devices. > > As far as I know, there's several SoCs fitting 2kxxx, and the format > > being used elsewhere is "loongson,ls2k1000" etc. > > > Currently, Loongson has 2K0500/2K1000LA/2K1500/2K2000 chips. > > Here, its' possible to use a single compatible for different chips, > > as the audio device is a logical device, not dependent on chip model. What, may I ask, is a "logical device"?
On Tue, Jun 13, 2023 at 08:38:59PM +0800, Yingkun Meng wrote: > On 2023/6/13 20:28, Conor Dooley wrote: > > On Tue, Jun 13, 2023 at 08:23:58PM +0800, Yingkun Meng wrote: > > > On 2023/6/13 01:24, Conor Dooley wrote: > > > > On Mon, Jun 12, 2023 at 04:56:14PM +0800, YingKun Meng wrote: > > > > > From: Yingkun Meng <mengyingkun@loongson.cn> > > > > > > > > > > The audio card uses loongson I2S controller present in > > > > > 7axxx/2kxxx chips to transfer audio data. > > > > > > > > > > On loongson platform, the chip has only one I2S controller. > > > > > +description: > > > > > + The binding describes the sound card present in loongson > > > > > + 7axxx/2kxxx platform. The sound card is an ASoC component > > > > > + which uses Loongson I2S controller to transfer the audio data. > > > > > + > > > > > +properties: > > > > > + compatible: > > > > > + const: loongson,ls-audio-card > > > > Reviewing sound stuff is beyond my pay grade, so forgive me if I am off > > > > the rails here, but this (and the "x"s in the description) look a bit > > > > odd. Recently, we've noticed quite a few loongson dt-bindings attempting > > > > to use a single compatible for many different chips. > > > > Usually you have individual compatibles for the various SoCs with this > > > > core, which can fall back to a generic one, rather than just adding a > > > > generic compatible for all devices. > > > > As far as I know, there's several SoCs fitting 2kxxx, and the format > > > > being used elsewhere is "loongson,ls2k1000" etc. > > > > > > Currently, Loongson has 2K0500/2K1000LA/2K1500/2K2000 chips. > > > > > > Here, its' possible to use a single compatible for different chips, > > > > > > as the audio device is a logical device, not dependent on chip model. > > What, may I ask, is a "logical device"? > > > I means it's not a physical one, like "platform bus". So it is entirely a software construct? Why does it need a dt-binding then? Your commit message says the controller is present on the device! Confused, Conor.
On Tue, Jun 13, 2023 at 02:54:36PM +0100, Mark Brown wrote: > On Tue, Jun 13, 2023 at 01:46:41PM +0100, Conor Dooley wrote: > > > So it is entirely a software construct? Why does it need a dt-binding > > then? Your commit message says the controller is present on the device! > > A typical embedded (or power efficient laptop) audio design will consist > of multiple devices connected together (frequently via non-control > buses) together with system level passive components and plastics which > are also important to the audio configuration. A card binding describes > the interconections between the devices in the system and provides > identification information for the audio subsystem. This system level > audio integration is a physical thing that can be pointed at that > requires real software control. The bit you were responding to with that was a disingenuous question. Probably not fair of me to ask one of a non-native speaker like that, when all I wanted to know was whether it was appropriate not to add a more specific compatible, or whether this was something invariant. > Like I said before please look at the existing audio card bindings. Yah, ofc I did that to see if there were other similar bindings that used specific compatibles...
diff --git a/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml b/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml new file mode 100644 index 000000000000..61e8babed402 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/loongson,ls-audio-card.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/loongson,ls-audio-card.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Loongson 7axxx/2kxxx ASoC audio sound card driver + +maintainers: + - Yingkun Meng <mengyingkun@loongson.cn> + +description: + The binding describes the sound card present in loongson + 7axxx/2kxxx platform. The sound card is an ASoC component + which uses Loongson I2S controller to transfer the audio data. + +properties: + compatible: + const: loongson,ls-audio-card + + model: + $ref: /schemas/types.yaml#/definitions/string + description: User specified audio sound card name + + mclk-fs: + $ref: simple-card.yaml#/definitions/mclk-fs + + cpu: + description: Holds subnode which indicates cpu dai. + type: object + additionalProperties: false + properties: + sound-dai: + maxItems: 1 + required: + - sound-dai + + codec: + description: Holds subnode which indicates codec dai. + type: object + additionalProperties: false + properties: + sound-dai: + maxItems: 1 + required: + - sound-dai + +required: + - compatible + - model + - mclk-fs + - cpu + - codec + +additionalProperties: false + +examples: + - | + sound { + compatible = "loongson,ls-audio-card"; + model = "loongson-audio"; + mclk-fs = <512>; + + cpu { + sound-dai = <&i2s>; + }; + codec { + sound-dai = <&es8323>; + }; + };