Hi Andrey,

I have a couple of 15" LCDs (different makers) with Cubieboard A20 (kernel 
3.4) i would like to test your implementation if possible.
Can you share a kernel tree with your code and where should i change the 
timings for each Panel?

BR
@lex

On Wednesday, February 12, 2020 at 7:25:41 PM UTC-3, Andrey Lebedev wrote:
>
> From: Andrey Lebedev <[email protected] <javascript:>> 
>
> Define pins for LVDS channels 0 and 1, configure reset line for tcon0 and 
> provide sample LVDS panel, connected to tcon0. 
>
> Signed-off-by: Andrey Lebedev <[email protected] <javascript:>> 
> --- 
>  arch/arm/boot/dts/sun7i-a20.dtsi | 45 +++++++++++++++++++++++++++++--- 
>  1 file changed, 42 insertions(+), 3 deletions(-) 
>
> diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi 
> b/arch/arm/boot/dts/sun7i-a20.dtsi 
> index 92b5be97085d..b05fdf8df32e 100644 
> --- a/arch/arm/boot/dts/sun7i-a20.dtsi 
> +++ b/arch/arm/boot/dts/sun7i-a20.dtsi 
> @@ -47,6 +47,7 @@ 
>  #include <dt-bindings/dma/sun4i-a10.h> 
>  #include <dt-bindings/clock/sun7i-a20-ccu.h> 
>  #include <dt-bindings/reset/sun4i-a10-ccu.h> 
> +#include <dt-bindings/pinctrl/sun4i-a10.h> 
>   
>  / { 
>          interrupt-parent = <&gic>; 
> @@ -407,8 +408,8 @@ 
>                          compatible = "allwinner,sun7i-a20-tcon"; 
>                          reg = <0x01c0c000 0x1000>; 
>                          interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 
> -                        resets = <&ccu RST_TCON0>; 
> -                        reset-names = "lcd"; 
> +                        resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>; 
> +                        reset-names = "lcd", "lvds"; 
>                          clocks = <&ccu CLK_AHB_LCD0>, 
>                                   <&ccu CLK_TCON0_CH0>, 
>                                   <&ccu CLK_TCON0_CH1>; 
> @@ -444,6 +445,11 @@ 
>                                          #size-cells = <0>; 
>                                          reg = <1>; 
>   
> +                                        tcon0_out_lvds: endpoint@0 { 
> +                                                reg = <0>; 
> +                                                remote-endpoint = 
> <&lvds_in_tcon0>; 
> +                                                allwinner,tcon-channel = 
> <0>; 
> +                                        }; 
>                                          tcon0_out_hdmi: endpoint@1 { 
>                                                  reg = <1>; 
>                                                  remote-endpoint = 
> <&hdmi_in_tcon0>; 
> @@ -686,6 +692,19 @@ 
>                          }; 
>                  }; 
>   
> +                lvds_panel: panel@1c16500 { 
> +                        compatible = "panel-lvds"; 
> +                        #address-cells = <1>; 
> +                        #size-cells = <0>; 
> +                        status = "disabled"; 
> + 
> +                        port { 
> +                                lvds_in_tcon0: endpoint { 
> +                                        remote-endpoint = 
> <&tcon0_out_lvds>; 
> +                                }; 
> +                        }; 
> +                }; 
> + 
>                  spi2: spi@1c17000 { 
>                          compatible = "allwinner,sun4i-a10-spi"; 
>                          reg = <0x01c17000 0x1000>; 
> @@ -872,7 +891,7 @@ 
>                          gmac_rgmii_pins: gmac-rgmii-pins { 
>                                  pins = "PA0", "PA1", "PA2", 
>                                         "PA3", "PA4", "PA5", "PA6", 
> -                                        "PA7", "PA8", "PA10", 
> +                                        "PA7", "PA8", "PA10", 
>                                         "PA11", "PA12", "PA13", 
>                                         "PA15", "PA16"; 
>                                  function = "gmac"; 
> @@ -1162,6 +1181,26 @@ 
>                                  pins = "PI20", "PI21"; 
>                                  function = "uart7"; 
>                          }; 
> + 
> +                        /omit-if-no-ref/ 
> +                        lcd_lvds0_pins: lcd_lvds0_pins { 
> +                                allwinner,pins = 
> +                                        "PD0", "PD1", "PD2", "PD3", 
> "PD4", 
> +                                        "PD5", "PD6", "PD7", "PD8", 
> "PD9"; 
> +                                allwinner,function = "lvds0"; 
> +                                allwinner,drive = <SUN4I_PINCTRL_10_MA>; 
> +                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 
> +                        }; 
> + 
> +                        /omit-if-no-ref/ 
> +                        lcd_lvds1_pins: lcd_lvds1_pins { 
> +                                allwinner,pins = 
> +                                        "PD10", "PD11", "PD12", "PD13", 
> "PD14", 
> +                                        "PD15", "PD16", "PD17", "PD18", 
> "PD19"; 
> +                                allwinner,function = "lvds1"; 
> +                                allwinner,drive = <SUN4I_PINCTRL_10_MA>; 
> +                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 
> +                        }; 
>                  }; 
>   
>                  timer@1c20c00 { 
> -- 
> 2.20.1 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/94487b9a-e263-4ed3-b13f-ae3ecf4b2bf4%40googlegroups.com.

Reply via email to