|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
8 E: H- x H1 u/ ? [0] = {) \$ H" f% f& F$ t5 f6 m3 X
.start = DA8XX_AEMIF_CS5_BASE,$ O/ L2 j% J1 r1 o5 w3 {5 ^: b
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,* y4 L! K: C) E5 d
.flags = IORESOURCE_MEM,7 v! d7 F \# H6 O
},
) U0 |' i' T: c1 i8 [% O7 @$ C. A [1] = {9 s$ i$ B1 q) e5 u
.start = -1,# }: h6 G( M7 G+ L
.end = -1,
& ]2 R$ [6 I g3 a+ @# O$ p" T .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
4 B+ p! R4 r( V# d" n+ F },
3 _, }% F) r3 M0 s" A6 I. w: z) w4 D1 n: H( c* J( i D; {
};1 u$ s+ ` k# C! D
' e% m! S6 q6 {8 f6 [# [- u
static struct platform_device ax88796b_device = {
( ^6 A+ x2 X4 O .name = "ax88796b",
# T2 U6 Q7 e1 y8 Q/ M+ A .dev = {
6 S- L) V5 Y( ?$ U+ O7 S) g3 n3 k) o( r. a$ f$ L& c4 Y
},
) h* q( I. C4 M9 H, ?# A2 T& K .num_resources = ARRAY_SIZE(ax88796b_resources),5 u) ]. z/ N/ e' K9 k8 k
.resource = ax88796b_resources,
( V9 @( ]# |8 c: F9 d};. S0 r% k; ?' X( S
4 ?( [- n2 ?7 Z! b, Q Y
static inline void da850_evm_setup_ax88796b(void)
$ I3 e+ e( O' H& ]8 Q6 @1 I% t. ^! R7 \{ v4 J9 c6 c! h+ h
void __iomem *aemif_addr;
2 ^' N; Q( v/ Z& R1 J& l int ret = 0;+ ]1 C4 r: `0 C" j" f& N$ Q
6 A7 K0 Z% w0 a
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);% U2 f; q9 \* y9 F: L/ ?/ a
" H( E9 Y4 X1 ?1 B9 t1 Z+ z% S x# K if(ret)7 W" Q: n/ Y, d/ G& I
pr_warning("da850_evm_init: ax88796b mux setup failde:"
- c3 q- v+ o! f "%d\n", ret);
. _8 C4 b9 K$ _8 v' X aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
: |) F, J$ ?( P6 D2 ^" `' L / P. U* E+ E) _; ~
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |1 t7 b/ q5 ~8 o+ `' o
DA8XX_AEMIF_ASIZE_16BIT,3 T, ?/ |; N- e4 ^3 v
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
4 ~1 U/ k, f e) W% Y$ _) X iounmap(aemif_addr);2 v& [5 z* c1 _) e) q$ `4 E
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
9 W C* @+ x7 y$ \( {" J ax88796b_resources[1].end = ax88796b_resources[1].start;" Q) |6 [! C$ p. M/ K9 V+ Z& P& S
9 I2 ?+ ?1 A5 c, l9 F6 n; W
platform_device_register(&ax88796b_device);/ O7 f. E0 M: i/ l7 ~
6 v3 R7 z% S0 \& E' t# `}
* ~2 Z( s9 A. h; Q- T
) S6 f, C) D) t4 B0 w, A4 j和相关的引脚配置3 p, T' B' A- O) r1 m1 x
编译通过,7 y% ^1 i. ] G3 f! S* V
在板子内核启动过程中:" D* U+ s9 |: z
INIT: version 2.88 booting
' w9 v' V4 c5 c. w( S, GStarting udev! m* @/ y! P# ~0 ~6 ]
Starting Bootlog daemon: bootlogd.- i5 t' p) o- j
ALSA: Restoring mixer settings...
* W6 ], e0 o, @+ ]7 i/usr/sbin/alsactl: load_state:1686: No soundcards found...( [+ C# R/ }1 f3 i: M0 z
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller0 N8 a3 |6 P% B9 @
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)& E( R' j, Y) p
udhcpc (v1.20.2) started# q) S# H$ E7 ~; v
Sending discover...
2 C6 Q9 |' d) X8 P6 \Sending discover...
$ j& F0 q8 v+ W! `' I* `8 nSending discover...
: Y( I+ ^- B7 nNo lease, failing
- F7 m6 n5 T7 O2 U/ pdone.
$ K q) |$ \) sWed Nov 6 04:33:00 UTC 2013# h; {& t5 l! H; V C; ?
INIT: Entering runlevel: 54 H: ^- g9 M a6 f; r
Starting system message bus: dbus.
4 d2 Q% o& ]& h/ Z5 ^2 T& qStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg) r+ e2 `8 V$ s5 j3 f5 U( @% T
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
$ e/ U2 f, _ B) F[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram8 X, S' Y# e4 _$ X1 R
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)& i: `: D: C2 x4 O" @$ v6 P
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete$ v, }, s/ f4 W) K
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22). g3 S8 |7 e1 z; {3 _% i
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
: w% C' W# ?4 @1 `# s/ s3 M* V) d( a' \5 J7 Q
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)& ^9 e: h1 e2 b6 F3 S
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output9 ]* h+ s! X0 _" h9 A% {
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)' S' u2 ?, }2 T$ D9 q
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
5 P, E: f; O4 [7 Q; S5 [% S& G) N* I[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)2 K, s1 z4 _$ ^; ]( i6 G7 l0 X( {, w
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
}, |7 G: X( G
3 S) d( ~: n: b8 K$ _就会出现这个问题,请问如何解决
, G# |/ p, K u9 _% Y; g. K
" R: V. ~, n6 t+ i2 x |
|