|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {& n" n- }7 Z+ l, O: a* k; ~
[0] = {( f3 `9 g- R0 F; t# J4 H
.start = DA8XX_AEMIF_CS5_BASE,6 r; B6 p1 M I% t9 D, ^
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
q# q, }9 ^5 o; ]% m .flags = IORESOURCE_MEM,9 f+ y8 c" W X2 b
},
% ]5 m) C" i6 t' p% n" o2 x [1] = {
$ a2 N+ |: k' D# w4 W" F( G9 Y B .start = -1,6 a! G8 F& k. k8 A1 \
.end = -1,
2 v( P" Y$ @4 ?: A .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
0 p! D6 M" c: m2 V- \) U },
/ r/ y1 @" s) X8 U: Q, V3 Z4 Y0 A
};
. z/ N' U g- \, _2 R
, X6 w* S* e) h" h9 M# astatic struct platform_device ax88796b_device = {3 T' B+ ?! x0 X2 d4 k# a5 y. V
.name = "ax88796b",
) A: R, ^' i6 N' x9 f" _# C! [ .dev = {
# k- v+ Q5 W" J1 L) I! b H) F: K) d$ g
},
* I8 @! b& v1 `! T .num_resources = ARRAY_SIZE(ax88796b_resources)," x) o+ x X# v+ i. ?+ Y
.resource = ax88796b_resources,
% i8 l4 I4 {, ~# @" W3 y};
; r' [5 Q; ~* S
; s& ^/ `- M8 d" Q! R% G9 Y2 Bstatic inline void da850_evm_setup_ax88796b(void)2 p! E( _: g: `/ g# r
{
5 m K- V7 s8 [# K0 { void __iomem *aemif_addr;3 r! ?' W( c6 T3 x% s, U
int ret = 0;* J' T! y9 c3 i8 r; t
. u) c @& w+ ~ `
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
: `4 i2 ]5 J( K, c' \+ ^# m8 w
* |. {3 u0 u, U/ |% _ if(ret)# H7 h5 ~: y% K3 m: C
pr_warning("da850_evm_init: ax88796b mux setup failde:", r5 H% z4 b- D3 o: [
"%d\n", ret);
m& \0 O- Y2 _2 R! P9 h) X aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);* K: y% ~. L# B8 G# Y B) a
* K/ f* Q0 ~( O7 M, C# K8 U0 _ writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |) A. h: q# M( t2 t, L$ ?9 b: x. t) y6 q
DA8XX_AEMIF_ASIZE_16BIT,* _) L: W+ S# `6 _+ {; F- ~5 _7 T
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
7 D6 u' \ ~$ E/ b" F. L7 w: s iounmap(aemif_addr);
$ n7 k! E# \# }/ Y+ W# ^ ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);% ]" k: Q: P8 V8 m, v
ax88796b_resources[1].end = ax88796b_resources[1].start;
) K5 k- }6 W# [# k& Y! m2 v
) r) W' V! Y4 _( M1 Z2 l- m' c platform_device_register(&ax88796b_device);
! i. w( e4 h! c! ^2 o9 y9 K: G! G. A ~
m4 {+ b) W# @1 y, U! W}2 O9 ^4 F3 f% W0 Z7 I- ^. ?
Q' F, |4 `: q4 w
和相关的引脚配置3 k A2 i" R) \* f: O3 v
编译通过,% x6 A. f4 D) ]8 l# a
在板子内核启动过程中:$ \$ }+ s# K' W( W( S
INIT: version 2.88 booting1 G% _# M" @; t& i# q
Starting udev t3 i1 N. C! Q$ E$ W* ^* K
Starting Bootlog daemon: bootlogd.' m5 B5 u& ]- s( M) G- x
ALSA: Restoring mixer settings...3 l% A1 @; A' j- r
/usr/sbin/alsactl: load_state:1686: No soundcards found...
3 m- E2 A, h1 Z$ e! o6 @Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller5 S! {! J6 _! v1 L# A9 F
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1): O% O2 j2 W- T: w7 n
udhcpc (v1.20.2) started0 b0 W* I& ~$ U. }0 A
Sending discover...
, b7 ?# ?0 I! A6 ?9 N+ Y: d" ~Sending discover.... n m. n! C2 R ~: v; ]
Sending discover... S6 A' D' ?2 g/ \! e! x/ H8 i6 ?
No lease, failing7 W* A" _! [- T! G) f# f, {9 }
done.9 s& U5 R" W* J! M
Wed Nov 6 04:33:00 UTC 2013
( W0 i( r$ B6 c2 qINIT: Entering runlevel: 5
1 o5 h0 R: T( k1 F! Q# D7 K# F2 \Starting system message bus: dbus.0 C3 U4 Y1 L# H' ?" q
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
9 u B2 h0 I: K* g" M4 |! F[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
* ^ N/ G( y2 i5 h: n1 C; k[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram2 k4 {' y8 r( [
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22) S& F' C# m7 {
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete6 ~$ y8 j* Q! q0 f% T; f
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)8 n( N% B1 ]+ S' R D) R; j4 N
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
/ k% k9 w1 h, b* @% E) j# S" a* L, g: x; t0 \! G
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
& j7 L" M8 I4 Q: O- g[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
) t$ A7 O2 T6 S[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)
: o4 K% `0 l' X4 Z' n[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked' H$ {% D# R" j2 D
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)2 R2 ~. V. x4 z0 x
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid) e* B3 p3 C' V9 z4 K! W* S
5 K4 \, G8 p, p) |( `就会出现这个问题,请问如何解决+ x/ c# D! [0 `* b) u
9 W" |: N& F! D3 t0 \' L- T' d+ e |
|