|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {) d0 o6 m0 l# I/ l1 M
[0] = {
) a. u, v$ A, ]8 L3 q8 s; c9 n .start = DA8XX_AEMIF_CS5_BASE,0 M% Y2 d' ]) ~5 \& y! l8 ^8 Y
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
6 d5 f/ c9 V2 M1 P+ e8 m t/ w8 T .flags = IORESOURCE_MEM,7 \) ?( B+ P8 L G
},
4 M+ ]+ `" b0 s# o [1] = {1 E7 d# Y# ?0 ~0 U, t
.start = -1,
" X, C: k7 Y# ] .end = -1,
2 H) ?4 ]6 M# W0 U5 I8 R3 I! K .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,8 M$ g# x7 \+ s$ v+ D- I& s
},4 J7 ]( O; F" \
, l+ u6 e4 |) L
};
) B# J: O5 s" Z! L# |7 H1 y2 J/ {7 C
static struct platform_device ax88796b_device = {
# }. E+ h: _0 y/ v$ e; a .name = "ax88796b",
1 B. r3 e8 \. u .dev = {0 r( L0 X ^2 q: {
8 K& A" K2 p( w8 O: n },
2 q5 Z. g) ~9 z! g" U2 t .num_resources = ARRAY_SIZE(ax88796b_resources),2 U- g# w. g6 x( D$ I
.resource = ax88796b_resources,
& P( s9 ]" h4 o3 K. G e: u2 m};
! S! B/ d# A4 p7 t7 M
# y. h; M- g# T0 Q4 m' c% y7 ^static inline void da850_evm_setup_ax88796b(void)
9 {9 N, u, {8 V' J. [0 y: h{2 S& Y9 U* w- l$ j4 Q/ p. i
void __iomem *aemif_addr;
/ o6 ~2 m7 a( ^) r* k0 @2 ]: t int ret = 0;% m. g/ P/ {# s) [0 b4 D5 {7 r
# T/ W' f0 i2 B- e K; m
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);6 w; A, N0 r# ] z. d. w
W' w2 ?/ ^( h' J* f* ]1 N) ` if(ret)
. E t; g: f: J M pr_warning("da850_evm_init: ax88796b mux setup failde:"
5 F. I$ ]: V2 _* z/ w "%d\n", ret);
) O: m s1 e0 N aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);4 \! ^1 Q! g- T1 D$ Q. v- U+ _9 O
, p; `2 d& w$ M0 g/ }
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
" P/ e1 ~7 Q+ ]' L! T5 H DA8XX_AEMIF_ASIZE_16BIT,; k6 q$ \7 S% q$ X
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
0 U6 E: d0 x/ c* i+ m9 [ iounmap(aemif_addr);
' ], E ]7 P% Q! h2 t: @4 t ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ); r9 U3 }6 j9 o$ ?$ a
ax88796b_resources[1].end = ax88796b_resources[1].start;) G! E6 Z! V' C9 E" i: s
# q- X8 I7 W- a y2 Y8 L# n
platform_device_register(&ax88796b_device);
s8 s) S& H3 K' |' \5 F
2 h' _$ |. @. _ O& e+ B}
: T% ~: l) O% X) m& F3 A; G3 M) X7 X' |
和相关的引脚配置
: F% U1 q- |, n编译通过,8 r( ^) |) d2 N/ Y0 q
在板子内核启动过程中:6 X6 s4 R5 g; }" N% }
INIT: version 2.88 booting
% t! C! o; P7 U* J) f* `" ^0 jStarting udev
* d9 r1 J; e3 d. |: W( q+ pStarting Bootlog daemon: bootlogd.3 V ~+ A" h1 F( M3 Z, X
ALSA: Restoring mixer settings...
0 h% b0 K5 x) Z' v$ [8 d& i* Z9 P X/usr/sbin/alsactl: load_state:1686: No soundcards found..." m* I' w, |8 n. J
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller0 c" E0 M/ @( W2 Q& U
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
/ X5 w$ I- c0 H5 S0 T4 budhcpc (v1.20.2) started
( W! q7 j$ X: V- C, ~Sending discover...
5 j+ p8 N- x4 ?8 G% pSending discover...
- K- U' i) S M0 b7 TSending discover.... _( P' j9 u/ i
No lease, failing/ x/ s9 m1 \: b; b; Y$ A
done.
6 O: o8 P# c' i7 w% xWed Nov 6 04:33:00 UTC 2013- V" Q$ ^- a3 I# a8 q( C! b& j
INIT: Entering runlevel: 5
1 v% s8 S0 W8 k. o- [ k" D( p/ h$ ZStarting system message bus: dbus.
4 I1 }" _ C2 DStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
( ~0 x( s2 h Q2 e+ B6 Z[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
. ^# y7 E) X$ j[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram/ Z8 f9 _1 }3 P+ e5 J6 {
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)* o) \& c% s. ~0 T
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete) }# f) P7 s# z6 \0 u k
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
; @$ e$ F( B' a4 f# T[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths. E( e) G7 c E4 ^7 f5 R& `/ l8 L
1 H+ ?0 L7 h4 v! h2 f6 m- R
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)' f+ }- J3 T9 o) h# Q+ m8 N% T
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
1 Z* f' f; d: B1 ^3 _/ A4 e[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
/ f2 t2 A( |6 W _" t[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
+ K" D/ K9 C0 A; k! p4 G0 R7 N0 F[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
7 t$ y$ X& I6 a G[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
. u% @0 I. l$ ]) q- H- l5 ]
; e# `& h6 `3 Z就会出现这个问题,请问如何解决
- @( f7 o" v* F$ l# J1 V2 f+ w$ o# K% {! b5 j
|
|