[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <04F0ED7C-3D18-4CCF-8F10-E0A36B0E4F4B@goldelico.com>
Date: Wed, 24 Nov 2021 17:19:09 +0100
From: "H. Nikolaus Schaller" <hns@...delico.com>
To: Paul Cercueil <paul@...pouillou.net>
Cc: Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Kees Cook <keescook@...omium.org>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Miquel Raynal <miquel.raynal@...tlin.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Neil Armstrong <narmstrong@...libre.com>,
Robert Foss <robert.foss@...aro.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Ezequiel Garcia <ezequiel@...labora.com>,
Harry Wentland <harry.wentland@....com>,
Sam Ravnborg <sam@...nborg.org>,
Maxime Ripard <maxime@...no.tech>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Paul Boddie <paul@...die.org.uk>, devicetree@...r.kernel.org,
linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
letux-kernel@...nphoenux.org, Jonas Karlman <jonas@...boo.se>,
dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH v8 6/8] MIPS: DTS: CI20: Add DT nodes for HDMI setup
> Am 23.11.2021 um 21:10 schrieb Paul Cercueil <paul@...pouillou.net>:
>
> Hi Nikolaus,
>
> Le mar., nov. 23 2021 at 19:13:59 +0100, H. Nikolaus Schaller <hns@...delico.com> a écrit :
>> From: Paul Boddie <paul@...die.org.uk>
>> We need to hook up
>> * HDMI connector
>> * HDMI power regulator
>> * JZ4780_CLK_HDMI @ 27 MHz
>> * DDC pinmux
>> * HDMI and LCDC endpoint connections
>> Signed-off-by: Paul Boddie <paul@...die.org.uk>
>> Signed-off-by: H. Nikolaus Schaller <hns@...delico.com>
>> ---
>> arch/mips/boot/dts/ingenic/ci20.dts | 83 +++++++++++++++++++++++++++--
>> 1 file changed, 80 insertions(+), 3 deletions(-)
>> diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
>> index b249a4f0f6b62..15cf03670693f 100644
>> --- a/arch/mips/boot/dts/ingenic/ci20.dts
>> +++ b/arch/mips/boot/dts/ingenic/ci20.dts
>> @@ -78,6 +78,18 @@ eth0_power: fixedregulator@0 {
>> enable-active-high;
>> };
>> + hdmi_out: connector {
>> + compatible = "hdmi-connector";
>> + label = "HDMI OUT";
>> + type = "a";
>> +
>> + port {
>> + hdmi_con: endpoint {
>> + remote-endpoint = <&dw_hdmi_out>;
>> + };
>> + };
>> + };
>> +
>> ir: ir {
>> compatible = "gpio-ir-receiver";
>> gpios = <&gpe 3 GPIO_ACTIVE_LOW>;
>> @@ -102,6 +114,17 @@ otg_power: fixedregulator@2 {
>> gpio = <&gpf 14 GPIO_ACTIVE_LOW>;
>> enable-active-high;
>> };
>> +
>> + hdmi_power: fixedregulator@3 {
>> + compatible = "regulator-fixed";
>> +
>> + regulator-name = "hdmi_power";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> +
>> + gpio = <&gpa 25 0>;
>> + enable-active-high;
>> + };
>> };
>> &ext {
>> @@ -114,11 +137,13 @@ &cgu {
>> * precision.
>> */
>> assigned-clocks = <&cgu JZ4780_CLK_OTGPHY>, <&cgu JZ4780_CLK_RTC>,
>> - <&cgu JZ4780_CLK_SSIPLL>, <&cgu JZ4780_CLK_SSI>;
>> + <&cgu JZ4780_CLK_SSIPLL>, <&cgu JZ4780_CLK_SSI>,
>> + <&cgu JZ4780_CLK_HDMI>;
>> assigned-clock-parents = <0>, <&cgu JZ4780_CLK_RTCLK>,
>> <&cgu JZ4780_CLK_MPLL>,
>> - <&cgu JZ4780_CLK_SSIPLL>;
>> - assigned-clock-rates = <48000000>, <0>, <54000000>;
>> + <&cgu JZ4780_CLK_SSIPLL>,
>> + <0>;
>
> Nit - you can remove the last <0>, it will be the default.
Well, it might make life easier for the next addition but I've removed it.
>
>> + assigned-clock-rates = <48000000>, <0>, <54000000>, <0>, <27000000>;
>> };
>> &tcu {
>> @@ -509,6 +534,19 @@ pins_i2c4: i2c4 {
>> bias-disable;
>> };
>> + pins_hdmi_ddc: hdmi_ddc {
>> + function = "hdmi-ddc";
>> + groups = "hdmi-ddc";
>> + bias-disable;
>> + };
>> +
>> + /* switch to PF25 as gpio driving DDC_SDA low */
>> + pins_hdmi_ddc_unwedge: hdmi_ddc {
>> + function = "hdmi-ddc";
>> + groups = "hdmi-ddc";
>> + bias-disable;
>> + };
>
> Your pins_hdmi_ddc and pins_hdmi_ddc_unwedge are the exact same? You could just use the former and pass it to both pinctrl-0 and pinctrl-1.
This was forgotten to remove. We do not make use of the unwedge feature because I could not find out how to use pinctrl to switch this to gpio25 and drive it low.
And I always had a revert for this in my test tree and we haven't seen a stuck DDC so far. Therefore I remove it (and leave it as maybe-to-to in my tree).
>
> Cheers,
> -Paul
>
>> +
>> pins_nemc: nemc {
>> function = "nemc";
>> groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
>> @@ -539,3 +577,42 @@ pins_mmc1: mmc1 {
>> bias-disable;
>> };
>> };
>> +
>> +&hdmi {
>> + status = "okay";
>> +
>> + pinctrl-names = "default", "unwedge";
>> + pinctrl-0 = <&pins_hdmi_ddc>;
>> + pinctrl-1 = <&pins_hdmi_ddc_unwedge>;
>> +
>> + hdmi-5v-supply = <&hdmi_power>;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> + dw_hdmi_in: endpoint {
>> + remote-endpoint = <&lcd_out>;
>> + };
>> + };
>> +
>> + port@1 {
>> + reg = <1>;
>> + dw_hdmi_out: endpoint {
>> + remote-endpoint = <&hdmi_con>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&lcdc0 {
>> + status = "okay";
>> +
>> + port {
>> + lcd_out: endpoint {
>> + remote-endpoint = <&dw_hdmi_in>;
>> + };
>> + };
>> +};
>> --
>> 2.33.0
Powered by blists - more mailing lists