Message ID | 5314a5fa9b7d488de77e31842644a92cfed329f3.1556284767.git.jsarha@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: sii902x: HDMI-audio support and some fixes | expand |
On Fri, Apr 26, 2019 at 8:23 AM Jyri Sarha <jsarha@ti.com> 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 | 41 +++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/bridge/sii902x.txt b/Documentation/devicetree/bindings/display/bridge/sii902x.txt > index c4c1855ca654..b5168a0e3a2b 100644 > --- a/Documentation/devicetree/bindings/display/bridge/sii902x.txt > +++ b/Documentation/devicetree/bindings/display/bridge/sii902x.txt > @@ -9,6 +9,41 @@ Optional properties: > about hotplug events. > - reset-gpios: OF device-tree gpio specification for RST_N pin. > > + HDMI audio properties: > + - #sound-dai-cells: <0> or <1>. <0> if only i2s or spdif pin > + is wired, <1> if the both are wired. HDMI audio is > + configured only if this property is found. > + - sil,i2s-data-lanes: Array of up to 4 integers with values of 0-3 > + Each integer indicates which i2s pin is connected to which > + audio fifo. The first integer selects i2s audio pin for the > + first audio fifo#0 (HDMI channels 1&2), second for fifo#1 > + (HDMI channels 3&4), and so on. There is 4 fifos and 4 i2s > + pins (SD0 - SD3). Any i2s pin can be connected to any fifo, > + but there can be no gaps. E.g. an i2s pin must be mapped to > + fifo#0 and fifo#1 before mapping a channel to fifo#2. Default > + value is <0>, describing SD0 pin beiging routed to hdmi audio > + fifo #0. > + - 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 > + "#sound-dai-cells"-property is present. This property follows > + Documentation/devicetree/bindings/clock/clock-bindings.txt > + consumer binding. > + > + If HDMI audio is configured the sii902x device becomes an I2S > + and/or spdif audio codec component (e.g a digital audio sink), > + that can be used in configuring a full audio devices with > + simple-card or audio-graph-card binding. See their binding > + documents on how to describe the way the sii902x device is > + connected to the rest of the audio system: > + Documentation/devicetree/bindings/sound/simple-card.txt > + Documentation/devicetree/bindings/sound/audio-graph-card.txt > + Note: In case of the audio-graph-card binding the used port > + index should be 3 or higher to avoid conflict with video ports Drop the 'or higher'. The port number should be known and fixed. With that, Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/display/bridge/sii902x.txt b/Documentation/devicetree/bindings/display/bridge/sii902x.txt index c4c1855ca654..b5168a0e3a2b 100644 --- a/Documentation/devicetree/bindings/display/bridge/sii902x.txt +++ b/Documentation/devicetree/bindings/display/bridge/sii902x.txt @@ -9,6 +9,41 @@ Optional properties: about hotplug events. - reset-gpios: OF device-tree gpio specification for RST_N pin. + HDMI audio properties: + - #sound-dai-cells: <0> or <1>. <0> if only i2s or spdif pin + is wired, <1> if the both are wired. HDMI audio is + configured only if this property is found. + - sil,i2s-data-lanes: Array of up to 4 integers with values of 0-3 + Each integer indicates which i2s pin is connected to which + audio fifo. The first integer selects i2s audio pin for the + first audio fifo#0 (HDMI channels 1&2), second for fifo#1 + (HDMI channels 3&4), and so on. There is 4 fifos and 4 i2s + pins (SD0 - SD3). Any i2s pin can be connected to any fifo, + but there can be no gaps. E.g. an i2s pin must be mapped to + fifo#0 and fifo#1 before mapping a channel to fifo#2. Default + value is <0>, describing SD0 pin beiging routed to hdmi audio + fifo #0. + - 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 + "#sound-dai-cells"-property is present. This property follows + Documentation/devicetree/bindings/clock/clock-bindings.txt + consumer binding. + + If HDMI audio is configured the sii902x device becomes an I2S + and/or spdif audio codec component (e.g a digital audio sink), + that can be used in configuring a full audio devices with + simple-card or audio-graph-card binding. See their binding + documents on how to describe the way the sii902x device is + connected to the rest of the audio system: + Documentation/devicetree/bindings/sound/simple-card.txt + Documentation/devicetree/bindings/sound/audio-graph-card.txt + Note: In case of the audio-graph-card binding the used port + index should be 3 or higher to avoid conflict with video ports + (see bellow). + Optional subnodes: - video input: this subnode can contain a video input port node to connect the bridge to a display controller output (See this @@ -21,6 +56,12 @@ Example: compatible = "sil,sii9022"; reg = <0x39>; reset-gpios = <&pioA 1 0>; + + #sound-dai-cells = <0>; + sil,i2s-data-lanes = < 0 1 2 >; + clocks = <&mclk>; + clock-names = "mclk"; + ports { #address-cells = <1>; #size-cells = <0>;
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 | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+)