|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux内核版本:2.6.30.4
1 b& T$ W! l A5 t' a测试平台:EmbedSky TQ2440
- v7 e) |/ C. M, Q& b M4 _3 l# o% v3 I/ \ \
在2.6.30.4内核源码中,已经给出了S3C2440的SPI驱动,但是TQ2440并没有启用这个驱动,因此要在arch/ARM/mach-s3c2440/mach-tq2440.c中加入SPI的支持。网上参考的文章只将S3C2440的SPI0进行了配置,如果需要使用到两个SPI Master,就需要进行进一步配置。首先增加如下结构定义: U+ C5 j4 O6 i; b
5 F" Z7 I: ~, T& m* ~2 @' W. a
static struct spi_board_info s3c2410_spi0_board[] = {5 l i2 q7 T! ? Y+ m
[0] = {8 X4 k( l9 a6 l5 X( J! s
.modalias = "spidev",
% f) w1 s) x2 A .bus_num = 0,3 s9 }3 M+ J; s7 p- j
.chip_select = 0,
( i2 {- S. |5 |& M- g) E+ W( | .irq = IRQ_EINT10,# A0 D+ @; U) g6 U* u1 X
.max_speed_hz = 500*1000,
: A5 W2 k' }7 q% l/ h6 B% [ }, {0 R9 }3 W3 N# z8 V( s2 X( x& W$ N
};9 s9 q! M* R2 }% U3 E2 d) B
I9 v# f! K! V' H m$ T" Ustatic struct s3c2410_spi_info s3c2410_spi0_platdata = {
. j: l' Y, L* e/ E& N" g .pin_cs = S3C2410_GPG2,
: }/ p/ f. P r$ \* j* b .num_cs = 1,( q9 W9 ^# q9 h6 ^9 C1 K/ R2 W6 M
.bus_num = 0,
# K0 K$ P; X) n: |- C) t};' e- G6 w4 C! J% O8 J# L# L
1 L; k2 n% t2 t& R3 ~static struct spi_board_info s3c2410_spi1_board[] = {( Q; b$ l$ E7 \- b$ O; p
[0] = {
* k7 D6 g8 r; ]9 O) g( u .modalias = "spidev",
7 W+ I3 o( T# w) a; {4 F2 }/ H4 ^ .bus_num = 1,1 S# h3 L" @2 W) T' b
.chip_select = 0,' Y$ X3 d$ M6 x
.irq = IRQ_EINT11,2 W, H+ W+ J3 i0 @" X
.max_speed_hz = 500*1000,
+ r7 }' G2 K4 O },
1 w3 z J. N. t2 |' Z5 j' Q8 B};4 E9 b8 o& g$ J, y7 Y n
' _. d6 m! @6 W# vstatic struct s3c2410_spi_info s3c2410_spi1_platdata = {
, F) `3 ?7 V" d6 Y .pin_cs = S3C2410_GPG3,
9 |; [; ~, i1 j. w1 p- f9 f7 c
, j! G3 [1 F9 w" Y4 Z% J$ O8 C/ Q* l0 |* h8 j+ ]
# y0 X( S7 s3 \
7 N9 H! K* ?- z& P, v9 v1 p! G |
|