1192243764@qq.c 发表于 2022-7-16 20:59:57

ok335xs开发板spi测试与外接设备

你好,我测试ok335xs的spi接口时,自己短接的时候可以发送并接收数据,现在我想去读取另外一块开发板的寄存器数据,为什么没法读取,只有00000,我用的是开发板资料所提供的spi测试程序,请问还需要什么设置片选,设置时钟等修改内核的操作来实现吗?

1192243764@qq.c 发表于 2022-7-17 16:35:46

另外,有没有ok335xs 增加片选信号的步骤

ljb2019001 发表于 2022-7-18 13:46:11

只要目录/dev/spidev1.1下生成了节点,内核驱动就没有问题了;飞凌提供的测试程序是自发自收的,您要用的话请把接收和发送部分开;
片选信号的修改:arch/arm/mach-omap2/board-am335xevm-xs.c
如下定义中am335x_spi1_slave_info

#elif defined(CONFIG_SPI_SPIDEV)
      {       .modalias      = "spidev",
                .max_speed_hz= 48000000,//48Mbps
                .bus_num       = 2,
                .chip_select   = 0,
                .mode = SPI_MODE_1,
      },
#endif
};

根据所选的引脚配置 .chip_select,主要是mcasp0_ahclkr.spi1_cs0这个引脚,这个要选cpu有cs功能复用的引脚
static struct pinmux_config spi1_pin_mux[] =
{
#if defined(CONFIG_CAN_MCP251X)
      {"gpmc_ad13.gpio1_13",OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
#endif
      {"mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_INPUT_EN},
      {"mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_PULL_UP | AM33XX_INPUT_EN},
      {"mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_INPUT_EN},
      {"mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_PULL_UP | AM33XX_INPUT_EN},
      {NULL, 0},
};

1192243764@qq.c 发表于 2022-7-19 09:21:32

本帖最后由 1192243764@qq.c 于 2022-7-19 09:29 编辑



页: [1]
查看完整版本: ok335xs开发板spi测试与外接设备