|
|
我在board-da850-evm.c文件增加ax88796b的板级驱动:static struct resource ax88796b_resources[] = {! X: W6 d0 ~: I
[0] = { d9 h2 \! ]# t1 R9 R5 ?, n
.start = DA8XX_AEMIF_CS5_BASE,3 L/ G0 s$ g1 L$ z
.end = DA8XX_AEMIF_CS5_BASE + SZ_32K - 1,
: V: U6 `# T- N9 e7 b4 m .flags = IORESOURCE_MEM,
4 Z3 T3 _/ {. w% [ },
, G o% A* A Q: M1 h& W/ @/ c [1] = { W n8 f: _6 ?6 Q1 _
.start = -1,$ A |2 b+ g2 p7 H; v% m
.end = -1,! v/ g* p$ M {' G8 x
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
$ K. q# m2 K3 r s+ p9 ` },2 Q. |! h7 k. q& P9 t
. I1 A( P/ u% j9 u9 r8 G' h4 g};$ g u3 A& d+ m' W; ?+ N6 ]9 i# F' L# B
& U+ G. I1 p' Z2 kstatic struct platform_device ax88796b_device = {
) E3 F4 |7 [& ~# B6 ?1 {* } m .name = "ax88796b",
- w$ y% O. K& P0 K& G .dev = {% [* q% n9 i0 v
# ]6 Y1 B' t/ `2 a5 p },
+ U, L5 \; G, Z9 f .num_resources = ARRAY_SIZE(ax88796b_resources),
) R; H5 R' u. K9 {# d- D .resource = ax88796b_resources,8 c4 E& s# W5 W1 R* `3 f
};
1 n6 x. _ s8 C. O5 p2 N% i4 X* m/ a( r! I" \9 H, L2 A. U
static inline void da850_evm_setup_ax88796b(void)
* K# Z2 J$ P: j0 T1 z5 G" r{/ a6 ^% j: W; a8 \9 y; c
void __iomem *aemif_addr;$ r' v5 H Q7 o6 }, D0 n
int ret = 0;+ b4 f5 R) X9 M6 v# d+ y
+ }, N- {) @$ M) P8 {
ret = davinci_cfg_reg_list(da850_evm_ax88796b_pins);
+ ^. q6 }( n) B, w% V- L& t 7 A1 X- l0 K! N+ x& q$ z3 W
if(ret)$ `% ?0 c5 ?+ G/ p
pr_warning("da850_evm_init: ax88796b mux setup failde:"& v d6 Z" r) K$ C7 a" G% y
"%d\n", ret);, s1 B. Z+ T$ Z6 p
aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K);
_& @ |, r" P
7 {$ p; I9 Y6 g writel(readl(aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET) |
1 v9 C% K- w* F6 s. ?7 k2 c" K% d DA8XX_AEMIF_ASIZE_16BIT,
, B0 e, d. i' P" K5 Y6 @' r aemif_addr + DA8XX_AEMIF_CE5CFG_OFFSET);
8 H. j% K0 e0 p iounmap(aemif_addr);, t O& J6 E( e" ~: c
ax88796b_resources[1].start = gpio_to_irq(DA850_AX88796B_IRQ);
# `* D& j8 G, C7 {' R2 ` ax88796b_resources[1].end = ax88796b_resources[1].start;
* |2 M4 F+ v0 \7 z3 U4 t. b
I/ S+ L$ d6 Q t5 g0 h! v8 I platform_device_register(&ax88796b_device);. G' R( _" d7 |5 c: l( i, `9 B
* p5 c) p8 E" e5 C8 a8 A7 E}
% J& r* q! W# n [& \( T2 J3 i, I2 Y- y) K6 R. y7 e4 m: O
和相关的引脚配置
2 e* D4 g* e, ?) S3 { D: e& `# i' k4 r/ ?编译通过,# x) C' i. M" t, k$ a. _
在板子内核启动过程中:/ ^3 |6 Q1 g, F8 X4 B. _( }0 m& J
INIT: version 2.88 booting
2 N" l# e+ g4 b) I" A& v/ EStarting udev* v6 l# v' B' `* k6 U3 \. i
Starting Bootlog daemon: bootlogd.# B% s A' [. W2 O- l+ f) y
ALSA: Restoring mixer settings...1 Z0 k+ @/ T' y: H1 g
/usr/sbin/alsactl: load_state:1686: No soundcards found...
( I0 `) _2 M) M* y+ V( }2 x. EConfiguring network interfaces... [ 12.665617] davinci_mdio davinci_mdio.0: resetting idled controller
& A* n0 { a! i: H$ T5 L. m[ 12.672854] net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1)
/ @' ?7 |3 B7 _ ?' M5 F) rudhcpc (v1.20.2) started8 ^9 E4 l! ?) y1 ?0 k
Sending discover...
0 S1 N7 b8 X f5 ?Sending discover...3 ^% c' S; E3 ^. t/ t0 w m5 }
Sending discover...+ W, o2 O- i7 r$ z* l
No lease, failing
8 V; Y" W7 A5 S' R5 i% Wdone.# o$ [; x& K# q& I* x: @. C4 I7 e
Wed Nov 6 04:33:00 UTC 2013/ `1 y( X4 o/ a' e% ~2 b" m
INIT: Entering runlevel: 5
/ G) T( |7 L7 o( EStarting system message bus: dbus.
. D3 o! o( U; Z9 [) L7 PStarting Dropbear SSH server: [ 22.869096] ipv6: disagrees about version of symbol inet_recvmsg
4 }* E2 j; B3 D[ 22.875341] ipv6: Unknown symbol inet_recvmsg (err -22)
y9 T! a O) M% A[ 22.880894] ipv6: disagrees about version of symbol skb_free_datagram/ s) u) t' k- @+ @: C
[ 22.887493] ipv6: Unknown symbol skb_free_datagram (err -22)
. g, s1 Y8 S n" I2 h+ K$ G[ 22.893560] ipv6: disagrees about version of symbol __skb_checksum_complete
1 J$ B) M+ Y# @+ c[ 22.900598] ipv6: Unknown symbol __skb_checksum_complete (err -22)
x, a M) J( e* G[ 22.907048] ipv6: disagrees about version of symbol register_sysctl_paths
; R3 d U9 _: K `" t5 m8 w% r
) m8 X8 O, u- y[ 22.913984] ipv6: Unknown symbol register_sysctl_paths (err -22)
; k" V$ ~" v3 j% h& O# G4 Z[ 22.920203] ipv6: disagrees about version of symbol xfrm_inner_extract_output: ]& ~! Z0 F/ `7 G) Q
[ 22.927486] ipv6: Unknown symbol xfrm_inner_extract_output (err -22)9 Y7 |# r3 W3 }
[ 22.934104] ipv6: disagrees about version of symbol skb_free_datagram_locked
$ n. u; Q. x9 D5 h2 ]& \9 k! Q[ 22.941222] ipv6: Unknown symbol skb_free_datagram_locked (err -22)
3 U& C! v" }, z% u- i) P( @[ 22.947739] ipv6: disagrees about version of symbol sock_i_uid
1 n$ B8 z! u+ P3 @1 r" T9 q3 U3 v) w l
就会出现这个问题,请问如何解决
4 r6 S( C" u; h- a" A1 L4 A# Y* w% V" ]4 G3 E
|
|