|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {- I8 o$ A. D) ^
[0] = {3 n0 n+ @8 N$ I% t% ?8 t
.start = DA8XX_AEMIF_CS5_BASE,5 g# O; e" Y! ?; R) t# D% j
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,+ U+ B# c' @; w3 M! z! {# D
.flags = IORESOURCE_MEM,( k2 p% M% J! L- {! y2 c. W: m
},/ u. v* [/ I9 H6 M. y
[1] = {
6 P; M4 V5 v* h/ Q9 ?! b$ ` .start = -1,9 q; E: i+ l; [6 T( \7 m9 ]
.end = -1,/ s) Z! V# v0 N1 J; o! o
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,; I) S+ H* D5 m+ _
},8 b t- J y# R9 }+ S" F- C/ I
; W1 |) r9 d; p; a( |3 Z* v3 c
};
+ ^5 E. N6 B% x. O0 _; s
. j/ f: x$ w. O' Vstatic struct platform_device ax88796b_device = {% h6 N+ J, H+ Q
.name = "ax88796b",% f; [4 w. e8 f4 Z% x6 A
.dev = {# V$ H. s3 K; \# o. J% y% \
. R9 F* l5 z. _+ m2 x2 W* `
},
& R6 @9 H z! U* @0 Q( O2 f2 H9 p* A .num_resources = ARRAY_SIZE(ax88796b_resources), t1 ^/ h# P' D' Y* \0 a4 r
.resource = ax88796b_resources,8 J) ?/ @( I* Q/ X" J4 Y
};
! H5 t0 `" f8 L+ a: z
7 M. P+ r8 v+ Astatic inline void da850_evm_setup_ax88796b(void)
8 z; F r! S* T) I{8 q* l% c6 z9 ?3 u m( x8 `
void __iomem *aemif_addr;% b. U L4 ^' m/ j( p4 I6 r3 j* y
int ret = 0;' Q- ]" ]4 n: ^' y: n( H. }- k/ P
4 Z- N7 T5 l/ P, r: C2 O( `# q |
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
/ q# T3 \7 `3 f/ g2 n
, ]; f8 Q0 ]3 @$ Q) G0 w; S if(ret)
6 v5 }3 g, U( h( g9 _ pr_warning("da850_evm_init: ax88796b mux setup failde:"3 _4 r. m" q- ?
"%d\n", ret);
8 D" k8 G9 I5 Y+ J* C0 k; a aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
; u8 A* j h; X) f
% H# \$ ^. m" \! E& b2 g writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |4 E' _- W6 N7 N
DA8XX_AEMIF_ASIZE_16BIT,
& e+ k/ O$ s. Z aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);4 u$ s2 x0 F( S5 F1 {4 U8 J; g
iounmap(aemif_addr);
% I, e4 Q- t' l9 V ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
- ^! S, F! Q4 r- o' Y ax88796b_resources[1].end = ax88796b_resources[1].start;( O, s7 ?1 @9 A' U0 R9 q
+ y1 P! j% v' v9 m platform_device_register(&ax88796b_device);
]6 u* m& ~' d% ` - T) \! C% e; ^1 |& j
}
$ H7 I+ Y0 Z$ M2 t$ M2 Y: P9 p- C) l
和相关的引脚配置1 f& C5 Z6 ]: n/ F' y
编译通过,
) j. @, s r! z4 u) `/ M) N在板子内核启动过程中:' [3 X8 X) n" H+ `7 |7 r1 Y9 _" N
INIT: version 2.88 booting4 t+ m0 `7 C* V$ J& c" J
Starting udev2 J2 g- T4 x2 S; |' s% `
Starting Bootlog daemon: bootlogd.
, V0 L0 B0 x* E' {ALSA: Restoring mixer settings...' q* n0 f. }( e/ ^, S/ B
/usr/sbin/alsactl: load_state:1686: No soundcards found...7 o. O6 N9 d9 {; V/ ~& {4 _
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller% R" m, @& a( {
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
# U4 z4 E" y( ^. L. F. k8 kudhcpc (v1.20.2) started `3 j* ^: z% H) V9 Z9 \
Sending discover..., g8 ?0 p5 L( x
Sending discover...
1 ^4 a7 [; J/ ?5 p9 V* ?# NSending discover...
3 i: _$ \8 R8 X5 P) u6 [, R1 hNo lease, failing- l/ |' Q' ]) `8 l2 t
done./ B- S' Q2 z: e: P. q+ v
Wed Nov 6 04:33:00 UTC 2013
1 I( X; x3 a; pINIT: Entering runlevel: 5
% b/ N4 ], {7 k2 h) hStarting system message bus: dbus.
6 X7 X J, P. G: j6 lStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg* E q! u. P. ]5 P- ]
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)+ c# d; g% H8 B% i/ v
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
& g2 `4 B6 v G5 j8 l[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
9 L" g: L% S# |6 y3 M& l/ M[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
8 l( L0 x. Y1 {7 z* ?) T7 w[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)! O: s1 S! K: W- O7 n. v0 E/ G
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
+ _0 t) l% u' I$ w9 i' z0 ?$ K3 t+ _- M2 d' W) i: H/ g! R
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
, D' `8 ]* F+ d[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output- w! ?" i! P" B! y2 T3 ^( r/ l+ F
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
& `' _/ z$ L9 N# M$ d[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked" B( k0 l6 w! ]: q7 \* r
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
y! C0 G$ f% X" ]# i* z4 u[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid, S# x3 i j# T. ?
7 H' Y0 ^7 [- @
就会出现这个问题,请问如何解决
?( v% M9 D# L! c+ B# D( K/ o$ |+ B0 @9 Y: A; L+ n7 ?
|
|