|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
! V K' A* \; y1 M [0] = {
3 p) p5 e4 g7 N .start = DA8XX_AEMIF_CS5_BASE,9 z5 Z* I& c: f
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,- X E @7 W5 o& n
.flags = IORESOURCE_MEM,
6 ^0 G6 ]5 Z; ~ {, D" i6 J3 Q },+ Z7 A1 p! R+ Q( w, o& i# b6 z
[1] = {
8 t2 I( {8 F$ v4 e; t .start = -1,
; `* h5 W2 U4 W: @7 v: S" X .end = -1,
; i. J8 L1 ?4 `3 ?( J .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,. R6 m6 ]. i+ w; H4 k3 ?
},
: W: h7 B1 m$ z* t& p5 @) Q4 C: Y- c( `9 |0 D
};
' @/ V; K7 ^' F
8 @* {* m4 |# g, j& h, k% S1 x* pstatic struct platform_device ax88796b_device = {
! B- Y0 z1 W: U0 O! c* k, ?0 r .name = "ax88796b",
0 ~. S" @5 f% {, D0 T8 q# t .dev = {
+ L, ]3 o1 b0 z6 J5 i' [' d3 u" ]! u
},( }4 G. W" }) W. ~! O0 A
.num_resources = ARRAY_SIZE(ax88796b_resources),
, R% L! b8 Y3 U/ z6 m .resource = ax88796b_resources,3 I4 Y9 l! H Y
};, g5 C3 H }# E$ C
1 \* o" G$ Q; U* kstatic inline void da850_evm_setup_ax88796b(void)
6 I, `. N; g/ E* Y/ m. T; D{7 u9 z7 r0 q0 T6 O. L& g
void __iomem *aemif_addr;
% ?% {( o. { w- `6 p int ret = 0;. C' L# E$ v, Q5 C5 @9 d0 s$ @% I
& z; Q& J( e- x# d% k9 v' _
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);) Q. V" A/ Y; ^9 q+ v) s
t: [& Y# }, T! H' E4 ^4 k) n& g
if(ret)
7 t7 Z" O, y* i8 j pr_warning("da850_evm_init: ax88796b mux setup failde:"
2 V0 ~* t+ ~) z% a "%d\n", ret);
* l! T8 J I. q/ { D: m aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);6 M( V; ^% h v* w. \
; ]" ]0 U5 @* K! D; \$ ^& O
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |" C" A' }2 e9 k0 q5 H6 V4 ^" Z& q7 P
DA8XX_AEMIF_ASIZE_16BIT,
9 v! X: J1 f' H& h7 h9 y aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);: O3 H' _$ f$ u+ m9 o) B0 L
iounmap(aemif_addr);; |2 Y7 P6 S& J; h A$ t" H
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);* Y1 N Q3 w" C2 J3 j. I* y( T
ax88796b_resources[1].end = ax88796b_resources[1].start;. _- S" F! d6 G% I
1 \- A" W9 V3 F0 C2 X8 ?$ I platform_device_register(&ax88796b_device);
. c- a( }% I9 M- J3 R% P
& s* S% w: n% Z; F}& p: P7 w, K/ Z: w: }1 @
4 s3 N3 A7 G( X" ~& F1 u和相关的引脚配置
0 m; Q7 n2 h) \$ ^1 ^编译通过, J, }7 w5 i Z8 C. X
在板子内核启动过程中:7 Q- X/ N- o3 f M0 L! p; l& j
INIT: version 2.88 booting9 U* h4 |. j) U- v3 X
Starting udev
1 r" \7 ^! c' J/ D, E1 T$ L4 W4 s6 HStarting Bootlog daemon: bootlogd.
! e- g" `1 Q" o! T( C5 o AALSA: Restoring mixer settings...
4 Y. }8 f0 a: D# Y( X2 `/usr/sbin/alsactl: load_state:1686: No soundcards found...4 x6 s8 M- ^6 ?4 }
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
1 m1 a8 m2 H9 h$ Q& n& I[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
0 f' [. ?1 f% W0 T% \) Y; zudhcpc (v1.20.2) started# b: ?! `- V9 B0 T6 U; f$ J
Sending discover...
' R( O/ h* S# l. G# A wSending discover...
3 S3 I9 t7 G% B1 P6 U9 R' o, }( PSending discover...
/ b, T4 R# P! z3 @1 bNo lease, failing
: G) g5 s# e5 z$ |done.% z+ P" f0 {4 d" `. i8 A( {
Wed Nov 6 04:33:00 UTC 2013% K1 ~7 v; o0 M. f
INIT: Entering runlevel: 59 u5 [+ r9 ^ I+ P& J& e
Starting system message bus: dbus.4 U2 h1 J! T* s5 S8 `/ g
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
9 Z1 \# P1 m z8 a, u1 s- E: a[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
! f$ B+ }% v0 I9 }8 S; M$ }; g[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram$ ^, _: [$ ?) a9 a( o
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
) a4 ]+ {/ \; [8 }: R[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
# f# p: r, ^. ]: m7 W8 B$ y[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
! d }9 Q% d0 J3 u0 q[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths/ K# [/ I# a" Z' B: C1 V
: Q: O. j }8 g2 l% f$ o. W3 W4 V
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22), p7 f% V# ?7 V0 @7 U' z$ ~
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
' e T$ i8 `2 i9 {( I1 ^# V5 W, M[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)7 P& q4 [9 p6 u7 O
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked( g O( R( Y0 S& h) G/ P1 E
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)1 k, ?: c5 `0 Z8 B! I' Y- S) u
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
: Q1 v' u1 L" @/ n o8 I4 r4 X/ ~: I+ k: I. F5 F9 N K* s7 x
就会出现这个问题,请问如何解决" y" \) `0 _: ?& j2 T6 S. y
2 j% ~% s' d$ f9 c% w |
|