|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {$ Y2 H& h: }8 l$ \2 D
[0] = {
& A6 A4 x) G: I+ M .start = DA8XX_AEMIF_CS5_BASE,
7 g9 |" A& o- A5 T* h7 ` .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
! h3 L: j. B6 e7 h" k4 @3 v .flags = IORESOURCE_MEM,
, N0 O6 `6 E! C* i1 C+ i5 y },9 N% T/ o" L+ \
[1] = {9 p9 k, b% A2 K x
.start = -1,2 ?( l8 l4 I& y' p$ O
.end = -1,4 O j# C5 a4 i" M s0 ?( m& L
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
- a. u$ Z; s" _4 G+ H' t },, {. D1 u! i+ |* M
& x7 y+ h$ O" i5 J1 S) ?
};
( e; F/ @2 W9 K. H$ l) W
. _! u- k5 R( @, L) S' Dstatic struct platform_device ax88796b_device = {
8 e% Z. }8 _! h9 o .name = "ax88796b",
% u' i1 \! O( U, S .dev = {# R3 Q! o5 U3 Q0 ~: n/ s
2 Y1 L8 ~; M/ `' k+ l& d$ n },
* S: q q' x7 X/ E .num_resources = ARRAY_SIZE(ax88796b_resources),
: a8 L% H6 j0 e) Z$ e+ M1 k .resource = ax88796b_resources,9 s5 ?; S0 X. V8 ]
};( _% b7 A8 y2 q3 O
1 B: q% `8 @9 l8 ]7 q
static inline void da850_evm_setup_ax88796b(void)
& W* D: _* z2 \- U. ?0 Q1 z3 \{: I8 V& D# J1 O( V: S4 E
void __iomem *aemif_addr;
# H4 U5 b/ U1 [ int ret = 0;
7 I' J, m- N9 k, {% f# o . n/ M; X$ E, {* ]0 s( Z
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
7 U. i# H0 f1 p! Y
. h9 J$ T- U f4 v7 V; }& ` if(ret)5 Z% f' R6 g$ j7 M
pr_warning("da850_evm_init: ax88796b mux setup failde:"6 e/ P+ a8 i+ W% R/ K
"%d\n", ret);2 c- e( \: J- T) V7 Z7 ?
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
- y7 ^ U7 x: x/ f. Q9 |6 [
+ `8 b6 z! l, V' Y- f! U i* ~! q writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
$ p% ]8 `! [ `& I' V DA8XX_AEMIF_ASIZE_16BIT,1 q9 E7 W" f. t2 P" A
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
- y5 X- P& }( N: J3 Z% @ iounmap(aemif_addr);6 `, c8 N' ]' u+ u
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
) S6 d T. W( L8 O$ o: t2 w& a! f ax88796b_resources[1].end = ax88796b_resources[1].start;
9 j/ A9 x7 q, Y; P9 C7 d
! @! `& \- k. J8 D4 y2 c0 a# T platform_device_register(&ax88796b_device);
& _6 D9 r2 ~! E% z4 ?, ~- V $ U/ D6 f0 G/ A: y4 |) K5 M5 g
}" T- w( ^+ N( J4 h/ O
! j4 |( Z+ @ u- G0 R% f和相关的引脚配置
% `& [, s1 _% ?; [/ M: T& D编译通过,
7 ?8 s) e# r5 J/ T+ ~* L7 T8 R7 |, h$ i* ]在板子内核启动过程中:$ ?0 G; [' M8 y2 h
INIT: version 2.88 booting
) F; L6 l. t/ R! l" PStarting udev
8 ?+ U2 V) ~+ vStarting Bootlog daemon: bootlogd.4 i0 K# p# i d" u+ l! n
ALSA: Restoring mixer settings...
$ N, p2 A4 t% e) j/usr/sbin/alsactl: load_state:1686: No soundcards found...
- l& P" s; _ F$ B: k7 ]* h2 GConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller; I, k2 | d9 E1 u H
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1). W! ?% e5 c( @ S C! b, |0 s+ D" w
udhcpc (v1.20.2) started; p; f5 I7 @5 b1 K: H) d
Sending discover..." G8 F# m5 J# C7 R. P
Sending discover... }$ h" Y+ L* c( L/ \5 z
Sending discover...# f G( c6 p) T5 r* S
No lease, failing' _0 ^! o2 W9 P
done.
- d0 F/ w1 O* U2 k9 o# t9 [4 HWed Nov 6 04:33:00 UTC 2013, c# i. ~# Q" q+ H
INIT: Entering runlevel: 5) e* g+ K4 M9 |! U4 f" V; y
Starting system message bus: dbus.
$ h* D* J- x: |# ?; zStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg. z9 j% X) K$ x# c5 w _9 |3 q
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
2 V: P! \- d& V2 I4 u4 a[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram+ c" A2 Z {6 I6 I( m
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
6 E' y' l% B- B' r4 i[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
" z5 _! e- I( K+ D3 J# A% j: P& F[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
0 Q3 C7 j; z/ g8 X: q5 ][ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
. \" @1 V2 ~- E3 N) H4 N
# ?* H9 C) G/ k0 N% V$ R7 N! Z* D- a[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
/ z2 q s0 B3 a# I[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
1 O- c* `/ [# _0 ]; e1 g8 e6 U, i- p[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
4 a+ w6 v& _. {8 W* N; s9 O: y4 U! S[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
. f6 t# c" l* a: E! B7 O4 X[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)6 g1 h0 G+ v9 l2 [- t
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
- O6 p# z3 r. _- H( h; l5 F
+ @9 r5 f- \8 S* e7 _% x1 t就会出现这个问题,请问如何解决3 r n8 e) g7 y3 C4 h7 x# N
, [% e0 u" a' F1 A. N
|
|