All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Alex Riesen <alexander.riesen@cetitec.com>,
	Kieran Bingham <kieran.bingham@ideasonboard.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	driverdevel <devel@driverdev.osuosl.org>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH 8/8] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC
Date: Mon, 2 Mar 2020 13:28:13 +0100	[thread overview]
Message-ID: <CAMuHMdV9urx-6N4tiaPdkssa6Wu-9HSB4VY-rvCu+8JpfZcBfA@mail.gmail.com> (raw)
In-Reply-To: <20200113141556.GI3606@pflmari>

Hi Alex,

Thanks for your patch!

On Mon, Jan 13, 2020 at 3:24 PM Alex Riesen
<alexander.riesen@cetitec.com> wrote:
> Not sure if all variants of the Salvator board have the HDMI decoder
> chip (the ADV7482) connected to the SSI4 on R-Car SoC, as it is on
> Salvator-X ES1, so the the ADV7482 endpoint and connection definitions
> are placed in the board file.

Both Salvator-X and Salvator-XS have SSI4 wired to the ADV7482.

> I do assume though that all Salvator variants have the CLK_C clock line
> hard-wired to the ADV7482 HDMI decoder, and remove it from the list of
> clocks provided by the R-Car sound system.

Yes, both Salvator-X and Salvator-XS have it wired that way.  But please
see below.

> The I2C wiring is also likely to persist across the variants (similar
> to ak4613, connected to the same interface), so that is in the common
> file.
>
> Signed-off-by: Alexander Riesen <alexander.riesen@cetitec.com>

Below are my comments w.r.t. the board-specific wiring.
I'll defer to the multimedia people for commenting on the audio parts.

BTW, what is the status of the other patches in this series?

> --- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
> +++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
> @@ -322,6 +322,10 @@
>         clock-frequency = <22579200>;
>  };
>
> +&audio_clk_c {
> +       clock-frequency = <12288000>;
> +};

Does the ADV7482 always generate a 12.288 MHz clock signal?
Or is this programmable?

> +
>  &avb {
>         pinctrl-0 = <&avb_pins>;
>         pinctrl-names = "default";
> @@ -471,12 +475,14 @@
>
>                 #address-cells = <1>;
>                 #size-cells = <0>;
> +               #sound-dai-cells = <0>;
>
>                 interrupt-parent = <&gpio6>;
>                 interrupt-names = "intrq1", "intrq2";
>                 interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
>                              <31 IRQ_TYPE_LEVEL_LOW>;
> -
> +               clocks = <&rcar_sound 3>, <&audio_clk_c>;
> +               clock-names = "clk-hdmi-video", "clk-hdmi-i2s-mclk";

The above declares the Audio CLK C to be a clock input of the ADV7482, while
it is an output.
Furthermore, the DT bindings do not document that clocks can be specified.

>                 port@7 {
>                         reg = <7>;
>
> @@ -512,6 +518,14 @@
>                                 remote-endpoint = <&csi20_in>;
>                         };
>                 };
> +
> +               port@c {
> +                       reg = <12>;
> +
> +                       adv7482_i2s: endpoint {
> +                               /* remote-endpoint defined in the board file */
> +                       };
> +               };
>         };
>
>         csa_vdd: adc@7c {
> @@ -686,7 +700,8 @@
>         };
>
>         sound_pins: sound {
> -               groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
> +               groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a",
> +                        "ssi4_data";

Missing "ss4_ctrl", for the SCK4 and WS4 pins.

>                 function = "ssi";
>         };
>
> @@ -735,8 +750,8 @@
>         pinctrl-0 = <&sound_pins &sound_clk_pins>;
>         pinctrl-names = "default";
>
> -       /* Single DAI */
> -       #sound-dai-cells = <0>;
> +       /* multi DAI */
> +       #sound-dai-cells = <1>;
>
>         /* audio_clkout0/1/2/3 */
>         #clock-cells = <1>;
> @@ -760,8 +775,18 @@
>                  <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
>                  <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
>                  <&audio_clk_a>, <&cs2000>,
> -                <&audio_clk_c>,

Why remove it? This is the list of clock inputs, not outputs.

