From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jyri Sarha <jsarha@ti.com>
Cc: fabrizio.castro@bp.renesas.com, devicetree@vger.kernel.org,
voice.shen@atmel.com, dri-devel@lists.freedesktop.org,
peter.ujfalusi@ti.com, tomi.valkeinen@ti.com,
Songjun.Wu@atmel.com
Subject: Re: [PATCH v3 5/6] dt-bindings: display: sii902x: Add HDMI audio bindings
Date: Wed, 13 Mar 2019 18:47:24 +0200 [thread overview]
Message-ID: <20190313164724.GM4722@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20190313162919.GL4722@pendragon.ideasonboard.com>
Hello again,
On Wed, Mar 13, 2019 at 06:29:19PM +0200, Laurent Pinchart wrote:
> On Wed, Mar 13, 2019 at 06:01:07PM +0200, Jyri Sarha wrote:
> > The sii902x chip family supports also HDMI audio. Add binding for
> > describing the necessary i2s and mclk wiring for it.
> >
> > Signed-off-by: Jyri Sarha <jsarha@ti.com>
> > ---
> > .../bindings/display/bridge/sii902x.txt | 34 +++++++++++++++++++
> > include/dt-bindings/sound/sii902x-audio.h | 17 ++++++++++
> > 2 files changed, 51 insertions(+)
> > create mode 100644 include/dt-bindings/sound/sii902x-audio.h
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/sii902x.txt b/Documentation/devicetree/bindings/display/bridge/sii902x.txt
> > index c4c1855ca654..977756841193 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/sii902x.txt
> > +++ b/Documentation/devicetree/bindings/display/bridge/sii902x.txt
> > @@ -8,6 +8,29 @@ Optional properties:
> > - interrupts: describe the interrupt line used to inform the host
> > about hotplug events.
> > - reset-gpios: OF device-tree gpio specification for RST_N pin.
> > + - sil,i2s-fifo-routing: Array of exactly 4 integers indicating i2s
> > + pins for audio fifo routing. First integer defines routing to
> > + fifo 0 and second to fifo 1, etc. Integers can be filled with
> > + definitions from: include/dt-bindings/sound/sii902x-audio.h
> > + The available definitions are:
> > + - ENABLE_BIT: enable this audio fifo
> > + - CONNECT_SD#: route audio input from SD0, SD1, SD2, or SD3 i2s
> > + data input pin
> > + - LEFT_RIGHT_SWAP_BIT: swap i2s input channels for this fifo
>
> Are all combinations valid ? For instance, could we have D1 routed to
> the third FIFO, and all other FIFOs disabled ?
I found the answer to this question in the datasheet:
"Note that no gaps are allowed when mapping channels to FIFOs – SD pins
must be mapped to FIFO#0 and FIFO#1 before mapping a channel to FIFO#2,
and so on."
I think we can thus simplify the bindings, and use an approach similar
to the one taken by the data-lanes property for CSI-2. Furthermore, I
think this should be standardized, not left device-specific.
How about an sd-lanes property (better names are welcome) that would
store an array of N integers, where each sd-lanes[i] tells which SD pin
the i-th FIFO is connected to ?
> > + I2S HDMI audio is configured only if this property is found.
> > + - clocks: phandle mclk
>
> Maybe "clocks: phandle and clock specifier for each clock listed in the clock-names property" ?
>
> > + - clock-names: "mclk"
> > + Describes SII902x MCLK input. MCLK is used to produce
> > + HDMI audio CTS values. This property is required if
> > + "i2s-fifo-routing"-property is present. This property follows
>
> The property is named sil,i2s-fifo-routing.
>
> > + Documentation/devicetree/bindings/clock/clock-bindings.txt
> > + consumer binding.
> > + - #sound-dai-cells = <0>: ASoC codec dai available for simple-card
> > + If audio properties are present sii902x provides an ASoC
> > + codec component driver that can be used by other ASoC
> > + components like simple-card. See binding document for
> > + details:
> > + Documentation/devicetree/bindings/sound/simple-card.txt
> >
> > Optional subnodes:
> > - video input: this subnode can contain a video input port node
> > @@ -21,6 +44,17 @@ Example:
> > compatible = "sil,sii9022";
> > reg = <0x39>;
> > reset-gpios = <&pioA 1 0>;
> > +
> > + #sound-dai-cells = <0>;
> > + sil,i2s-fifo-routing = <
> > + (ENABLE_BIT|CONNECT_SD0)
> > + 0
> > + 0
> > + 0
> > + >;
> > + clocks = <&mclk>;
> > + clock-names = "mclk";
> > +
> > ports {
> > #address-cells = <1>;
> > #size-cells = <0>;
I also forgot to mention that the audio connection should be modeled
using OF graph too.
> > diff --git a/include/dt-bindings/sound/sii902x-audio.h b/include/dt-bindings/sound/sii902x-audio.h
> > new file mode 100644
> > index 000000000000..0a849904754b
> > --- /dev/null
> > +++ b/include/dt-bindings/sound/sii902x-audio.h
> > @@ -0,0 +1,17 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
> > + * Author: Jyri Sarha <jsarha@ti.com>
> > + */
> > +
> > +#ifndef __DT_SII9022_AUDIO_H
> > +#define __DT_SII9022_AUDIO_H
> > +
> > +#define ENABLE_BIT 0x80
> > +#define CONNECT_SD0 0x00
> > +#define CONNECT_SD1 0x10
> > +#define CONNECT_SD2 0x20
> > +#define CONNECT_SD3 0x30
> > +#define LEFT_RIGHT_SWAP_BIT 0x04
>
> This is fairly generic, should you prefix the macros with SII9022 ?
>
> > +
> > +#endif /* __DT_SII9022_AUDIO_H */
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-03-13 16:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-13 16:01 [PATCH v3 0/6] drm/bridge: sii902x: HDMI-audio support and some fixes Jyri Sarha
2019-03-13 16:01 ` [PATCH v3 1/6] drm/bridge: sii902x: add input_bus_flags Jyri Sarha
2019-03-13 16:23 ` Laurent Pinchart
2019-03-13 16:01 ` [PATCH v3 2/6] drm/bridge: sii902x: Set output mode to HDMI or DVI according to EDID Jyri Sarha
2019-03-13 16:23 ` Laurent Pinchart
2019-03-13 16:01 ` [PATCH v3 3/6] drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz Jyri Sarha
2019-03-13 16:24 ` Laurent Pinchart
2019-03-13 16:01 ` [PATCH v3 4/6] dt-bindings: display: sii902x: Remove trailing white space Jyri Sarha
2019-03-13 16:24 ` Laurent Pinchart
2019-03-13 16:01 ` [PATCH v3 5/6] dt-bindings: display: sii902x: Add HDMI audio bindings Jyri Sarha
2019-03-13 16:29 ` Laurent Pinchart
2019-03-13 16:47 ` Laurent Pinchart [this message]
2019-03-13 17:52 ` Jyri Sarha
2019-03-13 18:12 ` Laurent Pinchart
2019-03-13 19:28 ` Jyri Sarha
2019-03-14 10:11 ` Olivier MOYSAN
2019-03-13 16:01 ` [PATCH v3 6/6] drm/bridge: sii902x: Implement HDMI audio support Jyri Sarha
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=20190313164724.GM4722@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=Songjun.Wu@atmel.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=fabrizio.castro@bp.renesas.com \
--cc=jsarha@ti.com \
--cc=peter.ujfalusi@ti.com \
--cc=tomi.valkeinen@ti.com \
--cc=voice.shen@atmel.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