|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {9 A' o4 e9 I, J, O; W! \# O, z
[0] = {
5 M1 C4 u' E6 g8 f6 [* ~ .start = DA8XX_AEMIF_CS5_BASE,
& H. g* m) m( m5 C .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
8 Z) K) j, [8 p1 n/ Q5 ^ .flags = IORESOURCE_MEM,
6 o( i/ j% n- e& u. i },
O9 s! O" l+ h( v8 N0 ] [1] = {
* _6 s. ^( w# s }& i# W .start = -1,, y* K5 [- w8 J$ }
.end = -1,$ |* J# s* p. w8 j( M9 U4 w
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
2 ^& ~% v3 S, Y2 s# e& V! X6 V4 j6 p9 L9 k },2 z: N$ H# p; U6 x; \" W
8 H6 G! c; C. I0 m7 K% O5 z};) x8 o5 G" {4 q L/ O- @
: t. m6 ?1 |# B( J
static struct platform_device ax88796b_device = {
& C$ b; V' Z) s0 ]! I! M" k) e( v .name = "ax88796b",2 @ }% {/ r0 s+ V: G4 m
.dev = {6 i3 G) [; W9 j! r V2 s
; v) ~ a& j$ |( u. G) I
},7 g/ ^" |; X( A' O
.num_resources = ARRAY_SIZE(ax88796b_resources),
7 a7 P. j4 M! ]3 F5 q, w .resource = ax88796b_resources,: ?4 i8 }: P+ H. {' F
};
3 H. T) z7 S+ ~, w h) a( Z$ s6 |8 y4 l+ X
static inline void da850_evm_setup_ax88796b(void)
+ X4 Z7 Y& x1 D; w{7 r, }/ A2 }; J% {
void __iomem *aemif_addr;
3 m* N6 \1 ]' p int ret = 0;
0 S% ~. Z3 H" |& O p 2 i! `6 T8 w* u/ @
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
- V3 ]- f% R# Z* W; K
! k; W0 n# \# K if(ret)
' M3 f) O4 T0 Z) D) G( y4 R pr_warning("da850_evm_init: ax88796b mux setup failde:"& C8 C% J0 C) K
"%d\n", ret);
/ d! p4 V4 ?) J+ c+ I3 J aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K); g1 h4 M2 R5 c) h8 \0 ~
$ s: I% v8 e4 j L) u3 W: g2 t writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |( c3 y; m+ e0 R ^' w/ z* e" ]
DA8XX_AEMIF_ASIZE_16BIT,. ^9 b# \6 f9 S4 g u
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
+ A" W& |' c* z4 r! T z+ q B! h iounmap(aemif_addr);+ y2 X% ^) [2 y: x7 Z
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
5 W1 O# P: S% }2 S; U- G/ @ ax88796b_resources[1].end = ax88796b_resources[1].start;
e; ~: \+ g0 r" A2 G- ~! k0 f/ j 1 L! ~8 A1 _: _+ r9 ^1 b0 I2 b$ }2 O
platform_device_register(&ax88796b_device);/ O' V; ~8 _4 ? ^* [' b( q
$ _; p& c3 j' v* z) ]; X}1 c) @4 Q; M! d" \4 H
# z) E( `+ Z9 b y
和相关的引脚配置8 [( w0 l0 t3 R9 V* p& n Z
编译通过,
' O% s' \( `* ?, X9 L' d! t. p7 O在板子内核启动过程中:
2 D* A; u& q1 pINIT: version 2.88 booting& @- e- M1 @- e
Starting udev1 o# ~& S: `* ~0 B6 \0 T. A; }
Starting Bootlog daemon: bootlogd.
' p+ C9 C4 G$ J# x2 [ALSA: Restoring mixer settings...
) `0 ~" u5 G( m# q$ f/usr/sbin/alsactl: load_state:1686: No soundcards found...
( a: B8 V, K4 {; M) qConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller0 G! C$ l8 e- Q5 ^6 {
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1), M3 F: H/ C) d, t9 p+ w) }2 ^
udhcpc (v1.20.2) started! J( y4 g9 G5 q! N) o& a
Sending discover...
d# p* i+ q/ S' @6 v |Sending discover...
7 D8 L* z( k; X( GSending discover...& D9 e' H; p7 g4 X' h' j9 l8 e
No lease, failing% q& \! k- Y5 `/ e* u& n/ Y
done.% u$ G2 c& T# O
Wed Nov 6 04:33:00 UTC 2013
: X [' e D& h6 T" o; k% bINIT: Entering runlevel: 5
- Y5 p/ G6 ?( R5 w; d1 }+ `, `9 DStarting system message bus: dbus.
: N, {6 L# U* ^0 S: T2 U% J" t9 X9 VStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg" w2 C/ x ` _1 `- T) u. I
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)" S& u- m6 D" C* P; F5 s
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram6 ?+ K' e0 u1 D7 K, a
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
0 y5 P. D' w* [+ Z* m[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
0 _ i1 G. D; H4 m9 u2 Z1 u[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)# D L! h* {/ x3 p
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths V! q$ ?: V8 ?% [
, G2 ]4 U$ m" C) @0 d0 j( N( }( l[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22). @6 i6 z) F5 A. V$ Z4 s/ c! ~
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output( V0 t% h" E3 r6 s4 q) f2 i! E% N4 O
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
3 X: _) S' m, U2 R6 [) t[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
5 Q0 y" V/ y2 ?6 e/ T* M5 R[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
8 [- d5 u E( d* g[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid& X) i1 O" C$ M, _$ Y
7 m) E' h' y8 L! z) {3 | u就会出现这个问题,请问如何解决: E6 M6 s: g! J( n, t- e
) D$ U# I" y0 |; F$ G
|
|