|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {" x/ |" m2 H/ O) }4 Y
[0] = {4 D$ w4 `+ X: i7 [
.start = DA8XX_AEMIF_CS5_BASE, i4 D1 p8 F7 O
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,+ O' S% X& ?" w" O
.flags = IORESOURCE_MEM,+ o/ H9 @5 I8 c# z6 W; d
},
% u2 B0 |1 P5 G* J$ p5 R [1] = {
3 C, h% a! i. q3 h- X( i .start = -1,
F. K! f9 r4 ~& m- y2 j .end = -1,
( j" U. n, h# u' R- I j$ W .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
: W# K) B+ A( S" B' u% d1 j1 f },( k+ b% E7 x ?; t. a0 Y& e0 c
: ]! A% K* g9 r& A9 h};& t9 w5 q. M& e+ W* k
+ k5 u, r3 H2 j3 g. m+ Lstatic struct platform_device ax88796b_device = {
( ^, Z2 `+ K9 w& l .name = "ax88796b",
0 `' }9 G' ~ _% K6 g- \0 \ .dev = {
& l2 c: w. b$ L9 q) q! K6 U+ Z* w7 j* N) v3 K7 P0 t3 {0 Q
},
8 f0 _: ^0 J) {7 x! z8 G4 K .num_resources = ARRAY_SIZE(ax88796b_resources),
3 _, X4 Z5 x& p9 r' | .resource = ax88796b_resources,
0 d9 b8 V* ]5 F, I+ O3 `8 A; h% J};
- s# B' x L0 J. B9 f! ]5 u4 J0 b! r7 `) r
static inline void da850_evm_setup_ax88796b(void)9 Y! d# w4 @7 c( ~2 y& \, a7 `
{
4 M/ U" m1 F/ I0 W) M void __iomem *aemif_addr;2 f3 i' Q) x4 G' `2 z
int ret = 0;! ^) V6 i g5 V6 Q/ d; D
" |/ B4 ]7 a$ @ ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
9 ?8 X2 `& [( g0 |# ^
5 D# _1 W! p/ I; S" o9 m. ] if(ret)
# t$ O% l4 X% A6 Y. J8 z) u pr_warning("da850_evm_init: ax88796b mux setup failde:"( g; D- z6 S( ^; o) R$ s
"%d\n", ret); M( r4 `8 L4 i$ p: ?6 v3 s, K
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
9 l" p, e- }" p: |! t
7 ^. x& W, \; ?! V/ V# t writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
% r3 [+ \9 W' V; K DA8XX_AEMIF_ASIZE_16BIT,+ H" `$ o- L: W) G
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);- c) C. ~ J7 r7 Z+ Q
iounmap(aemif_addr);2 `) A$ x" p6 N, A) F4 o
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);& ]! r ]) {5 O& W" c
ax88796b_resources[1].end = ax88796b_resources[1].start;
2 A; g: n- S' V6 H3 Z5 j! I
' a4 a: L' H: {8 u; v) @ platform_device_register(&ax88796b_device);" c e- K2 C- f. g0 l2 m+ _- S
. Q& ~1 g- {: ?8 ^: X2 r" p3 {0 E}7 i# m& P( Q- Y& [$ M! ?/ Q
: n1 G! @' f6 C4 N, M( Z- {* e0 f* R. ^和相关的引脚配置
5 u. |$ G- u @' y. O* ~- k/ V# s4 d; y编译通过,
' ^- Y2 T6 c/ ~# H+ k5 C在板子内核启动过程中: B- j0 `! v+ n
INIT: version 2.88 booting# `/ R; m" J" G" @( Q
Starting udev) W( s/ |6 A' c0 B7 j" A
Starting Bootlog daemon: bootlogd.* M5 K% [$ y- K
ALSA: Restoring mixer settings...1 G7 l; i8 i/ V: I/ ?+ J
/usr/sbin/alsactl: load_state:1686: No soundcards found...+ K- c6 _0 n9 S/ z8 Q0 y( g( y
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller7 k# C7 S* a# I0 n- }& U
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
! o0 ~3 K* r; d% qudhcpc (v1.20.2) started, h4 |2 \# L$ P. r X0 g9 S. h9 K
Sending discover.... O' _/ k0 N6 w! e/ l/ x5 w
Sending discover...
" |, X3 k H0 d: M, p* ^5 G& pSending discover...# b9 e! P L/ c# }* M3 C6 Q8 L
No lease, failing4 f9 g1 ^; F0 H O+ R# Y; ]' C
done.( B! q s, C1 W0 t3 U, ~! g9 s+ ^
Wed Nov 6 04:33:00 UTC 2013' l' K% ?7 F3 O' T6 W& J
INIT: Entering runlevel: 5! o2 a1 \2 d) H" I9 d
Starting system message bus: dbus.
' H* j; E8 Z6 x$ Y1 uStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
5 Y* n' g) s! s7 n3 ^ ?: [1 p[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
9 K' L3 e- m3 m; K[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
5 p) v7 h4 ^# U0 e; x) q[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)7 T% ]) ]2 }5 K6 @8 q+ z
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
: ^+ O8 G1 n6 K7 J" y( v[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
$ U0 }- I! y- G/ g' k4 [1 c# J4 B[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
z. W8 G# u c" s" b
( C9 L" } q8 s% z# o8 |8 T8 N[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)# a, J( B8 j1 ^5 Y- M# `* M
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
6 n( h3 A" T- \& ]8 S" u5 s[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)9 W$ p$ d7 k, b# u. u2 {- P# X x
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
3 S, d8 i4 c/ _ T m1 }. ?[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)" [0 a1 j' }8 R, B9 X0 {
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid$ `! O& D, Q( g
* g8 x+ m% z5 {% R& K# r( K
就会出现这个问题,请问如何解决
9 c* `! T; z3 a! t& P u* l- o
( w$ N* [5 a4 N& @2 ? |
|