嵌入式开发者社区
标题:
关于ax88796b的板级驱动
[打印本页]
作者:
zhaohui293
时间:
2014-11-21 09:56
标题:
关于ax88796b的板级驱动
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
' I) z& P$ o' Y+ Y% H6 z1 U' h
[0] = {
2 c' L. |& s' d \* X
.start = DA8XX_AEMIF_CS5_BASE,
) K' b9 C& f1 z0 D6 m; J
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
$ P8 R$ G" r: U5 c, X8 c
.flags = IORESOURCE_MEM,
1 i# q9 E' I+ c. \; j4 q" P, @
},
4 A# U8 `: z+ P' m( l
[1] = {
# T- C$ _, \1 G% \5 J- a$ o
.start = -1,
7 Z; i4 d A( M" D$ O
.end = -1,
- L% _8 Z. \0 L j/ ^
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
3 j5 y7 Y4 `2 P1 o
},
& c6 }% i* q8 r, Z3 m" a+ I
9 R9 |$ o; q3 b$ `4 A( \2 p( d
};
: [! D4 G1 i5 Y( W+ H( ?3 W
$ H7 ^4 y) V1 N" r5 }' @4 N
static struct platform_device ax88796b_device = {
7 ?. ~7 f; G8 ~3 B- Z3 [% i, z5 E
.name = "ax88796b",
5 G" \+ a4 |( t2 W- M9 C0 b7 f
.dev = {
5 S( k) o/ Y- G2 k. z+ @" x8 P3 z! F
" O J# N: B9 [! y0 s* ?
},
0 t, ]" [8 j: l4 u9 {
.num_resources = ARRAY_SIZE(ax88796b_resources),
; v1 p5 \$ P' R4 h$ \. {
.resource = ax88796b_resources,
& ^6 q; X ]9 u8 [' |8 `: C
};
$ J/ {. C0 w: l- U2 j3 c" `
9 N+ u- L( z: J5 B2 e- D2 o
static inline void da850_evm_setup_ax88796b(void)
* a+ q9 G( B" @* p/ F3 K7 n
{
- Y( D! t; _# }5 |' b
void __iomem *aemif_addr;
4 D+ w* m7 \% X1 ?7 ~: u
int ret = 0;
7 e7 S8 X) {$ }% i. C( o
6 ?: X% F2 f, K D3 F5 M# J
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
8 u9 s; X" l: m2 m" l
+ B* O( H) \" Z0 V0 Y
if(ret)
- |0 b* s* o2 G7 i4 i- d4 q
pr_warning("da850_evm_init: ax88796b mux setup failde:"
9 M* t# k/ C/ Z# ~7 Y# [
"%d\n", ret);
$ \0 I; @! N8 [0 L
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
5 J( ^. i. v. w2 Z$ f ]$ c
& E9 p! b$ T" v3 L5 j Y
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
) J7 G0 m5 v7 w! J
DA8XX_AEMIF_ASIZE_16BIT,
2 B$ p( M. F( F( A5 N( l# T; T) v1 m
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
% O4 X% M' g/ A
iounmap(aemif_addr);
9 C9 l9 N5 ~- [3 }
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
) \( x0 {% z4 s- t* Q) C8 a' h/ e
ax88796b_resources[1].end = ax88796b_resources[1].start;
$ d. S/ r" @5 k
* p- X& n: v: b& Q4 X6 ?
platform_device_register(&ax88796b_device);
; M6 B6 x& ?6 i4 X0 G
6 L, L1 R, ~- v* U* _, ~8 d
}
- }$ r! c* j. C6 x
. h4 w4 B7 G, E0 E" ?' j
和相关的引脚配置
: n+ A- U1 M8 {& h, d
编译通过,
" m! J* z0 @4 b
在板子内核启动过程中:
( G3 ^0 t. H" m/ X4 |. s& q' Q
INIT: version 2.88 booting
) R, D* ]2 r6 j- [$ v" C
Starting udev
1 t) f/ s- E. j! b* _
Starting Bootlog daemon: bootlogd.
* R; g' s2 V9 |' c6 l; v
ALSA: Restoring mixer settings...
. O/ V, s6 G5 }0 A& [
/usr/sbin/alsactl: load_state:1686: No soundcards found...
* q% x" D" N" ~( A8 k- f7 o$ j% C
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
' ?1 D1 n" R& E R1 I
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
; e' B3 Y# O$ p. J8 G+ I4 V5 ?8 x
udhcpc (v1.20.2) started
/ y1 n+ |" @& p7 p/ k
Sending discover...
$ A4 r- @: Q2 o% G4 q H; P
Sending discover...
- Z4 Y! g4 j& u' d; N) J0 H
Sending discover...
3 h4 Z5 a/ G. P4 f7 W3 \% T
No lease, failing
3 M. b- f2 h/ T% Q0 w
done.
# @' U; u9 c5 E7 H" |1 `
Wed Nov 6 04:33:00 UTC 2013
$ l. y: n' }+ Z5 } O
INIT: Entering runlevel: 5
( {* C8 x+ ?0 o/ h) k+ W$ o
Starting system message bus: dbus.
+ P* U( U& {6 f! E7 R: N
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
! L3 J i7 f0 \7 L& y* P
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
! `" x3 z( w* O2 S/ v
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
9 _, ?2 y6 J& f7 O7 Q* N; {
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
) w+ n' T3 i" j% ~
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
# Q4 M4 v# ` o7 `* L
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
! m# S! X' \8 k7 Z; n' _
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
3 x) n2 W$ O: y0 ]5 v
8 d% J, H( C) V) ?
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
- `. n2 Y# B3 B( C. u( Q; x0 z
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
" f. S- S2 x) p+ C# Z2 _" N5 J
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
8 p) K' R* ?1 x* L f& R
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
0 v p$ z2 @% }
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
! A4 d0 V8 f9 W& k7 G
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
" F4 O: W. U9 o9 o7 i" b4 x* I
# S. D' x. J6 V3 K
就会出现这个问题,请问如何解决
& J1 F/ N7 v6 u7 M& a; C
, X+ T0 g' d' c& [- t' J6 U, w
作者:
teddy
时间:
2014-11-24 22:01
请问您是出了什么问题了,这里的信息没看到时跟您的ax88796b相关的错误。
9 n' G' K: R5 t5 i/ I! |
作者:
zhaohui293
时间:
2014-11-25 20:34
本帖最后由 zhaohui293 于 2014-11-25 20:36 编辑
- g. V" l @% q3 a, x' Z) a# ^
2 ]. }4 v: P% n
我添加了ax88796b的板级驱动,就出现上面的情况,没有添加的时候编译内核不会出现ipv6的问题。
% C' S" M, X; e! W" X" a
; K) U$ s& M/ u2 Y& c0 U
作者:
teddy
时间:
2014-11-27 10:15
ipv6: Unknown symbol inet_recvmsg (err -22)* 这个可能是因为,你的内核配置,会把ipv6的编译配置给关闭了,导致ipv6部分代码没有编译进内核。
! C+ n' M9 d0 a) h
作者:
zhaohui293
时间:
2014-11-27 11:25
我应该如何做?
) A/ `7 t# \6 t, }) P! o. t
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4