OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6300|回复: 13

pinctrl和gpio子系统实验疑惑

[复制链接]

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
发表于 2019-12-26 20:14:24 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 YK山羊 于 2019-12-27 08:57 编辑

目前按照开发者指南做第四十五章实验,程序按照手册上的进行编写,在运行测试发现只有modprobe上一章设备树下LED实验的驱动后才能用本实验的驱动控制led灯,重新梳理本章实验发现整个修改设备树和编写驱动代码的过程中没有与开启时钟有关的控制,不知道下一步该怎么做了,是加入开启时钟的初始化(呃,怎么加?),还是我忽略了哪里,本章实验这个时钟不需要关注?望大佬指点迷津!



最佳答案

查看完整内容[请看2#楼]

使用pinctrl和gpio子系统的时候不需要我们管时钟,会自动打开。如果没有反应的话检查设备树和驱动,或者直接用我们的驱动
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2019-12-26 20:14:25 | 显示全部楼层
使用pinctrl和gpio子系统的时候不需要我们管时钟,会自动打开。如果没有反应的话检查设备树和驱动,或者直接用我们的驱动
回复

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2019-7-29
在线时间
24 小时
发表于 2019-12-29 22:12:28 | 显示全部楼层
问下最后是怎么解决的,我现在也遇到了这个问题
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
 楼主| 发表于 2020-1-2 09:05:40 | 显示全部楼层
·Roxin 发表于 2019-12-29 22:12
问下最后是怎么解决的,我现在也遇到了这个问题

没有,但是蜂鸣器实验可以,真是头大
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-8-22
在线时间
13 小时
发表于 2020-3-1 22:15:53 | 显示全部楼层
奇怪了我也遇到了这个问题,蜂鸣器可以使用,感觉上是文档少了什么步骤
回复

使用道具 举报

0

主题

11

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-7-5
在线时间
13 小时
发表于 2020-3-6 10:39:06 | 显示全部楼层
我也是
回复

使用道具 举报

41

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2019-8-20
在线时间
83 小时
发表于 2020-3-6 13:03:43 | 显示全部楼层
zuozhongkai 发表于 2019-12-26 20:14
使用pinctrl和gpio子系统的时候不需要我们管时钟,会自动打开。如果没有反应的话检查设备树和驱动,或者直 ...

左神。是不是内核已经从设备树中初始化了这个时钟?
回复

使用道具 举报

26

主题

1538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6379
金钱
6379
注册时间
2015-8-25
在线时间
1004 小时
发表于 2020-3-6 13:40:29 | 显示全部楼层
sn3707 发表于 2020-3-6 13:03
左神。是不是内核已经从设备树中初始化了这个时钟?

内核肯定会按照设备树初始化时钟系统的,即使没配置也会用默认值初始化的,不然内核的那么多操作(比如跟终端uart 115200的交互)怎么能实现
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2019-4-15
在线时间
21 小时
发表于 2020-5-7 22:00:13 | 显示全部楼层
原来不止我一个遇到这样的问题,我查了一下寄存器内容,就配置MUX复用功能的寄存器就是匹配不上,按教程写的,灯点不亮,用之前编写的led模块加载后,在用这个pinctrl子系统编写的模块,就可以亮了。。。。
回复

使用道具 举报

2

主题

12

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-3-26
在线时间
8 小时
发表于 2020-5-8 14:25:03 | 显示全部楼层
dtsi里面已经有时钟配置信息了
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2020-3-7
在线时间
3 小时
发表于 2020-5-10 01:07:43 | 显示全部楼层
pinctrl_enet1: enet1grp {
                        fsl,pins = <
                                MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN        0x1b0b0
                                MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER        0x1b0b0
                                MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00        0x1b0b0
                                MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01        0x1b0b0
                                MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN        0x1b0b0
                                MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00        0x1b0b0
                                MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01        0x1b0b0
                                MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1        0x4001b031
                                /*MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07     0x10b0*/
                        >;
                };

                pinctrl_enet2: enet2grp {
                        fsl,pins = <
                                MX6UL_PAD_GPIO1_IO07__ENET2_MDC                0x1b0b0
                                MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
                                MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN        0x1b0b0
                                MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER        0x1b0b0
                                MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00        0x1b0b0
                                MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01        0x1b0b0
                                MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN        0x1b0b0
                                MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00        0x1b0b0
                                MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01        0x1b0b0
                                MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2        0x4001b031
                                /*MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08     0x10b0*/
                        >;
                };
注释掉上面两行就可以了
回复

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2020-4-26
在线时间
9 小时
发表于 2020-5-11 11:45:27 | 显示全部楼层
zuozhongkai 发表于 2019-12-26 20:14
使用pinctrl和gpio子系统的时候不需要我们管时钟,会自动打开。如果没有反应的话检查设备树和驱动,或者直 ...

学到了
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2390
金钱
2390
注册时间
2019-9-25
在线时间
397 小时
发表于 2020-5-13 19:50:13 | 显示全部楼层
有原帖子

第四十五章 pinctrl 和 和 gpio 实验  gpioled.ko  报错查找
http://www.openedv.com/forum.php ... &extra=page%3D4
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2021-2-22
在线时间
0 小时
发表于 2021-2-23 09:57:57 | 显示全部楼层
julie1983 发表于 2020-5-10 01:07
pinctrl_enet1: enet1grp {
                        fsl,pins = <
                                MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN        0x1b0b0

请问这么做的原理是什么呢,求指导
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表