嵌入式开发者社区
标题:
关于ax88796b的板级驱动
[打印本页]
作者:
zhaohui293
时间:
2014-11-21 09:56
标题:
关于ax88796b的板级驱动
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
& w5 o4 T" T) N& p6 Z
[0] = {
& g' i2 `, F1 X& Z" x: |
.start = DA8XX_AEMIF_CS5_BASE,
" ]9 \' b, S& J$ m! p" W" V
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
! c5 ~8 Q9 R, p- v" b/ u1 g
.flags = IORESOURCE_MEM,
8 \& c( Z& a8 G; s
},
" B: Q: F+ ]$ l- U$ n
[1] = {
5 Y9 `$ J0 [; f8 x) n* B# a: i& R
.start = -1,
: V3 A- {1 l; u2 ], M B" A
.end = -1,
" |8 e& Q' l) v7 A( a
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
* T& E8 _5 b6 z+ \! `: ^* H+ P
},
1 ]$ ]3 ?+ {, D( W
4 C' K8 G0 |9 j$ q- S3 ?3 F
};
: z, n7 B6 j+ Q7 q/ n6 V7 Y( G3 w
2 Q8 N. Y! ~$ q" A+ M! C- X; G& H
static struct platform_device ax88796b_device = {
: V6 \: [% T( U& o& Q
.name = "ax88796b",
: b/ y7 S) o X$ g1 x; X
.dev = {
. K$ i" x! X- }9 N# I6 G8 a% l6 g
/ n" U, l O) }" |1 L. G/ ?' r
},
6 ?' X \0 Z) b/ ]
.num_resources = ARRAY_SIZE(ax88796b_resources),
, R6 G7 L. `9 e$ _, e! J% X L
.resource = ax88796b_resources,
- c* X& G2 C1 z" P( @
};
5 V7 g, |- u" [0 d9 \* r3 n
% q( l! c8 N& s2 c+ R
static inline void da850_evm_setup_ax88796b(void)
7 Y9 U2 H0 d, x" m
{
0 c- D4 v& ]9 i2 ~
void __iomem *aemif_addr;
! d! { K2 y+ v; H) h, p4 ]
int ret = 0;
2 M& a U0 L3 r2 h$ E5 x8 u
: i B, K8 l# x7 x
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
9 Q4 H/ Z& {7 F
) @4 R- H* N6 G! C
if(ret)
0 Z# S& {# i8 T3 y' @6 U- Y
pr_warning("da850_evm_init: ax88796b mux setup failde:"
3 \9 h, Z1 b6 y: x; `+ P
"%d\n", ret);
: H, C* }! X4 a& q1 `! Y; k9 ^
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
" c5 A# r8 a$ v' g
. Z% R' O3 E& n9 b6 K: [5 r3 Q& A
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
# V( e: r) r8 O9 T) q, j) K4 v
DA8XX_AEMIF_ASIZE_16BIT,
3 o8 D* ^6 F) S: l1 u) E8 b
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
7 w5 A4 H$ f" {9 q! r
iounmap(aemif_addr);
5 e" `' f, Z& I( d/ r$ n
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
9 }) E0 K. k8 E7 J
ax88796b_resources[1].end = ax88796b_resources[1].start;
' p! I) U6 n/ I& K% ?, Z! j
5 K% [" X. N" [
platform_device_register(&ax88796b_device);
! n* c0 _& E; A- l7 s' e& E! Y
4 @+ {5 s3 y: v6 }
}
& ?8 p. L; _( s- C% g7 Y# F7 m
8 Y: h, U; e: |( |5 b4 X( |2 u
和相关的引脚配置
# E5 v& r8 V6 E! \" Z
编译通过,
. J6 h5 [% K% J/ ] I6 x
在板子内核启动过程中:
3 j# M* g! H# ]$ r6 e1 H9 E6 Z, ?- e
INIT: version 2.88 booting
0 d! C2 k% H) b& [* q2 a7 m- s
Starting udev
* N" O: ?7 B, {
Starting Bootlog daemon: bootlogd.
" R3 C+ G, W: ~9 X7 p3 L) D: r
ALSA: Restoring mixer settings...
" C2 }- L7 D6 V1 w' Y( G
/usr/sbin/alsactl: load_state:1686: No soundcards found...
c$ Y# b+ }8 H; j
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
# z' | U ?! d- c/ |4 s' o- x7 b* k
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
; j3 \5 V/ r: @5 f& Q# M9 ^
udhcpc (v1.20.2) started
6 l9 a6 Q' t4 k3 Z
Sending discover...
; k0 A- b7 [7 `( }
Sending discover...
* E9 a) u' G' }; X
Sending discover...
. m6 H, I: o, R
No lease, failing
: U. g% C, M$ s+ Z0 T2 @
done.
( h' g% o" G" _ [
Wed Nov 6 04:33:00 UTC 2013
) Z9 `( U3 ^% h9 K$ u
INIT: Entering runlevel: 5
- k5 P2 Y) R% s( A4 L. g
Starting system message bus: dbus.
9 ^; U8 Z, t+ `- m% c; v* z
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
- K0 m+ ~- [# a' Y& g6 D/ s2 m- a1 V
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
; W; C# ~+ m; c4 Z: z
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
' m) Q& @& H6 Z* y4 k. n1 g
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
+ w: P% C- G+ Z
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
9 `; [% Y! L! c8 H3 g+ U
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
! P; b( e; q6 r0 E; j3 I+ `
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
% M9 Q/ R7 A! ~5 k
7 q9 l) B; `' @; a7 T% A6 Y1 r
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
& y4 b! h8 ~+ ^
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
) a d" I0 ^! r' C! j3 P; S
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
( x7 `/ E: I7 @
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
1 k E- ^+ x& J; z
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
" V& @/ c' ^0 F+ B
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
, A$ ?0 k4 o( n8 ^4 d% R' k
- X3 ~7 I0 _ J% A
就会出现这个问题,请问如何解决
7 O' u) ]' F- X+ }3 P/ R& S. e
$ X' d# N5 s \, z0 _* H
作者:
teddy
时间:
2014-11-24 22:01
请问您是出了什么问题了,这里的信息没看到时跟您的ax88796b相关的错误。
7 n5 H! q* r) F/ ]* {; m- f4 R
作者:
zhaohui293
时间:
2014-11-25 20:34
本帖最后由 zhaohui293 于 2014-11-25 20:36 编辑
; F8 t; Z# I1 ~+ n2 s" a
' A, G# h9 D! g9 q' X& ]
我添加了ax88796b的板级驱动,就出现上面的情况,没有添加的时候编译内核不会出现ipv6的问题。
( j- G# ?7 [: Q3 D
}4 L2 I) \9 `6 q; u: \4 O7 K4 L
作者:
teddy
时间:
2014-11-27 10:15
ipv6: Unknown symbol inet_recvmsg (err -22)* 这个可能是因为,你的内核配置,会把ipv6的编译配置给关闭了,导致ipv6部分代码没有编译进内核。
1 Z1 x( x9 z, H/ f
作者:
zhaohui293
时间:
2014-11-27 11:25
我应该如何做?
2 e2 e( @! V& [; C* f
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4