|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
& J3 e' J" E7 ?3 H [0] = {, N% D4 J# N+ r2 P& E- q
.start = DA8XX_AEMIF_CS5_BASE,
! x. e; i3 @3 D8 _& R .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,/ U- n$ }4 Y# s4 g5 [
.flags = IORESOURCE_MEM,
7 k' Z. g0 `# w- a },
. t: U" i- N% d; h/ V1 G [1] = {
& c8 Q$ J7 q- ^9 ?+ C" H6 R .start = -1,
4 O Y$ t# N; |- {9 S .end = -1,
& y1 B- y8 z5 a+ s* B! C0 ^ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
3 K- t+ u4 |2 b6 d0 N/ ]- S4 h& o },
' ~5 i- E; G/ `5 E$ H
! B/ v! r& n! s1 _9 S: N4 A" M+ l};
8 Z% i) }9 M% q: I c4 ?
* z { o+ E' |4 ~* J9 Z1 m$ ^% Gstatic struct platform_device ax88796b_device = {
4 [9 ] r& y/ ^3 j- _+ R2 y .name = "ax88796b",
" j7 f9 m/ j; G* L4 O .dev = { v7 r5 q4 r- ~( s0 [. ^2 J6 i9 K
2 R' W1 r2 o# F9 l# c) i
},6 K7 k* l1 p" Y
.num_resources = ARRAY_SIZE(ax88796b_resources),
; O0 g# z( E* Q8 F7 U .resource = ax88796b_resources,; B' {7 I+ C0 b4 k- C! A8 p
};+ I- S- a1 c8 `5 P' w" a$ I
5 w: d+ L1 \" u# m
static inline void da850_evm_setup_ax88796b(void)0 W6 p% F/ Z( a
{
4 o% m/ g9 W, c( w* g void __iomem *aemif_addr;
3 ]* V0 \) Z) H! L4 k int ret = 0;, ?: Y; G, A/ ^# ^/ u; S
1 J- r9 v0 }& W1 T% W/ [# f
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
" @: j, e+ T% C5 O' N- C ) s1 [3 h i* z$ |" F
if(ret)2 V, \7 h4 Y6 j G2 T" V& l2 {# W
pr_warning("da850_evm_init: ax88796b mux setup failde:", w A' k" G& `' e
"%d\n", ret);. }1 K, C1 k- y1 Q7 [9 a
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
# {/ u9 r: R1 B6 R) G2 u. l
& [) ]! `) h# H' G U6 S writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
6 d, |: t4 O! C! C DA8XX_AEMIF_ASIZE_16BIT,
& ~' ~( Z2 G9 W' A r. V6 Y aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
1 z9 g! E" Y0 J/ m iounmap(aemif_addr);! _- w" ]/ l0 Y6 x
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
# }0 W( U6 A: N* N, F9 N; f, I1 H& q ax88796b_resources[1].end = ax88796b_resources[1].start;/ m2 G1 s5 f: m, W# y. H2 |" u
; x. q- C2 y. U/ N/ }; ~7 P% k
platform_device_register(&ax88796b_device);
- m4 t- i0 x/ t
3 z Y( A" {+ c}
5 g) _) x, Q) l6 j
8 Y9 i/ I- v6 }和相关的引脚配置
. g' V1 `" i7 l" w$ K3 R0 L编译通过,4 v, |5 `& S- A5 ^% ?' k' I& Q4 ~) I8 w
在板子内核启动过程中:
% h$ j$ O- M# k( wINIT: version 2.88 booting
' N( z& ] G& Y' Y. |Starting udev
, K4 f8 B5 ~! rStarting Bootlog daemon: bootlogd.
$ a. Z% d- K1 k- f& AALSA: Restoring mixer settings...( l4 m8 j1 h( a" _# b% k
/usr/sbin/alsactl: load_state:1686: No soundcards found...
! X5 {6 |$ \) p0 G2 H. D! k8 dConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller& I. g+ j. _6 B+ W8 u5 U3 y2 C0 Q
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1): p0 a6 g/ m( ~' C4 C! g+ \: |
udhcpc (v1.20.2) started
2 P/ p$ V9 }5 @0 @% cSending discover...9 w2 F1 K! {9 C6 l; j
Sending discover...
8 n8 O0 Q, K/ J! i5 ?Sending discover...
) K- M' \) v5 g- m9 d# NNo lease, failing
; V$ {' U! }0 V- t U( A# Idone.
' Z' v% B" ?) {$ l+ DWed Nov 6 04:33:00 UTC 2013" V0 g+ x- m. s( R G8 I8 `
INIT: Entering runlevel: 5
0 l4 e0 S# g! x- \Starting system message bus: dbus.
8 S. ?. \2 J( x, V- M# zStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
9 I) A4 p R! M" }0 I2 `" g* C& P[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)$ ^ ?# G8 b! r9 _
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram I5 f; M3 h) @4 V0 m1 a# Y9 r
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22). \ H" a- r: r4 i9 z
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
5 q! W8 c* l, p' W8 O[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
: X( k# w: ~7 Q& p0 o2 x1 ][ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
6 M# K7 c7 Q, w6 ?* `+ s8 s9 ^2 Z+ w8 i6 ^9 z) q
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
& K& [' p; G% h5 m$ @[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
- }$ ?1 l& [. h7 }2 J, n B[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)$ E9 p* V# U2 A3 q
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
, v; p! [+ `+ a, E: D. K1 X2 I8 n[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
8 s7 o! ~4 \- w5 t6 G0 g F[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
% ?6 f: J7 r* ]1 f. R; M- u
) K- `* \& s. `- C7 A就会出现这个问题,请问如何解决' ]8 s% X3 j$ y
# ~1 w7 h6 ^4 V! E: L( f: i3 y/ e A
|
|