|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
& n- e* c, m3 p" f' W. H" O [0] = {& c% _, n/ D; @& M7 F1 c% N! ]
.start = DA8XX_AEMIF_CS5_BASE,
1 _8 _# A) u; R4 G, N" f2 g .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
( C5 u5 C9 @7 g3 l# ] .flags = IORESOURCE_MEM,
# d9 E$ i& E( m. ]! Q },
, z. b. E! A) A" E9 r( S% c- J [1] = {/ ]+ h0 T) }, J# G
.start = -1,
. k. ]: u, }1 j! N7 [ .end = -1,' H+ Z* s7 h" I! e/ Q! u* v" _
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,0 m& f( K# F2 T! j7 g A
},
1 k/ B( [3 ~4 M: A" U% W7 q- v1 {8 `7 j7 L
};
8 N y# X3 ?% S) Z' x5 A2 L
& x; I) i, z( I; m. g4 Fstatic struct platform_device ax88796b_device = {$ d2 }" p9 t8 B
.name = "ax88796b",5 L# ~8 T l" @1 r- {0 M
.dev = {
& q2 `5 W: l3 \3 w) ~: F2 s7 ^" O$ _1 K) o8 f- u
},. v5 L. w- N* `9 k3 w1 n
.num_resources = ARRAY_SIZE(ax88796b_resources),
4 U9 K" G/ w. e1 M1 M7 ` .resource = ax88796b_resources,
2 _2 T- v9 s# a( q};2 [4 V: p* L4 L+ s& E% R. w
# [6 R# ]$ J" o0 e
static inline void da850_evm_setup_ax88796b(void): x. O! U- J: c. G# [: R" x: [$ k, A
{
y$ x& G/ \# ]1 n* Q& R void __iomem *aemif_addr;8 b7 y: p' |0 x3 \ @. Q; D9 f
int ret = 0;
! k9 l3 H n, Q- M$ ~ 4 B6 @0 o1 P: P5 |, A" e2 `
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);! n1 D' r. r6 `4 U
5 s) c0 z* f% {7 D4 E if(ret)
. C2 @3 d& e4 x: g0 h" o; G pr_warning("da850_evm_init: ax88796b mux setup failde:", C4 E( q* b# f! c2 U2 \7 g
"%d\n", ret);. j( D, ]2 }, M1 c- z9 w
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);' T3 I( L2 ~ o: {1 e( k
% z, x. @7 I4 } ^& T writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
: [5 S0 _1 o7 @ DA8XX_AEMIF_ASIZE_16BIT,% q8 v$ t. Y; Q, z" l* N
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);* T# r' ^9 Y6 Z' {* f2 L
iounmap(aemif_addr);/ G2 D# a* c# g9 ^4 A
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
' N5 {* W) |' Y f ax88796b_resources[1].end = ax88796b_resources[1].start;) e! O& d S- l; f% y+ o
$ U! s( T. T5 b$ H/ O0 I
platform_device_register(&ax88796b_device); ^* q5 l7 }5 A: r$ y# y
* Y7 ]+ r4 x' J* n6 l9 L
}. O9 A @; c* h; _1 Q
2 j7 N; `6 s/ g2 s2 f3 m9 k& E/ M6 L和相关的引脚配置
5 \( b9 x% \/ B/ z _编译通过,
0 }$ i1 X' s5 M& u) v! E在板子内核启动过程中:
: ]' J h3 R# L' R, n' zINIT: version 2.88 booting
9 F, d$ u1 e1 c" C4 J. S bStarting udev+ |! y1 _( D. x1 j7 r7 v
Starting Bootlog daemon: bootlogd.% W: k. R/ E; ~' u0 m
ALSA: Restoring mixer settings...
5 V K3 |) F9 F3 B/usr/sbin/alsactl: load_state:1686: No soundcards found...
' e" m+ }" |( QConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller. j: E8 Q: j5 J- U% _% R) e
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
6 U J: E3 S) m1 r G* a, e2 gudhcpc (v1.20.2) started- b, Q7 q0 e7 J1 {: c$ O& |
Sending discover...
8 x: D" b* d, S4 zSending discover...
$ s$ {0 D/ }8 `) `1 t" ^# XSending discover... z& C3 h) B( w1 F
No lease, failing n& M9 a* B, V. u9 N
done.6 @; A. W7 f! i. L
Wed Nov 6 04:33:00 UTC 2013
* \/ p) t3 {2 C2 fINIT: Entering runlevel: 5) D" h' ~# E* B5 [8 d. l4 y
Starting system message bus: dbus.
6 X1 ?: K8 M- u8 i' [% c6 FStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
7 K" B3 \6 |- M[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)1 Y, m# P: d( r/ _
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
1 G! b( d% G8 T$ Y3 f( s6 D[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)% b! ?2 h: v6 w" N. r% w0 M
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete$ m( b: Y$ [2 d. K m% O @9 l
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
4 s+ i8 b$ O" G- b: Y[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths" c7 O' g. m, g& ]; A5 Y7 {
2 a" x3 {# e! U( u2 z. F/ K2 S8 z[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)6 f7 K% k& X+ n- @
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
, D. F8 E. A# [! i) j1 w r[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
W$ z3 q6 W$ _ Z# Y: Z, K' ~[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
' J' l( |4 A( ?4 q" }- U. @3 I[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
3 S& l. n$ K1 n, ^4 o) T% I[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
. V7 Q( B1 l& S$ }% I8 i. h! b0 ]9 G; i! G+ g" t
就会出现这个问题,请问如何解决
( ?& q+ v, H( |7 A( o+ }$ X
" Q! N3 }: U6 k: T9 ]4 c% h- E. J& X |
|