|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux内核版本:2.6.30.4, N- o3 H6 B; b U6 ?8 D, L' U! c
测试平台:EmbedSky TQ2440
7 d4 \$ |1 @+ F4 f
! p, }+ Q6 Z ]# Z7 `在2.6.30.4内核源码中,已经给出了S3C2440的SPI驱动,但是TQ2440并没有启用这个驱动,因此要在arch/ARM/mach-s3c2440/mach-tq2440.c中加入SPI的支持。网上参考的文章只将S3C2440的SPI0进行了配置,如果需要使用到两个SPI Master,就需要进行进一步配置。首先增加如下结构定义:
w4 v: x4 y0 O/ H: I' W% d8 j4 ]1 t7 X
static struct spi_board_info s3c2410_spi0_board[] = {$ [" ~* H/ k! U! M
[0] = {1 y: F7 N' i! i6 E
.modalias = "spidev",
& v3 r5 R1 p5 Q6 E4 J; R; u .bus_num = 0,
, n1 d' |4 F7 s( o2 w- y% p .chip_select = 0,9 y6 a# q& C( T' O7 |7 e J
.irq = IRQ_EINT10,5 s2 N/ R* p: e. {4 A: @
.max_speed_hz = 500*1000,7 H5 \/ B) S# M% C1 D+ N K8 v
},. x5 w( K" X0 L% M
};7 P! Y5 ~1 Z- H5 Q
x$ |% p! H G3 n; K3 ~
static struct s3c2410_spi_info s3c2410_spi0_platdata = {
% S: k9 _7 m2 `( F .pin_cs = S3C2410_GPG2,
3 b& _9 |7 k5 }* k( T .num_cs = 1,
/ d) q7 i) E3 S9 u. G& u .bus_num = 0,, ~3 e0 m3 _( [% d
};% v' p4 `6 n U- g+ s( d
& N* f. D( L1 A& P
static struct spi_board_info s3c2410_spi1_board[] = {. `* L; ?" h/ h' e7 t& `7 A
[0] = {
4 B3 t* ~, T! V; T1 ]: O .modalias = "spidev",0 F: p7 Y4 ^; j( y8 C5 B ]
.bus_num = 1,
* n' i: J4 y8 a Q$ A .chip_select = 0,+ ]7 [! N' K* S6 i
.irq = IRQ_EINT11,
1 @8 i2 e8 Z1 _; Y6 p/ Z .max_speed_hz = 500*1000,
: f A4 z E b) G& [6 @0 D }," u0 _- q' a) P4 a: g8 `- I. n
};
% ~3 n7 z: m: E6 m8 u6 ~
& d9 ~) i* l- ?/ Pstatic struct s3c2410_spi_info s3c2410_spi1_platdata = {) V5 k& B$ {9 R: G0 @
.pin_cs = S3C2410_GPG3,2 I4 s- ^" A4 |) ~6 v* N
' W9 f: ?9 C8 r" X8 S# W* M& G3 C% z N4 M1 v1 |
: T9 v/ A8 T8 P
$ Q0 n% z) [1 [, e" { b+ t% w |
|