[PATCH] MCI: Add some doc how to handle MCI cards

Juergen Beisert jbe at pengutronix.de
Tue Jan 18 07:18:58 EST 2011


Juergen Beisert wrote:
> From: Juergen Beisert <juergen at kreuzholzen.de>
> Subject: [PATCH] MCI: Add some doc how to handle MCI cards
>
> Signed-off-by: Juergen Beisert <juergen at kreuzholzen.de>
>
> ---
>  Documentation/developers_manual.dox |    1
>  Documentation/users_manual.dox      |    1
>  drivers/mci/mci-core.c              |  117
> ++++++++++++++++++++++++++++++++++++ 3 files changed, 119 insertions(+)
>
> Index: barebox-2010.10.0/Documentation/developers_manual.dox
> ===================================================================
> --- barebox-2010.10.0.orig/Documentation/developers_manual.dox
> +++ barebox-2010.10.0/Documentation/developers_manual.dox
> @@ -18,6 +18,7 @@ This part of the documentation is intend
>  @li @subpage how_mount_works
>  @li @subpage boot_preparation
>  @li @subpage barebox_simul
> + at li @subpage mci_for_developers
>  @li @subpage io_access_functions
>  @li @subpage mcfv4e_MCDlib
>
> Index: barebox-2010.10.0/Documentation/users_manual.dox
> ===================================================================
> --- barebox-2010.10.0.orig/Documentation/users_manual.dox
> +++ barebox-2010.10.0/Documentation/users_manual.dox
> @@ -9,6 +9,7 @@ work easier.
>  @li @subpage shell_notes
>  @li @subpage readline_parser
>  @li @subpage command_reference
> + at li @subpage mci_for_users
>  @li @subpage x86_bootloader
>  @li @subpage net_netconsole
>
> Index: barebox-2010.10.0/drivers/mci/mci-core.c
> ===================================================================
> --- barebox-2010.10.0.orig/drivers/mci/mci-core.c
> +++ barebox-2010.10.0/drivers/mci/mci-core.c
> @@ -1358,3 +1358,120 @@ int mci_register(struct mci_host *host)
>
>  	return register_device(mci_dev);
>  }
> +
> +/**
> + * @page mci_for_developers MCI information for developers
> + *
> + * Pay attention
> + * - Provide a MCI clock to let the card do its reset
> + * - Provide power supply to the socket. There is no callback in the
> generic + *   driver to do so
> + *
> + * If your MCI host hardware is slow, you should avoid the card probing at
> system + * startup. Do it on demand only in this case. This can be achieved
> by disabling + * the MCI_STARTUP menu entry.
> + */
> +
> +/**
> + at page mci_for_users MCI cards for users
> +
> +MCI cards are handled like regular disks in @b barebox. When a card is
> detected, +access gets added to the system as @b /dev/disk0. If @b barebox
> detects a partition +table in the first sector, it also adds these
> partitions as @b /dev/disk0.0, + at b dev/disk0.1 and so on.
> +
> +All these disk devices can be used with the command @b md, @b mw, @b cp,
> + at b bootm in a regular manner.
> +
> + at verbatim
> +barebox:/ devinfo
> +devices:
> +|----s3c24x0_serial0
> +|----cs0
> +|----ramfs0
> +|----devfs0
> +|----mem0 (defaultenv)
> +|----mem1 (mem)
> +|----s3c_mci0
> +|----disk0 (disk0, disk0.0)
> +|----s3cfb0
> +|----framebuffer0 (fb0)
> +|----s3c24x0_nand0
> +|----nand0 (nand0, nand_oob0, self_raw, env_raw, nand0.uboot,
> nand0.ubootenv, nand0.kernel, nand0.root) +|----mem2 (ram0)
> +|----cs89000
> +|----eth0
> +
> +drivers:
> +s3c24x0_serial
> +     ramfs
> +     devfs
> +    cs8900
> +s3c24x0_nand
> +      disk
> +framebuffer
> +     s3cfb
> +   s3c_mci
> +       mem
> + at endverbatim
> +
> +The device in question is the @b mci0. Run the @b devinfo command again on
> this device. +
> + at verbatim
> +barebox:/ devinfo mci0
> +base  : 0x00000000
> +size  : 0x3d600000
> +driver: mci
> +
> + Card:
> +  Attached is an SD Card (Version: 2.0)
> +  Capacity: 982 MiB
> +   CID: 1C535653-44432020-10000000-1800849F
> +   CSD: 005E0032-5F5983D5-EDB7FF9F-964000C1
> +  Max. transfer speed: 25000000 Hz
> +  Manufacturer ID: 1C
> +  OEM/Application ID: 5356
> +  Product name: 'SDC  '
> +  Product revision: 1.0
> +  Serial no: 24
> +  Manufacturing date: 4.2008
> +no parameters available
> + at endverbatim
> +
> +In this case probing the MCI card has successfully happen at system
> startup. Probing +at this early point of time can be necessary for systems
> that depends on data from +this kind of storage (for example if the
> persistant environment is stored on the +MCI card).
> +
> +As probing an MCI card may take some seconds, it could be useful to do
> this +on demand only (if not otherwise required). In this case the @b
> devinfo +shows different information about the MCI card prior probing:
> +
> + at verbatim
> +barebox:/ devinfo mci0
> +base  : 0x00000000
> +size  : 0x00000000
> +driver: mci
> +
> + Card:
> +   Not probed yet.
> +
> +parameters
> +     probe = 0
> + at endverbatim
> +
> + at note The MCI card should already be inserted when powering the system, as
> + at b barebox does not support runtime power supply switching.
> +
> +To do the MCI card probing right now, just enter:
> + at verbatim
> +barebox:/ mci0.probe=1
> + at endverbatim
> +
> + at note @b barebox currently cannot really cope with hot plug (its a
> bootloader only, +not an operating system...). So, unplugging the already
> probed card and replacing +it by another one and also probing this new card
> may crash your system (and might +also destroy the MCI card, as unplugging
> and plugging happens while the socket is +"hot").
> +
> +*/

@sascha: ping

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |



More information about the barebox mailing list