|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
+ w; L* |$ I/ @- a* `- x: o- w [0] = {
5 n* A, m4 o1 s; I7 v. ~% P9 j/ F .start = DA8XX_AEMIF_CS5_BASE,
9 j) t, i5 G# k .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,! C7 C, {$ u- z9 G
.flags = IORESOURCE_MEM,
1 l r% Z) A5 i6 x- H8 P },
K5 H+ g; r+ {/ s [1] = {
+ v0 r" r; M ~' b; _' C .start = -1,
: w9 }) d n3 R6 H, x .end = -1,7 i1 Q* F( K4 S; `3 F0 _
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,4 W. O% Q, ]( O9 x1 x) P
},( u& j2 [# x2 ?9 M/ @
0 L5 T; Y0 [! P% r+ Y$ B8 P3 A
};, T& w* _* f7 E
2 j u. s, P& T% g0 K u
static struct platform_device ax88796b_device = {# w# w4 s' a1 B
.name = "ax88796b",3 t$ J" h U, G' A r- R% `$ i
.dev = { T$ R" @- @3 f+ q. t
8 C8 n1 Z0 b7 M0 J4 _4 c. ^
},, ~7 Z% K- f# E3 g
.num_resources = ARRAY_SIZE(ax88796b_resources),) L1 c( P8 b+ c4 Y5 [
.resource = ax88796b_resources,
5 y7 b0 v, c3 r* g};& g! x( G- b6 w+ h6 z$ ?( U' @5 C" N
! P8 B2 E" R, }+ O( v; Cstatic inline void da850_evm_setup_ax88796b(void)
3 ^, E4 B/ y _- _{
7 _5 e' t) l- o# B* l' V void __iomem *aemif_addr;
/ T3 f c: s4 | int ret = 0;0 B& T8 D8 Z/ r. F _
+ |# L+ ?" E' }
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);+ b+ y3 v8 V, B% P5 }3 W& j- e" S: p
2 y6 ?, C2 a7 \8 Y# ~ if(ret)7 V" z8 P0 O- D: u( s9 D* m6 {. w/ y6 R# U
pr_warning("da850_evm_init: ax88796b mux setup failde:"- f. ~3 J* M; F6 o5 |6 ~" M! R
"%d\n", ret);# M. t3 S0 C7 h0 o2 Y8 D
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);- l5 q* T1 {7 S( x5 F! w7 `6 p
7 s% Q+ J, ?! I2 w5 {6 p* }
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
% {8 v. F1 w$ a: _' y B3 C DA8XX_AEMIF_ASIZE_16BIT,
' M: G5 }4 @3 g9 U4 g aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
+ Z' u" `) H* `; T( { iounmap(aemif_addr);
& M4 \0 T3 D9 W5 ?0 h ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);0 c5 k4 ?( n" b, P9 f
ax88796b_resources[1].end = ax88796b_resources[1].start;
1 t; \' ~3 t! @ ! L. x( U+ c+ K/ w+ q8 W( f
platform_device_register(&ax88796b_device);
( }* j* a) B+ [+ S E
8 ]( O) X% X/ q% S2 D9 G+ d}7 @0 \, D x k! b1 _
# E- s g J& E0 |$ V6 Z
和相关的引脚配置
+ N, ]/ V) z# x编译通过,
. c9 k& K+ o2 j: P3 S在板子内核启动过程中:
* } e2 m1 R, Y' Q5 v( }+ GINIT: version 2.88 booting; }( B8 `9 s& `: J7 d! b
Starting udev
# k1 x0 r( q* L& sStarting Bootlog daemon: bootlogd.
' Y) X0 o: b2 N, }: g# kALSA: Restoring mixer settings...( x# k/ m& x( N7 K3 ? P
/usr/sbin/alsactl: load_state:1686: No soundcards found.... F2 ?' B8 }# p- g" V
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
8 i' b5 W* U8 o. p$ J( S[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)2 t, Q2 s7 o% S! [3 P
udhcpc (v1.20.2) started9 F0 J) d% [4 J) F& }3 l8 d# c
Sending discover...4 I; W" T2 w! O" \% n7 J
Sending discover...
5 [ D6 {9 Y! `. MSending discover...
, h5 o) |) E" |9 W7 wNo lease, failing
: K6 { J/ v5 R/ Y7 B7 Hdone., o. y3 s! p! x' b, N, Z, O9 R
Wed Nov 6 04:33:00 UTC 2013
- X: e$ i. s/ F7 B5 b0 ^INIT: Entering runlevel: 51 }7 W# k, T. c7 F* c# D' c
Starting system message bus: dbus.
. b0 n C X7 N8 ]Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg, Z$ P$ C# j: J7 z4 h: o. L3 q, j$ M8 f
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
& G. S$ z; f- H! Z[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram m( Z) W/ W- T4 @/ Q8 Q
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
- p4 J0 R/ M* }) h0 |[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
$ e6 A9 @# N2 c9 Z; |& S[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)3 s3 f" X4 k8 z# {# G$ M. U
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths/ Q- P$ T1 N% d" K7 m, y0 r( J$ [% D
# [; I$ i4 g# O# Y0 c( x
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
- q, ?. K+ X; B; H[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output- k# w( W$ ]% h( p! h
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
* \, z f- q/ @[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
( K* s* A$ u. U" ^[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
7 a; Y4 i0 S2 l8 Y) _: _* S6 y[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
2 B8 [: h4 F% Q. k. R* }
( X/ @, m2 E+ p C6 I就会出现这个问题,请问如何解决4 H3 f5 b: H- O4 j1 ^
* a% q% y. F1 X$ M0 s: J |
|