|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {2 K- P/ Y" w- n/ X" ~ [+ U+ Z
[0] = {
; | X8 Z/ y/ Q( t .start = DA8XX_AEMIF_CS5_BASE,' c- h1 e# N& d" S: o; d
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
4 t( q, R- ?) v# L, V) L .flags = IORESOURCE_MEM,
' t# D2 l+ ~( @6 X },
$ ?1 O$ D/ B7 g# H+ ~. P; L+ M [1] = {' F9 k: N/ L8 e5 S$ t( s& J
.start = -1,5 T5 ?. g: ]# w4 I) k9 i4 B
.end = -1,
, j8 Z% o, E, r/ G5 r& r .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,/ q$ j3 T: e+ y& i
},
1 S" h" ]9 D) o+ p, U8 ^9 `8 j8 b; _
};) y1 k, ~: D* E3 j
0 v/ w2 O! r1 a
static struct platform_device ax88796b_device = {
: r. E1 o- S* a& z .name = "ax88796b",
* C' H# R# s1 H .dev = {
- O* Z' G# u' e5 i5 ?9 j
) r& p( H1 ~2 O* f },
0 _. |1 t, S: T .num_resources = ARRAY_SIZE(ax88796b_resources),
. R- v3 L# b: y# w* { .resource = ax88796b_resources, ]2 B) a* J* ^0 q. F
};
" u: x5 u5 {3 Z: j' h8 Z7 I1 B, x* T
static inline void da850_evm_setup_ax88796b(void)
. b5 B( P% W8 Y7 }, I8 `{- G+ A' J" i+ A. x i5 ]2 m: m
void __iomem *aemif_addr;
?5 [! r5 {2 r5 t3 H! z/ q int ret = 0;+ c3 l" c. p0 i- s2 Q; g" [7 c. r
3 I' D+ t. z V! J7 O- E ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
& k# J% X- j) i% C" v0 c, \- u4 n2 y; i 5 n0 u* v9 S0 f; ^
if(ret)
; j: Q- p6 F) j+ }6 i( t! [ pr_warning("da850_evm_init: ax88796b mux setup failde:"
( m& `& Q. d, ], h "%d\n", ret);- N% e9 n# z2 L% ]& s
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);/ P" Q' Z% z' `$ F, A( i, ^
) L# I7 n$ u$ ^( r* g- m7 e6 b writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |( x- x% J1 ]6 l$ [ g
DA8XX_AEMIF_ASIZE_16BIT,* U4 N- g- O o; J, L4 {
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
6 K5 u3 ?- X' f7 G. m- A' @ iounmap(aemif_addr);
% ]* ]# H" \. i4 l/ ? ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
& \5 x1 U& @ X ax88796b_resources[1].end = ax88796b_resources[1].start;
4 ], r7 {: _+ \: S" V
' J1 H! @; n; r1 B! N( G) W platform_device_register(&ax88796b_device);$ R% C2 `: m5 \! K' r# k
6 i3 m/ d) o5 F8 Q- u# S+ h( W; ^
}
$ ?3 z" l' l2 F. V, d; u3 V3 P: J9 n4 @2 x& i, j
和相关的引脚配置9 B. \1 F. K( j, S0 w
编译通过,( o5 I. h& L; [/ X. d. _
在板子内核启动过程中: _! w, v; Z' g7 b" j6 J
INIT: version 2.88 booting8 o( K: b) F) b
Starting udev
" e7 g4 B; z- B7 J8 cStarting Bootlog daemon: bootlogd.# _/ a6 @3 c& W& r
ALSA: Restoring mixer settings...
2 e0 [4 h, O% G/usr/sbin/alsactl: load_state:1686: No soundcards found..." N7 Q, Z) ~% D. ^! \2 V' ^
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
+ r2 j. c- Z# l, ~: X, l[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
4 [& U( C" o! X( ~8 Y: c% ~ yudhcpc (v1.20.2) started# \6 }6 M( r9 r* M$ t e
Sending discover...3 D- C2 d G: {+ S2 g
Sending discover...
% O. [0 U) @% C) fSending discover...
! @& r! ]4 S# _$ q- r( T+ qNo lease, failing
d& ~+ i, I$ q: s0 t+ I Mdone. _: F3 s, |6 w* o8 l) \; P
Wed Nov 6 04:33:00 UTC 20134 |. C. k/ x' U. R& M
INIT: Entering runlevel: 58 {: d" h2 D ]7 H. u
Starting system message bus: dbus.
( h T! I3 P! t7 L! CStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
0 v$ a( z$ D. ~3 e2 i t[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
- m( x; `+ J5 r; `& ^[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram: y6 i; Z4 ^0 n
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
( [2 C$ ~8 }' U; P[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
; J% I) `( p7 A" G) x6 r, b[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
# ]% M& O1 u0 \[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
# K: {" ~6 U8 W( L' {: X* w9 t- m; v8 u/ [9 ~, L$ d
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
4 x9 n6 N5 w. m. ^6 T[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
* P* [: x% z7 }4 S+ j[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)' j( @. A5 b5 @6 U
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
0 {/ y0 d* W. v( R+ z( t/ C; P- h[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
- Y# e0 C$ s- e5 V5 B; v[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid+ S* ^% M( M* x- n2 l X2 [0 k
+ R9 X1 T& I: [ v: S. c* z就会出现这个问题,请问如何解决( O$ p+ ]9 P& J) K/ H
, `. y5 L* V# K6 i( s# ~ |
|