Missing /dev/spidev i.MX287 and L2.6.35_10.12.01

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Missing /dev/spidev i.MX287 and L2.6.35_10.12.01

Jump to solution
2,500 Views
silviagonzalez
Contributor II

Hello

I miss /dev/spidev . I configured my kernel like this:

spi.png

I changed linux-2.6.35.3/arch/arm/mach-mx28/mx28evk.c.

static struct spi_board_info spi_board_info[] __initdata = {

#if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE)

    {

       /* the modalias must be the same as spi device driver name */

        .modalias = "spidev", /* Name of spi_driver for this device */

        .max_speed_hz = 20000000,     /* max spi clock (SCK) speed in HZ */

        .bus_num = 1, /* Framework bus number */

        .chip_select = 0, /* Framework chip select. */

        .platform_data = &mx28_spi_flash_data,

    },

#endif

};

Even doing so you will get that no device is showing up in /dev



root@freescale /etc/udev/rules.d$ dmesg

Linux version 2.6.35.3-571-gcca29a0 (qca@qca-virtual-machine) (gcc version 4.4.4

(4.4.4_09.06.2010) ) #1 PREEMPT Fri Oct 10 13:20:44 CEST 2014

CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

CPU: VIVT data cache, VIVT instruction cache

Machine: Freescale MX28EVK board

Memory policy: ECC disabled, Data cache writeback

On node 0 totalpages: 32768

free_area_init_node: node 0, pgdat c0534f88, node_mem_map c0580000

  DMA zone: 32 pages used for memmap

  DMA zone: 0 pages reserved

  DMA zone: 4064 pages, LIFO batch:0

  Normal zone: 224 pages used for memmap

  Normal zone: 28448 pages, LIFO batch:7

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512

Kernel command line: noinitrd console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootw

ait gpmi

PID hash table entries: 512 (order: -1, 2048 bytes)

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

Memory: 128MB = 128MB total

Memory: 120220k/120220k available, 10852k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xfde00000 - 0xffe00000   (  32 MB)

    vmalloc : 0xc8800000 - 0xf0000000   ( 632 MB)

    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)

    modules : 0xbf000000 - 0xc0000000   (  16 MB)

      .init : 0xc0008000 - 0xc0030000   ( 160 kB)

      .text : 0xc0030000 - 0xc04f7000   (4892 kB)

      .data : 0xc04f8000 - 0xc0535960   ( 247 kB)

SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

Hierarchical RCU implementation.

        RCU-based detection of stalled CPUs is disabled.

        Verbose stalled-CPUs detection is disabled.

NR_IRQS:288

Console: colour dummy device 80x30

console [ttyAM0] enabled

Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)

pid_max: default: 32768 minimum: 301

Security Framework initialized

SELinux:  Initializing.

SELinux:  Starting in permissive mode

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

regulator: core version 0.5

NET: Registered protocol family 16

regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal

regulator: vdddbo: 800 <--> 1575 mV fast normal

regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal

vddio = 3380000, val=10

regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal

regulator: overall_current: fast normal

regulator: vbus5v:

regulator: mxs-duart-1: fast normal

regulator: mxs-bl-1: fast normal

regulator: mxs-i2c-1: fast normal

regulator: mmc_ssp-1: fast normal

regulator: mmc_ssp-2: fast normal

regulator: charger-1: fast normal

regulator: power-test-1: fast normal

regulator: cpufreq-1: fast normal

i.MX IRAM pool: 124 KB@0xc8820000

Initializing GPMI pins

usb DR wakeup device is registered

IMX usb wakeup probe

the wakeup pdata is 0xc0500c1c

audit: cannot initialize inotify handle

bio: create slab <bio-0> at 0

SCSI subsystem initialized

Freescale USB OTG Driver loaded, $Revision: 1.55 $

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Advanced Linux Sound Architecture Driver Version 1.0.23.

Switching to clocksource mxs clock source

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 4096 (order: 3, 32768 bytes)

TCP bind hash table entries: 4096 (order: 2, 16384 bytes)

TCP: Hash tables configured (established 4096 bind 4096)

TCP reno registered

UDP hash table entries: 256 (order: 0, 4096 bytes)

UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

NET: Registered protocol family 1

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

Trying to unpack rootfs image as initramfs...

rootfs image is not initramfs (junk in compressed archive); looks like an initrd

Freeing initrd memory: 4096K

Bus freq driver module loaded

IMX usb wakeup probe

the wakeup pdata is 0xc05010cc

usb h1 wakeup device is registered

mxs_cpu_init: cpufreq init finished

audit: initializing netlink socket (disabled)

type=2000 audit(0.670:1): initialized

VFS: Disk quotas dquot_6.5.2

Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

msgmni has been set to 242

alg: No test for stdrng (krng)

cryptodev: driver loaded.

Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

Console: switching to colour frame buffer device 100x30

mxs-duart.0: ttyAM0 at MMIO 0x80074000 (irq = 47) is a DebugUART

