嵌入式开发者社区

标题: 关于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 ^& ostatic 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! \! }) fstatic 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+ sINIT: version 2.88 booting- B+ |  j) }' n, f" G
Starting udev
( o: v" x6 J' U7 SStarting 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+ SSending 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 mNo lease, failing4 o# q: \$ D! E1 J; e* [
done.
6 X3 y7 W3 `8 [Wed Nov  6 04:33:00 UTC 20137 `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$ b4 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