|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
* e. y- S$ c4 p# W# r" p! E" U [0] = {
8 }; y- v/ A2 L4 k! N4 s1 h .start = DA8XX_AEMIF_CS5_BASE,
' b( f6 @& N5 r1 T .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
' }, o! h6 D$ i# [3 Q .flags = IORESOURCE_MEM,3 J% L9 ? s6 C. X4 A
},$ S; q2 n- K' P2 ^5 v6 c! C/ i
[1] = {
% G% C, n h$ h& k- s- B0 Q, _ .start = -1,) ~7 E1 S& D7 x7 ]
.end = -1,5 q3 }+ e- K( ]# Z3 Y
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
! [. e( ^8 b5 b4 E) w) E# j },
8 w7 l2 G; g/ O V# x( O
# h8 T$ s; t1 z* P1 s};
' T3 v& F; q. l( z1 e; k# [# T, p( ?
static struct platform_device ax88796b_device = {
0 P6 H, ~# j% w7 ~ .name = "ax88796b",9 S$ Y' d8 @+ X5 c
.dev = {1 P( O7 v8 U: Z
0 @# u$ B) L/ ?* _8 r$ ~# F% M
},
9 i; A5 z5 @0 H+ e( w7 Y .num_resources = ARRAY_SIZE(ax88796b_resources),4 U4 y& l( Y3 B# G) O# U: H U
.resource = ax88796b_resources,- r' w9 s& d, M; w2 K0 D: N
};% R. `0 k# y' V/ d9 B
: i9 R7 u& E" T0 n' u8 X0 Vstatic inline void da850_evm_setup_ax88796b(void)
6 G* _7 Q s$ l$ r: z{
: X1 R( V* Y) S5 {2 v L void __iomem *aemif_addr;6 H, F% A- M6 g9 J9 {
int ret = 0;8 k- l9 M& ~7 P5 m. c2 e2 ^
8 x) ~2 g" a+ ]* t+ z$ h ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
$ A1 f" M( S, v$ d. C, M$ O# \- f ( z3 v4 F* m# q# F* f0 q; W
if(ret)
' c( z! g# W8 R7 a pr_warning("da850_evm_init: ax88796b mux setup failde:"
8 E$ f: l# ~, _- t, W$ u8 e2 } "%d\n", ret);
" ]9 J d; l: W. r aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);/ Y P8 h* s! i/ d2 C, \) N
" B3 ?) R: B0 }. t# p' ~: p" w
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
" Z; Y/ A1 v% j DA8XX_AEMIF_ASIZE_16BIT, H0 a! D+ a: E! \) W- Y
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
: _0 s/ n) T; _% T iounmap(aemif_addr);
- \" o9 E' }, Y" | ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ); @# A) ~9 ? g4 g0 e
ax88796b_resources[1].end = ax88796b_resources[1].start;; i1 ], J/ t5 \3 I8 u& _% c9 q
4 @. r( g) z w, Q* d+ r! L
platform_device_register(&ax88796b_device);
7 L4 K! `0 e+ u) l' o# s( O
" R2 N2 w+ O+ V( u' e}
! G/ Z* H( i; ~0 k3 n# t1 l+ F' j9 U5 T" H; d1 ]
和相关的引脚配置
9 S% Y: B# t3 D8 v; E9 L) z编译通过,, M7 l/ g* _ v
在板子内核启动过程中:
& ^4 i; C0 X/ h7 n: W6 T: uINIT: version 2.88 booting
0 r3 ~7 g4 g9 F1 M* Y- hStarting udev$ D/ v* U- q# _( n6 r& I
Starting Bootlog daemon: bootlogd./ k, R& m# D* r1 T
ALSA: Restoring mixer settings...9 m5 I7 _2 l+ A2 m/ p
/usr/sbin/alsactl: load_state:1686: No soundcards found.../ C, i( e/ M' p
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
2 Y" _* F' n9 a2 j4 T[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1); d/ [1 p- {# z9 R V
udhcpc (v1.20.2) started/ g3 w3 A+ K+ M1 Q2 [. G. Y4 I. O8 |
Sending discover...& S* i% \5 J4 ]6 [) I# A$ ]' s
Sending discover...
) B- s/ n# b; a& O$ w; ^9 sSending discover...9 u: C, q3 }0 m* d6 y" F8 L% e, N
No lease, failing' y3 j0 t( E# y" Q/ V+ h0 I
done.
2 {- `% E# b5 A& v2 I6 M$ e* YWed Nov 6 04:33:00 UTC 2013
# Z8 n+ `8 v$ x1 D4 b$ X0 n5 TINIT: Entering runlevel: 53 u. K7 [3 ^7 W# g: Y
Starting system message bus: dbus.
/ s* l& m( U/ ~1 xStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
# v8 o/ z7 e; w/ D- ?9 a[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
5 D; B: i2 O4 @& q2 a0 Y" |/ u* [[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram- I: u* J7 O& p1 p2 a
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
' v5 N) B9 _2 N" w' ]9 h( Q[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete7 a* e# j/ A" M0 Q) F" x
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)/ D$ o6 e2 j' d! ]' a! Q& A
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths V; `* }- e' u5 H
$ M* l, P6 X- `1 [1 a$ C
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
; F* {" R2 L; S2 s6 ~: l: A, c5 Y1 Z[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
$ K% ]( g% e5 E1 G. Q2 t8 h[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
% W( j0 h% w& P( @0 C; k1 o3 a0 ?[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
4 D2 o0 \7 d3 O. { I) J[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)3 f3 J8 E, v) a" e/ M
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid0 h( ~9 R+ E. b% R: z0 X
. T. s2 k) M# x" m7 `% H' E就会出现这个问题,请问如何解决
4 ]9 r! V7 I3 l9 [6 h5 N0 ~$ I4 ?" o. ]; I6 U4 C
|
|