Hi Linus,

I was planning to apply this and observed few things.

On 28/05/18 13:26, Linus Walleij wrote:
> The Versatile Express was submitted with the actual display
> bridges unconnected (but defined in the device tree) and
> mock "panels" encoded in the device tree node of the PL111
> controller.
> 
> This doesn't even remotely describe the actual Versatile
> Express hardware. Exploit the SiI9022 bridge by connecting
> the PL111 pads to it, making it use EDID or fallback values
> to drive the monitor.
> 
> The  also has to use the reserved memory through the
> CMA pool rather than by open coding a memory region and
> remapping it explicitly in the driver. To achieve this,
> a reserved-memory node must exist in the root of the
> device tree, so we need to pull that out of the
> motherboard .dtsi include files, and push it into each
> top-level device tree instead.
> 
> We do the same manouver for all the Versatile Express
> boards, taking into account the different location of the
> video RAM depending on which chip select is used on
> each platform.
> 
> This plays nicely with the new PL111 DRM driver and
> follows the standard ways of assigning bridges and
> memory pools for graphics.
> 
> Cc: Sudeep Holla <sudeep.ho...@arm.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieral...@arm.com>
> Cc: Liviu Dudau <liviu.du...@arm.com>
> Cc: Mali DP Maintainers <mal...@foss.arm.com>
> Cc: Robin Murphy <robin.mur...@arm.com>
> Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
> ---
> ChangeLog v1->v2:
> - Fix up the memory address for the -rs1 tiles to 0x18000000
> - Drop a bunch of extraneous reg props from the DVI adapter
> ---
>  arch/arm/boot/dts/vexpress-v2m-rs1.dtsi       | 44 ++++++------------
>  arch/arm/boot/dts/vexpress-v2m.dtsi           | 45 ++++++-------------
>  arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts   | 14 ++++++
>  arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts    | 14 ++++++
>  arch/arm/boot/dts/vexpress-v2p-ca5s.dts       | 14 ++++++
>  arch/arm/boot/dts/vexpress-v2p-ca9.dts        | 41 +++++++----------
>  arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts    | 14 ++++++
>  .../boot/dts/arm/rtsm_ve-motherboard.dtsi     | 37 +++------------
>  8 files changed, 105 insertions(+), 118 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi 
> b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> index 7b8ff5b3b912..69f6a9436325 100644
> --- a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> +++ b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
> @@ -43,11 +43,6 @@
>                               bank-width = <4>;
>                       };
>  
> -                     v2m_video_ram: vram@2,00000000 {
> -                             compatible = "arm,vexpress-vram";
> -                             reg = <2 0x00000000 0x00800000>;
> -                     };
> -
>                       ethernet@2,02000000 {
>                               compatible = "smsc,lan9118", "smsc,lan9115";
>                               reg = <2 0x02000000 0x10000>;
> @@ -224,6 +219,14 @@
>                                       dvi-transmitter@39 {
>                                               compatible = "sil,sii9022-tpi", 
> "sil,sii9022";
>                                               reg = <0x39>;
> +
> +                                             ports {
> +                                                     port@0 {


May need reg=<0> here, otherwise DTC might complain ?
[...]

> diff --git a/arch/arm/boot/dts/vexpress-v2m.dtsi 
> b/arch/arm/boot/dts/vexpress-v2m.dtsi
> index 9cd5e146abd5..067d84bc61c0 100644
> --- a/arch/arm/boot/dts/vexpress-v2m.dtsi
> +++ b/arch/arm/boot/dts/vexpress-v2m.dtsi
> @@ -43,11 +43,6 @@
>                               bank-width = <4>;
>                       };
>  
> -                     v2m_video_ram: vram@3,00000000 {
> -                             compatible = "arm,vexpress-vram";
> -                             reg = <3 0x00000000 0x00800000>;
> -                     };
> -
>                       ethernet@3,02000000 {
>                               compatible = "smsc,lan9118", "smsc,lan9115";
>                               reg = <3 0x02000000 0x10000>;
> @@ -224,6 +219,14 @@
>                                       dvi-transmitter@39 {
>                                               compatible = "sil,sii9022-tpi", 
> "sil,sii9022";
>                                               reg = <0x39>;
> +
> +                                             ports {
> +                                                     port@0 {

Ditto

> +                                                             dvi_bridge_in: 
> endpoint {
> +                                                                     
> remote-endpoint = <&clcd_pads>;
> +                                                             };
> +                                                     };
> +                                             };
>                                       };
>  
>                                       dvi-transmitter@60 {

[...]

> diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts 
> b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts
> index 3971427a105b..0dc4277d5f8b 100644
> --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts
> +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts
> @@ -53,6 +53,20 @@
>               reg = <0 0x80000000 0 0x40000000>;
>       };
>  
> +     reserved-memory {
> +             #address-cells = <2>;
> +             #size-cells = <2>;
> +             ranges;
> +
> +             /* Chipselect 2 is physically at 0x18000000 */
> +             vram: vram@18000000 {
> +                     /* 8 MB of designated video RAM */
> +                     compatible = "shared-dma-pool";
> +                     reg = <0 0x18000000 0 0x00800000>;
> +                     no-map;
> +             };
> +     };
> +

I need to think hard yet, but was hoping to keep these in the
motherboard files itself if possible. I don't like the way we need
to specify the absolute address here.

>       hdlcd@2b000000 {
>               compatible = "arm,hdlcd";
>               reg = <0 0x2b000000 0 0x1000>;


[...]

> diff --git a/arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi 
> b/arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi
> index 1134e5d8df18..737d0a0c0854 100644
> --- a/arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi
> +++ b/arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi
> @@ -23,11 +23,6 @@
>                       bank-width = <4>;
>               };
>  
> -             v2m_video_ram: vram@2,00000000 {
> -                     compatible = "arm,vexpress-vram";
> -                     reg = <2 0x00000000 0x00800000>;
> -             };
> -
>               ethernet@2,02000000 {
>                       compatible = "smsc,lan91c111";
>                       reg = <2 0x02000000 0x10000>;
> @@ -186,38 +181,16 @@
>                               interrupts = <14>;
>                               clocks = <&v2m_oscclk1>, <&v2m_clk24mhz>;
>                               clock-names = "clcdclk", "apb_pclk";
> -                             arm,pl11x,framebuffer = <0x18000000 0x00180000>;
> -                             memory-region = <&v2m_video_ram>;
> -                             max-memory-bandwidth = <130000000>; /* 16bpp @ 
> 63.5MHz */
> +                             /* 800x600 16bpp @36MHz works fine */
> +                             max-memory-bandwidth = <54000000>;
> +                             memory-region = <&vram>;
>  
>                               port {
> -                                     v2m_clcd_pads: endpoint {
> -                                             remote-endpoint = 
> <&v2m_clcd_panel>;
> +                                     clcd_pads: endpoint {
> +                                             remote-endpoint = 
> <&dvi_bridge_in>;

I can't find dvi_bridge_in for this RTSM/FVP model, also not sure if I2C
or DVI transmitter is supported on them.

Liviu, any idea ?

Also you my need to fix arm64 express-v2f-1xv7-ca53x2.dts as it includes
vexpress-v2m-rs1.dtsi

-- 
Regards,
Sudeep
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to