All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Silverman <bsilverman@conceptxdesign.com>
To: linuxppc-embedded@ozlabs.org
Subject: MMC over SPI on Virtex-4
Date: Tue, 26 Feb 2008 11:26:48 -0500	[thread overview]
Message-ID: <47C43DC8.2030104@conceptxdesign.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2098 bytes --]

Hello all,

I'm attempting to get MMC over xilinx_spi working on a custom Xilinx 
Virtex-4 board (that has a working SD/SPI interface, tested with a 
standalone app).

I'm having issues mounting the device, and after doing a bit of 
debugging, I'm confused about how things are supposed to work.  I'm 
using 2.6.24-rc8-xlnx from git.xilinx.com, with some patches (for the 
uartlite (Grant Likely), and other minor things).  In addition, I'm 
using some of a patch from Andrei Konovalov ( 
<list?person=202&id=11577>http://patchwork.ozlabs.org/linuxppc-embedded/patch?id=11577) 
for Xilinx SPI support in virtex_devices.c (BTW, will this patch hit the 
main git.xilinx.com tree at some point?)

Here's what I do, and what I see:
- Create a block device: "mknod /dev/m0 b 179 0"
- Access that device ("cat /dev/m0")
- I see the calls into the kernel:
    blkdev_open()
       do_open()
          get_gendisk()
             kobj_lookup(bdev_map, ...)
- The device is not found (bdev_map has been initialized, but the only 
"probe" at major 179 is base_probe().
- kobj_lookup() returns NULL, and the open returns ENXIO (No such device 
or address).

Here's what I don't understand:  In order for kobj_lookup to 
successfully return non-NULL, a "probe" has to have been added to 
bdev_map using kobj_map().  But, kobj_map(bdev_map,...) is called only 
by blk_register_region(), which is never called by the MMC driver.

I'm clearly missing something here.  Has anyone successfully used MMC 
over SPI or xilinx_spi?  How is the MMC driver supposed to work in 
regards to opening a device?

Also, for reference:

I've added the following configs:
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_BITBANG=y
CONFIG_SPI_XILINX=y

CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_SPI=y

And, /proc/devices does report the mmc device:

# cat /proc/devices
Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
128 ptm
136 pts
204 ttyUL

Block devices:
  1 ramdisk
179 mmc


-- 
Brian Silverman
Concept X, LLC


[-- Attachment #2: Type: text/html, Size: 2816 bytes --]

                 reply	other threads:[~2008-02-26 17:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=47C43DC8.2030104@conceptxdesign.com \
    --to=bsilverman@conceptxdesign.com \
    --cc=linuxppc-embedded@ozlabs.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.