|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {" }' r9 m I; h9 P8 O
[0] = {
6 p) C" J# X4 w! g K* q .start = DA8XX_AEMIF_CS5_BASE,
7 i; f8 Y3 P) C+ ]# r5 D .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,* B4 w/ a& J4 A) J" A# `5 @
.flags = IORESOURCE_MEM,: Y7 {! f$ `3 W% ^
},3 Q- y9 i2 K3 T8 H9 Y4 s
[1] = {
" K1 x3 Q& ^4 @ .start = -1,' Y5 w3 S+ _8 W2 P4 a
.end = -1,( e9 G) }; @ I, b9 {
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, h: q$ `5 d# P) \3 K" O% v4 _
},* E! h0 R( G- e/ o# v4 f, G5 ~9 z
/ ^* s5 v+ f: |# _) }" M0 u};# J& h$ c: {8 H! `* h" e
) {2 d2 j2 u+ D0 Wstatic struct platform_device ax88796b_device = {
7 I/ l, Z4 t0 v# I3 o( q7 t .name = "ax88796b",
4 Q* c. c* p. _$ Q6 u$ l .dev = {
+ r, _0 p, b" @6 Y6 \0 w+ w3 E2 ?; D3 k3 ^4 B, O* L
},
' ~, s; y) h6 X" j .num_resources = ARRAY_SIZE(ax88796b_resources),
8 C) z1 M! d* l' h2 D6 n+ h3 R' } .resource = ax88796b_resources,. l; b' R, A; ^% v+ ?
};* E( g% D1 v4 Y2 H$ ~; I$ K$ k
( I2 g. b4 k- w( p+ d
static inline void da850_evm_setup_ax88796b(void)
: @ W' Z, X" Z2 s: L+ S{
" W) ^5 [- @# v, ]+ Z# |; I k void __iomem *aemif_addr;
6 E% j* }" r E" `3 Y1 x int ret = 0;
0 O: [9 Q3 Z0 M, ?5 I; v$ k ; o. c& u2 |# v, [# w- {
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
! J# ~9 G( L! e- [) x, X6 r' ?7 O. w / i* C. Y" b# R0 c- _9 Z
if(ret)
$ n" d, H* v+ ?9 b7 A. E- r pr_warning("da850_evm_init: ax88796b mux setup failde:"- ^7 l# M) z1 q+ |- E$ K8 K
"%d\n", ret);
; h& z* M9 _% `0 h6 I) E7 ] aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
' B; ~3 S" t, n0 T* m
8 o, u, j3 z* ]6 k: S v; f writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |, D g- y. ^8 X' b% c. d/ r! D
DA8XX_AEMIF_ASIZE_16BIT,; Y a2 x( A. T5 y2 U
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
- R0 J- y9 L. G* ~- \# d d; n iounmap(aemif_addr);
) a2 v5 n4 r9 d t( j; B1 K ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);0 ~; e( q& ]; ~% C2 |
ax88796b_resources[1].end = ax88796b_resources[1].start;4 S6 G% O1 H% p- W
# v# n7 O: s/ j. e$ o1 e4 _ platform_device_register(&ax88796b_device);1 X* h& i. R% j# A! j* l; q
! v, ?% @7 l- q2 ]6 T
}- f" Q+ O+ C2 n) _0 p: t1 x- ?
( d) D! T7 R8 a9 _/ i7 I# G和相关的引脚配置
: w4 G) S, o3 y8 H编译通过,
( I! z1 k8 V7 `4 ?! U在板子内核启动过程中:. Z+ g! C8 y* s( }
INIT: version 2.88 booting
# u4 R8 ^+ b+ E! F0 n1 lStarting udev
3 a r+ L1 C$ X5 D' p+ C+ fStarting Bootlog daemon: bootlogd., W7 g& L0 m$ }- o- }
ALSA: Restoring mixer settings...0 Y' B: |5 v" d- o( _, M5 ], e
/usr/sbin/alsactl: load_state:1686: No soundcards found...
' }; w& |1 D0 L7 kConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller) s7 \8 L2 V9 V$ q3 d3 @/ o8 J
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
4 o G; q$ S1 t1 f" \" Yudhcpc (v1.20.2) started# r; l# h# W! i7 Z4 O2 P* ?
Sending discover...
# l7 T" q% T5 c- j# m$ iSending discover...
! l; O6 D0 U( O% }1 Q6 hSending discover...
; \1 U& S/ r# v% h+ E. a7 i# S) ?No lease, failing
% u2 h4 _0 |0 `$ ^7 `$ Rdone.7 p7 D, g7 s; y j! k- V5 }
Wed Nov 6 04:33:00 UTC 2013
6 A$ o& T5 K5 c# g$ T- _INIT: Entering runlevel: 5
2 y: @3 R( l5 t$ E T4 dStarting system message bus: dbus.
( |2 T% e- a9 z$ O5 TStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
0 C" ]( s$ j* m S+ w[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
) j: ]6 @- R' U% [8 _- k0 o[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram7 A* H4 U( O3 G* @
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22). W3 [) U" M3 m* |4 e4 n
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete1 \' n* n7 z9 v6 s: U9 F; G
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)+ y5 {* o& Y+ l
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
- l8 h2 O, u0 `% l7 V3 K
+ d9 |' w) e& A* P$ ^% P' |[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)" v& }, H- T3 f
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
, U, T$ S" a E" J7 ^[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)' E* \! O2 {% b2 o F L' _+ o; h
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
: T6 A8 i% D8 Y3 a[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
* l& P6 r6 c0 s( m, w7 E" P[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
& p% g7 q" ~- J
3 t( k' |! g8 s, Z0 H& p$ b2 a就会出现这个问题,请问如何解决
, Q& ]0 a* d, ^8 E4 b/ Z1 p! E9 @9 L# P7 A! @0 ~
|
|