|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {* L* G+ f' h0 n6 v
[0] = {
0 h: R% R$ { l .start = DA8XX_AEMIF_CS5_BASE,
# }. J/ H) C. Q) L .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
& M/ {% p: _) @+ J3 E9 W. x .flags = IORESOURCE_MEM," m+ M1 s9 F5 t
},
6 a7 B3 q1 m; Y9 ?3 ~ [1] = {8 S( k V# H$ }* }6 S
.start = -1,+ K0 h( j' f$ ^9 \
.end = -1,9 f5 ?# |, F* y5 c
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
. o1 m6 v7 a. x/ g* d },
) S% M$ |! d3 v* ?5 s; N/ |
7 [: z& y6 t& l( m& L8 O: @7 ^8 ]6 \};
% w7 p2 `% F; {7 ~; L
6 @+ V3 e$ m1 h% e: C0 nstatic struct platform_device ax88796b_device = {
+ g3 F( P8 L; a .name = "ax88796b",( [5 k! S6 n4 C! W. @
.dev = {$ M! ~9 U ]" U$ r
- C, k. \) U p- m" z- K
},
- A7 U% e, t" Y$ u0 f .num_resources = ARRAY_SIZE(ax88796b_resources),
6 ~# I1 |" s4 x! K6 `: @+ h .resource = ax88796b_resources,5 ^. B! z& i7 i" {4 C0 s( |4 {7 @
};6 g/ `0 U" o$ ?! [- D
8 p9 A2 N! i, r+ p4 f" xstatic inline void da850_evm_setup_ax88796b(void)
4 a% K5 o9 S) Y' p+ S: N, m7 i: d1 ]{3 K- u) L; F$ u" J/ e6 E
void __iomem *aemif_addr;) H) c$ O/ s. I$ e" `: b& W+ z
int ret = 0;
% n% C6 p2 _2 B
0 o7 F0 \8 \4 e ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);' t4 O5 D% ~$ m! G |. \
/ Y9 `/ R2 `' Y* Z3 Y7 j* N7 ]
if(ret)# S7 K4 R$ s" I% [
pr_warning("da850_evm_init: ax88796b mux setup failde:"
; Q* d9 Y$ A7 n8 h: O* x "%d\n", ret);
4 T* z5 Y( P) K" T" h' ] aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);1 r' K; g& b7 {/ Y4 @ f$ Y: C
) \+ Q2 _! i' l8 O
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
: A9 v& j" ]" b5 v) j; l DA8XX_AEMIF_ASIZE_16BIT,
! Z7 G! Q9 ^9 u aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);0 T1 z4 B! E9 k- ^/ w1 \
iounmap(aemif_addr);7 g! @( C$ ^3 X7 |4 S, \0 L }
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);! H, i! ^ A$ M) D# X6 L* H
ax88796b_resources[1].end = ax88796b_resources[1].start;
, b+ z* F+ ?. S8 d ! ], @" [& {' [2 m: ?
platform_device_register(&ax88796b_device);. W, C" \5 }. ]
8 _, `, |5 f- B, j d6 t+ \
}
) x& @/ E9 J& b' p& M9 e% u3 w. O
# F; d4 ?7 Q7 ]和相关的引脚配置; F5 C0 [( N7 u% C0 O
编译通过,
: n6 w" N! C$ Z! D- c* O在板子内核启动过程中:+ z; m8 ~/ |8 S( F5 U
INIT: version 2.88 booting0 [& }, S8 @- t* b/ E6 w u
Starting udev
5 F7 W) U' m6 i, f- JStarting Bootlog daemon: bootlogd.
8 ?# F6 m6 I6 Y& v6 O1 A4 K7 BALSA: Restoring mixer settings...
- m# k" u# \2 i8 U5 V! g d3 X/usr/sbin/alsactl: load_state:1686: No soundcards found...% W2 o, A* Y: u' o( L( X, H" D
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
B, g O3 W( C) ?2 u" ^/ c[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)1 R0 w2 t u3 k( I) d- q
udhcpc (v1.20.2) started
* h# z& f0 s* |2 v1 v8 n5 FSending discover...& b: W% |" G. W/ `7 n1 O, N
Sending discover...4 N+ F1 h: _' r$ i8 W& }* ?
Sending discover...2 q1 K, g) Y& T+ w+ J% R# \. }
No lease, failing
! P; j" h. t D [6 _' Adone.! g! {, h7 e" x
Wed Nov 6 04:33:00 UTC 2013
$ D" |. r- K. e. C9 `. s5 R: VINIT: Entering runlevel: 54 P* B/ _7 n n: P1 ~8 q& ?9 T
Starting system message bus: dbus.* Q3 \( n* f }/ v
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg5 W1 x' p% P1 f- q% z# k5 h
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
* B' ?* P; ?) m6 E[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
7 J8 k. \1 b3 j4 {; ~2 M1 F[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
. y2 q! ?# H" `/ _& ?9 }( c/ u* a[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete* p5 G7 V& Q. a2 U, Q5 Y2 y
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
4 N* _3 ~3 f) G+ ~+ h[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
3 S% S0 b9 Y9 ? e) N# S; j, @# I$ a) D1 z R2 Q% ]( l' T! h n
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
) _" U7 [! J6 w- Z! Q[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
( _" T5 _' h: Y# t[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
# @% x0 o% A/ c: j" M) B- D[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
6 {0 s) _9 R2 o& `- U: H4 j; q" }. t[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
5 |, e9 U( G J/ R[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
3 j8 e5 q. E. B- Z! s' k. s/ N6 J
# V0 i2 D1 F0 j6 @1 [4 v% O就会出现这个问题,请问如何解决# C3 b3 u/ z" P+ f( a2 r' f- D
# Y3 x) `: v- q8 {1 x' Y
|
|