|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
; h/ O& G7 n- }( {5 n9 z" Z; k [0] = {0 r) X' @% w g2 G( @ _. @
.start = DA8XX_AEMIF_CS5_BASE,
1 O- x- w( W& P5 l5 c .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,4 a/ }- ]6 I/ c/ b4 f
.flags = IORESOURCE_MEM,
; l; a) y9 e3 L },9 @# `, b) b' D2 D. Y' w+ C/ K
[1] = {9 ^9 w, w; H. p
.start = -1,
9 X- n8 ]* ?) S! r- C5 k .end = -1,6 U7 Y1 \. M0 H& D( I _& n, N
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
& ]6 X6 K# x/ ~' X4 z& u },4 H# F" Z+ C8 D% w
; U1 l$ q, P2 M0 S) O};3 y0 @) e' {) r& ]# n6 b: s$ Z. I( R
/ b! y/ y6 y# z8 Astatic struct platform_device ax88796b_device = {
0 {: Q+ U- x: {% b/ \/ W O8 K .name = "ax88796b",8 U# T$ D+ {% r6 ^. t" J
.dev = {, r* y# v- f( A9 o* `* ?" n
0 }! s" }- y; J! i% Y$ v+ v' N
},
* A4 F' E* t, K% W2 r) l0 u .num_resources = ARRAY_SIZE(ax88796b_resources),
; ?) Y; }4 D9 p- U! ^. o .resource = ax88796b_resources,
. y/ a" c; V& v5 ?};; @& s! W# ^ A$ c, f( `& z* N
, w, ^* \, F2 @( G0 o8 }, lstatic inline void da850_evm_setup_ax88796b(void)! C# v, N# M& k
{& z' H: o' D4 v3 d' F, O9 J
void __iomem *aemif_addr;
# @0 Z. f: Y! ^. r) e) r3 j int ret = 0;9 x2 s. L% h: d1 ^& q# J
' G- N- y; n2 x
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
3 s! R2 V4 J s/ r ' Q) E# r8 V2 ?7 W5 Z9 {+ M5 b9 u
if(ret)! `( Q, }; Z; Y9 ^0 w2 h% @3 R
pr_warning("da850_evm_init: ax88796b mux setup failde:"
. M9 ^$ K8 C1 P# r5 [ "%d\n", ret);3 g2 |, L) l1 A1 c6 Q
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
J: q8 b' F8 u6 T9 z & Q& G% b3 \! N: p6 x" [$ V) Q
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |# p" `. q& s! l1 K% a
DA8XX_AEMIF_ASIZE_16BIT,
; G! n; F, |" I- x/ h$ u! p" U2 W/ k aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
5 P% D4 q% P- K8 p; _" m9 m iounmap(aemif_addr);
" K( [4 B- {! S7 A. `& A8 N, v ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
( `( {+ K+ b1 e3 t ax88796b_resources[1].end = ax88796b_resources[1].start;
9 f, H% x: J. l
9 B7 ^, W. n) J7 O& M# e8 [4 I platform_device_register(&ax88796b_device);7 M0 A, _0 J( ~ P
3 a# P7 \' _9 e' m2 Y) |
}! L4 m8 B4 r( S/ U7 y
! i6 K. d$ S) I4 _
和相关的引脚配置
1 A/ s9 C- ]( f+ L; I2 t; K编译通过,- G# G3 u% @9 _1 \
在板子内核启动过程中:5 `6 q1 g+ V3 ?+ B9 f
INIT: version 2.88 booting
* T% f) z- q* y- @" U% \Starting udev/ Z# f o8 @' J6 T- h
Starting Bootlog daemon: bootlogd.
6 J9 u" H8 L9 h3 W- JALSA: Restoring mixer settings...1 B2 l* \; d- N% H8 n; O, Q
/usr/sbin/alsactl: load_state:1686: No soundcards found...5 M% ]8 e* \% E5 A
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
% b8 p; R) Z! r. c[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1): h1 c% O5 X, r$ a6 W' | q
udhcpc (v1.20.2) started+ o6 u/ q, Z' `9 }; F u: _1 d
Sending discover...
2 { t2 |) _; ^+ f! }Sending discover...
; k u1 w! M/ G/ A) D1 x, xSending discover...! j. p5 {0 B# a- ^" M
No lease, failing& t5 \: t* S5 C2 I/ a b. g3 e
done.* K5 v" M4 q) S" M$ }' A7 u! i
Wed Nov 6 04:33:00 UTC 20139 k9 z# Y1 s% u3 j& V* d
INIT: Entering runlevel: 5
% q7 O0 }' h2 q/ t* a' uStarting system message bus: dbus.9 }4 W% R; q7 Y/ a. h0 g% R
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
# K/ S: j# [: H1 B1 t* h[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
# L( G5 f) m: z+ ?6 w4 z1 d[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram2 A& ]* `* G& |8 [8 N
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)1 Q2 D% ^7 l7 O2 V) p, b @$ x
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
+ \" D; J. J+ d N# e[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
, O5 R1 p/ }) F- Y2 Y0 `1 l; A[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
* q& E+ m& m. k( i! @9 l! h" @4 `. h+ f/ D! o
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
1 _' P4 i# M4 v* O' w, d/ U* {[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
/ E3 G- ], |. b! q, \9 ?[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
+ `' C. Q$ q3 J7 c6 ~7 |2 j4 F; o+ B[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
! d( A# t% i" C( k( U9 P9 Y[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
% r1 a4 C, ^% G[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid7 c" b0 r; I! D: w* {1 v& [
1 n$ f) j- J' s1 p0 }就会出现这个问题,请问如何解决" f5 F$ e. J" ]& g" M. U6 u9 p
# Y+ E/ A( B; N6 {8 G' ]8 i3 k
|
|