P2020RDB-sata移植之硬件篇

硬件PCB板重新设计,SATA控制器SIL 3132在原来的设计里,通过一个pci-e switch下挂在PCIE2。现在的设计去除了PCI-E switch,将sata控制器字直接连接到PCIE1。

PCB板贴片完成后,开始硬件调试。


首先是烧录U-BOOT,发现下面的启动信息:

U-Boot 2013.01 (Nov 19 2013 - 14:12:53)

CPU0:  P2020E, Version: 2.1, (0x80ea0021)
Core:  E500, Version: 5.1, (0x80211051)
Clock Configuration:
       CPU0:800  MHz, CPU1:800  MHz, 
       CCB:400  MHz,
       DDR:400  MHz (800 MT/s data rate) (Asynchronous), LBC:25   MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: P2020RDB-PCA CPLD: V15.15 PCBA: V15.0
Error reading i2c boot information!
I2C:   ready
SPI:   ready
DRAM:  DIMM 0: is not a DDR3 SPD.
SPD error on controller 0! Trying fallback to raw timing calculation
1 GiB (DDR3, 64-bit, CL=6, ECC off)
Flash: 64 MiB
L2:    512 KB enabled
MMC:  FSL_SDHC: 0
PCIe1: disabled
PCIe2: disabled
In:    serial
Out:   serial
Err:   serial
Net:   eTSEC1 [PRIME], eTSEC2, eTSEC3
Hit any key to stop autoboot:  0 

从上面的打印信息里面可以看到,PCIE2 处于disabled状态,这是符合预期设计的。但是PCIE1也处于disabled,这说明硬件是有问题的。


对比原理图和PCB发现,PCI-E时钟芯片附件的电阻贴片有错误,导致PCI-E的clock根本没有输出,去除了那几个NC的电阻后,重新上电,U-BOOT提示信息如下:

U-Boot 2013.01 (Feb 11 2014 - 16:41:19)

CPU0:  P2020E, Version: 2.1, (0x80ea0021)
Core:  E500, Version: 5.1, (0x80211051)
Clock Configuration:
       CPU0:1200 MHz, CPU1:1200 MHz, 
       CCB:600  MHz,
       DDR:400  MHz (800 MT/s data rate) (Asynchronous), LBC:37.500 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: P2020RDB-PCA CPLD: V15.15 PCBA: V15.0
Error reading i2c boot information!
I2C:   ready
SPI:   ready
DRAM:  DIMM 0: is not a DDR3 SPD.
SPD error on controller 0! Trying fallback to raw timing calculation
1 GiB (DDR3, 64-bit, CL=6, ECC off)
Flash: 64 MiB
L2:    512 KB enabled
MMC:  FSL_SDHC: 0
PCIe1: Root Complex of mini PCIe SLOT, x1, regs @ 0xffe0a000
  01:00.0     - 1095:3132 - Mass storage controller
PCIe1: Bus 00 - 01
PCIe2: disabled
In:    serial
Out:   serial
Err:   serial
Net:   eTSEC1 [PRIME], eTSEC2, eTSEC3
Hit any key to stop autoboot:  0 

可以看到PCIE1控制器正确被发现,并且总线连接的sata控制器也正确发现。

1095是Vendor ID,也即是厂家Silicon Image的标识ID

3132是Device ID

PCI的Vendor ID是统一编码的,可以在下面的网站查询

http://www.pcidatabase.com/vendors.php?sort=name

由此可以确定硬件已经OK,然后烧录内核、文件系统和设备树后发现,sata盘无法link up

有下面的提示信息

Uniform Multi-Platform E-IDE driver
Register PCI
bus: 'pci': add driver PCI_IDE
ide-gd driver 1.18
bus: 'ide': add driver ide-gd
bus: 'platform': add driver pata_platform
st: Version 20081215, fixed bufsize 32768, s/g segs 256
bus: 'scsi': add driver st
bus: 'scsi': add driver sd
bus: 'scsi': add driver sr
bus: 'of_platform': add driver fsl-sata
Init sil124
Register PCI
bus: 'pci': add driver sata_sil24
Start probe

内核就卡在这里了,经过分析,应该是设备树dtb没有做修改,配合移植所导致

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QorIQ P2平台系列包含P2020与P2010通信处理器,可实现单线程极高性能功耗比,适用于联网、电信、军事以及工业领域中的各种应用。 在45nm技术低功耗平台上,该系列产品最高可实现1.2 GHz双核以及单核频率。 QorIQ P2系列由双核、单核产品组成,这些产品在引脚上兼容QorIQ P1平台产品,提供了一套五款可互换的高性价比解决方案。 可从单核533 MHz(P1011)扩展至双核1.2 GHz(P2020),在相同的引脚分配中,两个QorIQ平台可实现4.5倍超强总频率范围。 两个系列中的这些设备在软件上互相兼容,它们均采用e500 Power Architecture核心与外设,与现有的PowerQUICC®处理器在软件上完全兼容。 这让用户能够在一块电路板设计中创造出具有多个性能点的产品。 P2020与P1020处理器支持对称于非对称式多任务处理,让用户能够通过线程级或应用程序级的并行机制来提升性能。 P2020与P2010通信处理器均具备先进的特性集,非常易于使用。 集成的安全引擎支持联网以及无线应用中所使用的一般安全算法,例如IPSec以及Kasumi。 64b存储控制器可提供能够满足未来需要的存储器技术移植,支持DDR2和DDR3。 它还支持误差校正码,这是所有高可靠性系统都必不可少的。 通过16b本地总线、USB、SD/MMC以及SPI,还支持闪存等其它类型的存储器。 QorIQ P2系列集成了一套丰富的接口,其中包括SerDes、千兆以太网、PCI-Express、RapidIO®技术以及USB。 三个10/100/1000以太网端口支持先进的数据包分析、流量控制以及服务质量等特性以及IEEE® 1588时间标志。 四个SerDes巷道可在两个串行RapidIO端口、三个PCI Express端口以及两个SGMII端口之间进行分配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值