OpenEdv-开源电子网

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

uboot usb otg 设备树I2C1的引脚和linu 内核usb otg 设备树I2C1的引脚为什么不一致

[复制链接]

3

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-6-11
在线时间
55 小时
发表于 2021-12-11 11:27:38 | 显示全部楼层 |阅读模式
10金钱
【正点原子】STM32MP1嵌入式Linux驱动开发指南V2.0.pdf

如图,第十三章的uboot usb otg配置引脚是 i2c1_pins_a ,如下:
uboot.png
但在第五十章的usb otg设备树中,配置引脚却是 i2c1_pins_b :
kernel.png
板子的原理图上I2C1的连线是PF14PF15
usb.png usbcore.png


stm32的stm32mp15-pinctrl.dtsi的引脚如下:
uboot:
ubootdts.png
kernel:
kerneldts.png

i2c1_pins_b与原理图的连线是一致,为什么uboot的却是i2c1_pins_a , 是写错了还是有什么特别的说法?希望正点原子能够解惑,感谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-12-12 23:53:17 | 显示全部楼层
回复

使用道具 举报

3

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-6-11
在线时间
55 小时
 楼主| 发表于 2021-12-13 09:41:39 | 显示全部楼层

你能问一问为什么这么写吗,是不是文档写错了
回复

使用道具 举报

19

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1056
金钱
1056
注册时间
2020-6-4
在线时间
95 小时
发表于 2021-12-13 11:30:12 | 显示全部楼层
想问一下,如果完全按照开发指南的内容输入后,结果能出来吗?有没有出错?
回复

使用道具 举报

3

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-6-11
在线时间
55 小时
 楼主| 发表于 2021-12-13 14:10:24 | 显示全部楼层
1532239571 发表于 2021-12-13 11:30
想问一下,如果完全按照开发指南的内容输入后,结果能出来吗?有没有出错?

我在看驱动移植相关的,目前来说,没有出错过,结果是对的
回复

使用道具 举报

3

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-6-11
在线时间
55 小时
 楼主| 发表于 2021-12-27 20:20:57 | 显示全部楼层
来人啊
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2020-11-11
在线时间
27 小时
发表于 2022-6-22 16:30:36 | 显示全部楼层
本帖最后由 lituo 于 2022-6-22 20:37 编辑

昨天跟着教程做Uboot移植的时候就有个问题,使用命令
  1. ums 0 mmc 1
复制代码
没办法将 EMMC 模拟成 U 盘,电脑就一直有USB插拔的提示音响。
然后对比了一下正点原子提供的Uboot源码发现和教程里写的不一样。
stm32mp157d-atk.dtsi 这个文件中添加的 &i2c1 节点不一样。

文档教程里是
  1. &i2c1 {
  2.     pinctrl-names = "default", "sleep";
  3.     pinctrl-0 = <&i2c1_pins_a>;
  4.     pinctrl-1 = <&i2c1_pins_sleep_a>;
  5.     i2c-scl-rising-time-ns = <100>;
  6. 省略.....
复制代码

正点原子提供的Uboot的是
  1. &i2c1 {
  2.     pinctrl-names = "default", "sleep";
  3.     pinctrl-0 = <&i2c1_pins_b>;
  4.     pinctrl-1 = <&i2c1_pins_sleep_b>;
  5.     i2c-scl-rising-time-ns = <100>;
  6. 省略.....
复制代码

改成后缀是“b” 就可以将 EMMC 模拟成 U 盘。
具体原因也不明白,小白。


回复

使用道具 举报

3

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-6-11
在线时间
55 小时
 楼主| 发表于 2022-6-24 08:57:42 | 显示全部楼层
lituo 发表于 2022-6-22 16:30
昨天跟着教程做Uboot移植的时候就有个问题,使用命令没办法将 EMMC 模拟成 U 盘,电脑就一直有USB插拔的提 ...

原来影响的是uboot下的U盘模拟吗,我当时都没用过这个教程,直接跳过去了
具体的原因可能是正点原子教程文档写错了,i2c1_pins_a和i2c1_pins_b的引脚定义是不一样的。你可以看到我发的图里面uboot中stm32mp15-pinctrl.dtsi对i2c1_pins_a和i2c1_pins_b的引脚定义,只有i2c1_pins_b的引脚定义和原理图是对应的
回复

使用道具 举报

4

主题

67

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1011
金钱
1011
注册时间
2021-5-25
在线时间
185 小时
发表于 2022-7-20 13:50:23 | 显示全部楼层
说一下我个人的见解,我觉得他的文档并没有写错。如果你有看过stm32mp157的数据手册就知道,PD12是可以复用为I2C1_SCL的,同时PD13也可以复用为I2C_SDA。所以说,单纯在复用功能的角度来看,PD12和PF14,PD13和PF15都可以作为I2C1的驱动线使用。至于为什么uboot和linux上出现不同方式的使用,主要还是取决于你底板原理图中usb otg配置引脚硬件的连接。因为正点原子做板子的时候才用了PF14和PF15作为驱动线,所以才会有50章节中的描述。假如他用的PD12和PF5做驱动线,那么就是13章的描述。所以用那套pinctrl配置都可以,主要看板子硬件连接。况且他在50章节使能I2C节点下的一句话已经说了这个问题“”如果大家使用的其他引脚需要自行配置“”
回复

使用道具 举报

4

主题

67

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1011
金钱
1011
注册时间
2021-5-25
在线时间
185 小时
发表于 2022-7-20 14:03:18 | 显示全部楼层
还有你可以查一下Uboot和内核的区别和关系
回复

使用道具 举报

1

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2022-3-30
在线时间
44 小时
发表于 2022-7-20 15:23:38 | 显示全部楼层
uboot里面可以把这个 i2c节点去掉都行,也可以实现OTG功能。 测试可以的,
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 16:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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