|
沙发

楼主 |
发表于 2017-5-31 17:39:17
|
只看该作者
我看了一下,在创龙给的linux-3.3内核中有对EMIFA CS4的操作,1 K4 H7 \7 z- M5 |! P9 r( ?! e
#if defined(CONFIG_SERIAL_8250_EXTENDED)/ K9 S3 |/ ?' p$ O1 X
#define TL16754_CLK 14745600
/ X: h2 U) }3 n# x/ \3 H% j* r#define TL16754_PORT_N 8
2 y5 q# }, v& j3 a......
0 O: b( L6 L( ^5 E' Z& |/ mstatic struct plat_serial8250_port tl16754_serial_pdata[] = {% D1 W# Z7 z0 \1 a( {4 v
[0 ... TL16754_PORT_N - 1] = {/ h9 G/ ^- r/ m4 f. b# i2 M
.mapbase = DA8XX_AEMIF_CS4_BASE,
|4 A! R z. ]6 E5 |, r .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
7 S" W" g' u: ~2 X# C. [) m UPF_IOREMAP | UPF_FIXED_TYPE,
! `$ O$ C2 W, r+ I .type = PORT_16654,
4 E, K, K# T$ d/ ?% _3 {5 I .iotype = UPIO_MEM,; @+ d/ r! c% \2 O, n& n
.regshift = 0,2 {: B* k8 {/ C
.uartclk = TL16754_CLK,2 ]1 \5 c: Y8 |. g
}," r/ d( G' d$ z: V9 I" l
{
. Z* [) V4 Q6 C2 x9 R. T" @* H8 q .flags = 0,* z0 d3 w& t! N( F! ]
},
' H" X* M0 \& u& ^( [' l4 H9 ?};
5 U8 M6 e2 h$ M5 Q* v; n: }) T, s3 h7 T5 ?5 C, N
......
[9 K. y; {+ T b9 C1 b2 ~static inline void da850_evm_setup_tl16754(void)
7 f, A6 ~" X. f1 _6 o+ |{3 ?+ c- B2 z; |/ s; b
......2 G8 V4 H8 J! ~' g7 y
/* Configure data bus width of CS4 to 8 bit */- f {% X5 Y0 }) m6 G' b! Q
writel(readl(aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET) &
) |/ `/ B4 y. O (~DA8XX_AEMIF_ASIZE_MASK),
7 J7 a' B+ _& ?7 d! d aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);7 K, _; Y) A8 G o4 H' z5 q
! I* o/ a" N" G5 I9 p. f /* setup timing values for a given AEMIF interface */# y9 S4 u4 ^: |1 |
set = TA(10) | RHOLD(3) | RSTROBE(10) | RSETUP(4) |1 R2 h6 R. |; b
WHOLD(3) | WSTROBE(10) | WSETUP(4);
" O. M6 @% W/ ?& t( o( S- C6 f/ r
; S+ Q3 W2 L( _& t val = readl(aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);) c$ n( D1 v) F8 R7 E
val &= ~TIMING_MASK;
# f& M9 H2 K9 j) C& K6 e val |= set;
. b' F: x9 s5 L% j# K writel(val, aemif_addr + DA8XX_AEMIF_CE4CFG_OFFSET);) `" y! J' [9 X$ o9 ?8 f, A- f2 ]& i
......; a; R% S0 k( R; q6 j8 Q; O' Y' R# o q
}
& _; ^+ B& A; o- b; B2 l* M, x& v E: u4 [! z3 U6 j& X
而且在Menuconfig中已经对 E g0 f2 \/ K1 g" |& Y% h- i& _
CONFIG_SERIAL_8250_EXTENDED 设置为 y
8 z, Y% A! O# m+ B1 s( r0 t所以此模块函数是被加载的,% ?1 ]& G# ]9 w! N( N, A
1 o( H P* U- c0 B j7 p
请问下, serial8250 是给哪个创龙的芯片用的?? 谢谢 |
|