linux的spi驅動的移植

來源:互聯網
上載者:User

 

1、在配置Linux 編譯選項時,開啟相應的SPI 選項,如下所示

    -> Device Drivers

      -> SPI support
       SPI support
          *** SPI Master Controller Drivers ***
      -*- Bitbanging SPI master
      <*> Samsung S3C24XX series SPI
      < > Samsung S3C24XX series SPI by GPIO
          *** SPI Protocol Masters ***
      < > SPI EEPROMs from most vendors
      <*> User mode SPI device driver support
      < > Infineon TLE62X0 (for power switching)
設定完成儲存。2、修改檔案arch/arm/mach-s3c2440/mach-mini2440.c, 添加:

#include <linux/spi/spi.h>
#include <mach/spi.h>

static struct spi_board_info s3c2410_spi0_board[] = {
        [0] = {
                 .modalias = "spidev",
                .bus_num        = 0,  
                .chip_select        = 0,
                .irq = IRQ_EINT9,
                .max_speed_hz         = 500*1000,
        },
};

static struct s3c2410_spi_info s3c2410_spi0_platdata = {
        .pin_cs = S3C2410_GPB1,
        .num_cs = 1,
        .bus_num = 0,
};

mini2440_devices數組中添加
&s3c_device_spi0

mini2440_machine_init函數中添加
s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;
spi_register_board_info(s3c2410_spi0_board, ARRAY_SIZE(s3c2410_spi0_board));

完成儲存。編譯核心產生zImage,通過USB載入開發板。

3、使用document裡面的spidev_test檔案測試,注意要把spidev_test中的檔案的名字修改下不然會提示找不到裝置的。

 把MOSI和MISO線串連到一起。跑測試程式。成功。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.