Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    A133适配AMOLED屏幕,LCD时序参数过小导致无法进入U-Boot

    其它全志芯片讨论区
    3
    10
    4328
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      ceoifung LV 4 last edited by

      目前有一个LCD驱动,里面的LCD时序参数是:

      lcd_hbp             = <40>;
      lcd_ht              = <820>;
      lcd_hspw            = <20>;
      lcd_vbp             = <16>;
      lcd_vt              = <1320>;
      lcd_vspw            = <8>;
      

      然后能正常进入U-Boot,但是新屏幕,我修改了如下参数:

      lcd_hbp             = <20>;
      lcd_ht              = <654>;
      lcd_hspw            = <32>;
      lcd_vbp             = <12>;
      lcd_vt              = <828>;
      lcd_vspw            = <4>;
      

      然后就发现U-Boot进不去了,然后我适当增大了lcd_hbp、lcd_vbp的值,然后就能进入U-Boot了,修改后的参数是:

      lcd_hbp             = <40>;
      lcd_ht              = <684>;
      lcd_hspw            = <32>;
      lcd_vbp             = <16>;
      lcd_vt              = <888>;
      lcd_vspw            = <4>;
      

      所以我现在的疑问是LCD时序参数里面lcd_hbp与lcd_vbp是不是有一个最小值限制呀?另外屏厂给的推荐参数就是那个不能进入U-Boot的参数值,适当增大之后对屏幕驱动是不是有相关影响呀?求各位大佬帮帮忙

      A 1 Reply Last reply Reply Quote Share 1
      • A
        anruliu LV 6 @ceoifung last edited by

        @ceoifung 看这个
        @anruliu 在 D1H支持1920*1200分辨率,但是1080*1920竖屏支持吗 中说:

        @xiaoxiao

        你是怎么互换的,如果计算出现负数肯定进不去

        lcd_x = 屏厂给的实际的x
        lcd_hbp = 屏厂给的实际的hbp + 屏厂给的实际的hsync
        lcd_ht = 屏厂给的实际的lcd_h + 屏厂给的实际的hsync + 屏厂给的实际的hbp + 屏厂给的实际的hfp
        lcd_hspw = 屏厂给的实际的hsync
        
        lcd_y = 屏厂给的实际的y
        lcd_vpp = 屏厂给的实际的vbp + 屏厂给的实际的vsync
        lcd_vt = 屏厂给的实际的lcd_y + 屏厂给的实际的vsync + 屏厂给的实际的vbp + 屏厂给的实际的vfp
        lcd_vspw = 屏厂给的实际的vsync
        
        C 1 Reply Last reply Reply Quote Share 1
        • C
          ceoifung LV 4 @anruliu last edited by

          @anruliu 我这边重新计算了以下相关的值,还是进不去u-boot,我的屏幕13.3寸,这个和屏幕大小尺寸会有关系吗?以下是开机后,打印的内容

          [SCP] :sunxi-arisc driver begin startup 2
          [SCP] :0x1
          [SCP] :arisc version: []
          [SCP] :arisc startup ready
          [SCP] :arisc startup notify message feedback
          [SCP] :send hard sync feedback message: 0x900200
          [SCP] :sunxi-arisc driver v1.10 is starting
          [00.616]PMU: AXP803
          [00.618]PMU: AXP803
          bias_name:pc_bias        bias_vol:1800
          [00.688]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=400Mhz
          [00.695]drv_disp_init
          [00.720]drv_disp_init finish
          [00.726]gic: sec monitor mode
          [00.728]flash init start
          [00.730]workmode = 0,storage type = 2
          [00.734][mmc]: mmc driver ver uboot2018:2020-5-25 9:26:00-202007011433
          [00.741][mmc]: get sdc_type fail and use default host:tm4.
          [00.753][mmc]: SUNXI SDMMC Controller Version:0x50300
          [00.781][mmc]: Best spd md: 4-HS400, freq: 3-100000000, Bus width: 8
          [00.787]sunxi flash init ok
          [00.791]Loading Environment from SUNXI_FLASH... OK
          [00.800]out of usb burn from boot: not need burn key
          [00.804]boot_gui_init:start
          [00.809]set disp.dev2_output_type fail. using defval=0
          
          

          串口输出到[00.809]set disp.dev2_output_type fail. using defval=0就没有内容了,然后测试发现初始化完LCD_cfg_panel_info这个函数之后,进不去LCD_power_on这个函数

          A 1 Reply Last reply Reply Quote Share 0
          • A
            anruliu LV 6 @ceoifung last edited by

            @ceoifung 贴出你的dts lcd0部分

            C 1 Reply Last reply Reply Quote Share 0
            • WhycanService
              WhycanService LV 8 last edited by whycan

              lcd_x = 屏厂给的实际的x
              lcd_hbp = 屏厂给的实际的hbp + 屏厂给的实际的hsync
              lcd_ht = 屏厂给的实际的lcd_h + 屏厂给的实际的hsync + 屏厂给的实际的hbp + 屏厂给的实际的hfp
              lcd_hspw = 屏厂给的实际的hsync
              
              lcd_y = 屏厂给的实际的y
              lcd_vbp = 屏厂给的实际的vbp + 屏厂给的实际的vsync
              lcd_vt = 屏厂给的实际的lcd_y + 屏厂给的实际的vsync + 屏厂给的实际的vbp + 屏厂给的实际的vfp
              lcd_vspw = 屏厂给的实际的vsync
              

              驱动会通过上面的参数计算lcd_xbp与lcd_xspw的值来确定实际的屏幕的参数(实际的vsync,实际的vbp等等),当给的值不对计算出现负数的时候会卡死不启动。

              1 Reply Last reply Reply Quote Share 2
              • C
                ceoifung LV 4 @anruliu last edited by

                @anruliu

                lcd0: lcd0@01c0c000 {
                			lcd_used            = <1>;
                
                			lcd_driver_name     = "xiaor_amoled";
                			lcd_backlight       = <255>;
                			lcd_if              = <4>;
                
                			lcd_x               = <600>;
                			lcd_y               = <800>;
                			lcd_width           = <190>;
                			lcd_height          = <254>;
                			lcd_dclk_freq       = <55>;
                
                			lcd_pwm_used        = <0>;
                			lcd_pwm_ch          = <0>;
                			lcd_pwm_freq        = <5000>;
                			lcd_pwm_pol         = <1>;
                			lcd_pwm_max_limit   = <250>;
                
                			lcd_hbp             = <52>;
                			lcd_ht              = <654>;
                			lcd_hspw            = <32>;
                			lcd_vbp             = <16>;
                			lcd_vt              = <828>;
                			lcd_vspw            = <4>;
                
                			lcd_frm             = <0>;
                			lcd_io_phase		= <0>;
                			lcd_gamma_en        = <0>;
                			lcd_bright_curve_en = <0>;
                			lcd_cmap_en         = <0>;
                			
                			deu_mode            = <0>;
                			lcdgamma4iep        = <22>;
                			smart_color         = <90>;
                
                			lcd_dsi_if          = <0>;
                			lcd_dsi_lane        = <4>;
                			lcd_dsi_format      = <0>;
                			lcd_dsi_te          = <0>;
                			lcd_dsi_eotp        = <0>;
                
                			lcd_pin_power = "eldo1";
                			lcd_power = "dc1sw";
                			//lcd_bl_en = <&pio PG 9 1 0 3 1>;
                			lcd_gpio_0 = <&pio PB 6 1 1 3 1>;
                			lcd_gpio_1 = <&pio PB 2 1 1 3 1>;
                			lcd_gpio_2 = <&pio PD 20 1 1 3 1>;
                			pinctrl-0 = <&dsi4lane_pins_a>;
                			pinctrl-1 = <&dsi4lane_pins_b>;
                		};
                
                A 1 Reply Last reply Reply Quote Share 0
                • A
                  anruliu LV 6 @ceoifung last edited by

                  @ceoifung hfp = 654-600-52=2,屏厂给的hfp怎么这么小

                  C 2 Replies Last reply Reply Quote Share 0
                  • C
                    ceoifung LV 4 @anruliu last edited by

                    @anruliu 屏厂给的这个参数就是这么小的

                    1 Reply Last reply Reply Quote Share 0
                    • C
                      ceoifung LV 4 @anruliu last edited by

                      @anruliu 请问一下:屏厂给的参数就是这样的,对方FAE说这个参数可能不适用于所有的平台,需要芯片厂家推荐一个合适的值,下面是厂商给的部分参数,A133这个平台LCD的时序与这个屏幕怎么个调整比较合适呢?大佬有什么解决方法吗?

                      建议值:HSW=32,HBP=20,HFP=2, VSW=4,VBP=12,VFP=12
                      分辨率:720*800
                      Frame rate:60HZ
                      
                      A 1 Reply Last reply Reply Quote Share 0
                      • A
                        anruliu LV 6 @ceoifung last edited by

                        @ceoifung

                        lcd_dclk_freq = <38>;
                        lcd_x = <720>;
                        lcd_y = <800>;

                        lcd_hbp = <52>;
                        lcd_ht = <774>;
                        lcd_hspw = <32>;
                        lcd_vbp = <16>;
                        lcd_vt = <828>;
                        lcd_vspw = <4>;

                        不行的话,lcd_ht以2为挡位慢慢网上加试试

                        1 Reply Last reply Reply Quote Share 0
                        • 1 / 1
                        • First post
                          Last post

                        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                        行为准则 | 用户协议 | 隐私权政策