From: Geert Uytterhoeven <geert@linux-m68k.org> To: Alex Riesen <alexander.riesen@cetitec.com>, Geert Uytterhoeven <geert@linux-m68k.org>, 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 14:47:46 +0100 [thread overview] Message-ID: <CAMuHMdWobAE+y90DRi+zQadObWPxLyQiGNTe4t77O-2S1Vp5yA@mail.gmail.com> (raw) In-Reply-To: <20200302134011.GA3717@pflmari> Hi Alex, On Mon, Mar 2, 2020 at 2:40 PM Alex Riesen <alexander.riesen@cetitec.com> wrote: > Geert Uytterhoeven, Mon, Mar 02, 2020 13:28:13 +0100: > > 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. > > Ok, seems like I can move that part into the common file as well. > Integrations of ADV7482 and R-Car which use salvator-common.dts can still > redefine the endpoint settings in their board files, right? Indeed. > > > --- 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? > > Oops. It looks like it is and the value is derived from the sampling rate > (48kHz) and the master clock multiplier. Both hard-coded in the board file. Where are these hardcoded in the board file? Even if they are, technically this is a clock output of the ADC7482. > > > video-receiver@70 { > > > compatible = "adi,adv7482"; > > > ... > > > + 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. > > I would gladly give it right direction if I *really* understood what I was > doing... :-) > > Furthermore, the DT bindings do not document that clocks can be specified. > > Should the DT bindings document that the clock cannot be specified than? It currently does say so, as it doesn't list "clocks" in its properties section. > > > @@ -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. > > I'll add them. > As the device seems to function even without thoes, does this mean the pins in > the group are used "on demand" by whatever needs them? Probably the SCK4/WS4 functions are the reset-state defaults. > > > @@ -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. > > ...probably because I was thinking the specification was exactly the other way > around. > > Does a "clocks = ..." statement always mean input clocks? Yes it does. If a device has clock outputs and is thus a clock provider, it should have a #clock-cells property, and this should be documented in the bindings. A clock consumer will refer to clocks of a provider using the "clocks" property, specifying a clock specifier (phandle and zero or more indices) for each clock referenced. > I shall correct that and re-test (might take a while, I don't have the > hardware anymore). Oops. 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>, Geert Uytterhoeven <geert@linux-m68k.org>, 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 14:47:46 +0100 [thread overview] Message-ID: <CAMuHMdWobAE+y90DRi+zQadObWPxLyQiGNTe4t77O-2S1Vp5yA@mail.gmail.com> (raw) In-Reply-To: <20200302134011.GA3717@pflmari> Hi Alex, On Mon, Mar 2, 2020 at 2:40 PM Alex Riesen <alexander.riesen@cetitec.com> wrote: > Geert Uytterhoeven, Mon, Mar 02, 2020 13:28:13 +0100: > > 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. > > Ok, seems like I can move that part into the common file as well. > Integrations of ADV7482 and R-Car which use salvator-common.dts can still > redefine the endpoint settings in their board files, right? Indeed. > > > --- 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? > > Oops. It looks like it is and the value is derived from the sampling rate > (48kHz) and the master clock multiplier. Both hard-coded in the board file. Where are these hardcoded in the board file? Even if they are, technically this is a clock output of the ADC7482. > > > video-receiver@70 { > > > compatible = "adi,adv7482"; > > > ... > > > + 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. > > I would gladly give it right direction if I *really* understood what I was > doing... :-) > > Furthermore, the DT bindings do not document that clocks can be specified. > > Should the DT bindings document that the clock cannot be specified than? It currently does say so, as it doesn't list "clocks" in its properties section. > > > @@ -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. > > I'll add them. > As the device seems to function even without thoes, does this mean the pins in > the group are used "on demand" by whatever needs them? Probably the SCK4/WS4 functions are the reset-state defaults. > > > @@ -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. > > ...probably because I was thinking the specification was exactly the other way > around. > > Does a "clocks = ..." statement always mean input clocks? Yes it does. If a device has clock outputs and is thus a clock provider, it should have a #clock-cells property, and this should be documented in the bindings. A clock consumer will refer to clocks of a provider using the "clocks" property, specifying a clock specifier (phandle and zero or more indices) for each clock referenced. > I shall correct that and re-test (might take a while, I don't have the > hardware anymore). Oops. 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
next prev parent reply other threads:[~2020-03-02 13:48 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 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 [this message] 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=CAMuHMdWobAE+y90DRi+zQadObWPxLyQiGNTe4t77O-2S1Vp5yA@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: linkBe 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.