Files
luban-lite-t3e-pro/doc/topics/sdk/pwm/pwm_config.html
2025-01-23 16:37:00 +08:00

403 lines
38 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.0">
<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="内核配置 在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面: make kernel-menuconfig 或使用简写命令 make km 在内核配置界面,按如下选择: Linux Device Drivers ---&gt; [*] Pulse-Width Modulation (PWM) Support ---&gt; &lt;*&gt; ArtInChip PWM support &lt;*&gt; ..."/><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="concept"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-12-17"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="pwm_configuration"/><meta name="DC.language" content="zh-CN"/><title>PWM 配置</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content=""/><meta name="wh-source-relpath" content="topics/sdk/pwm/pwm_config.dita"/><meta name="wh-out-relpath" content="topics/sdk/pwm/pwm_config.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="pwm_configuration" 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 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="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.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>
</div>
</header>
<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 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 "></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_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12" id="wh_topic_body">
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_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 concept/concept topic concept" 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://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/pwm/pwm_config.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">PWM 配置</h1><div class="date inPage">17 Dec 2024</div><div style="color: gray;">
Read time: 8 minute(s)
</div><div class="- topic/body concept/conbody body conbody"><section class="- topic/section section" id="pwm_configuration__section_hqy_23s_21c" data-ofbid="pwm_configuration__section_hqy_23s_21c"><h2 class="- topic/title title sectiontitle">内核配置</h2>
<ol class="- topic/ol ol" id="pwm_configuration__ol_udc_4fr_sdc" data-ofbid="pwm_configuration__ol_udc_4fr_sdc"><li class="- topic/li li" data-ofbid="d190773e28__20250121171630">
<div class="- topic/div div">
<div class="- topic/p p" data-ofbid="d190773e32__20250121171630">在 SDK 根目录下,执行下列命令,进入 kernel
的功能配置界面:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__codeblock_wg1_3ml_sdc" data-ofbid="pwm_configuration__codeblock_wg1_3ml_sdc">make kernel-menuconfig</pre></div>
<p class="- topic/p p" data-ofbid="d190773e37__20250121171630">或使用简写命令</p>
<div class="- topic/p p" data-ofbid="d190773e40__20250121171630">
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__codeblock_uss_hml_sdc" data-ofbid="pwm_configuration__codeblock_uss_hml_sdc">make km</pre>
</div>
</div>
</li><li class="- topic/li li" data-ofbid="d190773e47__20250121171630">
<div class="- topic/p p" data-ofbid="d190773e49__20250121171630">在内核配置界面,按如下选择:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__pre_iqy_23s_21c" data-ofbid="pwm_configuration__pre_iqy_23s_21c">Linux
Device Drivers ---&gt;
[*] Pulse-Width Modulation (PWM) Support ---&gt;
&lt;*&gt; ArtInChip PWM support
&lt;*&gt; ArtInChip EPWM support
</pre></div>
</li><li class="- topic/li li" data-ofbid="d190773e54__20250121171630">
<p class="- topic/p p" data-ofbid="d190773e56__20250121171630">如需设置 PWM 模块的背光控制功能,执行下列配置,否则可跳过。</p>
<p class="- topic/p p" data-ofbid="d190773e59__20250121171630">在 SDK 根目录下执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">make kernel-menuconfig</span>
<span class="+ topic/keyword sw-d/cmdname keyword cmdname">make me</span>,进入 kernel 的功能配置,按如下选择:</p>
<div class="- topic/p p" data-ofbid="d190773e68__20250121171630">
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__pre_jqy_23s_21c" data-ofbid="pwm_configuration__pre_jqy_23s_21c">Linux
Device Drivers ---&gt;
Graphics support ---&gt;
Backlight &amp; LCD device support ---&gt;
&lt;*&gt; Lowlevel Backlight controls
&lt;*&gt; Generic PWM based Backlight Driver
</pre>
</div>
</li><li class="- topic/li li" data-ofbid="d190773e74__20250121171630">
<p class="- topic/p p" data-ofbid="d190773e76__20250121171630">如使用 logo 功能,须在 Boot 阶段打开屏幕背光,否则可跳过。</p>
<p class="- topic/p p" data-ofbid="d190773e79__20250121171630">在 SDK 根目录下执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">make kernel-menuconfig</span>
<span class="+ topic/keyword sw-d/cmdname keyword cmdname">make me</span>,进入 kernel 的功能配置,按如下选择:</p>
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__pre_kqy_23s_21c" data-ofbid="pwm_configuration__pre_kqy_23s_21c">U-Boot
Device Drivers ---&gt;
[*] Enable support <strong class="hl-keyword">for</strong> pulse-width modulation devices (PWM)
[*] Enable support <strong class="hl-keyword">for</strong> ArtInChip PWM
Graphics support ---&gt;
[*] Generic PWM based Backlight Driver
</pre>
</li></ol>
</section><section class="- topic/section section" id="pwm_configuration__section_lqy_23s_21c" data-ofbid="pwm_configuration__section_lqy_23s_21c"><h2 class="- topic/title title sectiontitle">DTS 参数配置</h2>
<p class="- topic/p p" data-ofbid="d190773e97__20250121171630">PWM 驱动支持从 DTS 中配置的自定义参数,如下表所示:</p>
<div class="table-container"><table class="- topic/table table frame-all" id="pwm_configuration__table_mqy_23s_21c" data-ofbid="pwm_configuration__table_mqy_23s_21c" data-cols="4"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 1</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">PWM 自定义参数</span></caption><colgroup><col style="width:17.152658662092623%"/><col style="width:18.524871355060036%"/><col style="width:30.360205831903947%"/><col style="width:33.9622641509434%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="pwm_configuration__table_mqy_23s_21c__entry__1">参数名称</th><th class="- topic/entry entry colsep-1 rowsep-1" id="pwm_configuration__table_mqy_23s_21c__entry__2">类型</th><th class="- topic/entry entry colsep-1 rowsep-1" id="pwm_configuration__table_mqy_23s_21c__entry__3">取值范围</th><th class="- topic/entry entry colsep-0 rowsep-1" id="pwm_configuration__table_mqy_23s_21c__entry__4">功能说明</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__1">mode</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__2">String</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__3">up/down/up-down-count</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__4">配置增减模式</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__1">tb-clk-rate</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__2">Integer</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__3">(0, 24000000)</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__4">时基计数器的工作时钟</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__1">action0</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__2">String</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__3">none/low/high/inverse</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__4">多个关键时点的触发行为</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__1">action1</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__2">String</td><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__3">none/low/high/inverse</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_mqy_23s_21c__entry__4">多个关键时点的触发行为</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="pwm_configuration__table_mqy_23s_21c__entry__1">default-level</td><td class="- topic/entry entry colsep-1 rowsep-0" headers="pwm_configuration__table_mqy_23s_21c__entry__2">Integer</td><td class="- topic/entry entry colsep-1 rowsep-0" headers="pwm_configuration__table_mqy_23s_21c__entry__3">[0, 1]</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="pwm_configuration__table_mqy_23s_21c__entry__4">默认/初始电平</td></tr></tbody></table></div>
<div class="- topic/note note note note_note" id="pwm_configuration__note_ls5_43s_21c" data-ofbid="pwm_configuration__note_ls5_43s_21c"><span class="note__title">注:</span>
<p class="- topic/p p" data-ofbid="d190773e167__20250121171630">为了方便表达,所有参数名称都省略了前缀 “aic,”。</p>
</div>
<p class="- topic/p p" data-ofbid="d190773e171__20250121171630">表中 action0 和 action1 四种取值的含义,定义如下:</p>
<div class="table-container"><table class="- topic/table table frame-all" id="pwm_configuration__table_nqy_23s_21c" data-ofbid="pwm_configuration__table_nqy_23s_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 2</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">action0 和 action1 取值含义</span></caption><colgroup><col style="width:46.51162790697674%"/><col style="width:53.48837209302325%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="pwm_configuration__table_nqy_23s_21c__entry__1">Action 类型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="pwm_configuration__table_nqy_23s_21c__entry__2">行为描述</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__1">none</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__2">不做任何变化,保持之前的输出电平</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__1">low</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__2">跳变为 0 电平</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__1">high</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="pwm_configuration__table_nqy_23s_21c__entry__2">跳变为 1 电平</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="pwm_configuration__table_nqy_23s_21c__entry__1">inverse</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="pwm_configuration__table_nqy_23s_21c__entry__2">跳变为反向的电平,比如从 0 跳变为 1</td></tr></tbody></table></div>
</section><section class="- topic/section section" id="pwm_configuration__section_lhg_fyn_4dc" data-ofbid="pwm_configuration__section_lhg_fyn_4dc"><h2 class="- topic/title title sectiontitle">时钟配置</h2>
<p class="- topic/p p" data-ofbid="d190773e214__20250121171630">PWM 模块涉及时钟的衍生关系:</p>
<figure class="- topic/fig fig fignone" id="pwm_configuration__fig_xy3_1js_21c" data-ofbid="pwm_configuration__fig_xy3_1js_21c"><br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="pwm_configuration__image_sxm_lbp_g1c" src="../../../reusables/reused-topics/../../images/pwm/pwm_clk_tree.png" width="480" alt="pwm_clk_tree"/></div><br/><figcaption data-caption-side="bottom" class="- topic/title title figcapcenter"><span class="figtitleprefix fig--title-label"><span class="fig--title-label-number"> 1</span><span class="fig--title-label-punctuation">. </span></span><span class="fig--title">PWM 模块的时钟衍生关系图</span></figcaption></figure>
<p class="- topic/p p" data-ofbid="d190773e224__20250121171630">EWM 模块涉及时钟的衍生关系:</p>
<figure class="- topic/fig fig fignone" id="pwm_configuration__fig_bct_z3s_21c" data-ofbid="pwm_configuration__fig_bct_z3s_21c"><br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="pwm_configuration__image_y4x_lbp_g1c" src="../../../reusables/reused-topics/../../images/pwmcs/epwm_clk_tree.png" width="480" alt="epwm_clk_tree"/></div><br/><figcaption data-caption-side="bottom" class="- topic/title title figcapcenter"><span class="figtitleprefix fig--title-label"><span class="fig--title-label-number"> 2</span><span class="fig--title-label-punctuation">. </span></span><span class="fig--title">EPWM 模块的时钟衍生关系图</span></figcaption></figure>
<div class="- topic/note note note note_note" id="pwm_configuration__note_rkx_1js_21c" data-ofbid="pwm_configuration__note_rkx_1js_21c"><span class="note__title">注:</span>
<div class="- topic/p p" data-ofbid="d190773e237__20250121171630">容易混淆的 sysclk<ul class="- topic/ul ul" id="pwm_configuration__ul_rqy_23s_21c" data-ofbid="pwm_configuration__ul_rqy_23s_21c"><li class="- topic/li li" data-ofbid="d190773e240__20250121171630">
<p class="- topic/p p" data-ofbid="d190773e242__20250121171630">PWM 驱动中,按照惯例将父时钟称作 <span class="+ topic/keyword pr-d/parmname keyword parmname">sysclk</span>,即上图的 PLL INT1。</p>
</li><li class="- topic/li li" data-ofbid="d190773e248__20250121171630">
<p class="- topic/p p" data-ofbid="d190773e250__20250121171630">PWM 硬件 spec 中,将上图中的 PWM Clk 称作 <span class="+ topic/keyword pr-d/parmname keyword parmname">sysclk</span></p>
</li></ul></div>
</div>
</section><section class="- topic/section section" id="pwm_configuration__section_sqy_23s_21c" data-ofbid="pwm_configuration__section_sqy_23s_21c"><h2 class="- topic/title title sectiontitle">D211 配置</h2>
<p class="- topic/p p" data-ofbid="d190773e263__20250121171630"><span class="+ topic/ph sw-d/filepath ph filepath">common/d211.dtsi</span> 中的参数配置:</p>
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__pre_tqy_23s_21c" data-ofbid="pwm_configuration__pre_tqy_23s_21c">pwm: pwm@<span class="hl-number">19240000</span> {
compatible = <span class="hl-string">"artinchip,aic-pwm-v1.0"</span>;
reg = &lt;<span class="hl-number">0x0</span> <span class="hl-number">0x19240000</span> <span class="hl-number">0x0</span> <span class="hl-number">0x1000</span>&gt;;
interrupts-extended = &lt;&amp;plic0 <span class="hl-number">90</span> IRQ_TYPE_LEVEL_HIGH&gt;;
#pwm-cells = &lt;<span class="hl-number">3</span>&gt;;
clocks = &lt;&amp;cmu CLK_PWM&gt;, &lt;&amp;cmu CLK_PLL_INT1&gt;;
clock-names = <span class="hl-string">"pwm"</span>, <span class="hl-string">"sysclk"</span>;
resets = &lt;&amp;rst RESET_PWM&gt;;
clock-rate = &lt;<span class="hl-number">48000000</span>&gt;;
};
epwm: epwm@<span class="hl-number">18200000</span> {
compatible = <span class="hl-string">"artinchip,aic-epwm-v1.0"</span>;
reg = &lt;<span class="hl-number">0x0</span> <span class="hl-number">0x18200000</span> <span class="hl-number">0x0</span> <span class="hl-number">0x600</span>&gt;, &lt;<span class="hl-number">0</span> <span class="hl-number">0x1820F000</span> <span class="hl-number">0x0</span> <span class="hl-number">0x1000</span>&gt;;
interrupts-extended = &lt;&amp;plic0 <span class="hl-number">25</span> IRQ_TYPE_LEVEL_HIGH&gt;;
#pwm-cells = &lt;<span class="hl-number">3</span>&gt;;
clocks = &lt;&amp;cmu CLK_PWMCS&gt;, &lt;&amp;cmu CLK_PLL_INT1&gt;;
clock-names = <span class="hl-string">"pwmcs"</span>, <span class="hl-string">"sysclk"</span>;
resets = &lt;&amp;rst RESET_PWMCS&gt;;
clock-rate = &lt;<span class="hl-number">48000000</span>&gt;;
status = <span class="hl-string">"disabled"</span>;
};</pre>
</section><section class="- topic/section section" id="pwm_configuration__section_wwx_s3s_21c" data-ofbid="pwm_configuration__section_wwx_s3s_21c"><h2 class="- topic/title title sectiontitle">Board 配置</h2>
<div class="- topic/p p" data-ofbid="d190773e276__20250121171630">
<ul class="- topic/ul ul" id="pwm_configuration__ul_m1c_53s_21c" data-ofbid="pwm_configuration__ul_m1c_53s_21c"><li class="- topic/li li" data-ofbid="d190773e279__20250121171630">PWM 通道配置<div class="- topic/p p" data-ofbid="d190773e281__20250121171630"><span class="+ topic/ph sw-d/filepath ph filepath">xxx/board.dts</span>
中的参数配置:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__codeblock_cyf_v3s_21c" data-ofbid="pwm_configuration__codeblock_cyf_v3s_21c">&amp;pwm {
status = <span class="hl-string">"okay"</span>;
pinctrl-names = <span class="hl-string">"default"</span>;
pinctrl-<span class="hl-number">0</span> = &lt;&amp;pwm2_pins_b&gt;;
<em class="hl-comment">/* mode: up-count, down-count, up-down-count
action: none, low, high, inverse */</em>
pwm0 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
aic,rise-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
aic,fall-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
pwm1 {
aic,mode = <span class="hl-string">"down-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
aic,rise-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
aic,fall-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
pwm2 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"none"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>;
aic,<strong class="hl-keyword">default</strong>-level = &lt;<span class="hl-number">0</span>&gt;;
aic,rise-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
aic,fall-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
status = <span class="hl-string">"okay"</span>;
};
pwm3 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"low"</span>, <span class="hl-string">"none"</span>;
aic,rise-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
aic,fall-edge-delay = &lt;<span class="hl-number">10</span>&gt;;
status = <span class="hl-string">"disabled"</span>;
};
};
&amp;epwm {
status = <span class="hl-string">"disabled"</span>;
pinctrl-names = <span class="hl-string">"default"</span>;
pinctrl-<span class="hl-number">0</span> = &lt;&amp;epwm0_pins_a&gt;,
&lt;&amp;epwm1_pins_a&gt;,
&lt;&amp;epwm2_pins_a&gt;;
<em class="hl-comment">/* mode: up-count, down-count, up-down-count
action: none, low, high, inverse */</em>
epwm0 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
epwm1 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
epwm2 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
epwm3 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
epwm4 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
epwm5 {
aic,mode = <span class="hl-string">"up-count"</span>;
aic,tb-clk-rate = &lt;<span class="hl-number">24000000</span>&gt;;
<em class="hl-comment">/* CBD, CBU, CAD, CAU, PRD, ZRO */</em>
aic,action0 = <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
aic,action1 = <span class="hl-string">"none"</span>, <span class="hl-string">"high"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"none"</span>, <span class="hl-string">"low"</span>;
status = <span class="hl-string">"disabled"</span>;
};
};</pre></div></li><li class="- topic/li li" id="pwm_configuration__li_qjm_hjs_21c" data-ofbid="pwm_configuration__li_qjm_hjs_21c">背光控制配置<div class="- topic/p p" data-ofbid="d190773e289__20250121171630">需要在 <span class="+ topic/ph sw-d/filepath ph filepath">xxx/board.dts</span> 中新增一个
backlight
节点,如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__codeblock_b1p_v3s_21c" data-ofbid="pwm_configuration__codeblock_b1p_v3s_21c">backlight: backlight {
compatible = <span class="hl-string">"pwm-backlight"</span>;
<em class="hl-comment">/* pwm node name; pwm device No.; period_ns; pwm_polarity */</em>
pwms = &lt;&amp;pwm <span class="hl-number">2</span> <span class="hl-number">1000000</span> <span class="hl-number">0</span>&gt;;
brightness-levels = &lt;<span class="hl-number">0</span> <span class="hl-number">10</span> <span class="hl-number">20</span> <span class="hl-number">30</span> <span class="hl-number">40</span> <span class="hl-number">50</span> <span class="hl-number">60</span> <span class="hl-number">70</span> <span class="hl-number">80</span> <span class="hl-number">90</span> <span class="hl-number">100</span>&gt;;
<strong class="hl-keyword">default</strong>-brightness-level = &lt;<span class="hl-number">8</span>&gt;;
status = <span class="hl-string">"okay"</span>;
};</pre></div><p class="- topic/p p" data-ofbid="d190773e296__20250121171630">其中 “&amp;pwm 2” 表示要使用 pwm2
通道作为背光控制用(要确认和硬件上的电路连接是一致的)。</p><div class="- topic/p p" data-ofbid="d190773e298__20250121171630">在屏幕 panel 节点中,需要引用
backlight<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="pwm_configuration__codeblock_jpc_w3s_21c" data-ofbid="pwm_configuration__codeblock_jpc_w3s_21c">panel_lvds {
compatible = <span class="hl-string">"artinchip,aic-general-lvds-panel"</span>;
data-mapping = <span class="hl-string">"vesa-24"</span>;
data-channel = <span class="hl-string">"single-link1"</span>;
backlight = &lt;&amp;backlight&gt;;
status = <span class="hl-string">"okay"</span>;
...
};</pre></div></li></ul>
</div>
</section></div></article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#pwm_configuration__section_hqy_23s_21c" data-tocid="pwm_configuration__section_hqy_23s_21c">内核配置</a></div></li><li class="section-item"><div class="section-title"><a href="#pwm_configuration__section_lqy_23s_21c" data-tocid="pwm_configuration__section_lqy_23s_21c">DTS 参数配置</a></div></li><li class="section-item"><div class="section-title"><a href="#pwm_configuration__section_lhg_fyn_4dc" data-tocid="pwm_configuration__section_lhg_fyn_4dc">时钟配置</a></div></li><li class="section-item"><div class="section-title"><a href="#pwm_configuration__section_sqy_23s_21c" data-tocid="pwm_configuration__section_sqy_23s_21c">D211 配置</a></div></li><li class="section-item"><div class="section-title"><a href="#pwm_configuration__section_wwx_s3s_21c" data-tocid="pwm_configuration__section_wwx_s3s_21c">Board 配置</a></div></li></ul></div>
</div>
</nav>
</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-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</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>