|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {: M' L# ~' q n+ X
[0] = {
# P- c% k; d' q1 w5 e .start = DA8XX_AEMIF_CS5_BASE,: F0 Q9 h4 o) h: N" G6 w3 \
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
\3 V$ ~+ i, }% i# }4 c; P .flags = IORESOURCE_MEM," ^& C* @0 z- o
},
g( M5 t# z8 z [1] = {& K l9 p; @6 p
.start = -1,
' d7 C! q1 `6 k O .end = -1,
$ O6 o2 F% v7 i% j+ J' e- z! m6 A .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,+ T4 f( T- Q! Y
},
1 _7 ]( w5 t( e
4 g3 M7 B p. r1 L};+ q& ^2 c; F$ {' k- c$ T, c
2 |; h+ W& Y5 G) `8 A4 Lstatic struct platform_device ax88796b_device = {
; t3 e3 B( C; X' a .name = "ax88796b",
, Q$ g# }2 O) D4 i, M Y2 K .dev = {
8 m) W4 I& f; }1 N; {, S& x& [" B/ N3 M$ }
},
6 t8 | E. E9 T+ Y! A2 J8 v .num_resources = ARRAY_SIZE(ax88796b_resources),: U5 I% |! B5 Q0 \: t
.resource = ax88796b_resources,
. U: R% @$ P- f( N, C6 f" _};$ Z& L& J( x/ N6 o4 s( z' c
0 \+ F" W* q# r1 Z8 C t0 D! ~( X/ q
static inline void da850_evm_setup_ax88796b(void)1 q0 d. G" V) w0 ?% y: I2 a' e, ^
{3 R& g# h# ^3 d0 Y0 l% d. I8 b- m' V
void __iomem *aemif_addr;0 ? P6 \( a/ T4 f; j
int ret = 0;
) P5 t% j: T' p6 i6 g % {; q* z1 R4 }* N5 E
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
7 e' A0 N" B+ q- k& d
7 }/ g- O0 Y! u+ S# k% Y4 e0 B% p if(ret)& p, ^( p7 d" N, D4 F& Y& i" N; t: b
pr_warning("da850_evm_init: ax88796b mux setup failde:"
1 @' C5 ^3 G8 o- t/ X9 Y- O) [ "%d\n", ret);
$ h! K+ f4 b6 u. I% f aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);' r9 t% Y+ {( N* W
9 n* p* \ B e& G8 j( d
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
3 _+ Y. c3 S# O0 I7 _" r% L DA8XX_AEMIF_ASIZE_16BIT,7 J" @5 U4 |" g( J6 T
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);& }+ C7 L) }8 k" ]0 l% z' B. }5 F
iounmap(aemif_addr);. A* w) e( g/ O* q. X" Y
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);* Y1 ^3 g0 w# B
ax88796b_resources[1].end = ax88796b_resources[1].start;
! S' F" D4 i/ x, x
( \: K* ?8 b } _; L- q3 T& q platform_device_register(&ax88796b_device);8 y" y# `5 p3 E$ _
~$ q. B; _* d' i$ }9 _1 z
}
' O& \* D2 Y% y; @) t3 ?* O2 m9 P3 f& x2 u5 E
和相关的引脚配置
. Z) H2 f! Z# d2 _编译通过,. T9 Q1 n1 G A) f$ R9 ^
在板子内核启动过程中:9 y8 _+ D, b8 q: `. ?2 J' K
INIT: version 2.88 booting. K2 r% V- b6 L( k# K7 n* z! Z
Starting udev
- ^( }& E) O; D* [- Y* E6 l9 r& n9 XStarting Bootlog daemon: bootlogd.. u" @+ P1 N( t
ALSA: Restoring mixer settings...
' m/ S' K* e7 p/ x$ i7 o/usr/sbin/alsactl: load_state:1686: No soundcards found...' O' @ [, \! V @* W
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller) x, i+ |' g/ W. c! H+ W
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1) E0 K1 ]6 Q3 M7 c% M5 u
udhcpc (v1.20.2) started
/ U- u t& ~6 `: C# R1 b3 USending discover...9 U: v- F4 e! c: X0 E, W+ M
Sending discover...
% ]: `( l$ ^4 k& a" }Sending discover...1 T1 ^. X3 |" U
No lease, failing
: Y8 i/ B5 w$ }( f6 ^- x* m0 G) D4 N, Jdone.1 D/ Q& b! o$ v, ^( k
Wed Nov 6 04:33:00 UTC 2013
* a% p9 _! L _% y B5 ~/ J, XINIT: Entering runlevel: 5
4 y8 j4 }+ \# b2 CStarting system message bus: dbus.
; ~& ^/ G9 R3 n" X7 Q8 U1 j% ?2 ]Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
/ E" X2 d! D; x" S+ A[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)- N1 d. U# V/ y- ~3 A' ?
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram! K. c7 P/ I6 s3 i* n
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)% B- G& R+ f7 E3 l2 C$ d( x- y
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
5 |9 f' I. N% L* v[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)8 J0 }* T+ X, e1 y9 C+ I
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
% B$ Q" \' I8 T) U* f
/ _: v) T' W! | f( g[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)0 K: k+ w a. x
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output# d2 E4 R3 |2 l4 v: }( m8 u
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
8 E" j q4 e* @" w[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked- G8 Y k- ?* M& Z1 X% P1 P: S
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)2 \ u3 h1 K8 h( ?: C6 o% r6 S
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid6 Z A C5 ?/ w0 L3 o2 x# A
3 w! F% K$ M/ ~. Q就会出现这个问题,请问如何解决
9 M) L" [) h& n1 Z) l( Z/ ^9 N7 S. f6 i# u
|
|