|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
+ @. F) N4 d1 R" E8 b [0] = {
) |# \7 x# }! t& _6 I4 \ .start = DA8XX_AEMIF_CS5_BASE,
+ `1 C6 s. p z5 e$ J9 ?& u R4 F2 I .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,1 s0 R6 c3 d+ o* r( u/ r# P( n n
.flags = IORESOURCE_MEM,
1 I2 L' @. t" {1 _2 u, l },3 ]7 q1 }5 I0 P$ a% j" j
[1] = {
( m* @; A+ R, A6 K. y .start = -1,
& v6 z: `1 u- Z. F6 w5 H .end = -1,
0 X: `- C5 E i0 b2 F& q% C: k3 E& V .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,6 G: B: ~! ]3 H, W7 _
},+ y3 W& \: Z' Y8 x& @
% S9 H) z/ N# g2 z' [; N1 Y' o0 `
};
: ]4 j9 a) d. M' L" q, v0 C# K; h2 e. L
static struct platform_device ax88796b_device = {
~- Z8 N( a; N+ _3 r .name = "ax88796b",; ]; [/ ]" W/ r" @' x
.dev = {0 V+ C; c% q. n: c+ [* b
+ {) [' a2 S. x9 e: c3 d+ o5 s
},
. D2 q( ?2 y9 j) B- _ .num_resources = ARRAY_SIZE(ax88796b_resources),
1 K2 x7 h2 Q$ Z% ]- ` .resource = ax88796b_resources, q. N- z! o. L/ n& A5 G
};0 M: z8 w) U1 _8 D! G, c
4 T& P8 W; X5 I! zstatic inline void da850_evm_setup_ax88796b(void)! h. n% u0 i3 b( D1 k" E8 h* Q
{6 _( w- U' u6 y# P. k% K
void __iomem *aemif_addr;( M! k9 W& Q1 E5 ?4 b8 v( \" f/ |
int ret = 0;( L9 i. }; i' r/ r% W
: R0 v" W, y' Z! Q8 u+ b' i
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
" n }8 s2 M) C. W7 W 7 Z7 @# U: Z }; v2 r' |
if(ret)4 e0 Q0 e% p6 p/ o8 z0 r6 V
pr_warning("da850_evm_init: ax88796b mux setup failde:"% Z/ I* V- e+ }! Q* i0 j
"%d\n", ret); V# ?, v5 D( I' q b$ E! s, d, y
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
' v" |- P" V9 {1 b7 Y( Z, q
: t! p- L1 k+ y( O- {1 z2 } z. Z+ A writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
* c4 g: I; g7 i; R& A9 y; i DA8XX_AEMIF_ASIZE_16BIT,
) O' W9 f! ]; b6 J aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
. Y; x- i% P3 v! T iounmap(aemif_addr);" V) @5 R) l& Y% ]5 l0 @
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);, c$ t9 R0 a6 P' ]. t" B
ax88796b_resources[1].end = ax88796b_resources[1].start;6 \, h1 u& H/ P2 E5 l4 I/ h5 I! {" I
' a N @5 Q1 ^5 ^7 J% l' o9 H
platform_device_register(&ax88796b_device);
4 y% l+ a, U5 `9 m# `/ Y, J ( A) [$ v! w9 E
}1 b% v3 Z/ `; g# e' z7 p: r7 g8 G
- g5 X7 m0 h$ x/ K
和相关的引脚配置
! M+ `; P1 b8 R( y编译通过,1 Q4 H" P9 q' v9 g, B/ c3 f# I* ^
在板子内核启动过程中:* w5 s. V" \, x3 s! e
INIT: version 2.88 booting: x8 r; @& @8 ?7 |
Starting udev/ r/ P) i3 S' p* C
Starting Bootlog daemon: bootlogd.# Q4 a7 g* o3 j/ F4 d( d" {$ u
ALSA: Restoring mixer settings..." a( V) I1 k$ v" E& e0 K' t
/usr/sbin/alsactl: load_state:1686: No soundcards found...' H7 [) I- `* ]; q/ ^. ~. T+ {
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
& O7 Q2 \7 ]. g5 X[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)1 x2 I% C0 [0 K2 P7 N4 z* \
udhcpc (v1.20.2) started
1 g% w3 q q: p6 c! M" w9 S9 ^Sending discover...9 d% j; y8 g' |% J; i/ M7 U" {) ^7 `+ B
Sending discover...
) X6 }5 S" T& E, A9 C" f( oSending discover...7 J {$ x$ V) }2 j% P8 E# Z
No lease, failing. o1 k6 c, T: y( Y( d7 ?
done.
$ q5 i' a1 l2 k+ A% b9 j% s% rWed Nov 6 04:33:00 UTC 2013. P- s; L. V( W+ s
INIT: Entering runlevel: 5/ S) Q5 L7 e* W2 T0 V. s
Starting system message bus: dbus.
8 ^1 b$ J3 K$ yStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg1 N# E% e/ ]3 j( t6 F( C3 a
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
8 \7 p8 I, c! o7 |. |[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram7 X8 U& k' L! N; O
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
( L u2 F( l4 F* \[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete( R: }9 _0 o7 b3 ^
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
0 R' Y* x, T+ S" l, x[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
* _( V K4 h, }8 S0 N
/ _8 ?, F. c9 t! h+ v[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)! r, a' z: m* x: b
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output Z' s! l% Y! e; K* X9 O' S
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
" U3 {" C) f& W# n2 Q8 K[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked" Q' @* B2 q2 X, P+ O
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
- I/ z% \1 a( ^. |6 c8 X[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
" s o( w- C2 p5 |- s7 a* ]: W
: W6 |& L/ b& C/ K1 [2 P0 h( c就会出现这个问题,请问如何解决
) R3 p1 {! k( `( O* o: B
" b% J4 W) u$ c$ {5 B8 z. [ |
|