|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
, D- `) D( A$ s4 |/ Z( u, v/ j [0] = {
5 q/ d" \- k) Y1 l* ?$ n& p .start = DA8XX_AEMIF_CS5_BASE,4 U) F7 }6 q5 t w3 o
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,2 Z* ~4 N4 |+ L8 r- k, G- X. X5 [
.flags = IORESOURCE_MEM,% p0 q( W% y7 c" x! J$ Q6 r
},
6 t4 n6 V* K( h5 R: s; z [1] = {
: i' ]* F( j/ ~. U; N .start = -1,7 ~' I5 k1 g0 J. h: u
.end = -1,, c# p; C) g) C2 u) @
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,+ q/ W! a* [9 R6 f
},4 z' ^& D/ _" k" k
# B, R4 c- Z5 p/ p# _3 s1 M# E0 A
};7 h8 Z; `& ?, Y3 Q, h9 Y
9 x0 |+ a# L4 a5 y( q
static struct platform_device ax88796b_device = {( B) r: z7 i3 \" K# I
.name = "ax88796b",
+ S8 D" z. k- I: K0 c) w .dev = {
4 O8 A% C5 p C
& J0 A! _7 @! Z0 N* ~/ u3 I3 T },
* T' S3 Q% y! F3 Z. J/ R .num_resources = ARRAY_SIZE(ax88796b_resources),
: z) u) R# @# Y$ E .resource = ax88796b_resources," R2 X# G @8 N3 ~; e! b: p& Y
};
3 A# N9 W& U5 i' _1 s* L( \1 E/ J
7 g2 X2 M8 Z( c% J1 m; \9 X) Gstatic inline void da850_evm_setup_ax88796b(void)" s" d2 E" m' ]+ v( p% m2 V
{
6 c$ L6 l- K- P8 i+ N0 M; ^ void __iomem *aemif_addr;! J' G% j8 w& U$ z+ |& U
int ret = 0;, a+ n1 C) G5 b& [5 Y0 o' i
4 T" T6 H2 t! T) |' p ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);9 q) B+ A- F. ~/ `
. N' ]3 S3 |! F( n2 w if(ret)
2 v* d+ v/ F% U9 c. a& e pr_warning("da850_evm_init: ax88796b mux setup failde:"! I/ M% E' |* @' Y
"%d\n", ret);
?" P; ?( L8 x2 x% V aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);, _1 A, L) `6 ^" R& }
j, a7 X) g8 k5 o9 @: v. q% p
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |" @& Y5 t7 r8 s, w
DA8XX_AEMIF_ASIZE_16BIT,$ M ^+ U7 V+ O
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);, H$ R/ ?: O3 C/ i' R
iounmap(aemif_addr);
& e3 o; Z" _4 w: H8 K ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);$ m3 d9 L! s- E% L) n% T! l
ax88796b_resources[1].end = ax88796b_resources[1].start;. Z. h: o4 T. I4 {' ]( U7 j2 ~
7 U( R% b; [9 |1 k' ?, a7 z1 A" C
platform_device_register(&ax88796b_device);! T% }. O3 P( n9 v% y
' E" ?8 c0 V0 y' q2 {" H4 t. n7 o' I}4 p& e7 g# O8 `. _/ C, E
' T" M3 o- S/ [: V5 z+ h0 J
和相关的引脚配置, d" u; m% @% ? n9 v( J
编译通过,$ I$ L% _& Y& W# L0 W% u
在板子内核启动过程中:- ?. l5 a( g, |6 T% j0 C
INIT: version 2.88 booting2 t+ ]! Y+ P- _5 n% k% K
Starting udev# D$ P) z# t. R6 T5 A1 X
Starting Bootlog daemon: bootlogd.
# ~/ e8 w1 s: s0 a% lALSA: Restoring mixer settings...
/ a& @3 _: e8 x/ [" r7 I/usr/sbin/alsactl: load_state:1686: No soundcards found..., R( m( w2 n7 [* K& s8 P3 e3 w
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
0 h9 \( ]' Y. }$ w8 f[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
- [: v) q1 E0 A& Vudhcpc (v1.20.2) started2 T( `0 E4 g! c
Sending discover..., f2 p* `+ c0 K5 d, J# t
Sending discover...
( E& O! z8 c0 P' j0 nSending discover...4 M2 q) [9 `+ |" V7 [3 M$ e% ?
No lease, failing
6 D) |" @! ]; [5 i2 Xdone.
% K0 J! D: \! E, NWed Nov 6 04:33:00 UTC 2013
3 o0 T! S! [# A$ I. H, z c& M3 UINIT: Entering runlevel: 53 s, k3 a5 y$ C& [4 o: j8 v! t
Starting system message bus: dbus.
0 v% n8 v, C1 mStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
% K6 _/ v' j6 ~# j, H[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
2 q/ |4 O6 s: z. _4 I1 _6 N[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram- ~$ Q) |0 O) R7 q4 m2 {! j
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
$ |: k# H+ A+ Q7 K( N( d+ j4 J[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete, u" r( i, O G. a
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)! k# U V/ C& k+ m6 z, D w
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths8 ^; D/ u0 |* o0 r8 W6 M
' A4 Z% w% k* J7 U0 F9 D
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
# \* e, r& L5 o4 o, ~% s[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output2 S, `: t* y* F% f" F- A
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
( I5 t# r5 G( c$ x5 V( A[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
* P' v. p" V1 V- u$ q& G. Y/ B[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
# J9 t# r; F2 S8 X3 q# k1 E% o[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
2 ?2 a" y; e j) h0 A1 n/ ?$ ~3 F% L
就会出现这个问题,请问如何解决8 q5 J$ z& R8 q+ U5 l
3 d1 S# P1 q0 m" O |
|