|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {# X7 u4 Z! Z5 `( O) j# q
[0] = {
, f+ W' a S( e .start = DA8XX_AEMIF_CS5_BASE,
5 ^' ?# u/ A0 ]1 O .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
; ~6 Y4 z8 A. a8 w5 m; @1 M .flags = IORESOURCE_MEM,
X1 \) n, j3 V },. r4 k& c6 X0 \4 Q M2 D. W! y
[1] = {
9 ` r( g# T2 D+ Z7 _/ j$ o .start = -1,3 w' h. \! b5 C/ |/ l1 |4 a
.end = -1,
0 S; @ o2 ]) p) x% Q* ?: T" ^ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,8 C5 g( ~+ A1 Y' M% G g) a g
},
; u- ?: U. k0 N- w( l) v% ~( l# ?+ J* y9 g5 w
};
5 B7 Q. n: G( `! B( L
; H$ ~3 [: W2 ]: jstatic struct platform_device ax88796b_device = {4 j2 ?( E+ X* i: F
.name = "ax88796b",2 n! @! @; u1 }) {% U
.dev = {5 k8 N; Y7 Z* M3 @! X7 T/ Y* b l# U
2 \; i1 Y/ m: l+ t- ~* Z3 H% y4 \ },0 T! x% X- Y. V
.num_resources = ARRAY_SIZE(ax88796b_resources),
# b/ D- R+ \/ f .resource = ax88796b_resources,
, ]/ |! w0 i0 O9 y2 h};
$ l! l+ i" J4 f+ ]& V
& R2 I- n) W ^: vstatic inline void da850_evm_setup_ax88796b(void)
# x, Z$ v3 ?$ s! j0 M& R1 W{- T: O0 {' g3 I
void __iomem *aemif_addr;
2 x* s% v% R4 l7 c$ c2 k1 @0 F6 l int ret = 0;7 a8 A8 }" @$ R; W9 U2 ^) y
, K y! G0 p" r2 P- N
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
. k" s# b# j; [+ A! X5 C1 m / l) [, g$ _' N% e
if(ret)0 A8 d" e( w3 C. N5 ~' P8 ^6 w7 D, Z
pr_warning("da850_evm_init: ax88796b mux setup failde:"
8 y) x/ f+ X5 h. i8 N9 W "%d\n", ret);
0 Z! s2 B: a: D* a& U) q+ f, X aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
& Y) S Q a" O, P
0 h+ R- k; [* Y, o8 n7 z writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |0 A, _1 r# }' h
DA8XX_AEMIF_ASIZE_16BIT,& V3 {- I) e* _& `
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);' E, h) `# J+ A' f3 n! }
iounmap(aemif_addr);' e/ b/ A7 J0 R% z
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);* h0 d- u4 r5 L: M& N. i" }: d
ax88796b_resources[1].end = ax88796b_resources[1].start;
4 Y. v4 \/ V0 ^) G J6 G$ r( I H
1 e$ ~4 _- @3 N platform_device_register(&ax88796b_device);& t+ c; V/ {" h+ Y, u
; c, G1 F) |/ G' W}
1 @! \2 d* I0 X2 S& |, u6 X8 e/ [' u
; D" h1 o" g ?( K! p和相关的引脚配置
( j* S- j' w1 k- Z* P ?编译通过,
% ` A2 \4 q6 O8 t9 {& X3 w3 A1 L在板子内核启动过程中:
+ u3 ~+ S' `8 j" j7 KINIT: version 2.88 booting
, U3 B3 l P/ e L* qStarting udev
, j; R: k' e6 VStarting Bootlog daemon: bootlogd.
$ n: N4 E6 V; J4 X0 z( g3 UALSA: Restoring mixer settings...
+ U/ g: p, }* H+ E/usr/sbin/alsactl: load_state:1686: No soundcards found...' r- x3 C* p w
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
1 H0 |* _3 W P1 f[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)8 p! o. d# Y' g1 R, F! R7 c& Y
udhcpc (v1.20.2) started4 ]% k) ~7 |1 C+ T* r8 y2 ]
Sending discover...
9 D# Q' z4 k2 \0 K' y' ~Sending discover...
; ]) F0 a( e0 o) [& D3 j5 S2 ^1 kSending discover...9 E' c1 Q8 d# Q& i
No lease, failing
+ E, k/ S K' `% c7 Y7 Ldone.
' g8 R3 S& ]+ C: D/ SWed Nov 6 04:33:00 UTC 2013& a# Z5 x8 u( \# p. M; ]* v$ S
INIT: Entering runlevel: 5
/ M! u9 a# Z; c+ \$ ` wStarting system message bus: dbus.
' k7 W2 C7 K$ S2 w2 ` o; ~, tStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
' F* k/ N$ y7 i1 }* B8 H- X[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
7 m! k1 o p( C: n/ K[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
* B" y( S' s9 q, G/ D[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)8 f) L" Y$ O4 M/ H8 p8 e
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete# |; b! T, f& A& ~' ~$ m( X
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
, D( j: e4 c$ B1 b$ t8 ^[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths s+ K6 b- x; g% `& r! c
8 D) B. C! g! K8 q' d, @" K. c& {
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)( ] w' e: _& j: h$ ]. U
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output" E% Z" U) R+ |( l- O5 E
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
$ O7 p- p4 |: k" p3 L& _[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked9 A0 F" y! v" ?% U0 G
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)7 F# y3 M" `; t
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
+ y% R3 y9 K ?( @: [0 u
5 m) E+ [3 Z3 Y: ^就会出现这个问题,请问如何解决
" ^. h! @3 L; E# N2 W B
7 Y- M; J( c1 j% {+ X |
|