|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
/ e& ^# N& P, ]# H/ j, b [0] = {+ e/ k; L g- Y+ V
.start = DA8XX_AEMIF_CS5_BASE,
) \6 |$ {8 w9 c. ] .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
' L7 V- m2 B, E6 h4 y1 {$ s% z% S .flags = IORESOURCE_MEM,& ]/ Q0 v% L$ S; O1 r. }$ `/ I
},
: P. w! K8 C1 }$ M4 J+ T7 t3 f2 } [1] = {
, T$ K0 z' W4 v0 a, e0 Q .start = -1,' O6 r( c3 e4 u/ y! K+ P
.end = -1,% R$ |; _6 P' Y
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
( ] r, R3 s$ G* z },
) U% T4 ~& R7 |1 q" x" J
g( T# W6 J: b" Y};# i# m$ r, G$ z7 ^! z
# V7 i) t/ i5 l0 j4 P2 v
static struct platform_device ax88796b_device = {
' ^% K# x, h7 T3 L: N .name = "ax88796b",
' H R, S$ g* k# U7 t1 x .dev = {
9 K- t- v, k5 ~$ g7 T8 q
* A: w" p y. d& v2 U9 u8 @2 [ },
8 @ C8 y: u" w# J Z* x% i/ C .num_resources = ARRAY_SIZE(ax88796b_resources),
8 ]" j" E4 w! v9 Z .resource = ax88796b_resources,
8 V# c5 Z/ R/ P3 V! e4 u: R7 ]};
6 m! c3 l/ l; i. y- Z. b/ ~: X. z$ c& g: a
static inline void da850_evm_setup_ax88796b(void)0 Y" T' c7 J; {$ r$ F2 w! P
{
$ {$ k9 T+ L8 j; o void __iomem *aemif_addr;! g$ e7 r& a, ~& o' ]
int ret = 0;; g; @$ W4 s& i* Z
; s, l/ O. j* V1 \
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
5 M% Y( d- {3 Y4 ?+ p9 ], P# Q . B6 Q. J k" O# x' {
if(ret)
8 D4 ]# A. f8 K' `2 j" x( V2 `- X( ^ pr_warning("da850_evm_init: ax88796b mux setup failde:"" }5 Q7 B3 N" k
"%d\n", ret);
6 F% L6 z9 h/ Q5 w& g; a2 ^ aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);; C9 G5 k1 l; d3 J- Q
* P" H/ y. J' r5 N- n- D
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |: \% t- Z3 A# V: ^9 Z) e
DA8XX_AEMIF_ASIZE_16BIT,
- |$ M- c- j9 L R& y aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
7 h# N% z. h0 h* b2 V iounmap(aemif_addr);
p4 O% L5 c, r7 _0 ^. y ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
) d& j- \2 p) C* m" I3 e ax88796b_resources[1].end = ax88796b_resources[1].start;
2 |9 W! Q3 m6 _0 X
5 M4 D$ J( f% H5 E u7 a" N platform_device_register(&ax88796b_device);9 z3 W0 I+ R8 p2 a3 n
6 S: ]. p- }- s& ], V, C2 `}, f" f- Y7 C! v4 m5 P! X
0 C0 c% l' a, g# X和相关的引脚配置
% C$ k$ ]$ Y2 ]* O6 A, t8 f编译通过,- P' z) I8 J; _+ A1 O
在板子内核启动过程中:; R! G5 a; |0 H+ E- s6 B- B
INIT: version 2.88 booting) {$ C7 ?1 c% R b& C8 K2 D0 Q* k
Starting udev
* a! Y# {% ^3 ]Starting Bootlog daemon: bootlogd.9 A2 L1 b* j* w b
ALSA: Restoring mixer settings...
4 v/ Q, Z: j) y5 D2 \* {/usr/sbin/alsactl: load_state:1686: No soundcards found...7 w, V4 a; ?( Y8 j- |
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller7 F9 y, L5 X' n
[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
3 W3 x8 b; q2 q" S: q$ l4 e: Sudhcpc (v1.20.2) started
' H2 ]! y \/ ?$ l" wSending discover...6 n7 a- E/ [- Q- K( Z2 H& {
Sending discover...
4 f4 w( u* O7 C( {/ o% WSending discover...
; E. f: V: K5 x, A. }) {No lease, failing3 k2 { ~0 y+ G' @ D
done.7 o t+ l& R8 N% P4 ~
Wed Nov 6 04:33:00 UTC 2013# D3 j8 S, g0 s5 e; F: G
INIT: Entering runlevel: 5
9 A- ^8 i" {: M- J, z( t) N- xStarting system message bus: dbus.
! `6 Y0 P! L* ~( X& CStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg% c/ N- s3 S) r6 B% b* a# c
[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)4 u: c* x( L1 n4 Y3 Z B" ] n1 @( e/ x
[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram+ e6 r" X0 p3 u- c ^* q
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
{8 t: N9 I# B[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete3 Y; J0 J+ x# K- }- e
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
" r+ F* {. ?# C2 s; s1 }1 Y[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
) v% N x8 y6 Z" O% q0 W: V& @/ c! U. Y* C- s# t. t
[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)( j$ L8 Q' ]! V) S1 e
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output
* j' x( {( Q% a4 z, E" j[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)5 Y. g6 }) G" M# u# [; R& U2 v$ O5 s
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked' z9 I$ `! H8 l. O
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)$ n+ Y+ J# a3 J, s S; B
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid1 J( ^- V% x y5 A
7 H' f4 O7 a1 @2 H+ E2 O- Z就会出现这个问题,请问如何解决! ], ^5 L, L" T9 a) W4 q+ `9 J
- n/ J9 K8 {5 y |
|