|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
' n7 ~# F ~6 r2 ~/ v5 e8 {5 p: q# h6 g3 [ [0] = {
7 l$ u5 J3 p0 H8 b* Q+ X) H. O4 j- { .start = DA8XX_AEMIF_CS5_BASE,
" }, \; i" d, C: ~/ s .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
$ B& [ c' }5 c .flags = IORESOURCE_MEM,
, I% ^0 W' x& s7 q },
+ l& h* W5 v5 n6 d' h9 \, Q* P [1] = {. V' e: _4 q* G0 @
.start = -1,3 B) x/ `! S6 C3 z' [% q
.end = -1,2 j% W3 Z' k1 R. V- X! G
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,# w* ^+ a+ X4 f5 m
},
: ^4 T. F5 F' B0 Z- [1 E0 l6 @! \$ c
% Q; ^# J: ]3 v};; c* \4 x7 ]3 [
' @- W/ f7 R p6 l3 Y5 L8 X
static struct platform_device ax88796b_device = {& {+ T+ W0 v2 D3 W
.name = "ax88796b",
# o# r/ G% g& f$ A* H7 p) Z .dev = {
* D9 J" C9 d' ?1 g C( `6 V" ]8 x
! j7 U& z8 M/ j( c+ F },6 |4 K: ~6 H y c0 \
.num_resources = ARRAY_SIZE(ax88796b_resources),3 F+ C- W( q% _) Y: V+ b
.resource = ax88796b_resources,; O2 k" Y8 ?; _0 z
};
- W; Q8 {: W, K
2 k6 }. j9 G0 m6 R* f; ]static inline void da850_evm_setup_ax88796b(void)
6 J# _7 w! }* m{3 J5 h. f' {5 d6 a
void __iomem *aemif_addr;
" ?. N2 w1 v$ [3 }* i; m+ B/ ^* c int ret = 0; J$ J: B1 f7 _, v" e$ F7 c
% V% y( u$ A: X3 p2 i# [# }
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);& C: }' F6 V: n" D$ T- E6 O v/ L1 w
7 V, H6 h, ~% \( {0 ]
if(ret)
c7 F/ H; b+ O pr_warning("da850_evm_init: ax88796b mux setup failde:"
[6 F C4 H. m; G& ^) o "%d\n", ret);
- Y1 n% `+ F' K; Z1 y aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
: ?1 ^' I; l& J8 e5 p
0 w5 ^- R+ H3 S: G- P% } writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
5 K+ w; w+ c3 ]; Z& @/ b DA8XX_AEMIF_ASIZE_16BIT,
" w+ y3 ^; W2 w0 w; y! a8 f3 ` aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);1 V4 O0 {+ e# s6 b2 z, c
iounmap(aemif_addr);' K9 J: {2 X" j& \: {5 m
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
% M/ z- f d# `. q ax88796b_resources[1].end = ax88796b_resources[1].start;' u8 i) d* A) y5 Q W
$ |) e- ]: F+ l. v' O Q( Z+ B platform_device_register(&ax88796b_device);: S U' a$ ?6 m' }$ p
+ Q3 K) r4 W4 L/ D; d$ E
}
8 o4 p' y" p5 V4 R) v8 D# p$ t _) s
和相关的引脚配置! v& D& _: c0 J( m2 |1 d1 u5 P
编译通过,0 @& p2 g$ C/ B M
在板子内核启动过程中:$ [" l5 ?. \% m- H' p
INIT: version 2.88 booting
# ]8 k9 v& p8 d' b6 Z* y" E; dStarting udev& e% y* d- n2 i1 N _" A
Starting Bootlog daemon: bootlogd.7 D- S! M+ q9 [7 ?$ x* F
ALSA: Restoring mixer settings...4 R+ Y( V2 ~/ [3 g+ c8 j
/usr/sbin/alsactl: load_state:1686: No soundcards found.../ i ]7 }+ B# v) Y" l/ l
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller. l- I/ z+ W6 v7 a1 s- }2 k4 X
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
. J1 f- `& x' r! Eudhcpc (v1.20.2) started
& v" T/ z" g: D' l9 w+ y, hSending discover...
K3 C- A# X8 `# X( l: kSending discover...+ p* B+ }/ Q! h/ w
Sending discover.... v+ W; |5 W- u: t+ c& F7 s
No lease, failing6 o, u; Y; ?4 D- S6 r
done.2 F! s8 T6 k9 ?% p
Wed Nov 6 04:33:00 UTC 2013( ~, a9 T+ [) F% \+ o) Q
INIT: Entering runlevel: 5
* N9 Q0 w* H3 G. R% SStarting system message bus: dbus.
# ^* c. s; f# P a, kStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
) c7 x j5 w3 [2 `0 T2 f[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22); R' R9 ]( S5 ~ w8 N& c
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram5 X- `5 L" C, {$ U2 J
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
) J5 f0 l$ k" _! `% T[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete5 x( j7 O5 C% R8 y; C& |! {
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
, _9 g( G2 B6 H+ c[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths1 [: {& L- w. z4 N
9 C4 `1 n+ e4 E6 o7 _" \1 m5 I6 Y5 H. ~[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22). ?- `2 r; ]: o5 {( `
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output* T/ t7 y8 g8 V2 A0 r) z; s) x
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
2 r/ b6 i$ t7 K[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked+ l0 y# n- \8 s, e6 W7 G7 y2 |
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)" |# i& t- \) L, h" b+ m7 B G
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
3 E% V) q# |. D# O7 D
$ c5 ~, P; O% S6 i就会出现这个问题,请问如何解决
3 P' E, v" h# l' y" C4 |0 M$ I, ?# z+ ?. y
|
|