|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {, z$ V$ M/ \) t7 i
[0] = {% ` z3 E6 s' S c; G
.start = DA8XX_AEMIF_CS5_BASE,
% p+ ? `$ }+ C- S4 r .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
. h" g! _0 Z9 p ?( z+ l9 _ .flags = IORESOURCE_MEM,
" T/ w1 v0 U/ u' j$ C7 y" z },, ?7 r9 J j4 G: I
[1] = {
* J F$ A3 ]2 G( ` .start = -1,3 W# f% d- D" C- L- i
.end = -1,1 k G* l$ H% J# d# v# E
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
! X; f4 v) x# ]9 }# w },
. @6 L* ~: M* m0 o, w1 a& e$ T
9 Z2 ]5 |9 O# W# f& }5 Z};( M- q, Z% M5 \) {) r5 t- r2 G9 D" p
2 W0 U& T; r* f- d# z( c( @static struct platform_device ax88796b_device = {
* C3 V2 f4 l3 z6 u# y1 B .name = "ax88796b",
( q4 K: z Z! j .dev = {/ T" q( t* U# b& w& v
: I, v1 p ]* b1 g/ ^' P
},
3 `6 @; M8 S" {- o6 x# [ .num_resources = ARRAY_SIZE(ax88796b_resources),8 N: b& n- C T8 Y. O! H: [# j
.resource = ax88796b_resources,
% S5 L4 J4 G& Q# x};* J9 L' P: j6 `! J+ ]% A" v
0 ~! ~2 U/ Q$ L& f1 a1 X+ x/ }; {; C# f
static inline void da850_evm_setup_ax88796b(void)' J- K0 ?' Y, f( G6 [
{
% K- Q, I6 |9 q4 C; } void __iomem *aemif_addr;2 ]8 g2 G& {( e8 P) V
int ret = 0;
, s! V: Q& |/ [& i 4 P9 x7 o8 M# O5 H1 b
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);; t7 j" j, i2 \+ \
8 M2 O: H" Z: V if(ret)
9 ^! b5 n( ]5 m; z pr_warning("da850_evm_init: ax88796b mux setup failde:"( J. C5 r( ^! }& A
"%d\n", ret);! O. @ R+ R, s: R$ w) q) B
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
' J+ ^" Z& P& _! M" X2 A/ c! \ s: C* |" K" X
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
- R B6 T$ r0 @& q$ _8 S DA8XX_AEMIF_ASIZE_16BIT,- r& h+ D8 r2 s+ \! e1 O
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
' m0 y' E. u2 I' s1 |! c- u3 o iounmap(aemif_addr);
" q4 z3 G" m, D* N ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
! W, a" L) z& ]' U8 b ax88796b_resources[1].end = ax88796b_resources[1].start;* R" r" n2 I7 P- V' @! j" O8 j q/ m
( O+ ^' G) x- p8 p platform_device_register(&ax88796b_device);
3 N+ z, ~3 C! s. v' i- F) w: f$ x9 e * x: E3 h0 @# a6 k! `. z2 O
}9 l6 J: M* j& d: u0 B) ~
8 w$ F! I+ r# ?0 q& j7 W4 ^: }1 i% X1 x' O和相关的引脚配置
+ p& `/ P2 R: U0 z l编译通过,
1 I5 L* q0 A6 ^: `6 n在板子内核启动过程中:0 W, P; f! Z2 C& w) P$ t4 Y
INIT: version 2.88 booting" T! T( g( y8 E
Starting udev% _1 e/ @ w6 g8 e1 i7 ^, f
Starting Bootlog daemon: bootlogd.
: z, e% T/ _, o8 q+ @ALSA: Restoring mixer settings...
) F) x: m; N3 T5 P: c/usr/sbin/alsactl: load_state:1686: No soundcards found.... v; m% ]! d$ q7 L( x
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller1 D9 L. q7 Q w# r; c, ~) G- r
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
$ K, v: }0 G! n$ n' U8 j! o2 Vudhcpc (v1.20.2) started
* Z+ D- v+ n, S; e+ L* o; P" s4 HSending discover...7 T$ C2 C9 C3 t% a; q
Sending discover..." {- K. |5 X; B8 k: i7 _
Sending discover...
2 v6 M, X' \: ^* l/ u/ WNo lease, failing
* q( d' {4 x: X) r ]6 n. Idone.! {& ~8 p+ V; `4 b, ^
Wed Nov 6 04:33:00 UTC 2013
4 J9 Q) x' f4 D: G# h$ p; LINIT: Entering runlevel: 5- D4 M; }( [+ S3 r" t s; Q
Starting system message bus: dbus.8 b4 F, b* J- N$ g0 c( Y) i
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
3 [* u. @+ J; z! ?+ r[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
# O" K# ?2 }! W[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
) V: |: k+ B( q0 u$ p[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)" a, q- E0 j* s0 v3 [
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
; {4 f9 c! @0 k[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
2 S; R7 o5 J9 d) l: O[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths O4 C8 Q7 Z! C) }2 \
, }% p D8 a% g/ d5 u+ S
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22); t8 k- O" l% q" |- U E
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
- f( _6 w/ I6 v" l3 v4 a, \[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
* \- ?2 W8 v/ E3 B1 C* n[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
+ G/ F9 _% h# p! A' h' ~3 {: N[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
- J# E2 D+ _+ X! F, s! H[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
3 |) ` i2 @+ }9 ?
/ ?" B2 c8 Z+ c就会出现这个问题,请问如何解决
, ]3 p" @- R' g g- Z1 Y+ p
2 Y A5 X& V* X. h5 N& v |
|