gpt4 book ai didi

linux - SPI rtc-ds1305不显示/dev/rtc并且不绑定(bind)到我的spi2.1

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:18 25 4
gpt4 key购买 nike

我需要一些帮助来找出为什么我的 rtc-ds1306 驱动程序没有绑定(bind)到 spi2.1 设备

我正在嵌入式linux(3.2.0)平台上工作,我想使用spi与RTC DS1306和其他spi设备进行通信。该平台默认使用 spi1.0 与 Nor flash 进行通信,我可以将 spidev 驱动程序添加到/dev/spi1.1 和/dev/spi2.0 并与其进行通信。 rtc-ds1305 驱动程序位于/sys/bus/spi/drivers/(rtc-ds1306) 下,但它不绑定(bind)到任何 spi(例如:spi2.1)。 Spi1.1和spi2. 0 auto 绑定(bind)。我在启动时没有看到任何错误消息...

你能告诉我缺少什么吗?

//---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,
},

};
<小时/>

编辑:我在/dev/rtcX 中找不到 rtc,但在/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 和取消绑定(bind)),但如果我进入/sys/bus/spi/drivers/rtc-ds1305 那里只有绑定(bind),uevent 和取消绑定(bind)。

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

最佳答案

我正在开发开发板,因此 ds1306 未填充,因此无法响应 rtc-ds1305 驱动程序健全性检查。当连接到真实板时,它出现在/dev/rtc0 下。

问题解决!

关于linux - SPI rtc-ds1305不显示/dev/rtc并且不绑定(bind)到我的spi2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21055529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com