嵌入式开发者社区

标题: 关于ax88796b的板级驱动 [打印本页]

作者: zhaohui293    时间: 2014-11-21 09:56
标题: 关于ax88796b的板级驱动
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {9 M# ~' a& J1 T& @+ N! |
        [0] = {  x. v, o& F1 S* B2 {' B7 i' _
                .start = DA8XX_AEMIF_CS5_BASE,+ \: b1 ?+ Y: L( s6 l
                .end   = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
) [7 j- c; f2 c$ l' S8 m                .flags = IORESOURCE_MEM,* q" B( E7 O3 _5 M+ d) D
        },* n) ]+ G5 ~" D! M6 z" {
        [1] = {0 Z5 N% b& ]' {$ W% T' I
                .start = -1,
% ?, F$ [- y$ d                .end   = -1,+ d9 q% X# ?/ G. }9 a0 I
                .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
0 k/ {% M" z& `; T: w* M        },! ~. K" [9 Z0 g6 Y" E
" C3 j  k5 l7 R9 Q
};% U$ M! D9 f$ `6 P# ~1 }# I

8 X% N  i" V* w5 y6 G, M1 Ustatic struct platform_device ax88796b_device = {
3 c0 u. j) b9 q        .name = "ax88796b",) Y5 \( l& w$ M; z. l! b) k
        .dev = {
6 t$ y" d7 {0 N9 ?) f0 {
. x' Y, V- j+ g        },: u& r- P" h! y' ^" R$ z: }
        .num_resources = ARRAY_SIZE(ax88796b_resources),
9 [6 h; |. y, N" d$ ~        .resource = ax88796b_resources,8 [. \, D2 ?+ }* x" i
};
/ L$ J; j' C. _8 {8 @5 g' s. J/ y+ l8 b5 Q, W0 p9 n' C
static inline void da850_evm_setup_ax88796b(void)
; o( v3 c. d8 N4 J  Z{' Z2 B% L5 ?9 j) O, h0 T' }/ e
        void __iomem *aemif_addr;& W* q) @8 Q; L! e% j
        int ret = 0;
$ ]  k7 @6 N$ [( ]& G        ! c) e5 m+ L' \: d
        ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
/ Y: G; C3 z% N; l: u9 I       
  ^( \& B" r2 ]$ _/ a* O        if(ret)
' X# ~+ x2 l% a) M" O8 x, M0 ?1 e                pr_warning("da850_evm_init: ax88796b mux setup failde:"9 b7 r2 [2 K/ B) }
                        "%d\n", ret);+ S8 I" z3 m" ~  K4 D  ]* E
        aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
$ {/ C, v; e9 {: `5 b" I        0 _! E* j8 p1 ^: |
        writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |$ Q& k2 @+ ]8 h1 F3 S
                DA8XX_AEMIF_ASIZE_16BIT,
+ Q+ q) n4 [3 q) `# g" S+ V5 E8 ^                aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);3 \+ q& F  q8 p/ N' l+ R3 t6 U
        iounmap(aemif_addr);
4 F) s; Y8 u+ T' j( U' [        ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
/ ]% J- U, @, ~3 y. c$ z        ax88796b_resources[1].end   = ax88796b_resources[1].start;
2 O% e9 @/ G5 s. [9 K9 Y; ^        + N6 T; B' R  ^- q, _
        platform_device_register(&ax88796b_device);) V4 i9 f: Q; R( _* Y- W4 D2 z
        + J( e0 o$ \  W
}, g7 i7 P1 u$ Z- X3 E0 i
; E6 [% ?& J0 j% b1 n
和相关的引脚配置1 E- s; y5 @9 K2 `0 b* s
编译通过,% Q8 z8 `7 {5 B( |9 |. b& D
在板子内核启动过程中:. T! q# s) C( i( {  @5 m
INIT: version 2.88 booting
/ v5 S# @1 K: N& i8 ~) q$ |Starting udev
, H" s$ v' t5 ~/ e5 }Starting Bootlog daemon: bootlogd.  R7 V; a2 F! ^- c* ^
ALSA: Restoring mixer settings...+ t4 W3 Y* Q0 z
/usr/sbin/alsactl: load_state:1686: No soundcards found...
' m, _! v  R3 `$ E3 [# zConfiguring network interfaces... [   12.665617] davinci_mdio davinci_mdio.0: resetting idled controller# E6 s+ V5 {' f8 A$ O9 ^8 J
[   12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
5 v5 P4 x4 H; p8 w3 H+ C/ b, Xudhcpc (v1.20.2) started0 Y# v2 @6 \" p7 R; ]
Sending discover...
0 u) h; {; ?. x4 ^# LSending discover...% c- r4 Q* R( u- l+ c
Sending discover...: \4 A3 R! {  Q7 z0 i
No lease, failing
- @( n$ ?6 n8 x% _" j( |" Ydone.
1 a8 I' U1 _2 T" O2 V% D: eWed Nov  6 04:33:00 UTC 2013- h( q; V% O  g9 b* W" J& S
INIT: Entering runlevel: 5. ^% m+ l3 q+ X
Starting system message bus: dbus.1 p% V& E" k. c" h2 o# m
Starting Dropbear SSH server: [   22.869096] ipv6: disagrees about version of symbol inet_recvmsg! w8 h! U3 h5 s# F3 j" a/ [
[   22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)7 P0 q% U1 e; X9 X' A
[   22.880894] ipv6: disagrees about version of symbol skb_free_datagram! c$ J9 L; X, V# I& r
[   22.887493] ipv6: Unknown symbol skb_free_datagram (err -22). T6 I: c; X. a" W; z1 b2 n
[   22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
5 k  ]7 ~$ }5 i* K& {[   22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)' s% K9 K% l; b& N
[   22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
( w  p$ L% y, v  a& j3 p# |1 {: E8 w8 e, [
[   22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)9 K/ O7 O1 V2 k
[   22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output! Y) B* X+ g3 `$ K
[   22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)  A2 w; p2 y0 n
[   22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
4 A% e+ v' `8 m! y" K4 K[   22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)5 D* K) |4 ~; ^" O6 y; z' q0 q$ L
[   22.947739] ipv6: disagrees about version of symbol sock_i_uid
3 l2 `  w7 [( \/ F% _/ |
. B# V4 O2 ?& ]  }/ T* [( Q就会出现这个问题,请问如何解决, }+ L6 O+ M$ x# k) c& V3 K

! M$ }( c. H7 }# a# }2 w. h' t- z* C
作者: teddy    时间: 2014-11-24 22:01
请问您是出了什么问题了,这里的信息没看到时跟您的ax88796b相关的错误。
0 `$ C+ N+ ~$ G3 _% R
作者: zhaohui293    时间: 2014-11-25 20:34
本帖最后由 zhaohui293 于 2014-11-25 20:36 编辑
% W/ |& i6 l7 p5 R( w/ Q* Q1 C
7 T% @" A* _8 y4 Y我添加了ax88796b的板级驱动,就出现上面的情况,没有添加的时候编译内核不会出现ipv6的问题。/ ]/ `5 Y5 @3 s: s; a: P/ L
- ?8 u& c) ~- Z: ]6 w

作者: teddy    时间: 2014-11-27 10:15
ipv6: Unknown symbol inet_recvmsg (err -22)* 这个可能是因为,你的内核配置,会把ipv6的编译配置给关闭了,导致ipv6部分代码没有编译进内核。
. t- q5 u8 ?+ E" Z- `1 N3 e" ?* C- p
作者: zhaohui293    时间: 2014-11-27 11:25
我应该如何做?
. c1 q7 I" p( x' P  T, V7 g+ E




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4