mxs-auart.0: ttySP0 at MMIO 0x8006a000 (irq = 112) is a mxs-auart.0

Found APPUART 3.1.0

mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1

Found APPUART 3.1.0

mxs-auart.2: ttySP2 at MMIO 0x8006e000 (irq = 114) is a mxs-auart.2

Found APPUART 3.1.0

mxs-auart.3: ttySP3 at MMIO 0x80070000 (irq = 115) is a mxs-auart.3

Found APPUART 3.1.0

brd: module loaded

loop: module loaded

i.MX GPMI NFC

NFC: Version 1, 8-chip GPMI and BCH

Boot ROM: Version 1, Single-chip boot area, block mark swapping supported

Scanning for NAND Flash chips...

No NAND device found.

gpmi-nfc gpmi-nfc.0: Chip scan failed

mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz

mxs-spi mxs-spi.0: at 0x80014000 mapped to 0xF0014000, irq=84, bus 1, DMA ver_ma

jor 4

FEC Ethernet Driver

fec_enet_mii_bus: probed

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

fsl-ehci fsl-ehci: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci: new USB bus registered, assigned bus number 1

fsl-ehci fsl-ehci: irq 93, io base 0x80080000

fsl-ehci fsl-ehci: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 2

fsl-ehci fsl-ehci.0: irq 92, io base 0x80090000

fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

ARC USBOTG Device Controller driver (1 August 2005)

mice: PS/2 mouse device common for all mice

input: mxs-kbd as /devices/platform/mxs-kbd.0/input/input0

input: MXS touchscreen as /devices/virtual/input/input1

MXS RTC driver v1.0 hardware v2.3.0

mxs-rtc mxs-rtc.0: rtc core: registered mxs-rtc as rtc0

IR NEC protocol handler initialized

IR RC5(x) protocol handler initialized

IR RC6 protocol handler initialized

IR JVC protocol handler initialized

IR Sony protocol handler initialized

Linux video capture interface: v2.00

mxs-pxp mxs-pxp.0: initialized

mxs watchdog: initialized, heartbeat 19 sec

mxs-mmc: MXS SSP Controller MMC Interface driver

mxs-mmc mxs-mmc.0: mmc0: MXS SSP MMC DMAIRQ 82 ERRIRQ 96

Registered led device: led-pwm0

Registered led device: led-pwm1

dcp dcp.0: DCP crypto enabled.!

usbcore: registered new interface driver hiddev

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

mmc0: new high speed SDHC card at address 1234

mmcblk0: mmc0:1234 SA04G 3.63 GiB

mmcblk0: p1 p2 p3

USB Host suspend begins

will suspend roothub and its children

ehci_fsl_bus_suspend, DR

host suspend ends

sgtl5000_hw_read: read reg error : Reg 0x00

Device with ID register 0 is not a SGTL5000

mxs-spdif mxs-spdif.0: MXS SPDIF Audio Transmitter

No device for codec mxs spdif

No device for DAI mxs spdif

No device for DAI mxs-saif

No device for DAI mxs-spdif

asoc: mxs spdif <-> mxs-spdif mapping ok

ALSA device list:

  #0: mxs-evk (mxs spdif)

TCP cubic registered

NET: Registered protocol family 17

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:00:11 UTC (11)

VFS: Mounted root (ext2 filesystem) on device 179:3.

Freeing init memory: 160K

ehci_fsl_bus_suspend, Host 1

Labels (1)
0 Kudos
1 Solution
1,396 Views
igorpadykov
NXP Employee
NXP Employee

Hi Silvia

probably you may try to rebuild whole image from scratch:

./ltib -m distclean

Also do you have another versions ltib/ or yocto bullds installed

on the same machine ? It is better to have one version, since different

versions may invoke wrong compilations.

~igor

View solution in original post

0 Kudos
4 Replies
1,396 Views
igorpadykov
NXP Employee
NXP Employee

Hi Silvia

I think you can change struct as below

how open spidev on imx28 platform?

Best regards

igor

0 Kudos
1,396 Views
silviagonzalez
Contributor II

I do it, Even doing so you will get that no device is showing up in /dev

spiConfig.png

spiConfig2.png

In terminal of my device

root@freescale /$ cat /sys/bus/spi/devices/spi1.0/modalias

m25p80


Thanks,

Silvia

0 Kudos
1,397 Views
igorpadykov
NXP Employee
NXP Employee

Hi Silvia

probably you may try to rebuild whole image from scratch:

./ltib -m distclean

Also do you have another versions ltib/ or yocto bullds installed

on the same machine ? It is better to have one version, since different

versions may invoke wrong compilations.

~igor

0 Kudos
1,396 Views
silviagonzalez
Contributor II

I do it. I found /dev/spidev1.0, but

In terminal of my device


root@freescale /unit_tests$ ./mxc_spi_test1.out -D 0 -s 16 12

Execute data transfer test: 0 2 12

Error:cannot open device (Maybe not present in your board?)

0 Kudos