|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
; u8 [# H4 D: T# J7 O [0] = {
) H; y2 b: f3 ~; n8 [# Y .start = DA8XX_AEMIF_CS5_BASE,
p# |* w# c5 { .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,5 {4 H3 }2 X2 Y$ `6 r
.flags = IORESOURCE_MEM,
% s( [8 S) V2 J& a" t/ k9 `: T! K7 T },, m& K" x; o1 Z; n/ `
[1] = {/ A! p0 N4 j" A* e' z
.start = -1,
) u; x7 |1 \# e! p- |2 E* W. p .end = -1,, ]1 v7 ?+ R# `
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,4 P3 @7 Z& A6 G& ~4 n
},
% H# h0 g% R5 l& E* u
8 X' s1 N$ } A* ~, j x- Y};
4 U" w: {; ^9 b( X n2 z( U% n, t6 E+ |0 w
static struct platform_device ax88796b_device = {. f- m% J+ j A# O& w
.name = "ax88796b",
) T& m6 u! e! N7 ?+ J* Z6 q .dev = {
8 ^8 c- M; Z5 q, M& E( V0 a* f Y8 u( H7 o* }4 u
},! l: c6 m" v+ V7 @3 e( C6 a
.num_resources = ARRAY_SIZE(ax88796b_resources),& v& n% a0 B& x9 z% J# o9 O
.resource = ax88796b_resources,
( }* |9 ]% _! G5 s: P};: u3 g' ?# k) y/ n( w4 Y3 l' k3 |
4 v" ?% a* s* ]! Ustatic inline void da850_evm_setup_ax88796b(void)
" t0 p! @; x( d. v# X{
* u5 G. ~4 u# Z! x void __iomem *aemif_addr;
' L( j' X7 c* s0 a/ [ int ret = 0; F; Q( t9 q" ~/ C
! e" p6 o1 g& F0 _7 ` ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
0 b: T; N% }& E0 d6 i p/ e6 K+ r) P# l: u7 B- K# w" P
if(ret)
7 G: C! N$ Y q: R" u' V pr_warning("da850_evm_init: ax88796b mux setup failde:"
3 _0 j2 x' O" | Z' `$ F "%d\n", ret);% e% m8 W. e- y) c
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
]7 v$ w9 c1 v3 N/ x: O" _& E 1 b3 c6 o0 ^7 |- @2 u- B/ i, P
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |6 ?' S" S8 P. h7 o! ^
DA8XX_AEMIF_ASIZE_16BIT,: h0 h ^" l8 q: x- k1 m [' q
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
* Z9 g% T& J4 j7 S5 Q8 P* X& [ iounmap(aemif_addr);
% r, S6 i5 M# p G& ~% O* D ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
% A6 I1 `' f% l& |% T- p ax88796b_resources[1].end = ax88796b_resources[1].start;6 [' c7 O$ r& {9 p- U2 b
# k0 u( g" I0 O platform_device_register(&ax88796b_device);
0 b7 p* S5 }% H/ W; e
, V# |$ \- [1 ^/ |0 s0 ?8 C}
' L, T: B1 m0 c' u- \5 w5 q
, A4 ~8 y; f' j% y8 n和相关的引脚配置, F4 @4 F. }7 p) v ]' x. p7 `
编译通过,2 Z1 @& p. I$ o# p7 O0 b
在板子内核启动过程中:
7 v/ @2 c% o/ E$ T& v& ?INIT: version 2.88 booting3 p+ b( T4 |" P2 c: [5 i" `2 M/ ?
Starting udev
8 x | ]" y6 I7 b2 O5 x. z( sStarting Bootlog daemon: bootlogd.
9 |2 O* |# `( tALSA: Restoring mixer settings...6 A/ |, ?: k, L4 w
/usr/sbin/alsactl: load_state:1686: No soundcards found...
8 T2 k- O( K- Y, K4 p9 F X! v' `7 UConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
+ |, U- \% ~/ j! f[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
/ d( ]( j) h% Q* s' J- b$ u8 nudhcpc (v1.20.2) started
8 h& }3 a$ L- ?+ f- y" fSending discover...( `, z) y1 ]4 b" g# w
Sending discover...
( K. O: W" i) T4 ~( r7 k7 M/ x [- ?/ OSending discover...
1 E! G$ u( `. qNo lease, failing, c* }$ t' \% K; x" }
done.% U. ^3 r4 S) j
Wed Nov 6 04:33:00 UTC 2013
# S' s! \) A/ g+ J% s, G9 [INIT: Entering runlevel: 5; X6 ^ c6 s1 M( \
Starting system message bus: dbus.
. z3 ~2 G! D, W4 c GStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
, g9 n( Q# k. w- s0 s1 V[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)1 m" ]. T) E. B) s2 p3 f
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
! G+ K1 W) B7 ^5 p[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
; v* r! u+ w% r8 n; a[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete3 Q" y$ ?- }6 e! a1 l
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)5 c, V! W1 @( T( x3 ^1 A4 U( m
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
+ C6 G0 i M4 l& M; c. B& F" G0 M/ Q
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
& N4 o+ w/ F* }& W4 u[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output4 D( \) G8 B2 {$ |2 |9 A, c
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)5 K. q V7 U0 @& L3 f5 q: C
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
9 |4 _/ O+ q: c[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
/ ~1 @. k/ c4 m0 ~9 e) F[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid% m Z- E$ f# O" p. ~* P
' \9 x. j8 M5 b% e$ ]3 X0 n9 c! u+ @; \
就会出现这个问题,请问如何解决2 V5 }# ?( G6 b, t) v# r
$ {9 `) p1 l Z- s8 b: H. {
|
|