|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
; }2 ^% L, l* K$ {; d1 z U. ` [0] = {
# |2 I; _' ]+ g4 Y! \$ E .start = DA8XX_AEMIF_CS5_BASE,7 v' o0 x' R. t& i" o& Y
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
& Z/ Z) m. H# ~ .flags = IORESOURCE_MEM,
7 L1 B+ Q; U/ s7 @8 s% R# f },
4 j/ ?0 D$ E) t# {, X8 B* X, g [1] = {; o. U5 ? R9 t- c; g% q
.start = -1,
; S3 \5 z* q) [, a& { .end = -1,
4 Z2 t+ D" L" @% I4 y- X .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,1 H/ N" q: c" U. b
},4 Y, [/ K. y% B6 q" t; K* K
" H/ J1 ~' f @- f1 N2 |
};3 g% |6 l7 O& j/ H' i9 c; V
' r& d" z/ ~/ zstatic struct platform_device ax88796b_device = {* @+ m* o- u" x w
.name = "ax88796b",
1 m1 y7 E- j' \4 o. a+ J3 | .dev = {9 x/ X0 {' O6 w* n' D3 W
3 n. z# _# g- N5 C },( h& `! F" i z* ^
.num_resources = ARRAY_SIZE(ax88796b_resources),: ^0 i9 |8 \! K
.resource = ax88796b_resources,
& |5 Z6 i. z8 C& v5 B+ s};
+ M/ H8 ^/ V( h" U6 G% L1 q. N! T7 [" G* O' j6 L
static inline void da850_evm_setup_ax88796b(void)
+ c5 S0 y! G1 Y# d! E: n$ f{
! B% s! z, I7 L$ u D7 p% u [ void __iomem *aemif_addr;) N) D: D( ? [8 f& J
int ret = 0;/ D) j6 e9 s+ @& b* h
* u% u& l2 ~$ ?7 i# C% Q. L* m ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
( T: B3 D- p7 q2 C6 l% n9 U & W% |, b( f* ~1 R% S1 K. q
if(ret)
+ k q( B+ m3 j2 X, D pr_warning("da850_evm_init: ax88796b mux setup failde:"0 z. d( K7 h% U- P
"%d\n", ret);5 ]" i2 r$ Q7 H0 Q4 J% B/ p% q: b5 n2 S
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);! G ~$ \+ m/ A! S& r
& F* O9 U' U: v
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |2 x/ P, g m$ ~/ K! W
DA8XX_AEMIF_ASIZE_16BIT,% K& m$ n. U0 U9 [5 H
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
" B1 |- T6 W- v0 { `6 ] iounmap(aemif_addr);
% S; A7 _3 R% Z/ D5 H ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);. I+ P1 v; c! f" S) c/ u- o C+ G
ax88796b_resources[1].end = ax88796b_resources[1].start;1 ~$ m n4 J; c& Q- A" N
* L/ U0 f M Z3 }0 l( I# D& p
platform_device_register(&ax88796b_device); f% w! {# X5 A$ @3 f
% t I2 z. Y8 r/ ~% x
}
# N8 T' X* e. V4 K# e" g2 y3 b/ a+ W" f
和相关的引脚配置
; e! @6 i0 e, O; w编译通过," r( q6 z' j" U5 A+ l) C
在板子内核启动过程中:
/ s* z5 c1 j( F# Y2 c& wINIT: version 2.88 booting
2 N6 I, Y8 ]/ P# cStarting udev
{+ J. j( Z# n9 r8 r/ l9 c+ l! i0 MStarting Bootlog daemon: bootlogd.. d* m9 f" k# T
ALSA: Restoring mixer settings...& M. Z% m+ F2 L* }! d
/usr/sbin/alsactl: load_state:1686: No soundcards found...
$ O/ B8 h# }" o8 [9 F2 I) Q! i _Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
! E6 i: q& W! t6 s[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
: }+ ~) Q2 {# P8 s( [0 ^7 Kudhcpc (v1.20.2) started
g/ t7 G! A% G( [; zSending discover...1 ?8 T) z3 Z; W! }' D
Sending discover...3 @" \8 [$ M3 Q+ `0 q, [7 F/ [
Sending discover...
; ?1 M- \; D$ k0 lNo lease, failing
+ \+ u. F1 d, s" xdone.' G- @4 z% q1 n2 x% y+ m
Wed Nov 6 04:33:00 UTC 2013
2 u- f: `3 H6 y# [# |) S7 `INIT: Entering runlevel: 5
5 _/ F x% E( N* d1 m4 x8 q) eStarting system message bus: dbus. k# d6 T/ n; L$ _, T3 A
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg" p; \, r8 T6 F1 V
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)6 K ~) M) D1 u" C! q2 U) s
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
: `% M* q" l3 w, I[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
3 b* ~# n$ C6 Y[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete7 X p0 Y1 `* S, D" K8 }
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
) m2 \( U! }4 r. {+ O# g[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
# k# ~, G+ h; ^/ G6 x+ K6 M/ y3 R. k' k# R; f
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
% E0 m# s2 \- l# u+ r[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output5 [) \6 }! c$ e! R, W9 k
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)6 Z" h4 T* P6 v* m% e: u- x/ \
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
9 o& {# F5 _/ E% q3 z; Y" f( q+ E. ][ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)$ ? T- @3 ^. A- K& K1 L" f0 f
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
; s. c# n$ e. E2 g
* }: `; e2 ~& F: e- k! u1 f: g就会出现这个问题,请问如何解决' ^( O6 n. ~7 J$ ~, R( v! x
' b! U/ n( J n4 K
|
|