|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
2 u$ |- {6 u5 U9 y+ p$ g' i5 }) N# r" d [0] = {. {% V( O! W; R$ M4 J7 G; P
.start = DA8XX_AEMIF_CS5_BASE,, z% f D; E4 z e5 w$ ~
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,4 L$ C: p J$ q `9 k
.flags = IORESOURCE_MEM,& n7 |; A! L% I, C( a- F# r& K. h
},
3 j9 g$ S9 S* O1 r0 S. J [1] = {
& i! q2 {5 n) e [ .start = -1,; ?( L: U" G# a3 E0 G2 X6 \" M- Q
.end = -1,
- I( k3 s% i5 @7 i$ g( \& B7 G .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
6 d; F6 P3 G z4 I/ \( P },& `" V6 u+ q" i$ n7 M/ K$ p. B
0 y1 f4 R7 c& L8 ?! s' p
};
, D" V+ q+ H1 j8 v) j' J. G- R- `! _, y% J/ k
static struct platform_device ax88796b_device = {
7 R0 |! ]& U( t; z .name = "ax88796b", X) \6 |+ n: k0 e" i. ?6 m
.dev = {
! a7 S0 A# _; I+ i k# {. Y5 L; w; T4 m8 Y4 @
},6 ]% w! w, l( f0 }5 z, l3 p, Z: g) b# ?
.num_resources = ARRAY_SIZE(ax88796b_resources),, T4 O6 F6 v* ?5 V& x& q0 V/ c
.resource = ax88796b_resources,
/ f- k5 R. J. C$ H};
1 |& N4 L" m9 ]' v7 p: s4 _% j& j3 K7 v! u" a% a6 ^
static inline void da850_evm_setup_ax88796b(void)1 @7 s+ `) P/ P0 N( c
{
E5 L4 U7 Y8 o% M. `9 w void __iomem *aemif_addr;# {4 b8 }9 R6 Q( H. @ @
int ret = 0;
: t9 f A3 n" R& K/ z
- o1 R$ }3 D& { ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);: T) R8 t4 c' B8 C+ D8 d4 {
3 |, {7 m5 q$ d6 Y! P2 J3 j& y if(ret)
! A& [4 |) ~% T/ j7 } pr_warning("da850_evm_init: ax88796b mux setup failde:"
F) D$ d' X o" u1 u y "%d\n", ret);! u. ?) B$ T: V( e# G
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
8 a! ?' W) k6 |/ j& s" C# l+ A# ^ # T6 o5 e0 B9 [" y$ }" ^
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
# P. L G8 f1 k" I DA8XX_AEMIF_ASIZE_16BIT,) n8 v( J% G" x D
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);2 h) V# }& h$ c, \0 f: I
iounmap(aemif_addr);
, `' |! N1 @+ ^! } ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
x4 z0 w# S7 z$ ?0 e' v ax88796b_resources[1].end = ax88796b_resources[1].start;' R* u4 v- a" ~- f V* j' t4 d
/ r5 `& C! z$ _! H1 `2 \( ?' _
platform_device_register(&ax88796b_device);
6 y! V, `- v" i/ g
2 p, \2 N0 H* y0 e2 G}! V6 u; S7 O' A- o& P. V
( ]7 V( d; r9 E7 q
和相关的引脚配置! J3 ]9 m* ]- u; Q! d
编译通过,2 N2 \+ T% p }: K+ Q1 e
在板子内核启动过程中:9 u* e. K4 \9 S2 ?) o# d
INIT: version 2.88 booting4 R+ } x# f4 F7 y8 R1 C+ [, [& }
Starting udev) t( t- _8 L1 d
Starting Bootlog daemon: bootlogd.
6 ~8 x% Q7 \3 Q% A9 t# z q. hALSA: Restoring mixer settings...$ P# ]( y# }% ^/ _) W. u
/usr/sbin/alsactl: load_state:1686: No soundcards found...% s: X% T! s( z7 G
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller% K3 ]. ~9 V7 d4 h4 ]6 L
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
+ e5 Z: n. _& n+ Z8 q. c0 o9 N- ]& Uudhcpc (v1.20.2) started0 W5 f7 B/ D/ }- c* a+ j
Sending discover...$ e! \/ `9 i. g8 ^
Sending discover...+ Z2 d M- u4 _: R" ~
Sending discover...1 D' { [2 |* r# F
No lease, failing
5 W: w: k$ ~% zdone.
* T: h9 X" o3 `" F: ^/ dWed Nov 6 04:33:00 UTC 2013: `- G) M. B, [# D# ~* I7 j
INIT: Entering runlevel: 5
. E' ]/ n8 V: T" {) w& \0 Q2 P' tStarting system message bus: dbus.* ^" D' d8 z5 D& T1 M
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg8 i' p( H5 d- ?" q# g/ ?
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
9 `: P. p; H' U# o[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram( `0 O/ _8 c" d, q# ^( G; _9 P
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
' V1 I% }; |6 b5 J. _[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete: L Y, s( R+ q
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
4 T- ?+ F1 m1 n0 j[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths8 H. [; C$ S! `0 D# n* T$ k6 T
2 o- |# d) {6 [& s2 M- y) F, ^, H
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
) s3 p" ^0 c2 ]4 @3 _/ ~ a[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output' |4 g! \/ e! [, W
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
. u5 X3 r: W" A- k[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
% m, L, \" H, t9 u. x[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
) S2 i( O8 b# ]" J3 N: R( r0 b[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
6 O. Y' K0 ]# K% k- o2 Y6 \8 ^7 E
' S% v2 ^9 o, ~就会出现这个问题,请问如何解决2 i/ [8 O3 t f
' P& X6 e6 n. [ |
|