首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPI rtc-ds1305不显示/dev/rtc,也不绑定到我的spir2.1。

SPI rtc-ds1305不显示/dev/rtc,也不绑定到我的spir2.1。
EN

Stack Overflow用户
提问于 2014-01-10 22:20:17
回答 1查看 616关注 0票数 0

我需要一些帮助来找出为什么我的rtc-ds1306驱动程序不绑定到sp2.1设备。

我正在嵌入式linux (3.2.0)平台上工作,我想使用该平台与RTC DS1306和其他spi设备进行通信。该平台默认设置为SP1.0,与nor闪存对话,我可以将spidev驱动程序添加到/dev/spir1.1和/dev/spi2.0,并与其进行通信。rtc-ds1305驱动程序可以在/sys/bus/ spi /drivers/ (rtc-ds1306)下使用,但它不绑定到任何spi(例如:spi 2.1)。Spi1.1和Spi2.0BIND自动绑定。我没有看到任何错误信息在引导..。

你能告诉我少了什么吗?

//--板-xxx.c文件

代码语言:javascript
复制
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,
    },

};

编辑:我在/dev/rtcX中找不到rtc,但在/sys/bus/spi/设备中,我可以看到spi1.0、spi1.1、spi2.0和spi2.1。另外,在/sys/bus/spi/驱动程序中,我可以找到m25p80、rtc-ds1305和spidev。如果我进入/sys/bus/spi/drivers/spidev,我可以看到spi1.1和spi2.0 (+ bind、uevent和unbind),但是如果我转到/sys/bus/spi/drivers/rtc-ds1305,就只能看到bind、uevent和unbind。

我想我应该看到/dev/rtc 0,在/sys/bus/spi/drivers/rtc-ds1305中,我应该看到spir2.1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 20:15:03

我在开发板上工作,所以ds1306没有被填充,所以不能回答rtc-ds1305驱动程序是否正常。当连接到真实板时,它会出现在/dev/rtc0 0下面。

问题解决了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21055529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档