>                  <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
> +       clock-names = "ssi-all",
> +                     "ssi.9", "ssi.8", "ssi.7", "ssi.6",
> +                     "ssi.5", "ssi.4", "ssi.3", "ssi.2",
> +                     "ssi.1", "ssi.0",
> +                     "src.9", "src.8", "src.7", "src.6",
> +                     "src.5", "src.4", "src.3", "src.2",
> +                     "src.1", "src.0",
> +                     "mix.1", "mix.0",
> +                     "ctu.1", "ctu.0",
> +                     "dvc.0", "dvc.1",
> +                     "clk_a", "clk_b", "clk_i";
>
>         ports {
>                 #address-cells = <1>;
> --
> 2.24.1.508.g91d2dafee0

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Alex Riesen <alexander.riesen@cetitec.com>,
	 Kieran Bingham <kieran.bingham@ideasonboard.com>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	 Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Rob Herring <robh+dt@kernel.org>,
	 Mark Rutland <mark.rutland@arm.com>,
	driverdevel <devel@driverdev.osuosl.org>,
	 Linux Media Mailing List <linux-media@vger.kernel.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	 "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	 Linux-Renesas <linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH 8/8] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC
Date: Mon, 2 Mar 2020 13:28:13 +0100	[thread overview]
Message-ID: <CAMuHMdV9urx-6N4tiaPdkssa6Wu-9HSB4VY-rvCu+8JpfZcBfA@mail.gmail.com> (raw)
In-Reply-To: <20200113141556.GI3606@pflmari>

Hi Alex,

Thanks for your patch!

On Mon, Jan 13, 2020 at 3:24 PM Alex Riesen
<alexander.riesen@cetitec.com> wrote:
> Not sure if all variants of the Salvator board have the HDMI decoder
> chip (the ADV7482) connected to the SSI4 on R-Car SoC, as it is on
> Salvator-X ES1, so the the ADV7482 endpoint and connection definitions
> are placed in the board file.

Both Salvator-X and Salvator-XS have SSI4 wired to the ADV7482.

> I do assume though that all Salvator variants have the CLK_C clock line
> hard-wired to the ADV7482 HDMI decoder, and remove it from the list of
> clocks provided by the R-Car sound system.

Yes, both Salvator-X and Salvator-XS have it wired that way.  But please
see below.

> The I2C wiring is also likely to persist across the variants (similar
> to ak4613, connected to the same interface), so that is in the common
> file.
>
> Signed-off-by: Alexander Riesen <alexander.riesen@cetitec.com>

Below are my comments w.r.t. the board-specific wiring.
I'll defer to the multimedia people for commenting on the audio parts.

BTW, what is the status of the other patches in this series?

> --- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
> +++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
> @@ -322,6 +322,10 @@
>         clock-frequency = <22579200>;
>  };
>
> +&audio_clk_c {
> +       clock-frequency = <12288000>;
> +};

Does the ADV7482 always generate a 12.288 MHz clock signal?
Or is this programmable?

> +
>  &avb {
>         pinctrl-0 = <&avb_pins>;
>         pinctrl-names = "default";
> @@ -471,12 +475,14 @@
>
>                 #address-cells = <1>;
>                 #size-cells = <0>;
> +               #sound-dai-cells = <0>;
>
>                 interrupt-parent = <&gpio6>;
>                 interrupt-names = "intrq1", "intrq2";
>                 interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
>                              <31 IRQ_TYPE_LEVEL_LOW>;
> -
> +               clocks = <&rcar_sound 3>, <&audio_clk_c>;
> +               clock-names = "clk-hdmi-video", "clk-hdmi-i2s-mclk";

The above declares the Audio CLK C to be a clock input of the ADV7482, while
it is an output.
Furthermore, the DT bindings do not document that clocks can be specified.

>                 port@7 {
>                         reg = <7>;
>
> @@ -512,6 +518,14 @@
>                                 remote-endpoint = <&csi20_in>;
>                         };
>                 };
> +
> +               port@c {
> +                       reg = <12>;
> +
> +                       adv7482_i2s: endpoint {
> +                               /* remote-endpoint defined in the board file */
> +                       };
> +               };
>         };
>
>         csa_vdd: adc@7c {
> @@ -686,7 +700,8 @@
>         };
>
>         sound_pins: sound {
> -               groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
> +               groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a",
> +                        "ssi4_data";

Missing "ss4_ctrl", for the SCK4 and WS4 pins.

>                 function = "ssi";
>         };
>
> @@ -735,8 +750,8 @@
>         pinctrl-0 = <&sound_pins &sound_clk_pins>;
>         pinctrl-names = "default";
>
> -       /* Single DAI */
> -       #sound-dai-cells = <0>;
> +       /* multi DAI */
> +       #sound-dai-cells = <1>;
>
>         /* audio_clkout0/1/2/3 */
>         #clock-cells = <1>;
> @@ -760,8 +775,18 @@
>                  <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
>                  <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
>                  <&audio_clk_a>, <&cs2000>,
> -                <&audio_clk_c>,

