DISPLAY(1)——RK3399 HDMI接口了解

Linux内核与HDMI相关代码及功能记录

文章的主要目的是为了记录,其次希望自己做的东西越来越多以后,可以把这些东西整合、重塑,让自己的知识体系更加的立体、完整

参考文档

https://blog.csdn.net/dahailinan/article/details/111309692
https://blog.csdn.net/qq_30624591/article/details/106840966
https://blog.csdn.net/m0_38022615/article/details/109378391

涉及文件

kernel/drivers/gpu/drm/drm_edid.c
kernel/drivers/gpu/drm/rockchip/inno_hdmi.c
kernel/drivers/gpu/drm/rockchip/inno_hdmi.h
kernel/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h
kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c

device/rockchip/rk3399/rk3399_all/system.prop
frameworks/base/services/core/jni/com_android_server_rkdisplay_RkDisplayModes.cpp

kernel部分代码

edid相关代码

kernel/drivers/gpu/drm/drm_edid.c
/*
 * Probably taken from CEA-861 spec.
 * This table is converted from xorg's hw/xfree86/modes/xf86EdidModes.c.
 *
 * Index using the VIC.
 */
static const struct drm_display_mode edid_cea_modes[] = {
   
   
...
        /* 5 - 1920x1080i@60Hz */
        {
   
    DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
                   2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
                        DRM_MODE_FLAG_INTERLACE),
          .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
...

------------------
drm_add_edid_modes
	add_detailed_modes
		do_detailed_mode
			drm_mode_detailed
include/drm/drm_edid.h
struct edid {
   
   
        u8 header[8];
        /* Vendor & product info */
        u8 mfg_id[2];
        u8 prod_code[2];
        u32 serial; /* FIXME: byte order */
        u8 mfg_week;
        u8 mfg_year;
        /* EDID version */
        u8 version;
        u8 revision;
        /* Display info: */
        u8 input;
        u8 width_cm;
        u8 height_cm;
        u8 gamma;
        u8 features;
        /* Color characteristics */
        u8 red_green_lo;
        u8 black_white_lo;
        u8 red_x;
        u8 red_y;
        u8 green_x;
        u8 green_y;
        u8 blue_x;
        u8 blue_y;
        u8 white_x;
        u8 white_y;
        /* Est. timings and mfg rsvd timings*/
        struct est_timings established_timings;
        /* Standard timings 1-8*/
        struct std_timing standard_timings[8];
        /* Detailing timings 1-4 */
        struct detailed_timing detailed_timings[4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值