嵌入式开发者社区

标题: 关于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( W4 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& Hstatic 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- sStarting 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; jConfiguring 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 ZSending discover...
; k0 A- b7 [7 `( }Sending discover...
* E9 a) u' G' }; XSending 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$ uINIT: Entering runlevel: 5
- k5 P2 Y) R% s( A4 L. gStarting 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_complete9 `; [% 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