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.

[参考译文] Linux/AM3354:引导时显示 TI-Linux 3.14、DRM+tilcdc 驱动程序 Linux 企鹅徽标?

Guru**** 2037690 points
Other Parts Discussed in Thread: TFP410, TPD12S015, TLC59108, LM3630A, TPS65217
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/570568/linux-am3354-ti-linux-3-14-drm-tilcdc-driver-linux-penguin-logo-display-when-booting

器件型号:AM3354
主题中讨论的其他器件:TFP410TPD12S015TLC59108LM3630ALM3639TPS65217

工具/软件:Linux

您好!

我有带3.14 ti-linux 的 AM335x 板。 我想展示 Linux 企鹅徽标和我的自定义徽标。 实际上、目前任何标识都比黑屏更好。  目前未显示徽标、屏幕为黑色-但 PWM 背光驱动器已启用并正常工作(devicetree 默认为 Birghness 100)。 内核启动框架缓冲区工作后、因为我可以显示图像或运行 Qt 应用程序。 在内核中、我使用 DRM+tilcdc 驱动程序。 DRM 和 tilcdc 是否可以处理显示徽标、或者是否应该改用 da8xx-fb 驱动程序? 我已经进行了一些测试、当我给出内核参数 console=tty0、115200n8时、内核会在引导时在 LCD 上打印 dmesg 消息。 但我看不到任何徽标、只有 dmesg 消息。

下面是.config 的图形部分 和与 tilcdc 连接的 devicetree 的一部分。

编号
#直接渲染管理器
编号
CONFIG_DRM=y
CONFIG_DRM_KMS_helper=y
CONFIG_DRM_KMS_Fb_helper=y
未设置# CONFIG_DRM_LOAD_EDID_firmware
CONFIG_DRM_GEM_CMA_helper=y
CONFIG_DRM_KMS_CMA_helper=y

CONFIG_DRM_OMAP-y
CONFIG_DRM_OMAP_NUM_CRTCS=2
CONFIG_DRM_TILCDC=y
编号
#帧缓冲器器件
编号
CONFIG_FB=y
CONFIG_firmware_EDID=y
未设置# CONFIG_FB_DDC
未设置# CONFIG_FB_BOOT_VESA_support
# CONFIG_FB_CFB_FILLRECT 未设置
# CONFIG_FB_CFB_COPYAREA 未设置
# CONFIG_FB_CFB_IMAGEBLIT 未设置
未设置# CONFIG_FB_CFB_REV_Pixels_in_byte
CONFIG_FB_SYS_FILLRECT = y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
未设置# CONFIG_FB_Foreign _ENDIAN
CONFIG_FB_SYS_FOPS=y
未设置# CONFIG_FB_svgalib
# CONFIG_FB_MACMODES 未设置
未设置# CONFIG_FB_背 光
CONFIG_FB_MODE_APERS=y
CONFIG_FB_TILEBLITTING=y


