zhu443011208 发表于 2015-06-03 10:25

博通bcm sdk移植到linux2.6问题请教

本帖最后由 zhu443011208 于 2015-06-03 11:01 编辑

大家好!小弟有几个问题想请教下各位前辈,最近在做关于BCM 53115 SWITCH的移植工作,需要把BCM SDK移植到
linux2.6上使用的是MIPS架构的龙芯1B,碰到几个问题没有头绪,与AVNET FAE沟通也无果,似乎由于原厂BROADCOM
比较封闭,FAE他们也不是很懂这个;
1.新建了关于自己platform后,在编译时出现很多undefined警告,这些log是在insmod时kernel提示的,通过阅读代码发现这些接口
SDK和kernel中都没有实现,于是自己添加了bcmutils.c和linux_osl.c两个源文件到sdk中,编译暂时通过;疑问是是否需要自己实现这些接口,
FAE说别人直接修改MAKEFILE就能搞定,好像不需要添加代码什么的..我就疑惑了,是不是我没有移植对;
linux_kernel_bde: Unknown symbol bcm_ether_ntoa
linux_kernel_bde: Unknown symbol crc8
linux_kernel_bde: Unknown symbol osl_pcmcia_read_attr
linux_kernel_bde: Unknown symbol osl_pci_write_config
linux_kernel_bde: Unknown symbol bcm_strtoul
linux_kernel_bde: Unknown symbol bcmswap16
linux_kernel_bde: Unknown symbol osl_pci_read_config
linux_kernel_bde: Unknown symbol osl_mfree
linux_kernel_bde: Unknown symbol osl_pcmcia_write_attr
2.在编译通过bcm_kernel_bde.ko后,其他模块例如bcm_core.ko等,由于依赖于其他模块EXPORT的符号链接,所以编译也出现Unknown symbol错误,
但是看代码那些符号链接都已export了,最终我是通过使用KBUILD_EXTRA_SYMBOLS在MAKEFILE中指定其他模块的module.symbole文件才通过编译的,
我的疑问是是否其他移植过BCM SDK的前辈是否也遇到这个问题,是如何解决的;
3.还有一点是通过我上面的修改方法,编译完成,但是insmod后,没有找到DEVICE,读取到的PHY ID是ffff,明显是没有正确访问到MII REG的,请问
SDK中是如何获取到PHY ID的,另外我的KERNEL中MAC驱动已经能检测到PHY设备了且PHYID正常,但是为什么SDK中检测不到呢,是否需要修改默写地址?

这几个问题纠结我很久了,实在没什么头绪了,才到论坛上来请教,看看是否能碰到移植过BCM SDK的前辈能指点指点,谢谢了!

zhu443011208 发表于 2015-06-03 10:34

希望能得到楼上那个题主的答复,切磋切磋,
希望各位前辈能看到小弟的帖子,多谢了

zhu443011208 发表于 2015-06-03 17:14

是否需要在SDK中修改读取PHYID 的代码,现在使用的是MDC/MDIO接口,硬件上也没有使用SPI接口,请问是否需要填充代码,因为我跟踪代码
发现底层MDC/MDIO操作接口只提供了声明,并没有实际实现

zhu443011208 发表于 2015-06-09 09:48

可以有偿报答,暂时还没搞出来..联系方式 443011208@163.com
页: [1]
查看完整版本: 博通bcm sdk移植到linux2.6问题请教