D1-H哪吒 设置hdmi分辨率

2024-02-02 15:20:18 浏览数 (1)

问题反馈 输出官方的命令:

代码语言:javascript复制
cd /sys/kernel/debug/dispdbg
echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;

屏幕有logo出现,但是输入命令

cat /dev/urandom > /dev/fb0

后,屏幕只显示了大概一半的屏。怎么设置显示全屏呀。 也就是怎么设置分辨率屏幕信息。 另外能解释以下param参数信息吗?

问题解决: 1、关于显示不全的原因是fb0在内核显示驱动初始化的时候会申请fb0的buffer,这时就指定了fb0的分辨率,因此后面通过命令去切换成HDMI显示的时候,分辨率基本上就对应不上,修改方法有一种,就是开机的时候就指定默认HDMI输出,如下所示,修改完毕后需要重新编译uboot,在lichee/brandy-2.0/u-boot-2018目录下执行make clean && muboot

代码语言:javascript复制
diff --git a/configs/nezha/uboot-board.dts b/configs/nezha/uboot-board.dts
index 793dec2..d95a320 100644
--- a/configs/nezha/uboot-board.dts
    b/configs/nezha/uboot-board.dts
@@ -229,15  229,15 @@
        screen1_output_scan      = <0>;
        screen1_output_aspect_ratio = <8>;

-       dev0_output_type         = <1>;
-       dev0_output_mode         = <4>;
        dev0_output_type         = <3>;
        dev0_output_mode         = <10>;
        dev0_screen_id           = <0>;
-       dev0_do_hpd              = <0>;
        dev0_do_hpd              = <1>;

-       dev1_output_type         = <4>;
-       dev1_output_mode         = <10>;
        dev1_output_type         = <1>;
        dev1_output_mode         = <4>;
        dev1_screen_id           = <1>;
-       dev1_do_hpd              = <1>;
        dev1_do_hpd              = <0>;

        def_output_dev           = <0>;
        hdmi_mode_check          = <1>;

2、param参数信息中4 10分别代表DISP_OUTPUT_TYPE_HDMI和DISP_TV_MOD_1080P_60HZ,后面的参数一般不用关心,可以在linux-5.4/include/video/sunxi_display2.h看到相关宏定义

代码语言:javascript复制
enum disp_output_type {
    DISP_OUTPUT_TYPE_NONE = 0,
    DISP_OUTPUT_TYPE_LCD = 1,
    DISP_OUTPUT_TYPE_TV = 2,
    DISP_OUTPUT_TYPE_HDMI = 4,
    /***/
};
代码语言:javascript复制
enum disp_tv_mode {
    DISP_TV_MOD_480I = 0,
    DISP_TV_MOD_576I = 1,
    DISP_TV_MOD_480P = 2,
    DISP_TV_MOD_576P = 3,
    DISP_TV_MOD_720P_50HZ = 4,
    DISP_TV_MOD_720P_60HZ = 5,
    DISP_TV_MOD_1080I_50HZ = 6,
    DISP_TV_MOD_1080I_60HZ = 7,
    DISP_TV_MOD_1080P_24HZ = 8,
    DISP_TV_MOD_1080P_50HZ = 9,
    DISP_TV_MOD_1080P_60HZ = 0xa,
    /***/

还需要注意一点是默认开机logo分辨率为800*1280,改了默认HDMI输出后,logo会显示不正常 开机logo位于device/config/chips/d1/configs/nezha/configs/bootlogo.bmp

原贴链接:https://bbs.aw-ol.com/topic/10/

0 人点赞