小七

小七

1个粉丝

8

问答

0

专栏

0

资料

小七  发布于  2024-09-26 16:01:59
采纳率 0%
8个问答
282

求助!海思芯片为i2c提供时钟频率

   

各位好,我现在在用海思ss928的芯片,有一个外接的模块,使用的是i2c的通信协议,且i2c的时钟线和数据线直接接到了cpu的管脚上,也就是由ss928这个芯片来为这个i2c设备提供时钟是吗?
现在我管脚复用已经打开,但是扫不到i2c的从机地址,也无法读写,可能就是这个cpu给i2c设备的时钟没有配置,导致这个设备没有工作。
请问,这个由cpu给i2c设备提供时钟,需要配置什么呢?
是需要直接向某个寄存器写入值?还是要修改sys_config.c的源文件,或者修改dts设备树的内容呢?

我来回答
回答5个
时间排序
认可量排序

小七

1个粉丝

8

问答

0

专栏

0

资料

小七 2024-09-26 16:02:28
认可0

希望有路过了解这个的大佬能指点一下,非常感谢!!

小七

1个粉丝

8

问答

0

专栏

0

资料

小七 2024-09-26 16:04:53
认可0

听说可以通过bspmm或者himm直接写入寄存器来改这个值,但是我查看SDK里面提供的文档,没有这方面的介绍,不知道是因为资料不全还是我没找到。

fangzi2048

0个粉丝

1

问答

0

专栏

0

资料

fangzi2048 2024-09-26 20:53:17
认可0

首先 cpu的管脚需要支持I2C,你得看看应该是一个excel文档,里面有所有的管脚定义和能复用的功能。确认接上的是可以当I2C来用的管脚后,才可以通过himm写相应的寄存器,把管脚配置成I2C。I2C总线可能有7、8个,I2C0~I2C7~之类的,可以用btool自带的I2C工具在linux命令行直接测试。

小七
小七   回复   fangzi2048  2024-09-28 09:47:22
0

你好,我的这个cpu支持i2c,我的管脚复用是写到了src脚本中,用于将管脚复用为i2c的功能,现在我扫描i2c总线上挂载的设备是扫描不到的,所以用i2c_read读取也读取不到,相当于是没有识别到设备。我现在怀疑是我的cpu给外接设备供的时钟没有配置好,导致外接设备没有正常启动,所以才扫描不到并且读取不到数据的。我想问一下大佬,知道这个时钟的配置应该在哪里吗?我查到可能是sys_config.ko这个驱动文件,但是里面的源码太庞大,我暂时不知道怎么设置某个i2c的时钟管脚的时钟频率。

小七
小七   回复   fangzi2048  2024-09-28 09:51:03
0

听说可能有什么芯片文档或者什么文档之类的,有说明哪些管脚可以配置哪些寄存器,用于给时钟管脚配置时钟频率的,但是我在现有的资料中没有找到,请问有接触过这个文档吗?(应该不是pin_out这个表格,这个表格里面是管脚复用,控制管脚功能的,不是设置时钟频率这种的。应该也不是SS928V100_demo_8L_LPDDR4x_3733M-8GB_32bitx2-A55_1400M-emmc.xlsm这种表格,这个是用来配置uboot镜像编译,让管脚复用在内核加载驱动之前的)

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区