全志 添加PWM7参数

简介: 全志 添加PWM7参数

本文介绍如何在全志的硬件描述文件中添加PWM7的参数。这是一个针对Linux内核的设备树源文件(DTS)的修改,特定于全志的硬件平台。

以下是对修改的简要概述:

  1. 文件修改:文件路径为lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi
添加pwm7的参数
 
diff --git a/lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi b/lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi
index db8d122..102d0bd 100755
--- a/lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi
+++ b/lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi
@@ -1254,9 +1254,9 @@
                pwm: pwm@01c23400 {
                        compatible = "allwinner,sunxi-pwm";
                        reg = <0x0 0x01c23400 0x0 0x154>;
-                       pwm-number = <1>;
+                       pwm-number = <3>;
                        pwm-base = <0x0>;
-                       pwms = <&pwm0>, <&pwm1>;
+                       pwms = <&pwm0>, <&pwm1>,<&pwm7>;
                };
 
                pwm0: pwm0@01c23400 {
@@ -1437,6 +1437,96 @@
                        reg_active_width = <0x10>;
                };
 
+               pwm7: pwm7@01c23400 {
+                       compatible = "allwinner,sunxi-pwm7";
+                       pinctrl-names = "active", "sleep";
+                       reg_base = <0x01c23400>;
+                       reg_peci_offset = <0x00>;
+                       reg_peci_shift = <0x07>;
+                       reg_peci_width = <0x01>;
+
+                       reg_pis_offset = <0x04>;
+                       reg_pis_shift = <0x07>;
+                       reg_pis_width = <0x01>;
+
+                       reg_crie_offset = <0x10>;
+                       reg_crie_shift = <0x07>;
+                       reg_crie_width = <0x01>;
+
+                       reg_cfie_offset = <0x10>;
+                       reg_cfie_shift = <0x01>;
+                       reg_cfie_width = <0x01>;
+
+                       reg_cris_offset = <0x14>;
+                       reg_cris_shift = <0x07>;
+                       reg_cris_width = <0x01>;
+
+                       reg_cfis_offset = <0x14>;
+                       reg_cfis_shift = <0x01>;
+                       reg_cfis_width = <0x01>;
+
+                       reg_clk_src_offset = <0x20>;
+                       reg_clk_src_shift = <0x07>;
+                       reg_clk_src_width = <0x02>;
+
+                       reg_bypass_offset = <0x20>;
+                       reg_bypass_shift = <0x05>;
+                       reg_bypass_width = <0x01>;
+
+                       reg_clk_gating_offset = <0x2c>;
+                       reg_clk_gating_shift = <0x04>;
+                       reg_clk_gating_width = <0x01>;
+
+                       reg_clk_div_m_offset = <0x2c>;
+                       reg_clk_div_m_shift = <0x00>;
+                       reg_clk_div_m_width = <0x04>;
+
+                       reg_pdzintv_offset = <0x3c>;
+                       reg_pdzintv_shift = <0x08>;
+                       reg_pdzintv_width = <0x08>;
+
+                       reg_dz_en_offset = <0x3c>;
+                       reg_dz_en_shift = <0x00>;
+                       reg_dz_en_width = <0x01>;
+
+                       reg_enable_offset = <0x40>;
+                       reg_enable_shift = <0x07>;
+                       reg_enable_width = <0x01>;
+
+                       reg_cap_en_offset = <0x44>;
+                       reg_cap_en_shift = <0x07>;
+                       reg_cap_en_width = <0x01>;
+
+                       reg_period_rdy_offset = <0x140>;
+                       reg_period_rdy_shift = <0x0b>;
+                       reg_period_rdy_width = <0x01>;
+
+                       reg_pul_start_offset = <0x140>;
+                       reg_pul_start_shift = <0x0a>;
+                       reg_pul_start_width = <0x01>;
+
+                       reg_mode_offset = <0x140>;
+                       reg_mode_shift = <0x09>;
+                       reg_mode_width = <0x01>;
+
+                       reg_act_sta_offset = <0x140>;
+                       reg_act_sta_shift = <0x08>;
+                       reg_act_sta_width = <0x01>;
+
+                       reg_prescal_offset = <0x140>;
+                       reg_prescal_shift = <0x00>;
+                       reg_prescal_width = <0x08>;
+
+                       reg_entire_offset = <0x144>;
+                       reg_entire_shift = <0x10>;
+                       reg_entire_width = <0x10>;
+
+                       reg_active_offset = <0x144>;
+                       reg_active_shift = <0x00>;
+                       reg_active_width = <0x10>;
+               };
+
+               
  1. PWM节点修改
  • 在原有的pwm节点中,pwm-number<1>更改为<3>,这意味着现在有3个PWMs。
  • pwms属性中,添加了对pwm7的引用。
  1. 添加PWM7节点
  • 新增了一个名为pwm7的节点,它描述了PWM7的各种属性和寄存器偏移量。
  • 这个节点包含了PWM7的兼容性、引脚控制、各种寄存器的偏移量、位移和宽度等信息。

