From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Sugar Zhang <sugar.zhang@rock-chips.com>,
Krzysztof Kozlowski <krzk@kernel.org>
Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>,
Sebastian Reichel <sebastian.reichel@collabora.com>,
kernel@collabora.com, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-sound@vger.kernel.org
Subject: Re: [PATCH 3/7] ASoC: dt-bindings: add schema for rockchip SAI controllers
Date: Thu, 06 Mar 2025 14:13:18 +0100 [thread overview]
Message-ID: <2376575.ElGaqSPkdT@workhorse> (raw)
In-Reply-To: <ffd6287c-cbfd-4ba8-9332-45bad4e60583@kernel.org>
On Thursday, 6 March 2025 08:42:54 Central European Standard Time Krzysztof
Kozlowski wrote:
> On 05/03/2025 22:24, Nicolas Frattaroli wrote:
> > Rockchip introduced a new audio controller called the "Serial Audio
> > Interface", or "SAI" for short, on some of their newer SoCs. In
> > particular, this controller is used several times on the RK3576 SoC.
> >
> > Add a schema for it, with only an RK3576 compatible for now. Other SoCs
> > may follow as mainline support for them lands.
> >
> > Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> > ---
> >
> > .../devicetree/bindings/sound/rockchip,sai.yaml | 151
> > +++++++++++++++++++++
> Filename based on compatible.
Sure, but more compatibles will follow. Are you certain you want a file named
rockchip,rk3576-sai.yaml to then contain rockchip,rk3528-sai? If so then I do
not understand the reason behind this policy.
>
> > MAINTAINERS | 6 +
> > 2 files changed, 157 insertions(+)
>
> ...
>
> > +
> > + dma-names:
> > + minItems: 1
> > + maxItems: 2
> > + oneOf:
> > + - const: tx
> > + - const: rx
> > + - items:
> > + - const: tx
> > + - const: rx
>
> Why all combinations are possible?
Because they are. sai5 in rk3576 is rx only. sai7 is tx only. Others are both
tx and rx. Do you want me to enforce that those with both are always tx
followed by rx?
>
> > +
> > + clocks:
> > + items:
> > + - description: master audio clock
> > + - description: AHB clock driving the interface
> > +
> > + clock-names:
> > + items:
> > + - const: mclk
> > + - const: hclk
> > +
> > + resets:
> > + minItems: 1
> > + maxItems: 2
> > + description: resets for the mclk domain and ahb domain
>
> List the items instead with description and minItems: 1.
Will do
>
> > +
> > + reset-names:
> > + minItems: 1
> > + items:
> > + - const: m
> > + - const: h
> > +
> > + port:
> > + $ref: audio-graph-port.yaml#
> > + unevaluatedProperties: false
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + "#sound-dai-cells":
> > + const: 0
> > +
> > + rockchip,sai-rx-route:
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > + description:
> > + Defines the mapping of the controller's SDI ports to actual input
> > lanes, + as well as the number of input lanes.
> > + rockchip,sai-rx-route = <3> would mean sdi3 is receiving from
> > data0, and + that there is only one receiving lane.
> > + This property's absence is to be understood as only one receiving
> > lane + being used if the controller has capture capabilities.
> > + maxItems: 4
> > + items:
> > + enum: [0, 1, 2, 3]
> > +
> > + rockchip,sai-tx-route:
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > + description:
> > + Defines the mapping of the controller's SDO ports to actual output
> > lanes, + as well as the number of output lanes.
> > + rockchip,sai-tx-route = <3> would mean sdo3 is sending to data0,
> > and
>
> I understand this is only example because = <3> would not be allowed
> (test it).
I'll have to look into that, I was fairly certain I tested it, but maybe I
forgot to run a CHECK_DTBS with it in.
>
> > + that there is only one transmitting lane.
> > + This property's absence is to be understood as only one
> > transmitting lane + being used if the controller has playback
> > capabilities.
> > + maxItems: 4
> > + items:
> > + enum: [0, 1, 2, 3]
> > +
> > + rockchip,always-on:
> > + type: boolean
> > + description:
> > + The hardware requires this controller to remain turned on.
>
> How hardware requires this? You rather miss proper PM domain handling or
> some other resources.
This isn't about power domains. It's about the FS/SCLK generator inside the
IP. I'll remove it in the next revision since downstream only uses it for a
different IP on the RK3588, and I'd rather not get bogged down by discussions
as to whether SAI should be modelled as a clock provider.
>
> > +
> > +
>
> Just one blank line.
Will do
>
> > +required:
> > + - compatible
> > + - reg
> > + - dmas
> > + - dma-names
> > + - clocks
> > + - clock-names
> > + - "#sound-dai-cells"
> > +
> > +unevaluatedProperties: false
>
> Best regards,
> Krzysztof
Cheers,
Nicolas Frattaroli
next prev parent reply other threads:[~2025-03-06 13:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-05 21:24 [PATCH 0/7] Add RK3576 SAI Audio Controller Support Nicolas Frattaroli
2025-03-05 21:24 ` [PATCH 1/7] dt-bindings: clock: rk3576: add IOC gated clocks Nicolas Frattaroli
2025-03-06 7:38 ` Krzysztof Kozlowski
2025-03-05 21:24 ` [PATCH 2/7] clk: rockchip: add support for GRF " Nicolas Frattaroli
2025-03-05 22:21 ` Heiko Stuebner
2025-03-05 21:24 ` [PATCH 3/7] ASoC: dt-bindings: add schema for rockchip SAI controllers Nicolas Frattaroli
2025-03-06 7:42 ` Krzysztof Kozlowski
2025-03-06 13:13 ` Nicolas Frattaroli [this message]
2025-03-06 13:43 ` Krzysztof Kozlowski
2025-03-06 14:38 ` Nicolas Frattaroli
2025-03-07 20:56 ` Rob Herring
2025-03-05 21:24 ` [PATCH 4/7] ASoC: rockchip: add Serial Audio Interface (SAI) driver Nicolas Frattaroli
2025-03-06 7:37 ` Krzysztof Kozlowski
2025-03-06 13:23 ` Nicolas Frattaroli
2025-03-05 21:24 ` [PATCH 5/7] arm64: dts: rockchip: Add RK3576 SAI nodes Nicolas Frattaroli
2025-03-05 21:24 ` [PATCH 6/7] arm64: dts: rockchip: Add analog audio on RK3576 Sige5 Nicolas Frattaroli
2025-03-05 21:24 ` [PATCH 7/7] arm64: defconfig: Enable Rockchip SAI Nicolas Frattaroli
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=2376575.ElGaqSPkdT@workhorse \
--to=nicolas.frattaroli@collabora.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=perex@perex.cz \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=sebastian.reichel@collabora.com \
--cc=sugar.zhang@rock-chips.com \
--cc=tiwai@suse.com \
--cc=will@kernel.org \
/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).