编号
#帧缓冲硬件驱动程序
编号
CONFIG_OMAP2_VRFB=y
CONFIG_OMAP2_DSS_INIT=y
CONFIG_OMAP2_DSS=y
未设置# CONFIG_OMAP2_DSS_DEBUG
未设置# CONFIG_OMAP2_DSS_DebugFS
CONFIG_OMAP2_DSS_DPI=y
CONFIG_OMAP2_DSS_VENC=y
CONFIG_OMAP2_DSS_HDMI_common=y
CONFIG_OMAP_DSS_HDMI_AUDIO=y
CONFIG_OMAP4_DSS_HDMI=y
CONFIG_OMAP4_DSS_HDMI_AUDIOLE=y
CONFIG_OMAP5_DSS_HDMI=y
CONFIG_OMAP5_DSS_HDMI_AUDIO=y
CONFIG_OMAP2_DSS_SDI=y
CONFIG_OMAP2_DSS_DSI=y
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
CONFIG_OMAP2_DSS_SLEEP_After _VENC_RESET=y
编号
# OMAP 显示设备驱动程序(新设备型号)
编号
CONFIG_DISPLAY_ENCODER_TFP410=m
CONFIG_DISPLAY_ENCODER_TPD12S015=y
CONFIG_DISPLAY_DRA7EVM_ENCODER_TPD12S015=y
CONFIG_DISPLAY_ENCODER_SII9022=y
CONFIG_DISPLAY_ENCODER_SIII9022_AUDIO_CODE=y
CONFIG_DISPLAY_CONNECT_DVI=m
CONFIG_DISPLAY_CONNECT_HDMI=y
未设置# CONFIG_DISPLAY_CONNECT_ANALOG_TV
CONFIG_DISPLAY_PANE_DPI=y
未设置# CONFIG_DISPLAY_PAGE_DSI_CM
未设置# CONFIG_DISPLAY_PANE_SONY_ACX565AKM
# CONFIG_DISPLAY_PAGE_LGPHILIPS_LB035Q02未设置
# CONFIG_DISPLAY_PAGE_LS037V7DW01未设置
# CONFIG_DISPLAY_PAGE_TPO_TD028TTEC1未设置
未设置# CONFIG_DISPLAY_PAGE_TPO_TD043MTEA1
未设置# CONFIG_DISPLAY_PAGE_NLM8048HL11
未设置# CONFIG_DISPLAY_PAGE_TLC59108
# CONFIG_EXYNOS_VIDEO 未设置
# CONFIG_FB_SSD1307未设置
CONFIG_背 光_LCD_support=y
未设置# CONFIG_LCD_CLASS_DEVICE
CONFIG_背 光_class_device=y
未设置# CONFIG_背 光_generic
CONFIG_背 光_PWM=y
未设置# CONFIG_背 光_ADP8860
未设置# CONFIG_背 光_ADP8870
未设置# CONFIG_背 光_LM3630A
未设置# CONFIG_背 光_LM3639
未设置# CONFIG_BRAY_LP855X
未设置# CONFIG_BRELOAD_Pandora
未设置# CONFIG_背 光_TPS65217
未设置# CONFIG_背 光_GPIO
未设置# CONFIG_背 光_LV5207LP
未设置# CONFIG_BRELOAD_BD6107
# CONFIG_VGASTATE 未设置
未设置# CONFIG_VIDEO OUTP_CONTROL
CONFIG_VIDEOMODE_AIDENS=y
CONFIG_HDMI=y

#控制台显示驱动程序支持
编号
CONFIG_虚设 控制台= y
CONFIG_frameBuffer_console=y
CONFIG_frameBuffer_console_detect_primary=y
CONFIG_frameBuffer_console_rotation=y
CONFIG_LOGO = y
CONFIG_LOGO;LINUX_MONO = y
CONFIG_LOGO LINUX_VGA16=y
CONFIG_LOGO LINUX_CLUT224=y
CONFIG_LOGO;my_CLUT224=y

Devicetree:

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

      显示时序{
         800x480p62{
            时钟频率=<33300000>;
            hactive =<800>;
            Vactive =<480>;
            前沿=<210>;
            后沿=<46>;
            HSYNC-LEN =<2>;
            后沿=<23>;
            垂直前沿=<22>;
            vsync-len =<2>;
            HSYNC-ACTIVE =<1>;
            vsync-active =<1>;
         };
      };
   };
};

LCDC{
   状态="正常";
   pinctrl-names ="default"、"sleep";
   pinctrl-0 =<&LCD_PINS_DEFAULT>;
   pinctrl-1 =<&LCD_PINS_SLEEP>;
};

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

    有关 u-boot 初始屏幕、请参阅以下主题:
    e2e.ti.com/.../1128080

    对于内核器件、您可以使用闪屏、如下所述:
    e2e.ti.com/.../398816

    希望这对您有所帮助。

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

    你建议什么?

    据我所记得、psplash 是一个用户空间程序、因此它将在内核启动后显示徽标、而不是在内核启动时显示。 我应该减少内核启动时间并在用户空间中显示徽标吗?


    我使用 systemd、很难强制 systemd 先执行某个操作。 如何强制 systemd 在内核引导后立即显示 pplash?