VAR-SOM-MX6 SPI: Difference between revisions
From Variscite Wiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Testing SPI from user space require some changes. | Testing SPI from user space require some changes. | ||
* Configure your kernel and add spidev driver. Device Drivers -> SPI support -> <*> User mode SPI device driver support<br> | * Configure your kernel and add spidev driver. Device Drivers -> SPI support -> <*> User mode SPI device driver support<br> | ||
* Add spidev to your device tree<br> | * Add spidev and pinctrl to your device tree<br> | ||
For VAR-SOM-MX6, edit arch/arm/boot/dts/imx6qdl-var-som.dtsi<br> | |||
For DART-MX6, edit arch/arm/boot/dts/imx6qdl-var-dart.dtsi<br> | |||
<pre>&ecspi1 { | <pre>&ecspi1 { | ||
fsl,spi-num-chipselects = <1>; | fsl,spi-num-chipselects = <1>; | ||
cs-gpios = <&gpio4 9 0>; | cs-gpios = <&gpio4 9 0>; | ||
pinctrl-names = "default"; | pinctrl-names = "default"; | ||
pinctrl-0 = <& | pinctrl-0 = <&pinctrl_ecspi1_1>; | ||
status = "okay"; | status = "okay"; | ||
Line 24: | Line 26: | ||
*/ | */ | ||
};</pre> | };</pre> | ||
<pre> | |||
pinctrl_ecspi1_1: ecspi1grp { | |||
fsl,pins = < | |||
MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1 | |||
MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1 | |||
MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1 | |||
MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x80000000 | |||
>; | |||
}; | |||
</pre> | |||
Pick and choose the right chip select and you can also have multiple chip selects. | Pick and choose the right chip select and you can also have multiple chip selects. | ||
* Compile the Linux kernel and device tree. | * Compile the Linux kernel and device tree. | ||
* For testing use the application:<br>https://raw.githubusercontent.com/varigit/linux-2.6-imx/master/Documentation/spi/spidev_test.c | * For testing use the application:<br>https://raw.githubusercontent.com/varigit/linux-2.6-imx/master/Documentation/spi/spidev_test.c |
Revision as of 10:33, 30 October 2016
VAR-SOM-MX6 - SPI
Testing SPI from user space require some changes.
- Configure your kernel and add spidev driver. Device Drivers -> SPI support -> <*> User mode SPI device driver support
- Add spidev and pinctrl to your device tree
For VAR-SOM-MX6, edit arch/arm/boot/dts/imx6qdl-var-som.dtsi
For DART-MX6, edit arch/arm/boot/dts/imx6qdl-var-dart.dtsi
&ecspi1 { fsl,spi-num-chipselects = <1>; cs-gpios = <&gpio4 9 0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1_1>; status = "okay"; chip1: spidev@0 { compatible = "spidev"; spi-max-frequency = <12000000>; reg = <0>; }; /* chip2: spidev@1 { compatible = "spidev"; spi-max-frequency = <20000000>; reg = <1>; }; */ };
pinctrl_ecspi1_1: ecspi1grp { fsl,pins = < MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1 MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1 MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1 MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x80000000 >; };
Pick and choose the right chip select and you can also have multiple chip selects.
- Compile the Linux kernel and device tree.
- For testing use the application:
https://raw.githubusercontent.com/varigit/linux-2.6-imx/master/Documentation/spi/spidev_test.c