|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
6 f. Y8 @ _, _* s3 b( I [0] = {
$ \1 E# G" C! f! T0 \ .start = DA8XX_AEMIF_CS5_BASE,
0 B$ a- ]! {+ B( D# c .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,, C% ^3 v; Z7 d; N- d9 p. @0 g
.flags = IORESOURCE_MEM,
" @- a. L) Y- A) q+ v },2 V0 ^, p$ b9 ~& O
[1] = {/ H! O* i' p% f6 _/ _
.start = -1,
* q0 M# g* Z T2 l7 x .end = -1,3 Q n; Q: u9 N: a* v9 y" p k5 {
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
$ k- @$ u9 h8 H* |: G) k },
% |; K% N5 P' q% }- E+ H; {1 u5 @. }& h
};: e- `2 ]; M# f" b( D, w" T
+ L0 A# |5 t' S$ zstatic struct platform_device ax88796b_device = {
4 t$ l- q( \3 m; X1 Y7 @ .name = "ax88796b",
1 W( x# a% o& @3 r/ G; `9 D* v; m/ Z .dev = {3 K4 i L7 X3 V3 d* p3 Z
Y6 z2 w! @. I; P. m
},# I' D; y3 E3 q. k2 z ~7 O
.num_resources = ARRAY_SIZE(ax88796b_resources),
6 M4 b; K/ S. ]7 ` .resource = ax88796b_resources,
) m( P' ] A3 U};
: Z+ ]* s" d& ?- b
0 w& N, Q! i( O6 S% p) Kstatic inline void da850_evm_setup_ax88796b(void)! M5 Q& a3 S$ W7 S9 p+ X" Q
{
9 q. v; ]7 Q2 ]/ H* x6 W- T- i" M void __iomem *aemif_addr;
: u) }. w1 f# C$ y' e! Q5 y int ret = 0;
) g; e- r* w& U, r) [ 6 y; \% l. s' H: ]. o
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
8 ] g) x! a. q! M3 C, j( e9 h4 i
9 [! J7 @0 u# B, S- e/ ?3 h9 `: g if(ret)' M8 C; j, N1 x" [7 F* S
pr_warning("da850_evm_init: ax88796b mux setup failde:"& n# Q3 O& n: F8 p
"%d\n", ret);1 u% {$ O8 n. w* U B. v' A- D* a
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);2 A0 Y( C- D: y
% N5 d5 Z7 |" O4 t7 `' l, g; O
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |( @5 o0 {) U+ E0 V! A
DA8XX_AEMIF_ASIZE_16BIT,. V! R; o: G+ [7 f& J
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
+ w2 p' _2 C! T& Q2 r( Z/ a iounmap(aemif_addr);
! b2 E. e K7 m ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
* }( a( B' S" {/ ^7 }5 Y/ `8 Y7 Q" [ ax88796b_resources[1].end = ax88796b_resources[1].start;
( z- {* g4 e+ f2 m8 p
: u1 A' N/ P6 C platform_device_register(&ax88796b_device);5 H! t2 \5 S* b
3 `2 \! S1 l. H! o- u}0 {' t: I0 H9 r' G
/ I% n) X$ j: p和相关的引脚配置
. u) ^9 X' d. \1 M: _: D* }编译通过,
! y* C5 H: N( B$ E( u* }在板子内核启动过程中:0 F. O+ b* i' v2 r+ p' w
INIT: version 2.88 booting
8 o- P9 x7 p2 ], P& w3 b) W3 d5 H/ JStarting udev2 H8 r# V! {: i1 D' X3 x
Starting Bootlog daemon: bootlogd.
0 O5 v% h. A0 [/ D* x6 j; DALSA: Restoring mixer settings...
1 C! M) v, H4 i3 X/ X/usr/sbin/alsactl: load_state:1686: No soundcards found...
. t" @, O. r7 E/ J0 l! A z4 EConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller' q3 i5 h3 o; ?# H+ E" u7 Y
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
& d1 ~" A* W8 xudhcpc (v1.20.2) started
4 R$ \+ S) I4 T' g6 V" kSending discover...+ c; V3 X, W' E/ T2 c$ w
Sending discover...3 g- }' Q6 M: M) C
Sending discover...% t# @4 E( T/ n9 ]
No lease, failing$ I2 q; }+ {) B( R" \+ w
done.
5 P; |$ C& F+ AWed Nov 6 04:33:00 UTC 2013# ]5 O6 c2 F0 G# {! G4 I. S
INIT: Entering runlevel: 5
& ~0 ?7 V! w8 l9 W# ~6 p( h4 _Starting system message bus: dbus.
: |. Q' f" g2 F0 d# e2 o. LStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
8 ^$ l( U3 n& ^4 O$ z+ N4 C( ^[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
1 P3 d' H! ]- N% o[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram7 d' N2 g( |4 ~
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)' X$ f7 X( z; p2 k
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete& r+ X4 z9 @" {+ D3 k- p
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)+ }+ I' f0 O, n! a7 D1 D
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths% s" E4 J% @+ _; D4 U
$ k8 B/ Y; l% y0 H, E
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22), `8 t* e3 N$ ~1 N$ Y- |% G( D. }; f
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
, Z4 K- Y) t! E' G; @2 k- l[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)# \' j4 N. P( \3 `2 Z( S
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
5 `5 P5 Q9 T( C; o[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
6 V: y9 f. S7 V# o- w. t4 \[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
+ B% Y7 w& W' I) n d2 C3 x
; j. ?# g' T# p$ q就会出现这个问题,请问如何解决 x+ A. ?8 K$ c# D3 Y
( k: n2 q4 D2 n7 n$ V, P |
|