|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
4 r$ q7 F8 P2 T b; O1 Q8 N7 ~- _ [0] = {' c4 Z1 q1 V2 n% ^" e0 \
.start = DA8XX_AEMIF_CS5_BASE, l5 ?/ P6 G- r, o& @9 F$ d; ~
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1," D: ?2 _+ H' p5 \) |# n
.flags = IORESOURCE_MEM,
+ D+ @0 f, Z' p+ n },
6 f! d' w r0 O2 A [1] = {
' U* _( i$ Z# D n0 f6 E .start = -1,
+ V$ @1 G* n, w' ]4 _ .end = -1,
: R; C5 p% S' i .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,# \; W& k7 J. ?+ a( n$ H
},
, }$ y2 w: S- ]0 y* T0 `& P5 V# u7 x/ x- I2 O; L
};
9 x8 @7 b7 v9 G0 G- F
; `4 D" B' `% o# z+ P2 e$ n- Xstatic struct platform_device ax88796b_device = {; K" y7 o2 q. \' G- ^
.name = "ax88796b",
& Z4 ^9 } R! n/ _* r0 V6 a/ g) @ G .dev = {
7 }( ~+ C6 [' z1 q
- G! r* V! b+ a9 A6 T( l },! H9 S# q# R3 q# }
.num_resources = ARRAY_SIZE(ax88796b_resources),
4 Q# c! r8 b2 v .resource = ax88796b_resources,
6 Q R. u: }- Y& z" s4 E# L};
: ^" N* G C6 U3 x
! O( C' V1 w* j5 B' s5 t' e1 S+ hstatic inline void da850_evm_setup_ax88796b(void)
- w& Y9 l) z1 l, R* T{
# f6 {6 D2 P+ k) \, q void __iomem *aemif_addr;
3 U. r0 E$ }7 V1 m int ret = 0;
& e. w5 H3 y! a& J
5 \7 O" h3 [. t3 ` ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);7 u& R! e. f; B; M) B0 x( L
3 e) g" k- `4 \. b$ n1 G
if(ret)
9 G! L+ L% N% h" r pr_warning("da850_evm_init: ax88796b mux setup failde:"
+ u9 P; |7 w- J! M, ]+ K+ }3 \+ |8 b1 o "%d\n", ret);1 t- d9 D2 O- y5 q( G! S- I
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);: Q1 E4 C$ f) i8 }
# N7 x; s+ I! P8 x- o2 W% } writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |" E. J$ L6 S V4 j0 _' G# @2 Z' Z
DA8XX_AEMIF_ASIZE_16BIT,
/ ]7 u+ Q9 F7 S8 R aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
2 `7 y2 C* T+ H' s) h/ r0 w iounmap(aemif_addr);
3 U* U( O' b# S ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);. ~: r9 `" z3 R( c, P1 S& n
ax88796b_resources[1].end = ax88796b_resources[1].start;
. E: j. S/ m4 @1 ^# ?+ G, x & Q" ?0 X5 C9 q& I* I* Y
platform_device_register(&ax88796b_device);
/ _, g6 ?5 `2 r: ~3 y. V
! q% ]0 T. j) ] H}
4 _6 V6 X# H+ ~7 E- ]" Q9 L$ w
1 q6 N7 W2 {" Z3 w% c( P和相关的引脚配置6 N: V9 n& B0 |1 C
编译通过,
: R j' I. a7 Q4 b& o$ h1 W- s在板子内核启动过程中:
0 S3 Y9 V- j6 c# [# K, x0 X* j9 PINIT: version 2.88 booting, l" \3 |8 \* U6 _- l+ k: {2 Y
Starting udev
- R, N* k1 ~! k: V, O8 zStarting Bootlog daemon: bootlogd.' l6 p% m6 v! X1 l5 i. J' I+ _+ u
ALSA: Restoring mixer settings...
* R" p( Y6 W3 N9 n$ R) ^0 W/usr/sbin/alsactl: load_state:1686: No soundcards found.../ I" C* k4 D; L6 l, Z( ^& i$ H
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
/ }& X% m1 ]$ ]% I, Z8 a[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)3 t* ~5 v2 L# C" k4 R. V- _
udhcpc (v1.20.2) started
! C7 q3 A& m5 d( LSending discover...
% f2 \1 A( m7 H3 bSending discover...; J/ z% o/ T% Y, R" \0 D
Sending discover...
& x# n e! }/ G- ~4 `- \No lease, failing1 z- {+ b: Z! a! \6 x& g! b
done.2 r$ m; p: M4 M9 q, n6 s
Wed Nov 6 04:33:00 UTC 2013
4 i& L3 v3 C& s- u* gINIT: Entering runlevel: 52 \( q4 Z0 B$ a e! ~& w$ k& ^$ q
Starting system message bus: dbus.
+ v9 X9 B; ?0 C8 ^- L, E0 d7 o/ KStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg# R( g. p" T+ V
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)2 V& a, D+ P0 i
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram! O' U# f0 Q t0 g- B3 W
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
, f- |4 I# h7 I. J) ][ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete+ G0 O1 P c0 Y6 m
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
( q! u% E1 x2 s0 Y) F5 n6 |/ T[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths0 N6 f+ ?% V* s' M* }6 Q' w
# a6 i+ m: b3 s. _/ {" x[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
2 G$ W5 Y9 Z3 T) v( m9 U; s/ K[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
* y9 Q6 {1 U( j1 O- @ h[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)& h4 C2 @' @. }
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
6 Q9 e; e; ^/ W* z( b[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)5 y- r( t, a2 N3 l% ?
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
! v- L. m, x0 z3 v A6 p, D
" y9 N# v* X, z+ t就会出现这个问题,请问如何解决
# a7 b. t7 Z3 H J0 q
8 e* w# x' P' r* V% G- x |
|