Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
586b7300
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
586b7300
编写于
9月 16, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 16, 2022
浏览文件
操作
浏览文件
下载
差异文件
!8515 【轻量级 PR】:update zh-cn/device-dev/driver/driver-platform-spi-develop.md. 修改代码格式要求
Merge pull request !8515 from cc1726939254/N/A
上级
cf322e76
f939b5f6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
28 deletion
+28
-28
zh-cn/device-dev/driver/driver-platform-spi-develop.md
zh-cn/device-dev/driver/driver-platform-spi-develop.md
+28
-28
未找到文件。
zh-cn/device-dev/driver/driver-platform-spi-develop.md
浏览文件 @
586b7300
...
@@ -95,32 +95,32 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
...
@@ -95,32 +95,32 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
```
```
root {
root {
device_info {
device_info {
match_attr = "hdf_manager";
match_attr = "hdf_manager";
platform :: host {
platform :: host {
hostName = "platform_host";
hostName = "platform_host";
priority = 50;
priority = 50;
device_spi :: device { //为每一个SPI控制器配置一个HDF设备节点
device_spi :: device { //为每一个SPI控制器配置一个HDF设备节点
device0 :: deviceNode {
device0 :: deviceNode {
policy = 1;
policy = 1;
priority = 60;
priority = 60;
permission = 0644;
permission = 0644;
moduleName = "HDF_PLATFORM_SPI";
moduleName = "HDF_PLATFORM_SPI";
serviceName = "HDF_PLATFORM_SPI_0";
serviceName = "HDF_PLATFORM_SPI_0";
deviceMatchAttr = "hisilicon_hi35xx_spi_0";
deviceMatchAttr = "hisilicon_hi35xx_spi_0";
}
}
device1 :: deviceNode {
device1 :: deviceNode {
policy = 1;
policy = 1;
priority = 60;
priority = 60;
permission = 0644;
permission = 0644;
moduleName = "HDF_PLATFORM_SPI"; // 【必要】用于指定驱动名称,该字段的值必须和驱动入口结构的moduleName值一致。
moduleName = "HDF_PLATFORM_SPI"; // 【必要】用于指定驱动名称,该字段的值必须和驱动入口结构的moduleName值一致。
serviceName = "HDF_PLATFORM_SPI_1"; // 【必要且唯一】驱动对外发布服务的名称。
serviceName = "HDF_PLATFORM_SPI_1"; // 【必要且唯一】驱动对外发布服务的名称。
deviceMatchAttr = "hisilicon_hi35xx_spi_1"; // 需要与设备hcs文件中的match_attr匹配。
deviceMatchAttr = "hisilicon_hi35xx_spi_1"; // 需要与设备hcs文件中的match_attr匹配。
}
}
...
...
}
}
}
}
}
}
}
}
```
```
...
@@ -129,9 +129,9 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
...
@@ -129,9 +129,9 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
```
```
root {
root {
platform {
platform {
spi_config { // 每一个SPI控制器配置私有数据
spi_config { // 每一个SPI控制器配置私有数据
template spi_controller { // 模板公共参数,继承该模板的节点如果使用模板中的默认值,则节点字段可以缺省。
template spi_controller { // 模板公共参数,继承该模板的节点如果使用模板中的默认值,则节点字段可以缺省。
serviceName = "";
serviceName = "";
match_attr = "";
match_attr = "";
transferMode = 0; // 数据传输模式:中断传输(0)、流控传输(1)、DMA传输(2)
transferMode = 0; // 数据传输模式:中断传输(0)、流控传输(1)、DMA传输(2)
...
@@ -152,25 +152,25 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
...
@@ -152,25 +152,25 @@ SPI模块适配HDF框架的三个必选环节是实例化驱动入口,配置
REG_MISC_CTRL_SPI = 0x12030024; // MISC_REG_BASE(0x12030000) + 0x24
REG_MISC_CTRL_SPI = 0x12030024; // MISC_REG_BASE(0x12030000) + 0x24
MISC_CTRL_SPI_CS = 0;
MISC_CTRL_SPI_CS = 0;
MISC_CTRL_SPI_CS_SHIFT = 0;
MISC_CTRL_SPI_CS_SHIFT = 0;
}
}
controller_0x120c0000 :: spi_controller {
controller_0x120c0000 :: spi_controller {
busNum = 0; // 【必要】总线号
busNum = 0; // 【必要】总线号
CRG_SPI_CKEN = 0x10000; // (0x1 << 16) 0:close clk, 1:open clk
CRG_SPI_CKEN = 0x10000; // (0x1 << 16) 0:close clk, 1:open clk
CRG_SPI_RST = 0x1; // (0x1 << 0) 0:cancel reset, 1:reset
CRG_SPI_RST = 0x1; // (0x1 << 0) 0:cancel reset, 1:reset
match_attr = "hisilicon_hi35xx_spi_0";// 【必要】需要和device_info.hcs中的deviceMatchAttr值一致
match_attr = "hisilicon_hi35xx_spi_0";// 【必要】需要和device_info.hcs中的deviceMatchAttr值一致
}
}
controller_0x120c1000 :: spi_controller {
controller_0x120c1000 :: spi_controller {
busNum = 1;
busNum = 1;
CRG_SPI_CKEN = 0x20000; // (0x1 << 17) 0:close clk, 1:open clk
CRG_SPI_CKEN = 0x20000; // (0x1 << 17) 0:close clk, 1:open clk
CRG_SPI_RST = 0x2; // (0x1 << 1) 0:cancel reset, 1:reset
CRG_SPI_RST = 0x2; // (0x1 << 1) 0:cancel reset, 1:reset
match_attr = "hisilicon_hi35xx_spi_1";
match_attr = "hisilicon_hi35xx_spi_1";
regBase = 0x120c1000; // 【必要】地址映射需要
regBase = 0x120c1000; // 【必要】地址映射需要
irqNum = 101; // 【必要】中断号
irqNum = 101; // 【必要】中断号
}
...
// 【可选】可新增,但需要在device_info.hcs添加对应的节点。
}
}
...
}
// 【可选】可新增,但需要在device_info.hcs添加对应的节点。
}
}
}
}
```
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录