|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {) r* u! w) t6 w: M
[0] = {4 N& O$ Q* M" g5 Q5 p) l) n
.start = DA8XX_AEMIF_CS5_BASE,
# a3 O. j: h4 ]1 S .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,4 ~: \, S. H8 k9 ?; u; Z. c
.flags = IORESOURCE_MEM,
7 P7 _' L. p/ k1 r. f }," n' n6 E% H. b/ \1 r- |* h3 P. J
[1] = {: h- D4 e# w) t# k1 W( ]
.start = -1,2 ~$ D; e: o0 S6 a6 V
.end = -1,$ ]1 Z A2 Y$ F3 b
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,$ D0 [$ c* b8 Z& X4 v4 ]' @- M
},
[0 k5 O, H1 a0 l9 Q; {8 f/ U. L% s2 z7 G* F6 d' j2 |
};
; q' D7 g: P# O. y. |0 p, _: O- {* `
static struct platform_device ax88796b_device = {2 y! Q. _1 | P, j& z
.name = "ax88796b",
, |1 i _+ u( d% p# _/ N .dev = {: S$ {2 n7 U6 i5 k% L
& h# i8 m- S e0 q$ y: [) y$ j
},7 h7 R9 _" u$ F+ m2 u, [
.num_resources = ARRAY_SIZE(ax88796b_resources),
9 r2 n6 b- b1 w) e& \& O .resource = ax88796b_resources,
' g3 t$ b5 M0 m- C0 M! {};
; o; |/ h# v- E/ O" q& ~
2 \' J4 B" F7 ?" Gstatic inline void da850_evm_setup_ax88796b(void)* y* _1 y5 Z. J- z3 s4 n4 a) N
{
" Q/ E; X) m# R6 U" @! { void __iomem *aemif_addr;9 T" x* V9 N l: O
int ret = 0;) M, i7 ^5 L( J
7 A# w$ x5 a7 J3 K7 }
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
$ E/ h* g: o! K" ?; c
5 T: X0 Z' k" k if(ret); J6 H5 o( b' ?" f6 |9 F) M; V' C
pr_warning("da850_evm_init: ax88796b mux setup failde:"
' G6 x% B0 X! u# y% c8 y "%d\n", ret);
+ ^5 V4 v: P& u: k1 o; @$ X aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);9 k4 s4 L+ m8 M! h' y5 C
' d, k8 ~( J) @" } writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |7 ^/ j* ^+ C& x7 y4 L% E! g% D
DA8XX_AEMIF_ASIZE_16BIT,6 u F- {- O7 R5 }* e
aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);8 F+ b, K4 m: m: _7 p. o f
iounmap(aemif_addr);
3 ]. ]1 b+ i8 u7 s9 N5 k ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
' N# b$ P9 L' s& z# p* J$ g6 s ax88796b_resources[1].end = ax88796b_resources[1].start;% a" m! \# |) ]" Q$ V7 o) F5 e( t5 j
- l) Z* c0 g/ d7 E+ c N: Q$ i2 O! x platform_device_register(&ax88796b_device);3 O+ w5 `+ @3 W
) V+ `! ^/ z% d9 _5 n& @}
8 q+ a, B/ x( L- W8 | @6 G! o, q5 j# s' i; {$ m |4 v5 C7 v6 t
和相关的引脚配置
" [3 `& p# M5 t* T3 f) y编译通过,
; a4 Q6 J# U) U+ [, f9 f7 C: @在板子内核启动过程中:
9 I7 J- H# D( \* e2 yINIT: version 2.88 booting
; q+ _; b# C _3 w7 \( _Starting udev n, E8 k# u. n; s" j0 Y- _
Starting Bootlog daemon: bootlogd.( w& W G9 n9 A. R5 ~* C
ALSA: Restoring mixer settings...
% n- R. o& u: T. n/usr/sbin/alsactl: load_state:1686: No soundcards found...
2 V" Q7 a& a4 ?Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller% k6 r* `9 m6 x0 I
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)$ ?4 B# x4 H' V) ~. M
udhcpc (v1.20.2) started1 b1 B" H s: c$ g; y
Sending discover...
( [& s; a. A1 Y. |5 {7 G7 y. pSending discover...3 q7 z5 u) W/ K, N, h
Sending discover...
+ t Q$ Q9 k' U( Y! z% WNo lease, failing
/ K7 ]$ D3 B9 Adone.
7 @3 D! |$ F4 e y# mWed Nov 6 04:33:00 UTC 2013
/ `0 ~2 y$ T3 N/ d5 RINIT: Entering runlevel: 5& x( v+ n7 f6 X+ k( s0 N
Starting system message bus: dbus.9 f c4 `9 b4 C6 b2 i
Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg- O2 d# X2 a* p; g1 [; @
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)" ?4 c2 l V8 s! H2 }
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram
; b" o- K- d0 b5 W7 u! I/ |# ~[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
& F" V! G9 Z/ z[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete& ?1 x& d3 O5 q% ]( t6 S, Z
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)( {4 v3 k$ o6 y, F
[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths6 v# {- @/ D) `
; t. \5 y' W7 v# ]# w# F3 }[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)/ f- u' j6 U* f& B" Y% E
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output" c; e& U5 `5 v6 A9 Y- `$ m# h& |, g
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)4 T4 F. U$ Q' R
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked/ p7 Y. k8 B9 [: K' q1 G& n; k5 a
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
1 i) j$ L* S6 ~& ?[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
0 L! o3 w( r3 g& m$ c# `
1 N9 [/ Z( Z9 j! k1 M+ v0 c& h: X就会出现这个问题,请问如何解决
( }8 v, Z( v9 L6 ]( e! Q4 n9 k" H6 ~% g: H0 ~3 I
|
|