[RFC v2 6/8] MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller

H. Nikolaus Schaller hns at goldelico.com
Tue Mar 3 07:24:49 UTC 2020


Hi Paul,

> Am 02.03.2020 um 20:27 schrieb Paul Cercueil <paul at crapouillou.net>:
> 
> Hi Nikolaus,
> 
> 
> Le ven., févr. 28, 2020 at 19:19, H. Nikolaus Schaller <hns at goldelico.com> a écrit :
>> From: Paul Boddie <paul at boddie.org.uk>
>> A specialisation of the generic Synopsys HDMI driver is employed for JZ4780
>> HDMI support. This requires a new driver, plus device tree and configuration
>> modifications.
>> Signed-off-by: Paul Boddie <paul at boddie.org.uk>
>> Signed-off-by: H. Nikolaus Schaller <hns at goldelico.com>
>> ---
>> arch/mips/boot/dts/ingenic/jz4780.dtsi | 32 ++++++++++++++++++++++++++
>> 1 file changed, 32 insertions(+)
>> diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi b/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> index f928329b034b..391d4e1efd35 100644
>> --- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> +++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
>> @@ -433,4 +433,36 @@
>> 		status = "disabled";
>> 	};
>> +
>> +	hdmi: hdmi at 10180000 {
>> +		compatible = "ingenic,jz4780-dw-hdmi";
>> +		reg = <0x10180000 0x8000>;
>> +		reg-io-width = <4>;
>> +
>> +		clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
>> +		clock-names = "isfr" , "iahb";
>> +
>> +		assigned-clocks = <&cgu JZ4780_CLK_HDMI>;
>> +		assigned-clock-rates = <27000000>;
> 
> I *think* this should go to the board file.

Hm. I am not sure.

Can there be differences in HDMI between different boards so
that it needs to be defined there?

IMHO the HDMI subsystem is completely sitting on the jz4780 SoC
and clocked by the master clock. So boards should only differ in the
ESD protection and mechanical connector... 

And status = "ok".

> 
>> +
>> +		interrupt-parent = <&intc>;
>> +		interrupts = <3>;
>> +
>> +		/* ddc-i2c-bus = <&i2c4>; */
>> +
>> +		status = "disabled";
>> +	};
>> +
>> +	lcd: lcd at 13050000 {
> 
> The node name should be 'lcd-controller'.
> 
>> +		compatible = "ingenic,jz4740-lcd";
> 
> The JZ4780's LCD controller is much newer than the JZ4740 one, so even if it works with the "ingenic,jz4740-lcd" compatible string, you want it as a fallback.
> So this should be: compatible = "ingenic,jz4780-lcd", "ingenic,jz4740-lcd".

Ah, that is an interesting detail.

It could be the reason why the HDMI does not show an output signal yet.
If the jz4740-lcd and jz4780-lcd are not really 100% compatible.
I'll give it try asap.

If it does not help to get output signals, we need community members who
can test (i.e. own an CI20 board) and can help to identify the bug(s).

> 
> That means the YAML should be updated too.

Ok.

BR,
Nikolaus

> 
> -Paul
> 
>> +		reg = <0x13050000 0x1800>;
>> +
>> +		clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
>> +		clock-names = "lcd", "lcd_pclk";
>> +
>> +		interrupt-parent = <&intc>;
>> +		interrupts = <31>;
>> +
>> +		status = "disabled";
>> +	};
>> };
>> --
>> 2.23.0
> 
> 



More information about the dri-devel mailing list