Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196030
  • 博文数量: 30
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 363
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-28 11:42
文章分类

全部博文(30)

文章存档

2012年(6)

2011年(11)

2010年(13)

我的朋友

分类: LINUX

2012-04-19 14:24:14

3.3的内核。启动以后一直显示如下的错误:
dma-pl330 dma-pl330.0: PERIPH_ID 0x0, PCELL_ID 0x0 !
dma-pl330: probe of dma-pl330.0 failed with error -22

dma-pl330 dma-pl330.1: PERIPH_ID 0x0, PCELL_ID 0x0 !
dma-pl330: probe of dma-pl330.1 failed with error -22
开始没在意,昨天弄声卡驱动的时候,开始播放的时候报了一个内存错误。查下去结果发现是
dma_request_channel没成功。再一看才想起来应该是这个错误导致的。然后就开始查。

结果发现是PL330 probe的时候会去读一下寄存器里面的ID号,要是ID号不对的话就会报这个错误。PERIPH_ID 0x0, PCELL_ID 0x0就是读到的ID号。实际应该为0x41330。
看了一下手册,地址什么的都对啊。在u-boot里面也读了一下,也对啊!ioremap啥的都有啊!把地址啥的都打出来也都对啊!折腾了半天,后来在网上找到一个相同的问题:
Amba core assumes the pclk to be named as apb_pclk. During device probe,
it tries to get that clock and enable that. When PM_RUNTIME is enabled,
dma clock is not explicitly enabled in pl330_probe, which causes device
probe to fail.
我在u-boot把所有的时钟都打开了,选了PM_RUNTIME的话内核又会把它关掉?PM_RUNTIME难道就不会提前把clk打开?这部分真就不懂了。
反正最后把PM_RUNTIME关掉,这个问题就OK了!
阅读(4454) | 评论(0) | 转发(0) |
0

上一篇:archlinux确实简单易用

下一篇:没有了

给主人留下些什么吧!~~