嵌入式开发者社区
标题:
关于ax88796b的板级驱动
[打印本页]
作者:
zhaohui293
时间:
2014-11-21 09:56
标题:
关于ax88796b的板级驱动
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
/ j2 r/ j0 d, H# N6 O2 H% d
[0] = {
8 g2 ]* b6 Z+ w7 a- d5 P
.start = DA8XX_AEMIF_CS5_BASE,
* ~) `! \+ J) [ R% Q6 E; r
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
% N. G4 V- K' S+ d
.flags = IORESOURCE_MEM,
8 F# e. N7 ~) L' u2 B: ]/ n1 y: [
},
) S$ n3 ]8 |/ k, X
[1] = {
. U1 g" b" x9 l! s* o
.start = -1,
/ q$ ]8 w% K; G3 C1 b& X1 }
.end = -1,
9 Q9 L7 H' a7 t8 ` Y- z1 q* O. d7 A
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
3 u6 [: F. r$ F- Y4 W; B" v" w: L
},
$ z5 D5 h7 A: f# ?, P' v
5 S+ A5 F6 T' w7 V: _' g; o2 u* w+ M$ X
};
' V4 p) z2 U# Z/ T3 H. @
4 K- \# s8 u/ Z4 p6 _# f6 ^& o
static struct platform_device ax88796b_device = {
$ i g5 ^ F3 _9 d
.name = "ax88796b",
& `7 e, ~8 R2 s! _( H8 J
.dev = {
; p/ d" {/ t- v# T0 y. i- T
1 w5 D. y# J+ X% _! }3 a5 c& p( w
},
u1 ^2 o( }, `. _9 Y, h
.num_resources = ARRAY_SIZE(ax88796b_resources),
9 ^4 E# f2 E1 ?! @. C/ z
.resource = ax88796b_resources,
# x) r3 }4 Z+ @. T
};
7 \: G7 w) m2 a! z, A- L4 m
! E c% d( L# ^+ _; d; m! \! }) f
static inline void da850_evm_setup_ax88796b(void)
# p |5 U* I8 s6 _9 n' C0 Y
{
* s, n6 e) r Q3 v; d
void __iomem *aemif_addr;
# }; G w" H( `2 [9 B, Y
int ret = 0;
' q+ G' U. C8 N# D4 P! |
% @, R, @/ r6 H3 f1 i
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
6 r5 _& J3 k! d. T2 N' z, U" K
4 b- n3 W% m& f* z V
if(ret)
& @9 s( I! ~0 h: n7 H
pr_warning("da850_evm_init: ax88796b mux setup failde:"
* a1 \& p8 j( }8 g/ E
"%d\n", ret);
5 Q) o- C+ w( v' b% t7 Q' \+ B
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
4 q% G/ r3 h( W! [
+ }3 G' h/ v$ m/ \" w
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
7 Z3 l7 Z# ~% m1 R
DA8XX_AEMIF_ASIZE_16BIT,
8 O g9 Z& m. y; X" _
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
Z9 J9 ?; g+ q- I a7 u4 C
iounmap(aemif_addr);
1 T. O3 \/ Z; M( L- G) b
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
1 { _; r$ X6 M* j
ax88796b_resources[1].end = ax88796b_resources[1].start;
2 M* @# M. @5 U y& j+ v: V
5 y( A! z$ d9 ^* B' X6 D
platform_device_register(&ax88796b_device);
A! F' y1 ?' i( j7 q4 Y8 E" z' W4 h
! }( B4 x E- q. \" Q
}
! s2 C9 X9 y: Y+ g5 [ k6 ]2 M
* l& T: D# ]! t/ J" ^' C; c: n
和相关的引脚配置
' w8 Y% T, P& D8 l
编译通过,
( v0 R: F; W8 A G
在板子内核启动过程中:
1 y3 E1 G( S# B+ s
INIT: version 2.88 booting
- B+ | j) }' n, f" G
Starting udev
( o: v" x6 J' U7 S
Starting Bootlog daemon: bootlogd.
0 C. o: F! \9 _
ALSA: Restoring mixer settings...
1 b5 m( u4 r* i4 W6 b* ^
/usr/sbin/alsactl: load_state:1686: No soundcards found...
! x0 F p$ H& G% |4 D
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
$ S1 B @+ n6 t) o3 m( }* \
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
. d5 Z/ m0 t0 Q% c" \
udhcpc (v1.20.2) started
" |/ ?! b" F1 }9 [# }8 M+ S
Sending discover...
2 W: G3 U& k* w) S; b* J$ W( P6 Q
Sending discover...
. g; B$ v) n6 o+ X( p" x' z1 c
Sending discover...
/ O/ I% l; e* Y {% [ z! d8 m
No lease, failing
4 o# q: \$ D! E1 J; e* [
done.
6 X3 y7 W3 `8 [
Wed Nov 6 04:33:00 UTC 2013
7 `5 w) \" ]5 _: o# w# C" E d ]/ z b
INIT: Entering runlevel: 5
% v% ^( K( _" v7 K4 v# ~/ j
Starting system message bus: dbus.
8 {. Q: O( d. ^4 X& U! T4 Q! L
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
; O6 K, h1 `6 Y$ G" ~3 t. M# S
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
1 E! ^8 i1 C# T6 y* A c
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
+ c: w) e) H$ R$ ~$ n/ T+ ]6 f
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
& U" y) B4 C/ l5 V3 I, C
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
) I+ u6 l1 l1 S2 R5 S
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
, h- e* P! ?2 \
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
- Z+ a( V Q+ J0 s0 c& v
# m) h7 }. A3 W) t* V
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
7 }6 g( \5 {6 {5 q3 Y, c
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
8 w; x# N/ [. t# f$ M1 z/ [% v
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
. u7 s0 X6 f! Q9 C& I
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
. I5 B u$ O4 e4 t8 U) K
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
3 {* p' C) c$ |# E( ^ U* k4 }2 p9 u
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
1 ^! o3 f# X9 y2 r+ Q$ g
) \7 t7 b; R1 e3 G4 z# h; l
就会出现这个问题,请问如何解决
( B, o8 H) p- c3 N( O; d/ o& ]! p1 d3 ^& m
4 l9 A; |: m# T! o( z n8 D1 ?
作者:
teddy
时间:
2014-11-24 22:01
请问您是出了什么问题了,这里的信息没看到时跟您的ax88796b相关的错误。
- Y5 g5 P+ J% s( h1 H P$ C
作者:
zhaohui293
时间:
2014-11-25 20:34
本帖最后由 zhaohui293 于 2014-11-25 20:36 编辑
- H* z$ W8 ?+ b3 |$ l/ I; k3 l
$ `" u' [( U/ R! D% n# R# e
我添加了ax88796b的板级驱动,就出现上面的情况,没有添加的时候编译内核不会出现ipv6的问题。
' G! f( H# I3 o! J O$ b
4 G @7 U. h2 B+ k6 ]
作者:
teddy
时间:
2014-11-27 10:15
ipv6: Unknown symbol inet_recvmsg (err -22)* 这个可能是因为,你的内核配置,会把ipv6的编译配置给关闭了,导致ipv6部分代码没有编译进内核。
6 s) q9 D% }9 {: e+ _: _! R8 J
作者:
zhaohui293
时间:
2014-11-27 11:25
我应该如何做?
' ^( L7 A# {; F) P
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4