0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

fireflyFace-RK3399主板LCD 使用

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-04 10:05 ? 次閱讀

LCD 使用

簡介

Face-RK3399開發(fā)板支持MIPI屏幕,接口對應(yīng)板子上的位置如下圖:

MIPI屏

客戶根據(jù)需要在自行添加mipi硬件接口之后,配置MIPI屏的 Timing dts文件,在kernel/arch/arm64/boot/dts/rockchip/firefly-face-mipi8.dts中可以看到以下語句:

display-timings { native-mode = 《&timing0》; timing0: timing0 { clock-frequency = 《67000000》;//《80000000》; hactive = 《800》;//《768》; vactive = 《1280》; hsync-len = 《20》; //20, 50 hback-porch = 《20》; //50, 56 hfront-porch = 《32》;//50, 30 vsync-len = 《4》; vback-porch = 《4》; vfront-porch = 《8》; hsync-active = 《0》; vsync-active = 《0》; de-active = 《0》; pixelclk-active = 《0》; }; }; };

Kernel 在kernel/drivers/gpu/drm/panel/panel-simple.c中可以看到在初始化函數(shù)panel_simple_probe中初始化了獲取時序的函數(shù)。

static int panel_simple_probe(struct device *dev, const struct panel_desc *desc){ ··· panel-》base.funcs = &panel_simple_funcs; ··· }

該函數(shù)的在kernel/drivers/gpu/drm/panel/panel-simple.c中也有定義:

static int panel_simple_get_timings(struct drm_panel *panel,unsigned int num_timings,struct display_timing *timings) { struct panel_simple *p = to_panel_simple(panel); unsigned int i; if (!p-》desc) return 0; if (p-》desc-》num_timings 《 num_timings) num_timings = p-》desc-》num_timings; if (timings) for (i = 0; i 《 num_timings; i++) timings[i] = p-》desc-》timings[i]; return p-》desc-》num_timings; }

mipi屏上完電后需要發(fā)送初始化指令才能使之工作,可以在kernel/arch/arm64/boot/dts/rockchip/firefly-face-mipi8.dts中可以看到mipi的初始化指令列表:

&mipi_dsi { status = “okay”; 。。。 panel-init-sequence = [ 05 20 01 29 05 96 01 11 。。。 ]; panel-exit-sequence = [ 05 05 01 28 05 78 01 10 ]; 。。。 };

命令格式以及說明可參考以下附件: Rockchip DRM Panel Porting Guide.pdf

發(fā)送指令可以看到在kernel/drivers/gpu/drm/panel/panel-simple.c文件中的操作:

static int panel_simple_enable(struct drm_panel *panel) { struct panel_simple *p = to_panel_simple(panel); int err; if (p-》enabled) return 0; DBG(“enter\n”); if (p-》on_cmds) { err = panel_simple_dsi_send_cmds(p, p-》on_cmds); if (err) dev_err(p-》dev, “failed to send on cmds\n”); } if (p-》desc && p-》desc-》delay.enable) { DBG(“p-》desc-》delay.enable=%d\n”, p-》desc-》delay.enable); msleep(p-》desc-》delay.enable); } if (p-》backlight) { DBG(“open backlight\n”); p-》backlight-》props.power = FB_BLANK_UNBLANK; backlight_update_status(p-》backlight); } p-》enabled = true; return 0; }

U-boot 發(fā)送指令可以看到在u-boot/drivers/video/rockchip-dw-mipi-dsi.c文件中的操作:

static int rockchip_dw_mipi_dsi_enable(struct display_state *state) { struct connector_state *conn_state = &state-》conn_state; struct crtc_state *crtc_state = &state-》crtc_state; const struct rockchip_connector *connector = conn_state-》connector; const struct dw_mipi_dsi_plat_data *pdata = connector-》data; struct dw_mipi_dsi *dsi = conn_state-》private; u32 val; DBG(“enter\n”); dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_VID_MODE); dsi_write(dsi, DSI_MODE_CFG, ENABLE_CMD_MODE); dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_VID_MODE); if (!pdata-》has_vop_sel) return 0; if (pdata-》grf_switch_reg) { if (crtc_state-》crtc_id) val = pdata-》dsi0_en_bit | (pdata-》dsi0_en_bit 《《 16); else val = pdata-》dsi0_en_bit 《《 16; writel(val, RKIO_GRF_PHYS + pdata-》grf_switch_reg); } debug(“vop %s output to dsi0\n”, (crtc_state-》crtc_id) ? “LIT” : “BIG”); //rockchip_dw_mipi_dsi_read_allregs(dsi); return 0; }

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35330
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    7043
收藏 人收藏

    評論

    相關(guān)推薦

    RK3399芯片主板DLT3399A的串口資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是RK3399芯片主板DLT3399A的串口資料說明。
    發(fā)表于 03-25 08:00 ?28次下載
    <b class='flag-5'>RK3399</b>芯片<b class='flag-5'>主板</b>DLT<b class='flag-5'>3399</b>A的串口資料說明

    firefly ROC-RK3399-PC主板介紹

    ROC-RK3399-PC是一款迷你PC主板,體積只有小型手機(jī)的大小。
    的頭像 發(fā)表于 11-13 11:51 ?2715次閱讀
    firefly ROC-<b class='flag-5'>RK3399</b>-PC<b class='flag-5'>主板</b>介紹

    Firefly-RK3399--LCD介紹

    Firefly-RK3399開發(fā)板外置了兩個LCD屏接口,一個是EDP,一個是MIPI
    的頭像 發(fā)表于 11-22 10:17 ?6427次閱讀
    Firefly-<b class='flag-5'>RK3399--LCD</b>介紹

    fireflyFace-RK3399主板UART串口簡介

    Face-RK3399 外置3個增強(qiáng)功能串口(UART)的功能,分別為UART1,UART2,RS485。
    的頭像 發(fā)表于 12-04 09:04 ?8688次閱讀

    fireflyFace-RK3399主板TIMER介紹

    RK3399有12 個Timers (timer0-timer11),有12 個Secure Timers(stimer0~stimer11) 和 2 個Timers(pmutimer0
    的頭像 發(fā)表于 12-04 09:08 ?2725次閱讀
    <b class='flag-5'>fireflyFace-RK3399</b><b class='flag-5'>主板</b>TIMER介紹

    fireflyFace-RK3399主板RTC介紹

    Face-RK3399開發(fā)板上有 一個集成于RK808上的RTC(Real Time Clock),主要功能有時鐘,日歷,鬧鐘,周期性中斷,雙通道32KHz時鐘輸出。
    的頭像 發(fā)表于 12-04 09:11 ?5599次閱讀

    fireflyFace-RK3399主板LED燈介紹

    Face-RK3399 開發(fā)板上有 2 個 LED 燈Bule(GPIO2_D3)和Yellow(GPIO2_D2)。
    的頭像 發(fā)表于 12-04 09:14 ?3923次閱讀

    fireflyFace-RK3399主板PWM輸出介紹

    Face-RK3399開發(fā)板上引出有 2 路 PWM 輸出,
    的頭像 發(fā)表于 12-04 09:35 ?4370次閱讀

    fireflyFace-RK3399主板I2C控制器介紹

    Face-RK3399 開發(fā)板上有 9 個片上 I2C 控制器,
    的頭像 發(fā)表于 12-04 09:17 ?2968次閱讀
    <b class='flag-5'>fireflyFace-RK3399</b><b class='flag-5'>主板</b>I2C控制器介紹

    fireflyFace-RK3399主板ADC介紹

    Face-RK3399 開發(fā)板上的 AD 接口有兩種,分別為:溫度傳感器 (Temperature Sensor)、逐次逼近ADC (Successive Approximation Register)。
    的頭像 發(fā)表于 12-04 09:20 ?3725次閱讀

    fireflyFace-RK3399主板啟動模式說明

    Face-RK3399 有靈活的啟動方式。
    的頭像 發(fā)表于 12-04 10:16 ?7331次閱讀

    簡單介紹RK3399開發(fā)板、RK3399主板的相關(guān)參數(shù)

    用過RK3288主板的朋友都知道,RK3399開發(fā)板延續(xù)了RK3288的linux系統(tǒng)開源!作為Rockchip旗艦級芯片,RK3399具有
    發(fā)表于 12-09 14:14 ?7337次閱讀

    ROC RK3399 PC Pro源代碼Linux SDK(僅支持RK3399

    電子發(fā)燒友網(wǎng)站提供《ROC RK3399 PC Pro源代碼Linux SDK(僅支持RK3399).txt》資料免費(fèi)下載
    發(fā)表于 09-20 16:03 ?25次下載
    ROC <b class='flag-5'>RK3399</b> PC Pro源代碼Linux SDK(僅支持<b class='flag-5'>RK3399</b>)

    rk3566和rk3399的區(qū)別

    rk3566和rk3399的區(qū)別 Rockchip是中國芯片設(shè)計企業(yè),其旗下產(chǎn)品包括rk3566和rk3399芯片,這兩種芯片都具有高性能和低成本的優(yōu)點(diǎn),但在一些細(xì)節(jié)上還是存在一定的差
    的頭像 發(fā)表于 08-15 17:44 ?1.5w次閱讀

    RK3399硬件設(shè)計指南

    RK3399是一款基于ARM架構(gòu)的高性能處理器,常用于嵌入式系統(tǒng)和單板計算機(jī)。在進(jìn)行RK3399硬件設(shè)計時,需要考慮多個方面,包括電源、封裝、信號傳輸、外設(shè)接口等。本文將詳細(xì)介紹RK3399硬件
    的頭像 發(fā)表于 12-28 10:59 ?1660次閱讀