|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
1 X: X* T( e( t- R [0] = {5 Q4 M: z7 q, R( Z# d& `
.start = DA8XX_AEMIF_CS5_BASE,- {: U; q5 `+ T E
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,6 {. h/ `7 E( P* W2 W
.flags = IORESOURCE_MEM,
( U3 ^% o% {2 Q4 O2 [0 M },
7 M0 E8 Y. C; _8 M$ { [1] = {- J5 ]% Z' z- D) X1 i1 q3 v) c/ a
.start = -1,, J R, g) i+ H, O5 s" o! e! f
.end = -1,( B4 B- g# t, d* W; S1 r
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,3 B+ n" e- i; k+ P
},' ~/ D. [5 j7 M8 {) a
' k) c! Y3 w. ]! B' x
};
" y/ X# _) ^1 W5 O2 @( N0 M4 J2 [# x% q! k7 q
static struct platform_device ax88796b_device = {
/ F5 Y8 O1 P$ S4 o- S3 f m S6 y .name = "ax88796b",
9 z, W" R) z. x: I6 j0 a6 m- M .dev = {* k8 {& I( S4 T: y, v7 w2 Z
# V8 O% u. T0 h, c( `4 y( r
},
. ^& r& q' O% p2 Y) V7 j .num_resources = ARRAY_SIZE(ax88796b_resources),
k5 [/ t. b4 l6 E. B$ P .resource = ax88796b_resources,- Z( \7 Z7 b* a- l$ Y' w+ q
};8 D! U+ G/ u2 h$ P4 k9 d
2 q. U/ y7 m q& j' p l& istatic inline void da850_evm_setup_ax88796b(void)9 o: a9 q; w, b' ~ K5 ?- D
{" ]; N2 Z+ Y) e, `- D S" o
void __iomem *aemif_addr;
3 n! Q+ {- s+ k" F6 _* c! q/ ` int ret = 0;
7 O4 f4 Z& N; ]( X4 b! q) r
0 t5 c; R) j$ A% S' Q; } ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);8 _+ `8 N; m2 W4 }/ l
8 h9 w" a3 ]( ?; B5 [$ M if(ret)
1 I J" Q4 L8 X |; X P# X pr_warning("da850_evm_init: ax88796b mux setup failde:"
! W% S! i* g* ^' o; ? "%d\n", ret);
% t3 Y0 a3 M M# f7 A, {8 k3 y! g aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);7 q) E `0 x' J5 H1 o; D M+ a
5 k8 D9 u8 k4 o writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
: x$ M) a' w! p2 {8 S DA8XX_AEMIF_ASIZE_16BIT,
# m! A0 [( C# s" ^- ^ ] aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
$ D( G: ^: l( M9 R9 O2 V iounmap(aemif_addr);
5 E9 `! Z6 h: m& a* j) O; q! ~% q ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
, C, ?' P) K. k% v4 I ax88796b_resources[1].end = ax88796b_resources[1].start;+ U8 s. d9 Y) I, |
2 Q2 F. m, |$ k5 I3 l
platform_device_register(&ax88796b_device); m0 a! U' E8 z/ U
\$ E9 a# v- q! i5 s
}
% c5 I6 w. k) d/ k6 S& E% X+ D# E. g Z0 Q d8 D; y; l
和相关的引脚配置
- ` \5 U# P7 Z8 N! z编译通过,% C1 m1 b6 k. }6 p
在板子内核启动过程中:
$ M" W* f w( T% lINIT: version 2.88 booting+ |7 W' @' X6 p9 @4 T4 _4 d( ?1 J
Starting udev
5 ?7 Z) p; p2 {# M9 ~, P/ xStarting Bootlog daemon: bootlogd.5 p; q6 `3 ^+ G9 U* E
ALSA: Restoring mixer settings...
! z& D9 g7 d! Q# T5 R/usr/sbin/alsactl: load_state:1686: No soundcards found..., G n% Z8 W% r& a0 T% V1 w: F
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller, i( I, u0 v, h6 A( c1 e3 ?; b
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
: i3 s9 A8 A8 R% y! Qudhcpc (v1.20.2) started
( ~1 ^& l+ `% p$ w- k7 m: L0 Q+ ySending discover...
$ N" r+ {, {1 X+ nSending discover...+ Z% m6 @/ s5 `8 ]& r0 G
Sending discover...% i1 y; D% k0 d, A) O
No lease, failing/ A% ^7 }8 W% Z3 A/ b
done.0 ~, R) k7 R5 W( H$ D7 H6 R
Wed Nov 6 04:33:00 UTC 2013
) N# F+ @8 B3 @7 s; tINIT: Entering runlevel: 5
( {1 N; i7 l, X* k6 ZStarting system message bus: dbus.
5 `2 r ~% F/ D2 h' ^# cStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg) u' L4 a/ t8 ~- w, l/ b4 Q
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
E# z; S4 U6 n: N; J4 Y[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
7 Y2 N$ l* k. [$ I- O" E% ^" V4 K8 t[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
: c3 M j+ y: q5 o6 |[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
# E- ]( R: b+ I[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)6 N; D/ k3 r, F) G3 K: _
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths& G, e3 A# ~9 t
, \; T+ B. b7 B a" s5 K; o5 l
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)# \& l" B+ N+ D7 m& l
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output' ~1 a) t6 C8 M+ }
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
! k1 V& d7 L7 q$ g! m[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
( k5 k3 r; ]/ T7 Q[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)) j) i9 g- _5 w0 n7 J" L, x' |
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
5 j5 t, e& f8 ~4 ^/ U, k! v! N6 g( p W
就会出现这个问题,请问如何解决' s- P1 c$ b8 I8 e5 D+ n
7 c- F) G5 Z( i2 n0 B |
|