2014-01-10 11 views
0

我需要一些幫助來找出爲什麼我的rtc-ds1306驅動程序不綁定到spi2.1設備SPI rtc-ds1305不會顯示/ dev/rtc,也不會綁定到我的spi2.1

我正在使用spi與RTC DS1306和其他spi設備進行通信的嵌入式linux(3.2.0)平臺。該平臺默認使用spi1.0對話或閃存,並且我可以將spidev驅動程序添加到/dev/spi1.1和/dev/spi2.0進行通信。 rtc-ds1305驅動程序在/ sys/bus/spi/drivers /(rtc-ds1306)下可用,但它不綁定到任何spi(例如:spi2.1)。 Spi1.1和spi2.0自動綁定。我在開機時看不到任何錯誤信息...

你能告訴我缺少什麼嗎?

//---board-xxxx.c文件----

static const struct flash_platform_data am335x_spi_flash = { 
    .type  = "w25q64", 
    .name  = "spi_flash", 
}; 


/* 
* SPI Flash works at 80Mhz however SPI Controller works at 48MHz. 
* So setup Max speed to be less than that of Controller speed 
*/ 
static struct spi_board_info am335x_spi0_slave_info[] = { 
    { 
     .modalias  = "m25p80", 
     .platform_data = &am335x_spi_flash, 
     .irq   = -1, 
     .max_speed_hz = 24000000, 
     .bus_num  = 1, 
     .chip_select = 0, 
    }, 
//PH140107 add spidev driver for the spi0_cs1 
    { 
     .modalias  = "spidev", 
     .max_speed_hz = 12000000, 
     .bus_num  = 1, 
     .chip_select = 1, 
     .mode  = SPI_MODE_0, 
    }, 

}; 

//PH140110 add this platform_data 
static const struct ds1305_platform_data am335x_spi_rtc = { 
    .is_ds1306 = true, 
    .en_1hz = false, 
}; 
/* PH140109 
* SPI RTC DS1306 (use RTC-ds1305 driver) and add SPI1_CS0 incase need it for spi1_dsp 
* So setup Max speed to be less than that of Controller speed 
*/ 
static struct spi_board_info am335x_spi1_slave_info[] = { 
    { 
     .modalias  = "rtc-ds1305", 
     .platform_data = &am335x_spi_rtc, 
     .max_speed_hz = 1000000, 
     .bus_num  = 2, 
     .chip_select = 1, 
     .mode  = SPI_CS_HIGH | SPI_CPOL | SPI_CPHA, 
    }, 

    { 
     .modalias  = "spidev", 
     .max_speed_hz = 48000000, 
     .bus_num  = 2, 
     .chip_select = 0, 
     .mode  = SPI_MODE_0, 
    }, 

}; 

編輯:我找不到RTC在/ dev/rtcX但在/ SYS/bus/spi/devices我可以看到spi1.0,spi1.1,spi2.0和spi2.1。另外在/ sys/bus/spi/drivers中,我可以找到m25p80,rtc-ds1305和spidev。如果我進入/ sys/bus/spi/drivers/spidev,我可以看到spi1.1和spi2.0(+ bind,uevent和unbind),但是如果我進入/ sys/bus/spi/drivers/rtc-ds1305那裏只是綁定,uevent和解除綁定。

我想我應該看到的/ dev/RTC0和/ SYS /總線/ SPI /司機/ RTC-DS1305我應該看到spi2.1

+0

你怎麼知道事情並不像他們應該那樣工作?請在您的問題中包括證據表明某些事情是錯誤的,以及如果一切工作正常,它會是什麼樣子。 – dg99

+0

我在/ dev/rtcX中找不到rtc – Phil

回答

0

我工作在開發板上,因此ds1306不是因此無法回答rtc-ds1305驅動程序的完整性檢查。連接到實際板時,它出現在/ dev/rtc0下。

問題解決!