|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {# e% n; c1 s$ ]$ B3 b# \# b0 N
[0] = {, v* V1 B) E3 B! m6 ^
.start = DA8XX_AEMIF_CS5_BASE,
|; F6 R3 i1 I* f! |$ s .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
$ A# N& J7 J* H7 f' E .flags = IORESOURCE_MEM,9 P! _! |# F5 g: N
},
: n" h# I2 S1 n0 G: v) W+ M+ C [1] = {0 w) _3 _) s! t7 r0 K- `
.start = -1,
% W4 \7 e. ~# M" @ .end = -1,
/ Q3 q# ?4 }" q .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
1 g* l: k, N/ R, n% G },
, C* P) }: k H* k. W7 l8 w
4 X" J% z2 }9 x3 d T};
# z$ |" {8 E& O3 O7 N3 J
! |8 A5 r7 g3 ], I& i0 E/ ^$ Astatic struct platform_device ax88796b_device = {
+ d9 O* `3 b' _- C .name = "ax88796b",
: q J" s m/ A W: m! F& d .dev = {
& f, x& z7 C# K2 j& {7 h% s9 j) f! U# {8 Z
},. k+ X1 D3 H% d1 [# B' J/ Q
.num_resources = ARRAY_SIZE(ax88796b_resources),
$ P+ W& v4 @6 u .resource = ax88796b_resources,
J1 O5 m3 J5 d/ Q6 v$ I; [2 @' z};
' t9 v! P: r$ n/ u8 ]/ D& U- D* R6 N% _' Y. I8 Z2 z
static inline void da850_evm_setup_ax88796b(void)
1 S* y& ^! E- {{
3 n/ @" O0 Z' h4 U7 p8 l void __iomem *aemif_addr;
' S: S4 H A) ]5 h int ret = 0;
$ N( Q: n. a' ? F2 e' I ; _& u0 P6 m2 b! Z+ C
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
% ~4 l6 h& V S2 I 5 O9 I& [; h6 ^. W1 |
if(ret)6 O2 c8 o& A3 I2 v& s
pr_warning("da850_evm_init: ax88796b mux setup failde:"1 ~) b0 y2 G3 j$ ~3 W
"%d\n", ret);* W i* R8 w O/ u& o; D; i8 E
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
$ s) t) [6 R5 x! r; | m$ R5 J
, o- F. N I: c! |9 X- m6 {: N- s5 |# A writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |- f) \# D' [- a. P. f; O: b2 x
DA8XX_AEMIF_ASIZE_16BIT,
9 w& V7 \% @. D) R- Q3 G4 i$ X aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);& r3 _7 _* W# @# t! ~: D6 i& ]
iounmap(aemif_addr);. k1 v. }$ Q* h/ E
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);/ m+ q6 m( ?) W* W
ax88796b_resources[1].end = ax88796b_resources[1].start;, q( |' o1 q8 J3 l5 w
* g& n) X F9 y5 @( k. F
platform_device_register(&ax88796b_device);: ^4 O( H% X; H% L
6 N; K0 P( a) n K j
}
: o, B$ v- w; a& ] J I
& g$ r( V1 K& Z和相关的引脚配置
7 s& ^1 }& u% V p! o: P4 _9 y/ x2 s编译通过, n0 F7 d" b( d
在板子内核启动过程中:. U) F9 [1 y+ W& O- Y# s, k Z
INIT: version 2.88 booting
5 D3 d0 a* E3 R( w7 MStarting udev
+ l% _% f: e. s- KStarting Bootlog daemon: bootlogd.& z) I8 R; Y& q8 R/ l0 Y4 X
ALSA: Restoring mixer settings...4 N A/ B, g- |- n- m0 o
/usr/sbin/alsactl: load_state:1686: No soundcards found...$ q& A! Y- G- q- L$ Y
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller' j2 y3 Z2 A% z. `6 P
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)9 m F" }. y9 F! `' c
udhcpc (v1.20.2) started8 e2 w( U' Q+ w
Sending discover...
P* X9 L& |3 O: dSending discover...
: j$ t* \9 z" OSending discover...# }$ h' l' o. K, Q+ S
No lease, failing1 _* W ~! L' Q! I; ?; X
done.
: P6 t- `. _, A% Q, W% r2 [Wed Nov 6 04:33:00 UTC 2013$ j4 k2 W0 E5 \0 L7 b6 ^1 R) k
INIT: Entering runlevel: 5& p, r, [/ d) s1 q. o: j/ G7 z
Starting system message bus: dbus.
0 ]2 N. d" _' \Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg# R4 g' m, W! b9 F' D. _
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
: |2 b0 Z- E6 g1 b% v: k! a1 a1 Y! |. r[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram/ q8 a1 Q* ^8 O1 R
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)8 Q8 K, K( }8 L k# m
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete- E4 w, R+ N0 G1 h5 V
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
/ N, n! n, _7 E) Y2 ?9 U9 h[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
9 ~9 F9 A" \" ]' Q8 F+ V- F$ o* A/ {" X' `
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
]0 [& B, d- A3 g[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
, E0 G, A9 J; L8 k. C& e[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22); o, D0 {' U0 X$ I
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked6 m$ ^3 {; Z$ U
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)7 U: Z1 K! H4 Y9 o" `7 i& p9 T- b
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
- Z+ h3 b+ F1 }3 h
# ]+ E, J& G( Q, H3 W就会出现这个问题,请问如何解决
3 Y" P# f4 F- g9 k/ u w# O1 n" m& U, U. Z/ s( w% i
|
|