|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
8 V2 H& _" H" Q1 G [0] = {
% k1 C- I" u" O; R8 ~ .start = DA8XX_AEMIF_CS5_BASE,# v% j% [7 d" `8 l/ n
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
/ {! R" @ Y6 H/ J) ?& o1 Z .flags = IORESOURCE_MEM,0 I% m/ X! _$ ` e6 h
},( |7 o) Y q/ W, F3 ]+ m
[1] = {$ p3 h1 q1 A" |4 g/ k- S1 v% |# \
.start = -1,
( @* u( a* x9 H/ X% E$ g2 t% M .end = -1,1 G* e1 ?0 j; m) ? v5 q; w
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
0 ^# f6 {) Y& g1 F9 X },
- h* @( I* y- U! d$ q% r* T( F$ c1 D7 a7 b4 \( X
};
' k$ ]( j2 t# R# z& Q
/ h) F6 v5 N' l, z/ A( Qstatic struct platform_device ax88796b_device = {
( C. B0 a: c8 L8 P, d" z .name = "ax88796b",& D4 o4 E; r; f! {& g
.dev = {" _' F. Z( P& p- U) c
+ t8 u" G S7 l7 p8 q7 `* q
},
( b# u. O. ^4 u& `% s .num_resources = ARRAY_SIZE(ax88796b_resources),
0 ]: h0 I5 x+ ^8 Y# ]; O .resource = ax88796b_resources," |& y+ R" v4 @
};
9 J2 h+ d x% ]' D! Z, J5 P4 e& f: x# V9 R: R8 E
static inline void da850_evm_setup_ax88796b(void)
# l. \* b9 G- y8 l- W2 A% P |{
; l, Y- X, F0 Z1 Q void __iomem *aemif_addr;. [7 l2 d G& V, ~% u
int ret = 0;
- s h" x$ l' E; _. k6 E' i$ x & H4 S3 W8 y: ]9 b- ^2 R. K. J
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);- i- o, C# E. g
: B8 v) g3 K( C/ P
if(ret). Q& u3 |0 A) z4 @1 s
pr_warning("da850_evm_init: ax88796b mux setup failde:": h4 t' b% A7 `# V! d8 ^: m/ d
"%d\n", ret);
' X9 L3 Z6 {( J" Z: M. _ aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);. C% L! [3 Y8 i1 p$ V2 L7 L; V
, E6 S8 t C) \; k writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |6 d7 c% K; }; Y; W9 z! a7 p+ Z
DA8XX_AEMIF_ASIZE_16BIT,
; R8 F' _8 A; U% P1 n aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
$ W7 ?% F" j* o% L5 k3 o/ g. o iounmap(aemif_addr);' r; s( D9 N }# k. S
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
( |% ^8 B, x( F$ u7 J ax88796b_resources[1].end = ax88796b_resources[1].start;
C5 s5 v; m/ V! Q% Q$ K0 G . w4 y0 w+ ~3 q8 W) |9 H
platform_device_register(&ax88796b_device);
+ Q. k% w, t3 {( c/ P 6 J P; V B& I- H2 z/ ~0 H
}
; G, G1 z. k' F8 F* {- e/ N* _0 l# _* v1 j* V
和相关的引脚配置7 A/ p( R; i9 J; P
编译通过,
) ]! M' T9 c: a; N在板子内核启动过程中:
. j8 J2 s/ B) eINIT: version 2.88 booting
, h( m) J! n! H3 S; `" V8 f3 ]; QStarting udev5 d. ]0 D9 I3 F/ B9 X* U7 m4 q
Starting Bootlog daemon: bootlogd.! o& [( e9 L9 w2 ^6 g! ~+ E# e
ALSA: Restoring mixer settings...0 i# ~- N& `0 f0 ~) Y. g
/usr/sbin/alsactl: load_state:1686: No soundcards found...
# g% w4 A; s$ ?- L7 R6 hConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller7 l: R" [+ v: Q. R* v2 o
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)9 J5 d- | I" G; n8 k! l
udhcpc (v1.20.2) started7 n4 P. ?; p: }( a
Sending discover...9 Q2 ]( [+ l) ]% z: L4 N" P* u' W V0 D
Sending discover...' @, Z7 P2 W" p
Sending discover...
5 V5 O' r% H' F( g, ^/ S6 b3 W gNo lease, failing# e1 }7 ?: s: q
done.
" i: L! Y' b4 j8 }2 Y" VWed Nov 6 04:33:00 UTC 2013
4 o; d8 O. w! @+ |" e3 EINIT: Entering runlevel: 5! ^: ^' ~7 h3 a" z, f4 M
Starting system message bus: dbus.% f( K# `2 A8 w) d4 P6 s \
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
+ u# P" `6 J9 J u9 b- ^+ `! Y[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)3 q" m" ?- N, T* x' F/ R% `7 U
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
' P0 M0 |8 [2 ^/ E[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)/ @3 w0 l6 S5 X; C) H
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
8 H* p6 u' S; |$ t[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)# g2 G* ] v, s7 ]
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
$ w5 y/ Q5 m( O2 @; _. K/ j2 _ R% A8 E2 `4 `
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)5 q! J( v( E0 {7 ?/ @* [7 Y
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output8 e3 C+ L: B ~
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
' I }6 Y& h6 c9 d! i9 @3 _[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked, e( z* l M, d& z/ d* F
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)2 v$ L: O( X+ o, @$ ^. y- o2 ?! g
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid' E$ e3 M5 w# v7 R G& H M' z
d2 a3 }7 Y1 P( c9 X+ s- y就会出现这个问题,请问如何解决
, r8 x. h D' O4 n+ W% X
; v: p' L0 Q5 n' ]( u |
|