
U-Boot MARUBUN MR-SHPC-01 PCMCIA controller driver
	Last update 21/11/2007 by Nobuhiro Iwamatsu

========================================================================================

0. What's this?
    This driver supports MARUBUN MR-SHPC-01.
	url: http://www.marubun.co.jp/product/semicon/devices/qgc18e0000002n2z.html
	(Sorry Japanese only.)

    This chip is used with SuperH well, and adopted by the
    reference board.
	ex. * MS7750SE01
		* MS7722SE01
		* other

    This chip doesn't support CardBus.

1. base source code
    The code is based on sources from the Linux kernel
    	( arch/sh/kernel/cf-enabler.c ).

2. How to use
    The options you have to specify in the config file are (with the
    value for my board as an example):

    * CONFIG_MARUBUN_PCCARD
	If you want to use this device driver, should define CONFIG_MARUBUN_PCCARD.
	ex. 	#define CONFIG_MARUBUN_PCCARD

    * CONFIG_PCMCIA_SLOT_A
    	Most devices have only one slot. You should define CONFIG_PCMCIA_SLOT_A .
	ex.	#define CONFIG_PCMCIA_SLOT_A    1

    * CFG_MARUBUN_MRSHPC
    	This is MR-SHPC-01 PCMCIA controler base address.
	You should do the setting matched to your environment.
	ex.  #define CFG_MARUBUN_MRSHPC 0xb03fffe0
	     ( for MS7722SE01 environment )

    * CFG_MARUBUN_MW1
	This is MR-SHPC-01 memory window base address.
	You should do the setting matched to your environment.
	ex. #define CFG_MARUBUN_MW1 0xb0400000
	     ( for MS7722SE01 environment )

    * CFG_MARUBUN_MW1
	This is MR-SHPC-01 attribute window base address.
	You should do the setting matched to your environment.
	ex. #define CFG_MARUBUN_MW2 0xb0500000
	     ( for MS7722SE01 environment )

    * CFG_MARUBUN_MW1
	This is MR-SHPC-01 I/O window base address.
	You should do the setting matched to your environment.
	ex. #define CFG_MARUBUN_IO  0xb0600000
	     ( for MS7722SE01 environment )

3. Other
    * Check Compact Flash only.
    * Maybe, NE2000 compatible NIC is sure to move.

Copyright (c) 2007
	Nobuhiro Iwamatsu <iwamatsu@nigaur.org>
