|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {
% ]8 I5 |4 L# T' |) T( c' u [0] = {# G m$ I) X; c8 }1 h* @- k1 \
.start = DA8XX_AEMIF_CS5_BASE,
* ?! ?9 b; u9 L# I) I; B .end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
7 Z, _( U( \8 G3 n .flags = IORESOURCE_MEM,
9 l" o/ j/ Y) l8 u+ n7 s. u" @3 a },
; J0 X% W: Q9 m" { [1] = {4 x7 h/ f" W- h& S
.start = -1,1 k8 D E2 P6 E+ j* ~- z } W: ^
.end = -1,
7 S* d% a5 @! H8 R+ X .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
: r/ |! Q5 q6 d# w" Q+ {$ u: X },
7 e# [( v. J, H# {8 _" A+ e
: M; t4 X+ O3 K) G- T};
, h* H* b1 O! Q8 O% W9 T
% m, P" z! d0 h+ _static struct platform_device ax88796b_device = {. N. f' I. H4 S1 S
.name = "ax88796b",
: i1 N/ r9 C1 y .dev = {: f% ]! T: Z- V# K9 }
& w2 M2 c; K$ M( Y
},/ z0 @8 M' r% T! W3 t. ?4 Y
.num_resources = ARRAY_SIZE(ax88796b_resources),
. l( ?" v4 }2 Z .resource = ax88796b_resources,; Q+ D0 e- b$ X7 u1 M M
};
7 m- N: j8 O, Q' \' T6 u3 U, a
1 ?- N9 E: y; Y' r: }( p f4 kstatic inline void da850_evm_setup_ax88796b(void). U" q1 P5 A3 g( y
{% K% T* F+ c/ T$ B! g
void __iomem *aemif_addr;
- B# U$ w7 _- \& A5 | int ret = 0;# S9 C4 D' V7 @1 V4 m
8 Q& L. @6 H& |+ m4 e
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);& w) _; g3 m0 x: r7 {. W
; o) Z7 j7 t: K; S2 |: i; M
if(ret)4 V- Q4 h, ]0 ?4 t
pr_warning("da850_evm_init: ax88796b mux setup failde:"
3 r, l* c( x" ~ "%d\n", ret);
! E1 h. Z4 Z5 n aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);* u8 [& j+ J9 i& O6 |' v/ l0 ]4 i
4 U9 W( x$ P8 e8 q, ~4 N+ x
writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |3 ~- H0 I8 u0 ?
DA8XX_AEMIF_ASIZE_16BIT,
% I/ e8 B3 G: b7 j# B aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);" E, i' s; V3 c- N/ q/ `
iounmap(aemif_addr);* V* q" [% u. E7 a" c, Q
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
! h3 {; j7 f" L0 s1 F5 r4 w3 n ax88796b_resources[1].end = ax88796b_resources[1].start;+ E9 ]- o& l4 R# ~2 [( ?" s
* p! `9 {" S2 a! W, o5 e* e. @# _1 V6 N
platform_device_register(&ax88796b_device);+ Y5 ] I4 B6 j
. F* J5 p4 M, d# R}
7 N3 H$ y. q g. N; R! O- |8 o( }# R" A ]+ s! O' b9 Z
和相关的引脚配置
9 d+ C- s7 _& V- f/ X* }. ~编译通过,
H, m% ~2 }' p: f8 }, Y在板子内核启动过程中:
: I4 T( u% ]+ B2 p* P5 `INIT: version 2.88 booting
/ ?7 L) F" x: A2 UStarting udev# W, N3 i- T0 e$ f. I: U
Starting Bootlog daemon: bootlogd.) I7 Q5 R- l' |
ALSA: Restoring mixer settings...
! m* S/ _' \/ ], a, o/usr/sbin/alsactl: load_state:1686: No soundcards found...- G2 }) R9 O5 K. r+ p% `
Configuring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
/ k0 A) |$ Y2 B3 i[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
; i" h, K: l) Z# H& U& Sudhcpc (v1.20.2) started. I. p/ f) A# ?* K2 P$ p
Sending discover...
- P' L4 Z1 r! z% }2 `- y$ ISending discover...
* @0 p9 j9 Y+ P) e6 ?$ S+ ^, n( ]Sending discover...+ t! P. `' c6 ^
No lease, failing
& T4 q+ P$ G9 a. n/ R: cdone.6 K+ o: D. p( B9 x6 R _. l( a
Wed Nov 6 04:33:00 UTC 2013
0 ]1 f! W" H! C l3 S* x) W# iINIT: Entering runlevel: 5 D ~: N5 O9 f5 ^6 B& O$ `
Starting system message bus: dbus.
0 }& C' q1 r _# ?$ Z5 ^Starting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
4 ?5 s3 g+ N8 Z( P[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
& H4 X& l- }& I7 U[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram' L. B+ Y8 h9 D9 r
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)# a' }- w z ]7 H: e" y* c
[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete8 ^& u/ B8 w: [) d+ Q/ I# n: l
[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
1 x, ~' i! ?% j$ Z0 k[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
' x8 Q! D9 \+ n; e t! z
$ s! J6 e+ z& p% O `+ u, k& q[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)# L) ~& E4 q7 K' ]
[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output- a6 g# m8 H1 t9 i7 G
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)9 n! l$ w' G3 q1 a7 t# D# o
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked2 w+ a; U* R% v3 E
[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)4 ^6 ^3 m# i1 w1 P- d% {8 `: t, e
[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid V& j+ M7 s2 P+ o& G
% t/ P8 F3 f- Z( ?0 ]9 K就会出现这个问题,请问如何解决( ?$ D I: `/ \- E. Y
* ]0 ?* y* K! ?' a
|
|