|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {. a. ^2 ]1 I% z- h
[0] = {
6 O' \% z$ h! w6 n6 H5 z8 D- \7 c .start = DA8XX_AEMIF_CS5_BASE,/ N- U1 Q6 G# Q+ Q' O+ j
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
" G+ r% l! W6 X) S7 ^ .flags = IORESOURCE_MEM,
4 h. L2 V& i G. S+ F1 M },7 C+ ?9 w- Q: b6 r0 r
[1] = {" T. P9 A5 _5 O6 L) h+ a
.start = -1,
# m* i! t; A" W7 M! C .end = -1,8 W0 m. Y( }$ M3 t9 Z) H
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
: ?; d) B+ g Y) i; R/ i3 t },
4 _) g& o3 ^8 t+ j t- M3 N5 y1 z$ x6 e: z
};
. K! K; P" \& ]* q. y3 S8 b: D0 f1 y! K% B5 J) Z8 f* C
static struct platform_device ax88796b_device = {
4 t1 E3 g5 c+ P; ]% }* ?1 U5 F .name = "ax88796b",
0 C; L |/ { }* f. [) H .dev = {
0 C/ g! ^, {! l, V: G0 A6 s8 `1 `! S0 v/ u* a
},# C' {5 C% }# q9 y1 N' l
.num_resources = ARRAY_SIZE(ax88796b_resources),
# q& C5 Z: ~" F( t% c/ @" `& N2 } .resource = ax88796b_resources,
7 I# R, n/ `2 @. U* m};
1 }3 m0 {- W& c, X+ x
' g7 x: v" U ?% D4 I% i& Ustatic inline void da850_evm_setup_ax88796b(void)# ^2 ?1 [6 m6 Y& ]$ F
{4 W8 z7 _0 ]! G# N
void __iomem *aemif_addr;
% j9 Y5 ^) ^$ J2 H( e int ret = 0;
, V( T# N& @1 m: U5 Z3 w! O
& d3 e. C" W3 J0 r ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
! \ H4 Y5 ]; e- \ 8 E* g% u9 H5 g% J1 l0 K% I! k+ ^
if(ret); w" }% r3 l# v3 w9 \$ E
pr_warning("da850_evm_init: ax88796b mux setup failde:"+ A. O; f) w# j# p/ m
"%d\n", ret);
; i# h( ?+ |- P1 @+ v) Y9 V aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);) _ y- y. {( ~) v" v
4 J& U& G9 q0 Z" w! R- R: n
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |. _( Y9 l8 E1 l, P/ o; P4 \
DA8XX_AEMIF_ASIZE_16BIT,
$ U$ S1 e" H0 d& v aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
5 ~; Z+ w& ], ]. k% x0 x iounmap(aemif_addr);" Z; |2 D$ j- [3 |
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);& v2 F/ h4 u) h* {. S& V
ax88796b_resources[1].end = ax88796b_resources[1].start;$ _' S" ?, `9 ^5 h% L2 |
3 X5 L+ X: g: L+ c6 x C: v4 H
platform_device_register(&ax88796b_device);. m9 t% b1 z& Z3 z( r' l+ H ^$ @
9 m6 o9 m2 Z) @1 ?8 J( `
}
/ ^/ c% t7 f3 B% `7 M) J8 t8 D) @5 {
和相关的引脚配置) [+ Q% Q/ D9 \1 \
编译通过,5 O% ?( I ^0 U! P
在板子内核启动过程中:8 q: Z! D4 f1 }1 y( C' e
INIT: version 2.88 booting `6 Z3 |) h3 e' @( v
Starting udev
+ p8 b4 K4 p$ F" @& zStarting Bootlog daemon: bootlogd.4 l4 N& {% T+ R6 ?6 _0 j- i
ALSA: Restoring mixer settings...
" v7 \( v, A+ Y$ f# |7 f2 m8 c/usr/sbin/alsactl: load_state:1686: No soundcards found...
# _+ k" Y1 f, ~+ Q. ~Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
: h+ J9 \/ \& ^% }- r$ q1 w; p[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)2 I5 a4 s" X m
udhcpc (v1.20.2) started
. A- K0 k& t( x4 w* dSending discover...2 {$ O Q8 s6 l/ g/ S* p
Sending discover..." y d% P8 O& Y5 E
Sending discover...
0 q# r8 V" O' w$ d: f" |No lease, failing
; g* D/ J9 w/ y6 Z" ^' U8 C* {done.
G3 g5 n' m. @! E+ z* E BWed Nov 6 04:33:00 UTC 2013
. ? Z5 k' |! ~* m+ W5 }( h4 BINIT: Entering runlevel: 5- p4 Z9 }# d+ E) o. G
Starting system message bus: dbus.# d; y0 k2 t M) G$ P, R' {1 }
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg$ R5 I# x; I% n4 y
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)$ O }: I; ]0 }) l; }" O+ l
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram P# g# k1 ?# ~. Z3 U
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
2 z& @# ~+ ~3 p[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete$ A- O; [: z8 z6 { F/ z
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
, n- d3 s% B- M[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
_5 @. K4 }( D3 v" h
9 S2 L: p% q6 V& i[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
; u* a# y9 X# l/ d5 ~0 `[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
$ J: y; Y2 v0 z; m[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22). D$ V( K. t2 v
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
6 p& O# k# O& K[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
+ g8 J N* t6 q, C x: K[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
/ e' K4 N, @" ]' k: c% l- M. n- Y
! S; i4 ?2 ^4 f2 r8 X就会出现这个问题,请问如何解决
P# Y, F. @/ T* n7 ?) m
0 e, d5 {1 q6 b% g. k |
|