This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3358:AM3358/Beagle Bone LCD 显示视频消隐支持?

Guru**** 2542880 points
Other Parts Discussed in Thread: AM3358

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1184118/am3358-am3358-beagle-bone-lcd-display-video-blanking-support

器件型号:AM3358

您好!  

我有关于视频消隐支持或 AM3358相关设置的问题。 我将 BeagleBone 与4D 系统显示屏配合使用(https://4dsystems.com.au/products/primary-display-modules-capes-shields/gen4-4dcape-43ct-clb ,该显示屏又 通过 https://4dsystems.com.au/mwdownloads/download/link/id/824/构建 )。

$ uname -a
Linux testsys 5.10.145-ti-R55 #1推土式 SMP 抢先于12月6日23:59:06 UTC 2022 armv7l GNU/Linux

我所面临的问题如下:
当使用屏幕保护程序关闭不带消隐的显示屏(xset s on)时、显示屏工作正常。 但是、当我使用消隐选项时、显示屏将以奇怪的交替暗亮模式唤醒。 我正在尝试了解是否有一个设置需要启用以支持视频消隐。

  随附了具有更新时序值的器件树文件。

文件:///run/user/1000/gvfs/sftp:host=192.168.7.2/opt/source/bb.org-overlays/src/arm/BB-BONE-4D4C-01-00A1.dts

谢谢

高拉夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    设备树文件:

    // SPDX-License-Identifier:仅 GPL-2.0
    /*
    *版权所有(C) 2012德州仪器(TI)公司- https://www.ti.com/
    *

    /DTS-v1/;
    /插件/;

    #include
    #include
    #include

    /*
    * Helper,在/proc/device-tree/chosen/overlays 下显示已加载的覆盖图
    *
    &{/chosed}{
    覆层{
    BB-BONE-4D4C-01-00A1.bb.org-overlays =__时间戳_;
    };
    };

    /{
    /*
    *从引脚多路复用器帮助器中释放 Cape 使用的引脚。
    *
    碎片@1{
    Target =<&OCP>;
    _overlay__{
    P8_45_pinmux{status ="disabled";};// LCD:LCD_Data0 *
    P8_46_pinmux{status ="disabled";};// LCD:LCD_data1 *
    P8_43_pinmux{status ="disabled";};// LCD:LCD_data2 *
    P8_44_pinmux{status ="disabled";};// LCD:LCD_data3 */
    P8_41_pinmux{status ="disabled";};// LCD:LCD_data4 */
    P8_42_pinmux{status ="disabled";};// LCD:LCD_data5 *
    P8_39_pinmux{status ="disabled";};// LCD:LCD_data6 */
    P8_40_pinmux{status ="disabled";};// LCD:LCD_data7 *
    P8_37_pinmux{status ="disabled";};// LCD:LCD_data8 *
    P8_38_pinmux{status ="disabled";};// LCD:LCD_data9 *
    P8_36_pinmux{status ="disabled";};// LCD:LCD_data10 *
    P8_34_pinmux{status ="disabled";};// LCD:LCD_data11 *
    P8_35_pinmux{status ="disabled";};// LCD:LCD_data12 */
    P8_33_pinmux{status ="disabled";};// LCD:LCD_data13 *
    P8_31_pinmux{status ="disabled";};// LCD:LCD_data14 *
    P8_32_pinmux{status ="disabled";};// LCD:LCD_data15 *

    p8_27_pinmux{status ="disabled";};// LCD:lcd_vsync *
    P8_29_pinmux{status ="disabled";};// LCD:LCD_HSYNC *
    p8_28_pinmux{status ="disabled";};// LCD:lcd_pclk *
    P8_30_pinmux{status ="disabled";};// LCD:LCD_AC_BIAS_EN *

    P9_27_pinmux{status ="disabled";};// LCD:GPIO3_19 DISPEN *

    P9_14_pinmux{status ="disabled";};// PWM:ehrpwm1a PWM_BL *

    p9_18_pinmux{status ="disabled";};// i2c1_sda *
    P9_17_pinmux{status ="disabled";};// i2c1_SCL *
    P9_26_pinmux{status ="disabled";};// GPIO0_14上的触摸中断*
    };
    };

    碎片@2{
    目标=<&am33xx_pinmux>;
    _overlay__{

    BBB_LCD_PWM_backlight_Pins:pinmux_bb_LCD_PWM_backlight_Pins{
    pinctrl-single、pins =<
    BON_P9_14 0x06 /* GPMC_A2.ehrpwm1a、OMAP-MUX_MODE6 | AM33XX_PIN_OUTPUT *
    >;
    };

    Bb_LCD_LCD_Pins:pinmux_bb_LCD_LCD_Pins{
    pinctrl-single、pins =<
    BON_P8_45 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_Data0.LCD_Data0 *
    BON_P8_46 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data1.LCD_data1 *
    BON_P8_43 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data2.LCD_data2 *
    BON_P8_44 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data3.LCD_data3 *
    BON_P8_41 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data4.LCD_data4 *
    BON_P8_42 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data5.LCD_data5 *
    BON_P8_39 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data6.LCD_data6 *
    BON_P8_40 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data7.LCD_data7 *
    BON_P8_37 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data8.LCD_data8 *
    BON_P8_38 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data9.LCD_data9 *
    BON_P8_36 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data10.LCD_data10 *
    BON_P8_34 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data11.LCD_data11 *
    BON_P8_35 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data12.LCD_data12 *
    BON_P8_33 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data13.LCD_data13 *
    BON_P8_31 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data14.LCD_data14 *
    BON_P8_32 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_data15.LCD_data15 *

    BON_P8_27 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_vSYNC.LCD_vsync *
    BON_P8_29 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_HSYNC.LCD_HSYNC *
    BON_P8_28 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_pclk.LCD_pclk *
    BON_P8_30 (PIN_OUTPUT | MUX_MODE0)/* LCD:LCD_AC_BIAS_EN.LCD_AC_BIAS_EN *

    0x1a4 0x17 // McASP0_Fsr.GPIO3_19、输出| MODE7 LCD DISEN *
    >;
    };

    bb_i2c1_pins:pinmux_bb_i2c1_pins{
    pinctrl-single、pins =<
    0x158 0x72 // spi0_d1.i2c1_sda、SLEWCTRL_SLOW | INPUT_PULLUP | Mode2
    0x15C 0x72 // spi0_cs0.i2c1_SCL、SLEWCTRL_SLOW | INPUT_PULLUP | Mode2
    >;
    };

    EDT_ft5x06_pins:pinmux_EDT_ft5x06_pins{
    pinctrl-single、pins =<
    0x180 0x37 // input_pullup | MODE7
    >;
    };
    };
    };

    碎片@3{
    目标=<epwmss1>;
    _overlay__{
    状态="正常";
    };
    };

    碎片@4{
    目标=<&ehrpwm1>;
    _overlay__{
    pinctrl-names ="default";
    pinctrl-0 =<&bb_lcd_pwm_backlight_pines>;
    状态="正常";
    };
    };

    碎片@5{
    目标=<&i2c1>;
    _overlay__{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&bb_i2c1_PINs>;

    //配置开始
    时钟频率=<100000 >;

    #address-cells =<1>;
    #size-cells =<0>;

    聚丙烯:EDT-ft5x06@38{
    兼容="EDT、EDT-ft5x06";
    reg =<0x38>;
    pinctrl-names ="default";
    pinctrl-0 =<&EDT_ft5x06_PINs>;
    interrupt-parent =<&GPIO0>;
    中断=<14 2>;

    触摸屏大小-y =<480>;
    触摸屏大小 x =<272>;

    触摸屏换用-x-y;
    };
    };
    };

    碎片@6{
    Target =<&LCDC>;
    _overlay__{
    状态="正常";
    };
    };

    碎片@7{
    target-path="/";
    _overlay__{

    /*避免愚蠢的警告*/
    #address-cells =<1>;
    大小单元格=<1>;

    背光{
    状态="正常";
    兼容="PWM 背光";
    PWM =<&ehrpwm1 0 50000 0>;
    亮度级别=<
    0 1 2 3 4 5 6 7 8 9
    10 11 12 13 14 15 16 17 18 19
    20 21 22 23 24 25 26 27 28 29
    30 31 32 33 34 35 36 37 38 39
    40 41 42 43 44 45 46 47 48 49
    50 51 52 53 54 55 56 57 58 59
    60 61 62 63 64 65 66 67 68 69
    70 71 72 73 74 75 76 77 78 79
    80 81 82 83 84 85 86 87 88 89
    90 91 92 93 94 95 96 97 98 99
    100
    >;
    default-brightse-level =<100>;
    };

    面板{
    状态="正常";
    兼容="ti、tilcdc、panel ";
    pinctrl-names ="default";
    pinctrl-0 =<&bb_LCD_LCD_PINs>;
    面板信息{
    交流偏置=<255>;
    AC-BIAS-INtrpt =<0>;
    dma-burse-SZ =<16>;
    bpp =<16>;
    FDD =<0x80>;
    同步边沿=<0>;
    SYNC-Ctrl =<1>;
    栅格顺序=<0>;
    FIFO-TH =<0>;
    };

    显示时序{
    本机模式=<&timing0>;
    /* www.newhavendisplay.com/app_notes/OTA5180A.pdf */
    ting0:480x272{
    时钟频率=<9200000>;
    hactive =<480>;
    Vactive =<272>;
    前沿=<8>;
    后沿=<43>;
    HSYNC-LEN =<4>;
    后沿=<12>;
    垂直前沿=<8>;
    vsync-len =<4>;
    HSYNC-ACTIVE =<0>;
    vsync-active =<0>;
    停用=<1>;
    像素时钟激活=<0>;
    };
    };
    };

    FB{
    兼容="ti、am33xx-tilcdc";
    REG =<0x4830e000 0x1000>;
    interrupt-parent =<&INTc>;
    中断=<36>;
    ti、hwmods ="lcdc";
    };
    };
    };
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我在驱动程序中看不到任何减少消隐的特定调用、代码如下: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/tilcdc?h=ti-linux-5.10.y。 通常、不会更新计时参数以反映消隐减少。 如果是这种情况、则需要在 DTS 中适当地更新显示时序。 例如、我们按如下方式定义时序:

     https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm/boot/dts/am335x-evmsk.dts?h=ti-linux-5.10.y#n185
    .https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/panel/panel-simple.c?h=ti-linux-5.10.y#n2968

    此致、
    Krunal