Files
luban-lite/doc/topics/sdk/bringup/lite-bringup-display_mipi.html
刘可亮 11c97ef399 v1.2.1
2025-07-22 11:15:46 +08:00

329 lines
34 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.1">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="MIPI-DSI 屏幕通常需要初始化,调试时需根据屏厂提供的资料,开发一款专用的驱动。开发步骤如下:。 新增一款屏驱动: 复制模块文件 ``panel_dsi_xm91080.c`` 将新文件重命名为 ``panel_dsi_xxx.c`` (xxx 为屏驱 IC 型号) 注册新驱动文件。 修改 ``bsp\artinchip\drv\display\panel\Kconfig`` ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="topic"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display.html"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display_lvds.html"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display_mipi-dbi.html"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2025-05-16"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="section_f4q_w5b_bdc"/><title>MIPI</title><!-- Generated with build number 2025051600. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="section_f4q_w5b_bdc-d3752e2333"/><meta name="wh-source-relpath" content="topics/sdk/bringup/lite-bringup-display_mipi.dita"/><meta name="wh-out-relpath" content="topics/sdk/bringup/lite-bringup-display_mipi.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2024041900"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2024041900"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250519091401"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2024041900"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250519091401"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2024041900"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2024041900"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-styles-web-internal.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/notes.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-common.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-images.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/footnote.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-highlight-changes.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/search-in-header.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/topic-body-list.css?buildId=2024041900"/></head>
<body id="section_f4q_w5b_bdc" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div xmlns:whc="http://www.oxygenxml.com/webhelp/components" class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="https://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo.png" alt=" RTOS SDK 使用指南 SDK 指南文件 "/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"> <span class="ph mainbooktitle">RTOS SDK 使用指南</span> <span class="ph booktitlealt">SDK 指南文件</span> </span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div></div>
</div>
</header>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "><ol class="d-print-none"><li><span class="home"><a href="../../../index.html"><span>主页</span></a></span></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html">BringUp</a><div class="wh-tooltip"><p class="shortdesc">主要描述板卡的各项配置,使 SDK 的环境和板卡匹配,并确保 SDK 编译后的固件能够在板子上正常运行。</p></div></div></div></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display.html">屏幕配置</a></div></div></li><li class="active"><div class="topicref" data-id="section_f4q_w5b_bdc"><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_mipi.html">MIPI</a></div></div></li></ol></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_navigation_links "><span id="topic_navigation_links" class="navheader">
<span class="navprev"><a class="- topic/link link" href="../../../topics/sdk/bringup/lite-bringup-display_lvds.html" title="LVDS" aria-label="上一主题: LVDS" rel="prev"></a></span>
<span class="navnext"><a class="- topic/link link" href="../../../topics/sdk/bringup/lite-bringup-display_mipi-dbi.html" title="MIPI-DBI" aria-label="下一主题: MIPI-DBI" rel="next"></a></span> </span></div>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
<button type="button" id="wh_toc_button" class="custom-toggler navbar-toggler collapsed wh_toggle_button navbar-light" aria-expanded="false" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<nav id="wh_publication_toc" class="col-lg-3 col-md-3 col-sm-12 d-md-block d-none d-print-none" aria-label="Table of Contents Container">
<div id="wh_publication_toc_content">
<div class=" wh_publication_toc " data-tooltip-position="right"><span class="expand-button-action-labels"><span id="button-expand-action" role="button" aria-label="Expand"></span><span id="button-collapse-action" role="button" aria-label="Collapse"></span><span id="button-pending-action" role="button" aria-label="Pending"></span></span><ul role="tree" aria-label="Table of Contents"><li role="treeitem"><div data-tocid="revinfo_linux-d3752e463" class="topicref" data-id="revinfo_linux" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/revinfo/revinfo_rtos.html" id="revinfo_linux-d3752e463-link">修订记录</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e480" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e480-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/env/sdk-compile.html" id="id-d3752e480-link">SDK 编译</a><div class="wh-tooltip"><p class="shortdesc">介绍不同编译环境下 SDK 的详细编译流程。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e604" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e604-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/sdk-usage.html" id="id-d3752e604-link">使用指南</a><div class="wh-tooltip"><p class="shortdesc">命令详解,编译选项,镜像和分区配置,添加应用和驱动等的详细使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_rcx_czh_pzb-d3752e1004" class="topicref" data-id="concept_rcx_czh_pzb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_rcx_czh_pzb-d3752e1004-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-app.html" id="concept_rcx_czh_pzb-d3752e1004-link">应用场景</a><div class="wh-tooltip"><p class="shortdesc">描述了 SDK 在不同应用场景中的配置和使用包括系统更新、OTA、安全方案等。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e1848" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e1848-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/peripheral/peripheral-intro.html" id="id-d3752e1848-link">外设移植</a><div class="wh-tooltip"><p class="shortdesc"><span class="ph">CTP、U 盘、SD 卡、有线和无线网络</span>等外设的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d3752e2022" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d3752e2022-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html" id="id-d3752e2022-link">BringUp</a><div class="wh-tooltip"><p class="shortdesc">主要描述板卡的各项配置,使 SDK 的环境和板卡匹配,并确保 SDK 编译后的固件能够在板子上正常运行。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2039" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2039-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-prepare.html" id="id-d3752e2039-link">准备工作</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2097" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-soc.html" id="id-d3752e2097-link">引脚配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2111" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-ram.html" id="id-d3752e2111-link">内存配置</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2125" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2125-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-storage.html" id="id-d3752e2125-link">存储配置</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2233" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2233-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/partition_config_2.html" id="id-d3752e2233-link">配置分区</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2277" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-console.html" id="id-d3752e2277-link">调试配置</a></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d3752e2291" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d3752e2291-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display.html" id="id-d3752e2291-link">屏幕配置</a></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem"><div data-tocid="section_etw_v5b_bdc-d3752e2305" class="topicref" data-id="section_etw_v5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_rgb.html" id="section_etw_v5b_bdc-d3752e2305-link">RGB</a></div></div></li><li role="treeitem"><div data-tocid="section_nch_w5b_bdc-d3752e2319" class="topicref" data-id="section_nch_w5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_lvds.html" id="section_nch_w5b_bdc-d3752e2319-link">LVDS</a></div></div></li><li role="treeitem" class="active"><div data-tocid="section_f4q_w5b_bdc-d3752e2333" class="topicref" data-id="section_f4q_w5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_mipi.html" id="section_f4q_w5b_bdc-d3752e2333-link">MIPI</a></div></div></li><li role="treeitem"><div data-tocid="section_t5h_xxn_42c-d3752e2347" class="topicref" data-id="section_t5h_xxn_42c" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_mipi-dbi.html" id="section_t5h_xxn_42c-d3752e2347-link">MIPI-DBI</a></div></div></li><li role="treeitem"><div data-tocid="section_ib4_x5b_bdc-d3752e2361" class="topicref" data-id="section_ib4_x5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_%E8%83%8C%E5%85%89%E9%85%8D%E7%BD%AE.html" id="section_ib4_x5b_bdc-d3752e2361-link">背光配置</a></div></div></li><li role="treeitem"><div data-tocid="section_rqc_hg4_42c-d3752e2375" class="topicref" data-id="section_rqc_hg4_42c" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_%E5%90%AF%E5%8A%A8_log.html" id="section_rqc_hg4_42c-d3752e2375-link">启动 log</a></div></div></li><li role="treeitem"><div data-tocid="concept_smb_cl3_pzb-d3752e2389" class="topicref" data-id="concept_smb_cl3_pzb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/display/display_faq_screen.html" id="concept_smb_cl3_pzb-d3752e2389-link">调屏常见问题</a></div></div></li></ul></li><li role="treeitem"><div data-tocid="id-d3752e2403" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-samples.html" id="id-d3752e2403-link">示例程序</a></div></div></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2418" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2418-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html" id="id-d3752e2418-link">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div></li></ul></div>
</div>
</nav>
<div class="col-lg-9 col-md-9 col-sm-12" id="wh_topic_body">
<button id="wh_close_publication_toc_button" class="close-toc-button d-none" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic topic" role="article" aria-labelledby="ariaid-title1">
<span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://aicdocco/taskstopics/sdk/bringup/lite-bringup-display_mipi.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">MIPI</h1>
<div class="date inPage">16 May 2025</div><div style="color: gray;">
Read time: 5 minute(s)
</div>
<div class="- topic/body body">
<div class="- topic/p p" data-ofbid="d191730e28__20250519091526">MIPI-DSI 屏幕通常需要初始化,调试时需根据屏厂提供的资料,开发一款专用的驱动。开发步骤如下:。<ol class="- topic/ol ol" id="section_f4q_w5b_bdc__ol_o5k_kwb_bdc" data-ofbid="section_f4q_w5b_bdc__ol_o5k_kwb_bdc">
<li class="- topic/li li" data-ofbid="d191730e32__20250519091526">新增一款屏驱动:<ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_ev3_5pn_42c" data-ofbid="section_f4q_w5b_bdc__ul_ev3_5pn_42c">
<li class="- topic/li li" data-ofbid="d191730e36__20250519091526">复制模块文件 ``panel_dsi_xm91080.c``</li>
<li class="- topic/li li" data-ofbid="d191730e39__20250519091526">将新文件重命名为 ``panel_dsi_xxx.c`` (xxx 为屏驱 IC 型号)</li>
</ul></li>
<li class="- topic/li li" data-ofbid="d191730e43__20250519091526">注册新驱动文件。<ul class="- topic/ul ul simple" id="section_f4q_w5b_bdc__ul_l4q_w5b_bdc" data-ofbid="section_f4q_w5b_bdc__ul_l4q_w5b_bdc">
<li class="- topic/li li" data-ofbid="d191730e47__20250519091526">
<p class="- topic/p p" data-ofbid="d191730e49__20250519091526">修改 ``bsp\artinchip\drv\display\panel\Kconfig`` 文件,添加配置项,让新驱动在
menuconfig 界面可见。</p>
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_v5z_3rn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_v5z_3rn_42c">config AIC_PANEL_DSI_XXX
bool <span class="hl-string">"ArtInChip MIPI DSI XXX panel"</span>
depends on AIC_DISP_MIPI_DSI</pre>
</li>
<li class="- topic/li li" data-ofbid="d191730e56__20250519091526">
<p class="- topic/p p" data-ofbid="d191730e58__20250519091526">修改 bsp/artinchip/SConscript 文件,添加编译规则。</p>
<pre class="+ topic/pre pr-d/codeblock pre codeblock" id="section_f4q_w5b_bdc__codeblock_b1w_mrn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_b1w_mrn_42c"><code>if GetDepend('AIC_PANEL_DSI_XXX'):
src += Glob('drv/display/panel/panel_dsi_xxx.c')</code></pre>
</li>
</ul></li>
<li class="- topic/li li" data-ofbid="d191730e66__20250519091526">注册新 struct aic_panel 结构体:<ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_fhp_ksn_42c" data-ofbid="section_f4q_w5b_bdc__ul_fhp_ksn_42c">
<li class="- topic/li li" data-ofbid="d191730e70__20250519091526">修改 panel_dsi_xxx.c 的 struct aic_panel 命名,重命名为 dsi_xxx</li>
<li class="- topic/li li" data-ofbid="d191730e73__20250519091526">在 panel_com.h 中 extern struct aic_panel
dsi_xxx<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_vtw_tsn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_vtw_tsn_42c"><em class="hl-comment">// panel_com.h</em>
<strong class="hl-keyword">extern</strong> <strong class="hl-keyword">struct</strong> aic_panel dsi_xxx;</pre></li>
<li class="- topic/li li" data-ofbid="d191730e78__20250519091526">将 dsi_xxx 添加到 ``panel_com.c`` 文件的 panels[]
指针数组中<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_s42_xsn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_s42_xsn_42c"><em class="hl-comment">// panel_com.c</em>
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> aic_panel *panels[] = {
...
#ifdef AIC_PANEL_DSI_XXX
&amp;dsi_xxx,
#endif
};</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d191730e84__20250519091526">设置屏幕时序和接口参数*。<ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_csj_xtn_42c" data-ofbid="section_f4q_w5b_bdc__ul_csj_xtn_42c">
<li class="- topic/li li" data-ofbid="d191730e88__20250519091526">修改 ``struct display_timing`` 结构体,根据 LCD
屏幕规格书修改时序参数<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_rqn_55n_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_rqn_55n_42c"><strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> display_timing xxx_timing = {
.pixelclock = <span class="hl-number">130000000</span>,
.hactive = <span class="hl-number">1080</span>,
.hfront_porch = <span class="hl-number">160</span>,
.hback_porch = <span class="hl-number">160</span>,
.hsync_len = <span class="hl-number">40</span>,
.vactive = <span class="hl-number">1920</span>,
.vfront_porch = <span class="hl-number">10</span>,
.vback_porch = <span class="hl-number">20</span>,
.vsync_len = <span class="hl-number">8</span>,
};</pre></li>
<li class="- topic/li li" data-ofbid="d191730e93__20250519091526">修改 struct panel_dsi 结构体,根据 LCD
屏幕规格书修改显示接口参数<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_hks_x5n_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_hks_x5n_42c"><strong class="hl-keyword">struct</strong> panel_dsi dsi = {
.mode = DSI_MOD_VID_BURST,
.format = DSI_FMT_RGB888,
.lane_num = <span class="hl-number">4</span>,
};</pre></li>
<li class="- topic/li li" data-ofbid="d191730e98__20250519091526">根据 PCB 原理图修改 MIPI-DSI 通道顺序和极性<p class="- topic/p p" data-ofbid="d191730e100__20250519091526">修改
bsp\artinchip\drv\display\disp_conf.h
文件下列宏定义</p><p class="- topic/p p" data-ofbid="d191730e102__20250519091526">使用硬件设计指南的推荐设计,不需要修改下列参数</p><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_y4r_hvn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_y4r_hvn_42c"><span class="hl-tag-doctype-comment">/**
* MIPI-DSI options
*/</span>
<span class="hl-tag-doctype-comment">/**
* data lane assignments, default 0x3210
*
* default D3 D2 D1 D0
* PD26/PD27 PD24/PD25 PD20/PD21 PD18/PD19
*
* example 0x0123
* D0 D1 D2 D3
* PD26/PD27 PD24/PD25 PD20/PD21 PD18/PD19
*/</span>
#<span class="hl-directive">define</span> LANE_ASSIGNMENTS <span class="hl-number">0x3210</span>
<span class="hl-tag-doctype-comment">/**
* data lane polarities, default 0b0000
*
* default PD26/PD27 PD24/PD25 PD19/PD20 PD17/PD18
* N/P N/P N/P N/P
*
* example 0b1010
* PD26/PD27 PD24/PD25 PD19/PD20 PD17/PD18
* P/N N/P P/N N/P
*
* LANE_POLARITIES 0b1010
*/</span>
#<span class="hl-directive">define</span> LANE_POLARITIES <span class="hl-number">0</span>b0000
<span class="hl-tag-doctype-comment">/**
* data clk inverse, default 0
*
* default PD22/PD23
* N/P
*
* example 1
* PD23/PD22
* P/N
*/</span>
#<span class="hl-directive">define</span> CLK_INVERSE <span class="hl-number">0</span></pre></li>
</ul><div class="- topic/note note note note_note" id="section_f4q_w5b_bdc__note_l1k_lvn_42c" data-ofbid="section_f4q_w5b_bdc__note_l1k_lvn_42c"><span class="note__title">注:</span> 部分 MIPI 屏幕对 timing
时序较为敏感,时序不匹配可能会导致颜色异常,图像错位等显示问题。增大消隐区,更换 video mode 可以改善显示异常问题, 推荐使用
DSI_MOD_VID_BURST mode显示异常时增大 hbp hfp</div></li>
<li class="- topic/li li" data-ofbid="d191730e110__20250519091526">添加初始化操作*。<ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_dgq_5vn_42c" data-ofbid="section_f4q_w5b_bdc__ul_dgq_5vn_42c">
<li class="- topic/li li" data-ofbid="d191730e114__20250519091526">重新实现 struct aic_panel_funcs 结构体中的 prepare 或者 enable
接口,发送初始化命令<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_uyw_zvn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_uyw_zvn_42c"><strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> aic_panel_funcs st7701s_funcs = {
.disable = panel_default_disable,
.unprepare = panel_default_unprepare,
.prepare = panel_default_prepare,
.enable = panel_enable,
.register_callback = panel_register_callback,
};</pre></li>
<li class="- topic/li li" data-ofbid="d191730e119__20250519091526">根据板卡原理图添加 ``reset`` 或 ``power`` 控制引脚的逻辑<p class="- topic/p p" data-ofbid="d191730e121__20250519091526">如果不需要软件控制 reset
引脚,该步骤可省略</p><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_zts_dwn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_zts_dwn_42c">#<span class="hl-directive">define</span> RESET_PIN <span class="hl-string">"PE.14"</span>
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> gpio_desc reset_gpio;
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">void</strong> panel_gpio_init(<strong class="hl-keyword">void</strong>)
{
panel_get_gpio(&amp;reset_gpio, RESET_PIN);
panel_gpio_set_value(&amp;reset_gpio, <span class="hl-number">1</span>);
aic_delay_ms(<span class="hl-number">120</span>);
}</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d191730e128__20250519091526">配置屏幕引脚功能。<p class="- topic/p p" data-ofbid="d191730e130__20250519091526">在 pinmux.c 文件中添加屏幕引脚</p><p class="- topic/p p" data-ofbid="d191730e132__20250519091526">以 demo128-nand 工程为例,在
target/d21x/demo128-nand/pinmux.c 中配置屏幕引脚</p><ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_t5j_5wn_42c" data-ofbid="section_f4q_w5b_bdc__ul_t5j_5wn_42c">
<li class="- topic/li li" data-ofbid="d191730e136__20250519091526">添加 reset 等控制引脚,配置功能 1<p class="- topic/p p" data-ofbid="d191730e138__20250519091526">如果不需要软件控制 reset
引脚,该步骤可省略</p><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_zjg_dxn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_zjg_dxn_42c">#ifdef AIC_DISP_MIPI_DSI
...
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.14"</span>}, <em class="hl-comment">// reset gpio</em>
#endif</pre></li>
<li class="- topic/li li" data-ofbid="d191730e143__20250519091526">添加 MIPI-DSI 信号引脚,配置功能
4<pre class="+ topic/pre pr-d/codeblock pre codeblock" id="section_f4q_w5b_bdc__codeblock_f53_fxn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_f53_fxn_42c"><code>#ifdef AIC_DISP_MIPI_DSI // MIPI DSI 只有一组 pinmux 配置,根据使用的通道数量和原理图接线进行修改
{4, PIN_PULL_DIS, 3, "PD.18"},
{4, PIN_PULL_DIS, 3, "PD.19"},
{4, PIN_PULL_DIS, 3, "PD.20"},
{4, PIN_PULL_DIS, 3, "PD.21"},
{4, PIN_PULL_DIS, 3, "PD.22"},
{4, PIN_PULL_DIS, 3, "PD.23"},
{4, PIN_PULL_DIS, 3, "PD.24"},
{4, PIN_PULL_DIS, 3, "PD.25"},
{4, PIN_PULL_DIS, 3, "PD.26"},
{4, PIN_PULL_DIS, 3, "PD.27"},
#endif</code></pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d191730e149__20250519091526">使能新建的 panel 驱动<p class="- topic/p p" data-ofbid="d191730e151__20250519091526">在 Luban-Lite 根目录下执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">me</span>,进入 menuconfig
的功能配置界面。</p><ul class="- topic/ul ul" id="section_f4q_w5b_bdc__ul_t55_kxn_42c" data-ofbid="section_f4q_w5b_bdc__ul_t55_kxn_42c">
<li class="- topic/li li" data-ofbid="d191730e158__20250519091526">配置显示接口:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_ndr_qxn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_ndr_qxn_42c">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
select Display interface (Display MIPI-DSI interface) ---&gt;</pre></li>
<li class="- topic/li li" data-ofbid="d191730e163__20250519091526">选择新建的 ArtInChip MIPI DSI panel
驱动:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_f4q_w5b_bdc__codeblock_b2t_rxn_42c" data-ofbid="section_f4q_w5b_bdc__codeblock_b2t_rxn_42c">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
Display Panels ---&gt;
ArtInChip Panel Drivers (ArtInChip MIPI DSI XXX panel) ---&gt;</pre></li>
</ul></li>
</ol></div>
</div>
</article></main></div>
</div>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style>
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
</style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2025 广东匠芯创科技有限公司. All rights reserved.</p>
</div>
<div>
<div class="generation_time">
Update Time: 2025-05-19
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>