- 论坛徽章:
- 0
|
現在我在AT91SAM9261 EK bootstraps 源碼中的 at91sam9261ek.c 進行修改 , 在hw_init 函數中加入 :- /*Configure processor clock = main clock and the MCK = Processor Clock divided by 4 */
- writel(0x0,(AT91C_BASE_PMC + PMC_MCKR));
- /* Configure the Peripheral Clocks to enable MCI Clock*/
- pmc_cfg_MCIclk();
- /* Configure the MCI control resgister to enable Multi-Media Interface*/
- writel(AT91C_MCI_MCIEN , (AT91C_BASE_MCI + MCI_CR));
- /* Configure MCI Mode Resgister to set Clock Divider to zero */
- writel(0x0 , (AT91C_BASE_MCI + MCI_MR));
- /* Configure MCI SDCard Register to set slot A and 4-bit SDIO */
- 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 時鐘出錯了 , 請問高手應如何修改呢 ? 謝謝 |
|