|
1.最新的u-boot里的emif总线频率设置是多少?在u-boot中从SD卡启动内核和运行文件系统,emif总线是否使能了?1 `( j8 B9 W, ?
现在emifa在u-boot里面配置的频率是114M;无论从那个地方启动,emifa总线模块是使能的。+ |* b B. s6 ~0 s
2.在board_da850_evm.c中的da850_set_emif_clk_rate里修改设置CE5CFG寄存器值为0x8005, 这样设置是否能起作用?
2 A# m! U2 h1 n6 S8 z可以起作用的,不过需要使用ioremap对物理地址做映射,内核才能访问。8 N% P) A5 f2 E( e
3.要让cs5正常工作需要注意哪些寄存器的设置,目前只设置了CE5CFG寄存器。0 x0 x# z2 L- l: w5 r3 ~
下面我给的是CS2的一个配置例子,您可以参考下:
$ S2 f2 z8 E& Y. g( U% J8 V#define DA8XX_AEMIF_CE2CFG_OFFSET 0x102 O) {. a- ~& _6 _
#define DA8XX_AEMIF_CE4CFG_OFFSET 0x18
$ F6 n# f- A! x5 v. U- E4 ^- ~#define DA8XX_AEMIF_CE5CFG_OFFSET 0x1c
- Y5 x% v0 K6 S, M* r u! l#define DA8XX_AEMIF_ASIZE_MASK 0x3
* x2 c- }! Q F i#define DA8XX_AEMIF_ASIZE_16BIT 0x1
1 N# D) P2 J/ ?; x7 |#define DA8XX_AEMIF_ASIZE_8BIT 0x0, w/ b' F5 t9 A7 x$ x" g
- `% g2 y! i- W- O3 c) I
#if defined(CONFIG_MACH_DAVINCI_DA850_PHYSMAP_FLASH)0 q' P z( [, Q% K& S/ q
static void __init da850_evm_init_nor(void); P' Q; W3 K( M6 v, y
{8 g) p& `% f; {5 F, [8 i7 I
void __iomem *aemif_addr;
( Q- f4 X7 Z9 o5 M0 }
6 y8 b5 ^5 h( B aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
3 m1 Z- x1 P; O1 h s; V9 m1 j# g e) H, d2 @, _. n& n1 M
/* Configure data bus width of CS2 to 16 bit */
9 O( [" D9 `2 M. g. V writel(readl(aemif_addr + DA8XX_AEMIF_CE2CFG_OFFSET) |* b6 P1 G8 w [- u5 B; H9 j
DA8XX_AEMIF_ASIZE_16BIT,& x# }) ?* ]! d+ E. Y
aemif_addr + DA8XX_AEMIF_CE2CFG_OFFSET);
$ \$ A" a" o$ L: U* v, ~+ O! X H3 N& _+ S2 b3 e% z0 ?5 R
iounmap(aemif_addr);% e9 q2 c8 \/ e, [8 \& b; b/ _; u
}
* X8 \+ ^2 h( C4 {#endif
Q( @- [/ Y0 u* v) V/ e) ^- t |
|