TCC8900中关于SD卡的注意事项

转载 2012年03月24日 20:00:08

TCC8900具有8个SD卡接口(Port),其中它们与GPIO复用:

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

* GPIOB[0-7] =  SD_Port5[0-7],  GPIOB[12]=SD_CMD_Port5, GPIOB[13]=SD_CLK_Port5

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

* GPIOB[21-28] =  SD_Port6[0-7],  GPIOB[29]=SD_CMD_Port6, GPIOB[30]=SD_CLK_Port6

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

* GPIOC[14-21] =  SD_Port0[0-7],  GPIOC[23]=SD_CMD_Port0, GPIOC[22]=SD_CLK_Port0

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

* GPIOE[12-19] =  SD_Port2[0-7],  GPIOE[21]=SD_CMD_Port2, GPIOE[20]=SD_CLK_Port2

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

* GPIOE[28-31] =  SD_Port7[0-3],  GPIOE[26]=SD_CMD_Port7, GPIOE[27]=SD_CLK_Port7

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

* GPIOE[8-11] =  SD_Port4[0-3],  GPIOE[7]=SD_CMD_Port4, GPIOE[6]=SD_CLK_Port4

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

* GPIOF[0-7] =  SD_Port3[0-7],  GPIOF[8]=SD_CMD_Port3, GPIOF[9]=SD_CLK_Port3

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

* GPIOF[18-21] =  SD_Port1[0-3],  GPIOF[22]=SD_CMD_Port1, GPIOF[23]=SD_CLK_Port1

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

从上可以看出,Port1、Port4、Port7的数据宽度为4位,其他的port则都为8位,8个端口主要由三个控制寄存器支配,它们分别是:

0xF05A0000   SD/MMC Controller 0

0XF0FA0200   SD/MMC Controller 1

0XF0FA0800   SD Port Configure Registers

通过配置 0xF0FA0800 的寄存器,可以将SD/MMC_Controller0和SD/MMC_Controller1分配到8个Port中的任意一个,例如在

Telechips的EVB评估板上的Linux平台中,MMC_Controller0分配到了Port2,MMC_Controller1分配到了Port5。

在寄存器组织方面,SD以MMC_Controller为中心分为两个核心(分别为Core0和Core1),每个核心分别有两个slot,它们的地址分配情况是:

而对于0XF0FA0800对应的 SD Port Configure Registers则除了0XF0FA0800以外,也对应地分为四组:

另外,SD卡的数据传输还涉及到DMA的问题,这与TCC8900的DMA设置密切相关。

在TCC8900-Linux的内核中可以从文件:

arch/arm/mach-tcc8900/include/mach/TCC89x_Physical.h看到如下的内存定义:

#define HwSDCORESLOT0_BASE  *(volatile unsigned long *) 0xF05A0000

#define HwSDCORESLOT1_BASE  *(volatile unsigned long *) 0xF05A0100

#define HwSDCORESLOT2_BASE  *(volatile unsigned long *) 0xF05A0200

#define HwSDCORESLOT3_BASE  *(volatile unsigned long *) 0xF05A0300

//Channel Control Register

#define HwSDCHCTRL_BASE  *(volatile unsigned long *) 0xF05A0800

在Linux中,4个slot被做成了平台设备,供用户选配,可以在文件:

arch/arm/mach-tcc8900/devices.c

#if defined(CONFIG_MMC_TCC_SDHC_CORE0_SLOT0)|| defined(CONFIG_MMC_TCC_SDHC_CORE0_SLOT0_MODULE)

static u64 tcc8900_device_mmc_core0_slot0_slot0_dmamask=0xffffffffUL;

static struct resource tcc8900_mmc_core0_slot0_resource[]={

   [0]={

       .start = 0xF05A0000,

       .end   =  0xF05A00FF,

       .flags  =  IORESOURCE_MEM,

   },

   [1]={

        .start  = INT_SD0_SLOT0,

        .end    = INT_SD0_SLOT0,

        .flags   = IORESOURCE_IRQ,

   },

}

#endif

从上述源码看出系统为每个SD/MMC的slot分配了一段地址(就是对应寄存器地址域)以及一个中断,

同时,也可以看出TCC89XX支持两路SD同时传输数据。


相关文章推荐

SD/SDHC卡下载UBOOT 的注意事项

S3C6410能够通过SD/SDHC卡启动UBOOT,下面介绍如何把s3c-u-boot下载到SD/SDHC卡的对应位置,如下是总的位置信息: 1. 使用2G的SD卡(我的是SANDISK的2G...

WP8.1 在SD卡中安装应用及注意事项

从Windows Phone 8.1开始,微软开始允许用户将y

ICON MOBILE U声卡使用注意事项

  • 2014年07月31日 12:40
  • 2KB
  • 下载

声卡注意事项

  • 2013年03月07日 00:07
  • 83KB
  • 下载

TCC8900调试(五) HIVE注册实现

一、添加组件,如下图所示。二、修改platform.reg注册表,如下所示: 在platform.reg里面加入如下代码:三、三、到这里为止,正常情况下重新编译一下工程就OK了。但在TCC89X里面却...

TCC8900开发板实现Wi-Fi Tethering + DHCP服务器

Tethering技术在移动平台上已经运用的越来越广泛了,它可以把移动设备当做一个接入点,其它的设备可以通过Wi-Fi,USB或是Bluetooth等方式连接到此移动设备。 最近在Telechips...

TCC8900 chip specification v1.05

  • 2010年05月06日 10:18
  • 707KB
  • 下载

tcc8900

  • 2011年06月16日 07:51
  • 16.44MB
  • 下载

管家婆服装.NET II TOP V6.5-VIP卡使用注意事项(一)

导:天天练习,才能慢慢熟悉。我们经常能听到这样的话:一闪茶的功夫;半天功夫。。。        何谓功夫?功夫就是时间。Practice makes perfect. 国庆长假,黄金周.公司欲推出VI...

C编码规范和注意事项

  • 2017年11月12日 16:35
  • 717KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCC8900中关于SD卡的注意事项
举报原因:
原因补充:

(最多只允许输入30个字)