vivi安的个人空间 https://www.eechina.com/space-uid-39330.html [收藏] [复制] [RSS]

博客

友坚S5PV210 Android2.2下如何支持DM9000驱动

已有 1657 次阅读2011-9-7 11:20 |个人分类:友坚技术文档|

----------------------------------------------------------------------------------------------------------------------

// 作者:Eleven(eleven@urbetter.com

// 版权:Eleven

// 平台:友坚UT-S5PV210开发板+Android2.2 OS

// 注意事项:未经作者同意,商业网站不能转载,更不得在转载的时候擅自修改、删除文章的任何部分

//------------------------------------------------------------------------------------------------------------------------------

   一、硬件情况:

        1、查看原理图:16bit模式;

        2、INT接到S5PV210的IRQ_LAV/EINT10,INT脚为低时为有效中断信号,中断线为EINT10;

        3、CS接到S5PV210的CSn1,CMD连接到V210的地址总线ADDR[2],故INDEX和DATA[15:0]的端口地址分别为0x88000000和0x88000004。

 

  二、软件修改:

        1、\kernel\arch\arm\mach-s5pv210\include\mach\map.h

              改成:                      

  1.             #define S5PV210_PA_DM9000 (0x88000000)  
  2.             #define S5P_PA_DM9000  S5PV210_PA_DM9000 + 0x300  
  3.            


       2、\kernel\arch\arm\plat-s5p\devs.h     

        改成:                      

  1. static struct resource s5p_dm9000_resources[] = {  
  2.        [0] = {  
  3.                  .start = S5P_PA_DM9000,  
  4.                  .end   = S5P_PA_DM9000 + 3,  
  5.                  .flags = IORESOURCE_MEM,  
  6.              },  
  7.        [1] = {  
  8.   
  9.              #if defined(CONFIG_DM9000_16BIT)  
  10.                  .start = S5P_PA_DM9000 + 0x04,  
  11.                  .end   = S5P_PA_DM9000 + 7,  
  12.                  .flags = IORESOURCE_MEM,  
  13.              #else  
  14.                  .start = S5P_PA_DM9000 + 1,  
  15.                  .end   = S5P_PA_DM9000 + 1,  
  16.                  .flags = IORESOURCE_MEM,  
  17.              #endif  
  18.               },  
  19.        [2] = {  
  20.                  .start = IRQ_EINT10,  
  21.                  .end   = IRQ_EINT10,  
  22.                  .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,  
  23.               }  
  24.          };  

        3、\kernel\arch\arm\mach-s5pv210\mach-smdkv210.c

              在static void __init smdkv210_dm9000_set(void)中修改:                                         

  1. tmp = __raw_readl(S5P_SROM_BW);  tmp &=~(0xF<<4);   
  2. tmp |= (1<<7) | (1<<6) | (1<<5) | (1<<4);   
  3. __raw_writel(tmp, S5P_SROM_BW);   
  4. _raw_writel((0x0<<28)|(0x0<<24)|(0x5<<16)|(0x0<<12)|(0x0<<8)|(0x0<<4)|(0x0<<0), S5P_SROM_BC3);  //这个也没看明白,希望有高人可以解答下  

        4、make menuconfig选上DM9000和16bit的模式,make zImage即可。

//如有错误,请留言指正;同时希望有更好的方法与大家交流和分享,让我们大家一起学习,共同进步!

更多详情资料来源:http://www.urbetter.com/main.asp

1

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部