Why remove it? This is the list of clock inputs, not outputs.

>                  <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
> +       clock-names = "ssi-all",
> +                     "ssi.9", "ssi.8", "ssi.7", "ssi.6",
> +                     "ssi.5", "ssi.4", "ssi.3", "ssi.2",
> +                     "ssi.1", "ssi.0",
> +                     "src.9", "src.8", "src.7", "src.6",
> +                     "src.5", "src.4", "src.3", "src.2",
> +                     "src.1", "src.0",
> +                     "mix.1", "mix.0",
> +                     "ctu.1", "ctu.0",
> +                     "dvc.0", "dvc.1",
> +                     "clk_a", "clk_b", "clk_i";
>
>         ports {
>                 #address-cells = <1>;
> --
> 2.24.1.508.g91d2dafee0

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

  reply	other threads:[~2020-03-02 12:28 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-13 14:19 [PATCH 0/8] media: i2c: adv748x: add support for HDMI audio Alex Riesen
2020-01-13 14:19 ` Alex Riesen
2020-01-13 14:15 ` [PATCH 1/8] media: adv748x: add a device-specific wrapper for register block read Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 14:15 ` [PATCH 2/8] media: adv748x: add audio mute control and output selection ioctls Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-03-13  8:16   ` Hans Verkuil
2020-03-13  8:16     ` Hans Verkuil
2020-03-13 10:26     ` Alex Riesen
2020-03-13 10:26       ` Alex Riesen
2020-03-13 10:52       ` Hans Verkuil
2020-03-13 10:52         ` Hans Verkuil
2020-03-13 11:00         ` Alex Riesen
2020-03-13 11:00           ` Alex Riesen
2020-01-13 14:15 ` [PATCH 3/8] media: adv748x: add log_status ioctl Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 14:15 ` [PATCH 4/8] media: adv748x: reserve space for the audio (I2S) port in the driver structures Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 14:15 ` [PATCH 5/8] media: adv748x: add an ASoC DAI definition to the driver Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 14:15 ` [PATCH 6/8] media: adv748x: reduce amount of code for bitwise modification of device registers Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 14:15 ` [PATCH 7/8] dt-bindings: adv748x: add information about serial audio interface (I2S/TDM) Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-01-13 22:32   ` Rob Herring
2020-01-13 22:32     ` Rob Herring
2020-01-13 14:15 ` [PATCH 8/8] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC Alex Riesen
2020-01-13 14:15   ` Alex Riesen
2020-03-02 12:28   ` Geert Uytterhoeven [this message]
2020-03-02 12:28     ` Geert Uytterhoeven
2020-03-02 13:40     ` Alex Riesen
2020-03-02 13:40       ` Alex Riesen
2020-03-02 13:47       ` Geert Uytterhoeven
2020-03-02 13:47         ` Geert Uytterhoeven
2020-03-02 15:07         ` Alex Riesen
2020-03-02 15:07           ` Alex Riesen
2020-03-02 15:32           ` Geert Uytterhoeven
2020-03-02 15:32             ` Geert Uytterhoeven
2020-03-02 16:09             ` Alex Riesen
2020-03-02 16:09               ` Alex Riesen
2020-03-02 16:13               ` Geert Uytterhoeven
2020-03-02 16:13                 ` Geert Uytterhoeven
2020-03-05 14:36                 ` Alex Riesen
2020-03-05 14:36                   ` Alex Riesen
2020-03-06 12:21                   ` Geert Uytterhoeven
2020-03-06 12:21                     ` Geert Uytterhoeven
2020-03-06 13:16                   ` Laurent Pinchart
2020-03-06 13:16                     ` Laurent Pinchart
2020-03-06 13:41                     ` Alex Riesen
2020-03-06 13:41                       ` Alex Riesen
2020-03-06 13:45                       ` Laurent Pinchart
2020-03-06 13:45                         ` Laurent Pinchart
2020-03-09  1:31                         ` Kuninori Morimoto
2020-03-09  1:31                           ` Kuninori Morimoto
2020-03-09 11:09                           ` Alex Riesen
2020-03-09 11:09                             ` Alex Riesen
2020-03-10  1:07                             ` Kuninori Morimoto
2020-03-10  1:07                               ` Kuninori Morimoto
2020-03-10  8:17                               ` Alex Riesen
2020-03-10  8:17                                 ` Alex Riesen
2020-03-10 10:39                                 ` Laurent Pinchart
2020-03-10 10:39                                   ` Laurent Pinchart

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=CAMuHMdV9urx-6N4tiaPdkssa6Wu-9HSB4VY-rvCu+8JpfZcBfA@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=alexander.riesen@cetitec.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.