|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
4 F9 M( |% B: Z [0] = {! W' {. l0 A+ N9 Y
.start = DA8XX_AEMIF_CS5_BASE,) Z$ J( L3 P: J& H+ z+ ^
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,- c* W) i j9 y7 G+ I5 b
.flags = IORESOURCE_MEM,
+ i0 G" r5 T5 G8 k2 t8 h },& D1 Q* g& z p8 B. I' Y4 K/ \1 d
[1] = {! O8 s$ s: ?: W8 @: T/ y
.start = -1,5 p) c6 W9 x+ E0 ?. w: O) L
.end = -1,
( G A7 k k3 T3 A .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,- i% C# l- F7 O" q6 z3 j ?
}," N: M) w8 w9 Q) Y' @
2 z, M) N2 {/ P" q" `% V% N: a
};
, M0 U2 e/ K p6 [5 |; Q3 G" A+ R7 o' j0 Y9 t
static struct platform_device ax88796b_device = {% P, ` ]/ i$ z, U& D! o
.name = "ax88796b",7 P% X' w& {8 j' _/ i' n
.dev = {: ^# b; \- A2 w
2 H! B* E& |4 F w4 N8 h7 J
},8 v% C5 P! F3 u$ j. T( v4 H
.num_resources = ARRAY_SIZE(ax88796b_resources),
: e9 i6 F: E: G .resource = ax88796b_resources,
6 j$ h" {8 |1 D. B2 h! g};: L; U! o1 ~! T! E2 U* [+ E
9 M1 |" g7 p1 E5 C. ?, Q- t. ]
static inline void da850_evm_setup_ax88796b(void)! u2 \ G# U4 D' y" P* D
{
' y0 l7 J& W, c+ b void __iomem *aemif_addr;0 d! d' A7 o9 A A
int ret = 0;
3 c8 d0 }) z7 a" | ; Q8 a/ G+ z. W: v; t1 C) ?4 R
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
% F6 D5 S$ A) I0 V1 J: s% W6 T
( M7 j7 I% _! T9 L; c8 S if(ret)- z/ c, M9 R/ U6 g: [6 b8 k; A
pr_warning("da850_evm_init: ax88796b mux setup failde:"# G2 q, l' P; u; h- s+ I
"%d\n", ret);8 q0 ~( r D5 a: e
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
- a' u! X. `4 {3 J/ b4 g7 I
/ n" ~' B/ Q h2 e' D/ x6 F& b writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
" L- W. B% L5 s, R DA8XX_AEMIF_ASIZE_16BIT,
. e- t H4 ~9 l; T aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
3 z8 Q3 x; M' l3 l iounmap(aemif_addr);
# l# I+ h7 K4 o2 B) z- B/ a' a7 W ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
/ p7 q5 I' n8 B9 x) T ax88796b_resources[1].end = ax88796b_resources[1].start;7 Q: H% t' B8 R4 c, L" b5 I* F& y3 |
8 r. N+ m; J: F
platform_device_register(&ax88796b_device);
- \; w0 | O/ u* l
$ c# G# x. |" Y}/ s/ N8 v. A H' [8 ]8 e( B
0 a( d% `# a- {# h; d8 \# {, k和相关的引脚配置& L4 u# K( v- s) b+ P X
编译通过,
; _3 n E z6 t在板子内核启动过程中:
8 C7 k3 e1 k8 f5 v7 |INIT: version 2.88 booting8 \8 c# ?7 V7 t. _: P
Starting udev. U' k# u1 o) [
Starting Bootlog daemon: bootlogd.
Q( J1 O2 O" E+ J/ h$ l$ k' H4 qALSA: Restoring mixer settings...
6 A1 v8 {8 W$ K/usr/sbin/alsactl: load_state:1686: No soundcards found...
, ~7 Q! G8 |7 Z; b! _+ Y6 g5 ?- ?Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
: b5 o1 \) b. E/ G! J" H$ B[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
$ J- j+ M3 c' z7 K/ B2 C0 eudhcpc (v1.20.2) started$ l: F9 q# T& G, e& g
Sending discover...
! `0 j8 _$ x5 M6 KSending discover...
! l( J8 e. e' a4 aSending discover...
0 {- S/ u8 }9 s& yNo lease, failing# C6 ^0 X9 J& }) L7 K' M9 i
done.
8 c/ B3 i+ @9 \9 e) vWed Nov 6 04:33:00 UTC 2013, s- T" J$ r/ b# W+ i! M
INIT: Entering runlevel: 5
$ [: ^# p* t, n8 N% m6 i8 P! q* @- qStarting system message bus: dbus.
+ t6 r" d8 x8 W HStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
, [0 o4 i# H7 w2 E, g& h[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)8 U6 B% f! g4 C( M
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram. K1 J: c: n- l
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
6 D! A* ^% |& n) Z3 G[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete% i( v8 B- f. ^8 r
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
* B* \5 n/ p0 {# s$ s) m[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
% V+ a$ s: q0 I0 i9 c. c- q( |2 A
2 S$ u$ _; ^( d% r- F+ }[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
3 e8 x4 v! V" k h$ u. B, K[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output# M3 B' |3 |- d+ Y. L: g
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22). A6 I) f% D% {
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked. u8 y8 c# ~- ~
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
" ~1 j" A# w. \5 T6 `' O[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
% E; p# z) a0 h& `* H8 V2 A
' ^1 d5 U+ l+ J/ T% s7 H; n就会出现这个问题,请问如何解决
3 H7 F! l( }" \
1 k3 d$ r" L1 |" T/ N |
|