|
|
沙发

楼主 |
发表于 2017-5-31 17:39:17
|
只看该作者
我看了一下,在创龙给的linux-3.3内核中有对EMIFA CS4的操作,- W+ l' Y8 }3 l0 D
#if defined(CONFIG_SERIAL_8250_EXTENDED)8 E; ^2 n$ y! o
#define TL16754_CLK 14745600, m& W7 N9 i0 E% N% }
#define TL16754_PORT_N 8
; s, f0 w( }# k9 x: ~......* O. B0 l) k5 |, r) [$ W- W
static struct plat_serial8250_port tl16754_serial_pdata[] = {& u9 A- ]2 F5 h! o. K& _
[0 ... TL16754_PORT_N - 1] = {$ k2 c6 ~" L" b( U* H7 ? e+ r
.mapbase = DA8XX_AEMIF_CS4_BASE,7 K8 s; u& B2 K& e
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
. X$ S" R6 s9 L: @5 x8 i& y UPF_IOREMAP | UPF_FIXED_TYPE,
# ^4 l8 i0 Y5 `0 g$ } .type = PORT_16654,
- _( e' `% H( u, ~$ r6 E) I0 J .iotype = UPIO_MEM,7 H( O% N& B6 S7 c' u
.regshift = 0,
% d3 k) R! E3 u9 L. g .uartclk = TL16754_CLK,
* m! s4 ]4 Y3 X( C; ~ },
' V2 J' K7 ^, R {/ W$ V( ^& [: \- f O1 [+ G
.flags = 0,0 S# e4 W+ A' _) N: X9 l
},1 L1 k* ]% b% V
};
6 x( X! u/ ~* o/ M; q z$ w' `% B8 ?3 U/ U5 s |% \( s
......
, W3 ~' K5 W' a0 W) A, S) n8 Fstatic inline void da850_evm_setup_tl16754(void)
. J, R8 L; M6 q6 }9 U{$ \8 @5 Q, p! d3 l$ {
......0 c0 G0 |; P1 |: W2 Z, i; l
/* Configure data bus width of CS4 to 8 bit */
y7 m% w* _- `9 Z7 A writel(readl(aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET) &2 L# Y9 d7 M$ l& N" j3 y
(~DA8XX_AEMIF_ASIZE_MASK),* O2 V8 d2 |; `0 ^4 e
aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);) r: i7 X( G) T. G/ |- @
9 n% w7 F9 V) L# ?6 F% p" d /* setup timing values for a given AEMIF interface */
; ^9 d* z7 ~' }' V5 g' d; l& K( Y set = TA(10) | RHOLD(3) | RSTROBE(10) | RSETUP(4) |
2 Q! U, R& t* y+ T9 E V7 [ WHOLD(3) | WSTROBE(10) | WSETUP(4);
' v ^4 H3 }. k& t3 p! D9 |6 H. H& z/ S* F( J( v
val = readl(aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);
+ L% I7 y/ Z$ M; x val &= ~TIMING_MASK;6 D% r8 c2 ` z5 T" D& _
val |= set;0 v6 u" M" U' Q6 M; Z" ]% L; L
writel(val, aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);
5 Q# F2 S. ~( u4 ?......
0 v7 U p2 Q6 e}5 r1 r. f; u9 F% b- c( c
2 V$ A5 T, R( a" x$ l: s7 ~
而且在Menuconfig中已经对* ^+ y5 _3 Z# k* F) l( H$ G' Z
CONFIG_SERIAL_8250_EXTENDED 设置为 y
/ l* r" ^# f: |3 O0 _所以此模块函数是被加载的,
/ E W5 H' Q- k0 X% Y
9 v* a- T6 l% ~4 ?0 B请问下, serial8250 是给哪个创龙的芯片用的?? 谢谢 |
|