|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
4 b# Z# B& c& I, F [0] = {7 s6 g' |2 J( u+ K( l# \" I
.start = DA8XX_AEMIF_CS5_BASE,0 e# r6 ^( N" C {8 x- x
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
: c5 m$ K7 d( C0 J# f .flags = IORESOURCE_MEM,
8 k8 }8 H e. P6 H+ d },: P+ U9 q" q: a- a& `- q8 A8 G
[1] = {
; f" a8 M! J9 r0 _1 G" X, O% i/ B .start = -1,! ^* D$ _) s& W7 N2 u/ y, t
.end = -1,: G1 d' E3 }: a) [8 e
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
/ ]0 V- }1 `4 ~& W/ a# u/ M2 s' s },- ]5 D7 `0 |1 b" M" C G1 S6 J
0 j2 E# W7 h# u# k};
) n9 x3 g% V. q2 Q- K/ C4 z$ u' p: H+ K% _/ z; K$ z, S
static struct platform_device ax88796b_device = {
H+ x" y6 a& b6 T2 J .name = "ax88796b"," X' i- V9 h4 k9 n/ n
.dev = {
1 @4 x P' Z4 `1 s1 \* }$ C) o8 P4 D4 h4 M
},; L' A/ D: c7 S. l2 M% n; j
.num_resources = ARRAY_SIZE(ax88796b_resources),
G$ [7 i, k3 H6 U6 K& l" E$ { .resource = ax88796b_resources,
' h" R0 U/ j# O# P0 z4 X' @};
$ ]6 D1 `- n! U) ]7 E, \$ b" v' c) ?; c
static inline void da850_evm_setup_ax88796b(void)/ p* e4 }" c) Z5 j, v
{
. O( i" m7 J& z7 K void __iomem *aemif_addr;' n5 f T) q# U' T6 z* |
int ret = 0;
7 R% k4 G. N- L) y+ v0 Q( Z 4 s0 [6 Q% J: ^# H# }$ V: Q* i' L
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
+ u7 O7 P8 y; E; f' C
2 k* M! X5 C3 \# O% ` k3 x7 O if(ret)4 e! o# I" k2 d" J8 H
pr_warning("da850_evm_init: ax88796b mux setup failde:"! [& l5 }& k @
"%d\n", ret);# E C0 K0 e F' ^
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
& o" ~% h& Y: a n% a ! j2 \2 n, P" t) a+ u
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |: O* x0 E. v2 v5 K
DA8XX_AEMIF_ASIZE_16BIT,
: E6 f. ^) q F5 N2 S- p7 o aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
0 e+ l3 T2 [! A) y* e iounmap(aemif_addr);
" R6 Y! x( T5 ]! P8 D ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);( g8 \. o1 K* G4 `' @/ C/ h* |( T
ax88796b_resources[1].end = ax88796b_resources[1].start;
: N1 |5 C. F: ~7 E. b
# ?4 j3 S5 a, V' o+ G platform_device_register(&ax88796b_device);8 X1 I9 O) n4 t
% L& F$ }! q# e1 `. \0 p$ s' U
}- M q5 o* l# M& j
, u6 G6 w% p9 J/ v7 _4 e2 ~1 I
和相关的引脚配置* m0 o" a5 ^' Z9 f* p. H
编译通过,
* k; ^; R$ J, e* f在板子内核启动过程中:# p3 F3 t, v5 g
INIT: version 2.88 booting
: n$ M" k/ r: j AStarting udev/ M3 E9 I4 @ W% _$ J
Starting Bootlog daemon: bootlogd.+ l4 X5 F6 Q! `/ Y1 h
ALSA: Restoring mixer settings...
0 g: i* N% }- R! ]6 O- {/usr/sbin/alsactl: load_state:1686: No soundcards found...
5 F# [" y/ C; `" b5 HConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
0 X. i$ [ n; x# c1 f! v& h1 C[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)& B4 }- @/ T% `4 ^( d
udhcpc (v1.20.2) started
' }7 l. G ~* O: oSending discover...
" k9 C& P4 M; A4 L" P% Y. o; ASending discover...
# D. y" b& \$ }8 WSending discover...4 h5 q" {# x4 G# s& X2 e# ?" }& m% i
No lease, failing- y2 U* Z, f/ d0 P5 o* j
done.
* m v5 w! h+ |3 u- cWed Nov 6 04:33:00 UTC 2013
2 S4 b3 {# J& D- oINIT: Entering runlevel: 5
; j3 y1 v0 P/ X: f, uStarting system message bus: dbus.9 `. b& y& |- f" R- Y
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg/ ]1 ]# h& H7 D" G) s: D
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
_1 I- P) o4 A6 X# l[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram% u5 a \1 u2 S$ h% U, E
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
* @# l& j' r: q) S6 M; p/ q% K[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete' S7 N+ K2 ?- W+ m$ B
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22): O( ^# y$ m+ F* d
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
+ w! }: L9 `9 c2 K; b' y/ f+ U* R4 R' I' M% I8 s
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
" U0 [( e8 a" V/ x# S[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output& y' g, a4 g( B; e* _" Z) ~) p
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)! e" j2 q1 ?- s7 r7 T# \8 T
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
9 a% k8 W) D \- [, D! m. w[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
7 R& \5 E# S" h" Y/ I! b% P[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
% Z# l7 Z0 U: o3 D2 V1 N. Y
' p [: X% N' _就会出现这个问题,请问如何解决
( Q) ~; @' c; y# I9 L/ Q7 k0 l3 x8 _, s0 T
|
|