这些修改意味着现在系统可以识别和使用PWM7,并且为其配置了正确的参数。这对于需要调试使用PWM7的驱动程序来说是必要的。

相关文章
|
算法 SoC
在写PWM风扇驱动之前:如何透过FG信号,获取风扇转速?
本文介绍了如何通过PWM风扇的FG信号线获取风扇转速的方法,包括风扇规格的解读、FG信号的公式推导、软件算法的解析,以及在全志H713平台上实现风扇转速获取的驱动代码示例。
1711 2
在写PWM风扇驱动之前:如何透过FG信号,获取风扇转速?
|
安全 JavaScript 前端开发
在Linux中生成随机数的各种方法
在计算机编程中,生成随机数是一项常见的任务,用于模拟实际情况、加密、游戏设计等。Linux系统提供了多种方法来生成随机数。本文将介绍Linux环境下生成随机数的几种常用方法,包括伪随机数生成器、/dev/random 和 /dev/urandom 设备、以及使用编程语言生成随机数。
1400 3
|
索引
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
1135 3
|
SQL 数据库 索引
SQL语句实现投影连接:方法与技巧详解
在SQL数据库查询中,投影和连接是两个核心概念
|
机器学习/深度学习 人工智能 自然语言处理
20用于深度学习训练和研究的数据集
无论是图像识别,自然语言处理,医疗保健还是任何其他人工智能领域感兴趣,这些数据集都是非常重要的,所以本文将整理常用且有效的20个数据集。
1020 1
|
数据安全/隐私保护
github报错(完美解决):获取token。remote: Support for password authentication was removed on August 13, 2021.
这篇文章介绍了如何在GitHub上解决因密码认证被移除而导致的推送错误,通过创建和使用个人访问令牌(token)来代替密码进行身份验证。
2722 0
|
Linux Android开发
全志平台A40I : I2C通讯问题调试笔记
全志平台A40I : I2C通讯问题调试笔记
606 0
|
Web App开发 移动开发 编解码
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
本文讨论了实时数据传输在互联网中的重要性,如即时通讯和在线直播。一对一通信通常使用WebRTC技术,但一对多直播需要流媒体服务器和特定协议,如RTSP、RTMP、SRT或RIST。RTMP由于其稳定性和早期普及,成为国内直播的主流。文章通过实例演示了如何使用OBS Studio和RTMP Streamer进行RTMP推流,并对比了不同流媒体传输协议的优缺点。推荐了两本关于FFmpeg和Android开发的书籍以供深入学习。
320 0
FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
我们需要安装`websockets`库(如果尚未安装)
我们需要安装`websockets`库(如果尚未安装)
|
算法 API 数据中心
魔搭社区利用 NVIDIA TensorRT-LLM 加速开源大语言模型推理
魔搭社区于 2022 年 11 月初创建,首次在业界提出了 “模型即服务”( MaaS, Model as a Service)的理念。