Chinaunix

标题: 關於AT91SAM9261 調用MCI 接口的問題 [打印本页]

作者: embedding    时间: 2011-03-25 17:06
标题: 關於AT91SAM9261 調用MCI 接口的問題
請問各位如何修改 AT91SAM9261 bootstrap 的源碼以實行 SDIO-4bit mode 呢 ? 在網上找了很久也找不到相關的資料 , Datasheet 也看了大半天了還沒攪懂 ...
求相關的文獻 ! 如果有例程就更好了 ... 萬分感謝
作者: embedding    时间: 2011-03-30 10:51
現在我在AT91SAM9261 EK bootstraps 源碼中的 at91sam9261ek.c 進行修改 , 在hw_init  函數中加入 :
  1.         /*Configure processor clock = main clock and  the MCK = Processor Clock divided by 4 */
  2.          writel(0x0,(AT91C_BASE_PMC + PMC_MCKR));

  3.         /* Configure the Peripheral Clocks to enable MCI Clock*/
  4.         pmc_cfg_MCIclk();

  5.         /* Configure the MCI control resgister to enable Multi-Media Interface*/
  6.         writel(AT91C_MCI_MCIEN , (AT91C_BASE_MCI + MCI_CR));

  7.         /* Configure MCI Mode Resgister to set Clock Divider to zero */
  8.         writel(0x0 , (AT91C_BASE_MCI + MCI_MR));

  9.         /* Configure MCI SDCard Register to set slot A and 4-bit SDIO */
  10.         writel(((0x1<<7)|(0x0<<0)),(AT91C_BASE_MCI + MCI_SDCR));
复制代码
然後重新編譯 , 將bootstraps 和 Uboot 燒寫入板中 , 啟動時卻找不到Uboot , 用CRO 觀察 MCI_CLK 出口沒有任何信號。

後來將 writel(0x0,(AT91C_BASE_PMC + PMC_MCKR)); 注釋後 , 啟動時能找到Uboot , 再用CRO 觀察 MCI_CLK 出口 , 發現MCI_CLK 在板子啟動時信號很不穩定 , 幾秒後信號回復為 0 ... 我想這是設定MCI 時鐘出錯了 , 請問高手應如何修改呢 ? 謝謝




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2