|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux内核版本:2.6.30.4
! N1 P) C! V& \$ ~, ?7 t测试平台:EmbedSky TQ2440
. v* W# z( w2 `8 ?. G; J* A1 X1 R6 Q; ~6 n Q
在2.6.30.4内核源码中,已经给出了S3C2440的SPI驱动,但是TQ2440并没有启用这个驱动,因此要在arch/ARM/mach-s3c2440/mach-tq2440.c中加入SPI的支持。网上参考的文章只将S3C2440的SPI0进行了配置,如果需要使用到两个SPI Master,就需要进行进一步配置。首先增加如下结构定义:
4 r. s" W2 H* @; M" c. i: F
+ G. ^0 L8 C6 [5 B! N k# ?static struct spi_board_info s3c2410_spi0_board[] = {7 Q6 }" m# ^+ ] [
[0] = {0 J- o* |/ v8 \
.modalias = "spidev",
5 T% p: s# m' u+ a$ y6 O .bus_num = 0,
" T( y" i2 b' y8 r .chip_select = 0,
7 [4 t+ D. i5 ]+ ^ g# k .irq = IRQ_EINT10,
: i! C5 u0 }! q$ i! S6 Y .max_speed_hz = 500*1000,5 ^0 L$ X# n' A1 m! Z; S$ H) C
},/ |1 a4 Z. \8 F$ K9 C
};
/ v, V- \# I. S% Y3 ]9 \& y' |' Y* d9 T
static struct s3c2410_spi_info s3c2410_spi0_platdata = {. z6 r* D' `* N; H: J0 X% Z1 P
.pin_cs = S3C2410_GPG2,
$ U) k$ U* @; \% J! v1 G+ B. V .num_cs = 1,
. R% `3 V/ r: Z8 o3 z' ] .bus_num = 0,
# f, Y) e- h& b};
) ?7 t, r! X2 Q3 g* [9 ^; t2 X& A5 m7 |* J' b
static struct spi_board_info s3c2410_spi1_board[] = {; Z( g8 O5 @* B, R$ F
[0] = {
/ d0 X1 {+ [+ v$ e5 t .modalias = "spidev",
3 L1 F5 Y. c: A% b5 u .bus_num = 1,
0 W* Z4 r. {0 X/ T/ a& i9 K .chip_select = 0,7 f# {% `" `) ~6 r) o( H+ ~/ U
.irq = IRQ_EINT11,
5 K/ ~ j5 w' s& L4 T .max_speed_hz = 500*1000,3 [9 v8 f# a1 z6 y( w. O5 t
},
# y. C, L, `6 l$ e g/ J; [};/ M8 G# i# V( z' m- l7 M
" d: o" @/ b* J0 P n/ T3 d) @4 Gstatic struct s3c2410_spi_info s3c2410_spi1_platdata = {
0 n1 h) s1 n+ ?/ L9 m* K .pin_cs = S3C2410_GPG3,
- Z5 O& ], c# D4 u( Z4 t
/ v# N7 e/ n F1 g- I& a. C) b# q g+ D% [5 K% p3 ~. f) n G* `, Z
; o( G- S! U: `, @- ^/ B8 K b+ t: H7 t2 k, L' y( o) ~- }
|
|