RK3568 如何点屏

本文详细介绍了如何在Rockchip平台中配置EDP接口,包括VCC3V3_LCD电压管理、背光使能、DTS文件中的节点设置,以及UBOOT和KERNEL阶段的Logo显示。
摘要由CSDN通过智能技术生成

本次示例使用EDP,主要接口如下图:

开始前首先确认线序是否正确

一、配置VCC3V3_LCD的电压

1、所有的dts配置能关的都关掉后确认VCC3V3_LCD电压,此时如果有电压则说明可能存在回流,硬件有问题

&vcc3v3_lcd0_n {
    gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
    enable-active-high;
    status = "okay";
};
2、有的板卡VCC_3V3供电也需要拉高,例如LY1024P,这个地方的电需要非常早给它供上,所以需要在Uboot阶段就给上电

&rk809 {
    devices_pwr = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
};

二、拉高背光的使能

1、如图1的BL_EN,这个是背光的使能,拉高了这个脚后背光才会亮

三、DTS

可以看到3568只有vp0和vp1通道支持edp

:对于有两个 VOP 的芯片,需要选择其一,如果有打开 LOGO,route_dsi 的 connect
属性也要指定为同一个 VOP// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 *
 */

#include <dt-bindings/display/media-bus-format.h>

/ { //这是根节点,里面定义了两个节点,一个是panel-edp,一个是backlight
    panel-edp {
        status = "okay";
        compatible = "simple-panel"; //和驱动绑定的关键字
        power-supply = <&vcc3v3_lcd0_n>; //绑定VCC3V3_LCD, 可选,Regulator 配置
        backlight = <&backlight>;       //绑定背光
        enable-delay-ms = <20>;         //使能延迟,如果上电后过一会闪一下白屏可以改这个值
        reset-delay-ms = <20>;          //可选,具体时序参考屏驱动
        prepare-delay-ms = <20>;        //可选,具体时序参考屏驱动
        unprepare-delay-ms = <20>;      //可选,具体时序参考屏驱动
        disable-delay-ms = <20>;        //可选,具体时序参考屏驱动
        //色彩显示会花或者颜色不对可以改这个值,通过屏幕的datasheet确认
        bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>; 
        width-mm = <170>;              //LCD 物理宽度,按屏规格书填写
        height-mm = <170>;             //LCD 物理高度,按屏规格书填写
        display-timings {  //LCD 时序参数,按屏规格书填写
            native-mode = <&timing0>; //选择屏参
            timing0: timing0 {              //根据规格书timming配置
                clock-frequency = <147700000>;
                hactive = <1920>;
                vactive = <1080>;
                hfront-porch = <48>;
                hsync-len = <32>;
                hback-porch = <132>;
                vfront-porch = <3>;
                vsync-len = <6>;
                vback-porch = <66>;
                hsync-active = <0>;
                vsync-active = <0>;
                de-active = <0>;
                pixelclk-active = <0>;
            };
        };  

        //这里是固定写法
        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;
                panel_in_edp: endpoint@1 {
                    remote-endpoint = <&edp_out_panel>;
                };
            };
        };
    };

    backlight: backlight {
        compatible = "pwm-backlight";
        /*pwms参数说明
        参数 1,表示 index (per-chip index of the PWM to request),一般是 0,因为我们 Rockchip
PWM 每个 chip 只有一个
        参数 2,表示 PWM 输出波形的时间周期,单位是 ns;例如下面配置的 25000 就是表示想要得到
的 PWM 输出周期是 40K 赫兹
        参数 3,表示极性,为可选参数;下面例子中的配置为负极性
        */
        pwms = <&pwm3 0 25000 0>;
/*brightness-levels 数组,我们一般以值 255 为一个 scale,所以一般的 brightness-levels 为 256
个元素的数组。当 PWM 设置为正极性时,从 0~255 表示背光为正极,占空比从 0%~100% 变
化,255~0 位负极性,占空比从 100%~0% 变化;当 PWM 设置为负极性时,反之
  */
        brightness-levels = <
              0  20  20  21  21  22  22  23
             23  24  24  25  25  26  26  27
             27  28  28  29  29  30  30  31
             31  32  32  33  33  34  34  35
             35  36  36  37  37  38  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 101 102 103
            104 105 106 107 108 109 110 111
            112 113 114 115 116 117 118 119
            120 121 122 123 124 125 126 127
            128 129 130 131 132 133 134 135
            136 137 138 139 140 141 142 143
            144 145 146 147 148 149 150 151
            152 153 154 155 156 157 158 159
            160 161 162 163 164 165 166 167
            168 169 170 171 172 173 174 175
            176 177 178 179 180 181 182 183
            184 185 186 187 188 189 190 191
            192 193 194 195 196 197 198 199
            200 201 202 203 204 205 206 207
            208 209 210 211 212 213 214 215
            216 217 218 219 220 221 222 223
            224 225 226 227 228 229 230 231
            232 233 234 235 236 237 238 239
            240 241 242 243 244 245 246 247
            248 249 250 251 252 253 254 255
        >;
        default-brightness-level = <200>; //默认亮度,只在uboot阶段有效

/*背光使能BL_EN, 有的硬件没有这个背光使能脚,那么将这个配置删除,背光驱动通过配置 brightness-levels 数组的第 0 个元素将背光关闭*/
        enable-gpios  = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
    };
};

&display_subsystem{       //route-edp的父节点,需要打开
    status = "okay";
};

&edp {
    force-hpd;            //和热插拔有关,不写这句就得由一个gpio控制热插拔
    status = "okay";
    ports {
        edp_out: port@1 {
            reg = <1>;
            #address-cells = <1>;
            #size-cells = <0>;

            edp_out_panel: endpoint@0 {
                reg = <0>;
                remote-endpoint = <&panel_in_edp>;
            };
        };
    };
};

&pwm3 {  //如图1 BL_PWM 可以看到用的是哪个pwm
    status = "okay";
};

&vcc3v3_lcd0_n {        //VCC3V3_LCD
    gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
    enable-active-high;
    status = "okay";
};

&edp_phy {             //和时钟相关,需要打开, RK3288/RK3399 不需要使能 phy 相关节点
    status = "okay";
};

 //对于有两个 VOP 的芯片,需要选择其一,如果有打开 LOGO,route_dsi 的 connect属性也要指定为同一个 VOP
&edp_in_vp0 {          //通道0关闭,一般通道0给hdmi,因为支持4k分辨率
    status = "disabled";
};

&edp_in_vp1 {         //通道1打开,同一个通道只能支持一种屏,所以打开edp通道需要把其他的屏在该通道关闭
    status = "okay";
};

&route_edp {           //用来显示uboot和kernel阶段的logo,需要绑定edp在该通道的输出
    status = "okay";
    connect = <&vp1_out_edp>;
};
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小艹大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值