Hi Robert,
I assume you mean you enabled user land SPI support in the kernel? So you expecting somthing like /dev/spidevx.y? If so then you need to add an entry in your board descriptor for spidev, as the spidev driver doesn't dynamically register this with the kernel.
In the board descriptor file for your platform (found under arch/arm/mach-mx6 for the i.mx6), you need to add spidev entry like the following:
static struct spi_board_info imx6q_spi_device[] __initdata = {
| { |
| .modalias = "spidev", |
| .max_speed_hz = 48000000, /* max spi clock (SCK) speed in HZ */ |
| .bus_num = 2, |
| .chip_select = 0, |
| .mode = SPI_MODE_1, |
},
}
static int imx6q_spi_cs3[] = {
IMX6Q_ECSPI3_CS0,
};
static const struct spi_imx_master imx6q_spi_data3 __initconst = {
.chipselect = imx6q_spi_cs3,
.num_chipselect = ARRAY_SIZE(imx6q_spi_cs3),
};
There should be a spi_init function where you add the spi device. Again this depends on your platform but they should all be roughly the same. Most will already have a configuration for some sort of on board spi nor flash you can use as an example.
You may also need to configure the iomux depending on your platform, in mine I had to setup the chip select for the spi controller I was using.
Other good sources of information:
https://www.kernel.org/doc/Documentation/spi/spi-summary
https://www.kernel.org/doc/Documentation/spi/spidev
Hope this helps.
Jeff