linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Juha Lumme <juha.lumme-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Trying to use spidev to send an spi message, result from spidev_test.c "Illegal argument" . (i.mx23, kernel 3.7)
Date: Sun, 30 Dec 2012 18:14:55 +0900	[thread overview]
Message-ID: <50E0060F.8060604@gmail.com> (raw)

Hi,

I am having issues communicating with a micro controller connected to 
SPI bus, using spidev.
I would like to send messages to my MSP430 from user land, but so far no 
luck.

At least I know that my SPI bus should be ok, since in the same bus I 
have a SPI flash chip that works.
In my DTS I have added my 2 SPI devices as such:

ssp1: ssp@80034000 {
                 #address-cells = <1>;
                 #size-cells = <0>;
                 compatible = "fsl,imx23-spi";
                 pinctrl-names = "default";
                 pinctrl-0 = <&spi2_pins_a &spi2_pin_cs1>;
                 status = "okay";

                 flash: m25p80@0 {
                     #address-cells = <1>;
                     #size-cells = <1>;
                     compatible = "sst,sst25vf064b";
                     spi-max-frequency = <10000000>;
                     reg = <0>;

                 };
                 ucontroller: spidev@1 {
                     compatible = "linux,spidev";
                     spi-max-frequency = <1000000>;
                     reg = <1>;
                 };

My pin configuration is like this:
spi2_pins_a: spi2@0 {
                     reg = <0>;
                     fsl,pinmux-ids = <
                         0x0182 /* MX23_PAD_GPMI_WRN__SSP2_SCK */
                         0x0142 /* MX23_PAD_GPMI_RDY1__SSP2_CMD */
                         0x0002 /* MX23_PAD_GPMI_D00__SSP2_DATA0 */
                         0x0032 /* MX23_PAD_GPMI_D03__SSP2_DATA3 */
                     >;
                     fsl,drive-strength = <1>;
                     fsl,voltage = <1>;
                     fsl,pull-up = <1>;
                 };

                 //Added for chip select in SPI2
                 spi2_pin_cs1: spi2@1 {
                     reg = <0>;
                     fsl,pinmux-ids = <
                         0x0042 /* MX23_PAD_GPMI_D03__SSP2_DATA4 */
                     >;
                     fsl,drive-strength = <1>;
                     fsl,voltage = <1>;
                     fsl,pull-up = <1>;
                 };

Now, after boot when I mount devtmpfs, spidev is shown under /dev.
The whole system has this SPI stuff:
# find / -name "spi*"
/sys/bus/spi
/sys/bus/spi/devices/spi32766.0
/sys/bus/spi/devices/spi32766.1
/sys/bus/spi/drivers/spidev
/sys/bus/spi/drivers/spidev/spi32766.1
/sys/bus/platform/drivers/spi_gpio
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master/spi32766
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master/spi32766/spi32766.0
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master/spi32766/spi32766.1
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master/spi32766/spi32766.1/spidev
/sys/devices/80000000.apb/80000000.apbh/80034000.ssp/spi_master/spi32766/spi32766.1/spidev/spidev32766.1
/sys/class/spi_master
/sys/class/spi_master/spi32766
/sys/class/spidev
/sys/class/spidev/spidev32766.1
/sys/module/spidev
/home/default/spitest
/dev/spidev32766.1

The error: I compiled the spidev_test.c application under 
Documentation/spi, but I keep getting "Invalid argument", when I try to 
send a message to my MSP430:

#./spidev
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
can't send spi message: Invalid argument
Aborted
#
In dmesg, I have added some traces to spidev and mxs-spi to see that 
something seems to be happening in both:
[  986.590000] spidev/spidev_open >>
[  986.590000] spidev/spidev_ioctl >>
[  986.600000] spi-mxs/mxs_spi_setup >> bpw: (8)
[  986.610000] spi-mxs/mxs_spi_setup_transfer >>
[  986.610000] spi-mxs/mxs_spi_setup_transfer <<
[  986.620000] spidev spi32766.1: setup mode 0, 8 bits/w, 500000 Hz max 
--> 0
[  986.620000] spidev spi32766.1: spi mode 00
[  986.620000] spidev/spidev_ioctl >>
[  986.630000] spidev/spidev_ioctl >>
[  986.630000] spi-mxs/mxs_spi_setup >> bpw: (8)
[  986.640000] spi-mxs/mxs_spi_setup_transfer >>
[  986.650000] spi-mxs/mxs_spi_setup_transfer <<
[  986.650000] spidev spi32766.1: setup mode 0, 8 bits/w, 500000 Hz max 
--> 0
[  986.650000] spidev spi32766.1: 8 bits per word
[  986.650000] spidev/spidev_ioctl >>
[  986.650000] spidev/spidev_ioctl >>
[  986.670000] spi-mxs/mxs_spi_setup >> bpw: (8)
[  986.670000] spi-mxs/mxs_spi_setup_transfer >>
[  986.670000] spi-mxs/mxs_spi_setup_transfer <<
[  986.680000] spidev spi32766.1: setup mode 0, 8 bits/w, 500000 Hz max 
--> 0
[  986.680000] spidev spi32766.1: 500000 Hz (max)
[  986.690000] spidev/spidev_ioctl >>
[  986.690000] spidev/spidev_ioctl >>
[  986.690000] spidev/spidev_message >>
[  986.710000] spidev spi32766.1:   xfer len 12 rx tx 8bits 0 usec 500000Hz
[  986.710000] spidev/spidev_sync >>
[  986.710000] spidev/spidev_message/ sync status was: (-22)
[  986.720000] spidev/spidev_release >>

Any ideas why I get the illegal argument ?


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012

             reply	other threads:[~2012-12-30  9:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-30  9:14 Juha Lumme [this message]
     [not found] ` <50E0060F.8060604-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-02-05 17:28   ` Trying to use spidev to send an spi message, result from spidev_test.c "Illegal argument" . (i.mx23, kernel 3.7) Grant Likely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50E0060F.8060604@gmail.com \
    --to=juha.lumme-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).