|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {) k' X8 v: K: Q$ l
[0] = {% f% T9 ^; Z {! z
.start = DA8XX_AEMIF_CS5_BASE,
S& m* R0 t: i3 [/ l Y .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
% X" M6 g* C, X" G% `4 N3 z& W .flags = IORESOURCE_MEM,
( P, W# X& v( ] n },
7 c) Z a9 e) @7 b [1] = {
5 B! b* H7 Q* g .start = -1,
0 P# t% }9 v0 A* s m .end = -1,3 x3 H& d9 \5 e, i ?3 _
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,1 [. Q4 P+ d& r ?% g' g
},
. i1 s) K: G$ M( k' o6 f: y& `/ |5 _; j9 f7 B4 V) a
};
% \8 y0 q! \7 D
, v& m \' \' Rstatic struct platform_device ax88796b_device = { ]7 F' j: }, j+ r* q) i) k
.name = "ax88796b",, g. d# H4 w8 b, G# T \) Z( X5 D
.dev = {
1 ]! v! S% a, Z% S5 q, \3 P$ g9 y; c% n& Q1 T
},+ i6 V& _- m% a5 W+ Z, K
.num_resources = ARRAY_SIZE(ax88796b_resources),
! k* A7 K n# ^; |/ p9 L, I) b .resource = ax88796b_resources,% x6 o1 U, _) J
};
6 I* D! f3 f" S# }) X
- v* D/ W4 z! w+ E: m5 m. t/ Vstatic inline void da850_evm_setup_ax88796b(void)* `3 y5 q# f7 e R
{
4 g2 {2 r; x( N void __iomem *aemif_addr;
# e" ~2 c; z. o% U8 K) h7 g6 | int ret = 0;
2 P+ a! o, S' b4 [7 j/ W# B 6 |& q z2 B$ A5 Y. w
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);5 x3 J" F! a/ B' ], E6 U6 Q
7 F7 y% n, k- j. B$ E: S
if(ret)7 W" c- k6 v n. M1 I* ^
pr_warning("da850_evm_init: ax88796b mux setup failde:"! d" x' P, X# k: o0 E
"%d\n", ret);4 M2 w. P3 G& u5 T+ O/ J: I
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
1 v' D" A0 t: h2 H- G5 ? 3 S4 j: Y. }& X! M
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |: s4 c7 S: v2 x
DA8XX_AEMIF_ASIZE_16BIT,6 H0 \5 K z( V
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);5 B) _& E/ x9 T& o" u2 `
iounmap(aemif_addr);$ h$ w# [% s: }
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
; B% ?8 J c- ?. e7 t- }" y: P. k( F- b ax88796b_resources[1].end = ax88796b_resources[1].start;& B: V/ r0 V, j, s. _. J
- w; Q! l0 T9 Y platform_device_register(&ax88796b_device);
! G! r& _) [9 d; v4 w
: e, N" D$ ?+ ` _# C: H}( Y5 s3 g/ H9 Y% S3 I7 j
! X3 i1 @/ g9 a& L; M, _
和相关的引脚配置
4 w. N6 U% ]( L% y' u) j编译通过,
4 K5 R0 o6 a: P4 k+ B在板子内核启动过程中:
3 f+ D1 Q; L0 W9 Z7 HINIT: version 2.88 booting
/ S k+ _# U' P' p5 vStarting udev2 d1 U) h' ^ R5 k4 }) G
Starting Bootlog daemon: bootlogd.
* Q M3 ^- N, V2 N3 XALSA: Restoring mixer settings...4 h ^- g5 u0 Z$ m2 x( P9 w7 A3 A" |" G
/usr/sbin/alsactl: load_state:1686: No soundcards found...4 W2 U5 K& `" @' ]0 S' O$ S, e
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
6 I- S2 ^6 Z0 u# t- M6 O! O[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)+ H1 `$ {6 A( V( ~6 a" Y. n3 u1 ~8 E
udhcpc (v1.20.2) started2 D* u% K/ G3 W, h* G [* E. Y' k
Sending discover...
! Q, b/ Y- D' y* j* hSending discover...: n. n+ o6 A# M7 O2 k$ y9 K% u1 R6 c
Sending discover...8 R) }8 P5 N) @* V$ |
No lease, failing5 a0 t8 m/ Q% [' B
done.
" B2 Y( T% s p* l* G% ^" _* lWed Nov 6 04:33:00 UTC 2013
8 r, v& U F/ t% R0 E) q8 AINIT: Entering runlevel: 5; N4 C$ j$ j# J
Starting system message bus: dbus.
1 P- {7 _' \3 _ T" b* IStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
+ k$ U. i% v8 ]( u$ l, q+ B, y[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
0 v4 ^. ~* u' i4 f[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
8 y2 j$ m" }5 Z$ {2 v" Y; x+ q[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)' @% [: h) X" }
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete! h& E# S1 c j d! j5 H! n }0 f V5 N
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
: k2 e# D$ a5 v- G[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
, s+ i, o C6 _5 g% b: N
7 A& n2 }9 X8 F* b( W[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
7 K0 @2 m9 w! S/ W% s2 z" l5 f[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
4 |' Q5 _+ Q) I- E5 y[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
4 B, r. v# w& v6 \& r* P[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked) v; z( ]; H& I. n4 i
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
, F: O. J0 Q* p2 w0 W4 \4 K[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
: S6 b8 f; G+ w* |9 J o' w. Y# ]7 u9 D4 u# U
就会出现这个问题,请问如何解决7 t# |# x/ H% W. L
: |5 G4 J/ h4 l1 F8 r* N
|
|