|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {2 S$ Z5 z' N4 g6 ]9 F5 Z
[0] = {3 L2 ^1 H" _1 o* H! ?
.start = DA8XX_AEMIF_CS5_BASE,
- ?- P: m4 P3 _0 E$ C .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1, S" e2 O6 N$ m9 c1 E2 ]7 q
.flags = IORESOURCE_MEM,# W7 C: P. H' \( F; h
},$ M- e- H1 {5 S
[1] = {, Z( X8 _- y$ f
.start = -1,7 z" ~" [. v8 p- ?% N
.end = -1,
4 T3 g, e4 X7 b2 b .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
4 V7 W7 i: _" P3 n3 X# K },/ r+ A) T& V* G# \
T7 \. a3 T* X% a};6 N& i' { `# f! l, L! }7 t1 s
) O7 @$ g9 [# @# P' H; C" `. F0 wstatic struct platform_device ax88796b_device = {% w. g& Q) @! Y' x) l- O
.name = "ax88796b",; g5 x8 { G2 f# G2 U9 O" y! G
.dev = {% w7 L7 E; ?( Y( l- C
6 o5 p. f' W3 F$ ~7 V, X5 b
},/ |* W& s7 }& x
.num_resources = ARRAY_SIZE(ax88796b_resources),
: r- m; j) E5 v: r5 T .resource = ax88796b_resources,+ Z# K. A7 \% u4 @* P, D
};
* s M; G# _3 r, C V f4 T: w+ _% ^
6 ^4 l. Q/ k: I* ^, kstatic inline void da850_evm_setup_ax88796b(void)% ^) Z) u- v. r5 y+ h( W7 K- T* \
{1 s) U% c9 H/ N2 W7 ]# E
void __iomem *aemif_addr;0 l2 h# N( L+ V5 P+ k! n, I
int ret = 0;
! t4 V7 z/ E5 U& U4 y
) \4 [$ c5 N6 [0 u* C ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
/ F1 t& T1 ~. d7 Y! K, i! ? 1 t2 t9 h# p, C9 o5 q) c
if(ret), s8 a8 M* H3 A' D- V
pr_warning("da850_evm_init: ax88796b mux setup failde:"$ M; w$ M2 K: P
"%d\n", ret);
. u) y8 R% P0 `( ` aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);, O1 N% D; W) w
8 M9 Z3 k2 g" W4 y1 U
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |3 ?# \+ f& P E8 _9 v/ a
DA8XX_AEMIF_ASIZE_16BIT,( {4 u. H3 |7 v9 D( Q2 z u
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
4 d8 h* b Y$ k iounmap(aemif_addr);6 I6 |8 ]! ` l& U7 D( W
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
0 L4 r; Y9 s" c1 W. p7 [8 h ax88796b_resources[1].end = ax88796b_resources[1].start;
& {) f8 ]) o0 y- i- [7 n
3 U# o4 {4 t6 x; Y platform_device_register(&ax88796b_device);
5 P& z$ `; O2 ^7 X1 U & y3 `0 F2 e" N" W. W& B
}; Q2 O- S+ J8 Q( j8 C% m9 n
( F5 {* ~/ m; F+ C9 B3 B8 v- a和相关的引脚配置; |6 \3 X! X4 W
编译通过,
, U0 Q% o) W" o. q% f$ T0 ?在板子内核启动过程中:2 H2 [+ H3 a/ v2 H7 }! l( F
INIT: version 2.88 booting
( U5 ~5 a5 K5 A& nStarting udev
" m P9 l0 m; V& V0 i) V: iStarting Bootlog daemon: bootlogd.8 B, l2 L" I3 b) c, J j) M
ALSA: Restoring mixer settings...' K, t! W+ [% |6 {$ [3 D b
/usr/sbin/alsactl: load_state:1686: No soundcards found...% c, O' \, Q; m3 P+ i
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
! @( k# W- n( v& s- a8 V2 |[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
) z, K' k+ B2 Y0 q& U$ t0 |+ x" Judhcpc (v1.20.2) started
8 z5 B3 u) T" K2 Y+ `% m( ZSending discover...# C" \5 N. M( L; T3 ^
Sending discover..." v' H7 P/ v9 ?9 _. `
Sending discover...
+ q) d6 m" h" qNo lease, failing
1 `' e0 ^. y: S+ C+ m2 ?" l& Fdone.; P u5 y' H9 M+ e4 s
Wed Nov 6 04:33:00 UTC 2013! l3 L8 J1 L2 N c" N5 l% y
INIT: Entering runlevel: 5
) c+ C; r3 | {2 j( @Starting system message bus: dbus.
" K, p3 S5 L; N1 f' b5 UStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
! t: f/ u. L) {* A[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)( [, I2 _3 e' x- `7 o
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
/ x! f. b0 \; ^4 T[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
8 K( j7 F8 x$ I3 t- l[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
: `3 E% j: M- `5 i |( v/ ][ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
0 l3 I9 b. B- [( M8 `3 M0 V& V[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
7 S$ E& b0 X: o( U
3 Y0 C+ J* P, c$ ?9 W) O* S[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)0 L6 k% e6 I+ B$ t$ K: N) s' x9 D! K1 G
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output6 ~4 s! U5 C' ~8 i
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)& J+ f/ d+ a8 @6 A% v
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked) e$ J: O! u6 n
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)7 o9 f. K9 |. ]/ y, p: t$ `3 @6 D# i0 u8 `
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid0 n6 y( t) u$ R" _5 B/ [1 Q
+ f" J0 }; D$ G就会出现这个问题,请问如何解决
2 i9 j2 p) N. n8 V2 V- \
, D& F- @6 N1 W) T& X6 k |
|