|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
6 ^/ N( P) ^9 V- q6 _) X* B [0] = {
) q1 W0 Q& X* e .start = DA8XX_AEMIF_CS5_BASE,9 s) e0 ^# L$ A/ S- A
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
: l1 Z- C0 ]' z; G .flags = IORESOURCE_MEM,
0 S8 k8 ]2 l+ A5 Q5 H },
3 ?0 l8 n- g) Q5 X' Q [1] = {$ X( u0 |. }; j ~8 Z* `! y) N; L
.start = -1,
0 M) E4 _% I( W& U# Q .end = -1,7 _: B/ L* g# ?. c& ?
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
: C4 \0 \ u& e% k" `. t! F1 p+ @ },
3 k0 }6 R* |1 V; Q7 ^6 K4 N
7 b% `( I# E- {4 y! O) b};
; \1 G' i+ A7 [; k9 k# c4 z* k1 J6 u$ p4 }
static struct platform_device ax88796b_device = {
- Y% ]0 G, o: U, T4 k1 l .name = "ax88796b",
/ n7 y$ t! { {( q6 i% z, u$ O .dev = {/ Q( G; P4 f0 o* }' h
1 L& ~( M" l1 g! {3 B
},0 L2 {/ F: Y* }4 D# s. y
.num_resources = ARRAY_SIZE(ax88796b_resources),
3 Y r+ @- v1 U; K7 {) c! W .resource = ax88796b_resources,
& L) v+ T A# G' \};
5 v5 B+ B% W- Y8 u4 N3 k2 S7 s3 d, U; ^2 t U3 A1 l: t! f
static inline void da850_evm_setup_ax88796b(void)
# Z8 E8 p. o$ \/ v- d{6 {4 x' f# B; ]9 p3 O
void __iomem *aemif_addr;* ]& z; C5 y* G. N n+ ~
int ret = 0;
. b+ V0 [, V- I
( z! v" g! s* F. T! ` ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);: q* {) K% ]/ p- Y8 h2 L7 g
/ f% O* v2 W, ^% n# C, y* j
if(ret)9 M5 ]- e8 ]+ ?! I( ]1 _
pr_warning("da850_evm_init: ax88796b mux setup failde:"
$ k) y/ q9 L; G W+ _- ~) v" w "%d\n", ret);
* s+ \: i5 q" S4 \ aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);! e' w! J! P K
- D7 ~" ]; g7 k2 s" x
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |2 c% G3 e5 E( D/ j' |, q! K5 n
DA8XX_AEMIF_ASIZE_16BIT,
/ I+ B# {/ d* x. N. [! P g6 D aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
" ]( H' ^2 `( t. w8 K iounmap(aemif_addr);
+ c) ^! y2 ~# Y' j' S6 i: `9 o+ K ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);1 U/ {0 i" y0 U3 a* O7 O
ax88796b_resources[1].end = ax88796b_resources[1].start;$ ~3 j) F; K1 F' r
' B7 h j+ U. Q1 n* A1 [8 P platform_device_register(&ax88796b_device);( ?* Y; y H1 I% n# `7 Q, ?
! j+ e. S0 r1 N( m}
1 B3 c% P3 p8 e5 P" y- U' }) v* q; z \
和相关的引脚配置% ^+ i* D& B w" [ H; J, O
编译通过,
; a! J* j; L! B7 l6 G" b$ N在板子内核启动过程中:
+ q' m( X; I& Q6 h( V5 f7 B VINIT: version 2.88 booting% i+ P2 e) Y! A' a5 v0 w
Starting udev
, W1 E" N X G P* ^/ E) zStarting Bootlog daemon: bootlogd.
0 ^8 h' @& f& R/ m: I9 pALSA: Restoring mixer settings...' Y7 U) U; b8 @. X* r8 x) A! X
/usr/sbin/alsactl: load_state:1686: No soundcards found...
0 D4 T: t6 J4 f" H6 V9 T5 yConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller5 E: o: f& T& q" S
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)) R/ a0 z5 j" V @# _+ x
udhcpc (v1.20.2) started P+ Q3 S+ U1 [* Y8 }* E
Sending discover...
" h. H% N, h- ]Sending discover...
# s- `) M8 w* S# CSending discover...# Z/ r! F, }! h" L* f
No lease, failing0 e' n O# _3 Y) ~1 m3 @
done.
, ^1 |; Y2 N8 \& @Wed Nov 6 04:33:00 UTC 2013
9 U2 o& L) U; ^8 e8 xINIT: Entering runlevel: 52 G8 A; m0 I. q% [: x
Starting system message bus: dbus.
2 v+ i! B; `2 m( PStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
& G3 t2 p) x2 V+ v[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)& n- l. a- G: c+ \$ b, f+ P( ~ D
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram" r, f3 B: W8 _
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
7 O) E( @1 Z( `5 c, A% G R: w[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
v% f: _ l* @4 P& k. O8 w[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)7 r$ W2 j& N: J
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths5 M l; |- J$ w% @
& h6 y& O R/ F1 G9 }3 @[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
6 p+ f3 [2 V7 I" Z, \" J[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
% e. l1 R# w+ d9 o& R9 e; O6 p[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
5 h3 E" T B& O- f[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked8 I+ j- ^) A% G0 g7 d, l
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)9 @/ K% T, [" x
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
! _% g$ u# d0 S7 t+ i: c; i3 N$ t. t/ ^2 g" f) v z: x! r
就会出现这个问题,请问如何解决$ E" W5 g, b" Y: K
7 B5 l3 _* p: } |
|