嵌入式开发者社区
标题:
关于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 U
static 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 [# z
Configuring 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, X
udhcpc (v1.20.2) started
0 Y# v2 @6 \" p7 R; ]
Sending discover...
0 u) h; {; ?. x4 ^# L
Sending discover...
% c- r4 Q* R( u- l+ c
Sending discover...
: \4 A3 R! { Q7 z0 i
No lease, failing
- @( n$ ?6 n8 x% _" j( |" Y
done.
1 a8 I' U1 _2 T" O2 V% D: e
Wed 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