[PATCH Resend v5 00/16] spi/spi-atmel: add dmaengine support for atmel spi controller and to test the device tree support
Yang, Wenyou
Wenyou.Yang at atmel.com
Wed Feb 27 21:16:08 EST 2013
Hi, Robert,
> -----Original Message-----
> From: Robert Nelson [mailto:robertcnelson at gmail.com]
> Sent: 2013年2月28日 1:52
> To: Yang, Wenyou
> Cc: linux-arm-kernel at lists.infradead.org; richard.genoud at gmail.com; Lin, JM;
> Ferre, Nicolas; grant.likely at secretlab.ca; plagnioj at jcrosoft.com;
> dgilbert at interlog.com
> Subject: Re: [PATCH Resend v5 00/16] spi/spi-atmel: add dmaengine support for
> atmel spi controller and to test the device tree support
>
> On Tue, Feb 26, 2013 at 6:34 PM, Wenyou Yang <wenyou.yang at atmel.com>
> wrote:
> > Hi All,
> >
> > This set of patches is to add dmaengine support for atmel spi and to test
> device tree support.
> >
> > The work is based on Nicolas and Richard's work.
> >
> > Because the Atmel DMA device tree support hasn't on mainline, to
> at91sam9x5ek and at91sam9n12ek
> > with dma support, it doesn't work on the dmaengine mode, only on PIO mode
> so far.
> >
> > It has been tested as below:
> > 1./tested on v3.8, by using mtd utils, "mount", "umount" and "cp"
> commands.
> > 2./tested on "spi/next" git tree after removing commit "spi: make sure all
> transfer has proper speed set".
> > 3./tested by using Documentation/spi/spidev_test.c on "/dev/spidev".
> > 4./tested on on at91sam9x5ek, at91sam9m10g45ek, at91sam9263ek and
> at91sam9g20ek boards
>
> Hi Wenyou,
>
> Is this patchset missing another enablement patch? With v3.8.0 on the
> at91sam9g35ek (device tree boot) I'm getting..
>
> debian at arm:~$ dmesg | grep -i spi
> [ 0.890625] atmel_spi f0000000.spi: version: 0x212
> [ 0.890625] atmel_spi f0000000.spi: DMA channel not available,
> unable to use SPI
> [ 0.898437] atmel_spi f0000000.spi: Atmel SPI Controller using PIO only
> [ 0.906250] atmel_spi f0000000.spi: Atmel SPI Controller at
> 0xf0000000 (irq 30)
> [ 0.914062] atmel_spi f0000000.spi: master is unqueued, this is
> deprecated
> debian at arm:~$ ls /dev/spi*
> ls: cannot access /dev/spi*: No such file or directory
>
> .config for reference, encase i missed something obvious:
> https://github.com/RobertCNelson/armv5_devel/blob/v3.8.x-at91/patches/def
> config
>
> CONFIG_SPI=y
> # CONFIG_SPI_DEBUG is not set
> CONFIG_SPI_MASTER=y
>
> CONFIG_SPI_ATMEL=y
>
> CONFIG_SPI_SPIDEV=y
>
> Regards,
>
> --
> Robert Nelson
> http://www.rcn-ee.com/
Thanks a lot for your feedback.
1./ using the at25df32 dataflash on the board,
based on at91_dt_defconfig default configuration, you need to add the below items:
+CONFIG_MTD_M25P80=y
+CONFIG_JFFS2_FS=y
+CONFIG_AT_HDMAC=y
After running in the board, you will get the following message in the starting:
atmel_spi f0000000.spi: version: 0x212
atmel_spi f0000000.spi: DMA channel not available, unable to use SPI
atmel_spi f0000000.spi: Atmel SPI Controller using PIO only
atmel_spi f0000000.spi: Atmel SPI Controller at 0xf0000000 (irq 30)
atmel_spi f0000000.spi: master is unqueued, this is deprecated
m25p80 spi32766.0: at25df321a (4096 Kbytes)
# cat /proc/mtd | grep spi
mtd5: 00400000 00001000 "spi32766.0"
# ls /dev/mtdblock*
/dev/mtdblock0 /dev/mtdblock2 /dev/mtdblock4
/dev/mtdblock1 /dev/mtdblock3 /dev/mtdblock5
2./ using "spidev", based on at91_dt_defconfig default configuration, you need to add the below items:
+CONFIG_SPI_SPIDEV=y
And you need to change at91sam9x5ek.dtsi as below:
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index 09f5e66..4c48ba2 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
@@ -89,7 +89,7 @@
status = "okay";
cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
m25p80 at 0 {
- compatible = "atmel,at25df321a";
+ compatible = "spidev";
spi-max-frequency = <50000000>;
reg = <0>;
};
After running in the board, you will get the following message :
# ls /dev/spi*
/dev/spidev32766.0
Best Regards,
Wenyou Yang
More information about the linux-arm-kernel
mailing list