From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V5 1/4] ide: add configuration CONFIG_IDE_SWAP_IO
Date: Wed, 14 Jul 2010 17:03:27 +0200 [thread overview]
Message-ID: <4C3DD1BF.7020106@free.fr> (raw)
In-Reply-To: <1279022559-15772-1-git-send-email-albert.aribaud@free.fr>
Hi all,
Looking at the custodians list on the Denx site, I haven't found one for
ide or mass storage. Did I miss him/her? If not, then, apart from
Prafulla's for Marvell stuff, whose Ack or Nak should I expect for this
patch set?
Thanks in advance,
Amicalement,
Albert.
Le 13/07/2010 14:02, Albert Aribaud a ?crit :
> This configuration option replaces a complex conditional
> in cmd_ide.c with an explicit define to be added to SoC or
> board configs.
>
> Signed-off-by: Albert Aribaud<albert.aribaud@free.fr>
> ---
> This patch set introduces CONFIG_IDE_SWAP_IO as suggested by
> Wolfgang Denk, adds orion5x support to cmd_ide.c and adds IDE
> support to edminiv2.
>
> Patchset history:
>
> V1: Initial 4-patch set -- not cleanly submitted (does
> not appear on gmane for instance) and contained some
> unrelated changes.
>
> V2: Slimmed down to 3 patches and removed unrelated
> changes.
>
> V3: Back to 4 patches (cmd_ide improvement, driver addition,
> cmd_ide support for orion, edminiv2 support for sata);
> made initialization code reuseable as a block driver ;
> moved to C structures; commented some constants.
>
> V4: Reordered objects alphabetically in drivers/block/Makefile.
> Shortened mv_sata to mvsata.
> Removed volatile qualifier in mvsata port structure.
> Moved port pointer definition from SoC to board code.
> Removed unrelated changes.
>
> V5: Fixed typo in mvsata_ide driver (IMP, should have been IPM).
>
> arch/powerpc/include/asm/config.h | 3 +++
> common/cmd_ide.c | 18 +++++++++---------
> doc/README.PXA_CF | 8 ++++++++
> include/configs/ap325rxa.h | 1 +
> include/configs/ms7720se.h | 1 +
> include/configs/r2dplus.h | 1 +
> include/configs/r7780mp.h | 1 +
> 7 files changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h
> index fc3facb..371989d 100644
> --- a/arch/powerpc/include/asm/config.h
> +++ b/arch/powerpc/include/asm/config.h
> @@ -76,4 +76,7 @@
> /* Relocation to SDRAM works on all PPC boards */
> #define CONFIG_RELOC_FIXUP_WORKS
>
> +/* All PPC boards must swap IDE bytes */
> +#define CONFIG_IDE_SWAP_IO
> +
> #endif /* _ASM_CONFIG_H_ */
> diff --git a/common/cmd_ide.c b/common/cmd_ide.c
> index d486697..9292a5b 100644
> --- a/common/cmd_ide.c
> +++ b/common/cmd_ide.c
> @@ -853,7 +853,7 @@ input_swap_data(int dev, ulong *sect_buf, int words)
> #endif /* __LITTLE_ENDIAN || CONFIG_AU1X00 */
>
>
> -#if defined(__PPC__) || defined(CONFIG_PXA_PCMCIA) || defined(CONFIG_SH)
> +#if defined(CONFIG_IDE_SWAP_IO)
> static void
> output_data(int dev, ulong *sect_buf, int words)
> {
> @@ -897,15 +897,15 @@ output_data(int dev, ulong *sect_buf, int words)
> }
> #endif
> }
> -#else /* ! __PPC__ */
> +#else /* ! CONFIG_IDE_SWAP_IO */
> static void
> output_data(int dev, ulong *sect_buf, int words)
> {
> outsw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words<<1);
> }
> -#endif /* __PPC__ */
> +#endif /* CONFIG_IDE_SWAP_IO */
>
> -#if defined(__PPC__) || defined(CONFIG_PXA_PCMCIA) || defined(CONFIG_SH)
> +#if defined(CONFIG_IDE_SWAP_IO)
> static void
> input_data(int dev, ulong *sect_buf, int words)
> {
> @@ -955,14 +955,14 @@ input_data(int dev, ulong *sect_buf, int words)
> }
> #endif
> }
> -#else /* ! __PPC__ */
> +#else /* ! CONFIG_IDE_SWAP_IO */
> static void
> input_data(int dev, ulong *sect_buf, int words)
> {
> insw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words<< 1);
> }
>
> -#endif /* __PPC__ */
> +#endif /* CONFIG_IDE_SWAP_IO */
>
> /* -------------------------------------------------------------------------
> */
> @@ -1579,7 +1579,7 @@ int ide_device_present(int dev)
> * ATAPI Support
> */
>
> -#if defined(__PPC__) || defined(CONFIG_PXA_PCMCIA)
> +#if defined(CONFIG_IDE_SWAP_IO)
> /* since ATAPI may use commands with not 4 bytes alligned length
> * we have our own transfer functions, 2 bytes alligned */
> static void
> @@ -1646,7 +1646,7 @@ input_data_shorts(int dev, ushort *sect_buf, int shorts)
> #endif
> }
>
> -#else /* ! __PPC__ */
> +#else /* ! CONFIG_IDE_SWAP_IO */
> static void
> output_data_shorts(int dev, ushort *sect_buf, int shorts)
> {
> @@ -1659,7 +1659,7 @@ input_data_shorts(int dev, ushort *sect_buf, int shorts)
> insw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, shorts);
> }
>
> -#endif /* __PPC__ */
> +#endif /* CONFIG_IDE_SWAP_IO */
>
> /*
> * Wait until (Status& mask) == res, or timeout (in ms)
> diff --git a/doc/README.PXA_CF b/doc/README.PXA_CF
> index 6a0f236..1d76b32 100644
> --- a/doc/README.PXA_CF
> +++ b/doc/README.PXA_CF
> @@ -6,6 +6,14 @@ follow the connections of the standard lubbock. Anyway just the block
> marked memory configuration should be touched since the other parameters
> are imposed by the PXA architecture.
>
> +EDIT 2010-07-01: in common/cmd_ide.c, having CONFIG_PXA_PCMCIA defined
> +would cause looping on inw()/outw() rather than using insw()/outsw(),
> +thus making sure IDE / ATA bytes are properly swapped. This behaviour
> +is now controlled by CONFIG_IDE_SWAP_IO, therefore PXA boards with
> +PCMCIA should #define CONFIG_IDE_SWAP_IO.
> +
> +#define CONFIG_IDE_SWAP_IO
> +
> #define CONFIG_PXA_PCMCIA 1
> #define CONFIG_PXA_IDE 1
>
> diff --git a/include/configs/ap325rxa.h b/include/configs/ap325rxa.h
> index 70dd47e..80a5797 100644
> --- a/include/configs/ap325rxa.h
> +++ b/include/configs/ap325rxa.h
> @@ -138,6 +138,7 @@
> #define CONFIG_SYS_ATA_DATA_OFFSET 0x200 /* data reg offset */
> #define CONFIG_SYS_ATA_REG_OFFSET 0x200 /* reg offset */
> #define CONFIG_SYS_ATA_ALT_OFFSET 0x210 /* alternate register offset */
> +#define CONFIG_IDE_SWAP_IO
>
> /* if you use all NOR Flash , you change dip-switch. Please see Manual. */
> #define CONFIG_SYS_MAX_FLASH_BANKS 1
> diff --git a/include/configs/ms7720se.h b/include/configs/ms7720se.h
> index ba0a3f8..0ea3527 100644
> --- a/include/configs/ms7720se.h
> +++ b/include/configs/ms7720se.h
> @@ -122,5 +122,6 @@
> #define CONFIG_SYS_ATA_DATA_OFFSET 0 /* data reg offset */
> #define CONFIG_SYS_ATA_REG_OFFSET 0 /* reg offset */
> #define CONFIG_SYS_ATA_ALT_OFFSET 0x200 /* alternate register offset */
> +#define CONFIG_IDE_SWAP_IO
>
> #endif /* __MS7720SE_H */
> diff --git a/include/configs/r2dplus.h b/include/configs/r2dplus.h
> index 8931b97..955f3ff 100644
> --- a/include/configs/r2dplus.h
> +++ b/include/configs/r2dplus.h
> @@ -96,6 +96,7 @@
> #define CONFIG_SYS_ATA_DATA_OFFSET 0x1000 /* data reg offset */
> #define CONFIG_SYS_ATA_REG_OFFSET 0x1000 /* reg offset */
> #define CONFIG_SYS_ATA_ALT_OFFSET 0x800 /* alternate register offset */
> +#define CONFIG_IDE_SWAP_IO
>
> /*
> * SuperH PCI Bridge Configration
> diff --git a/include/configs/r7780mp.h b/include/configs/r7780mp.h
> index 71c570e..3afe93a 100644
> --- a/include/configs/r7780mp.h
> +++ b/include/configs/r7780mp.h
> @@ -171,6 +171,7 @@
> #define CONFIG_SYS_ATA_DATA_OFFSET 0x1000 /* data reg offset */
> #define CONFIG_SYS_ATA_REG_OFFSET 0x1000 /* reg offset */
> #define CONFIG_SYS_ATA_ALT_OFFSET 0x800 /* alternate register offset */
> +#define CONFIG_IDE_SWAP_IO
> #endif /* CONFIG_CMD_IDE */
>
> #endif /* __R7780RP_H */
next prev parent reply other threads:[~2010-07-14 15:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-13 12:02 [U-Boot] [PATCH V5 1/4] ide: add configuration CONFIG_IDE_SWAP_IO Albert Aribaud
2010-07-13 12:02 ` [U-Boot] [PATCH V5 2/4] ide: add mvsata_ide driver Albert Aribaud
2010-07-13 12:02 ` [U-Boot] [PATCH V5 3/4] cmd_ide: add support for orion5x Albert Aribaud
2010-07-13 12:02 ` [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support Albert Aribaud
2010-07-19 7:31 ` Prafulla Wadaskar
2010-07-21 10:26 ` Prafulla Wadaskar
2010-07-23 10:50 ` Albert ARIBAUD
2010-08-01 16:48 ` Prafulla Wadaskar
2010-08-01 17:34 ` Albert ARIBAUD
2010-08-02 3:35 ` Prafulla Wadaskar
2010-08-02 6:13 ` Albert ARIBAUD
2010-08-03 12:01 ` Albert ARIBAUD
2010-08-03 12:10 ` Prafulla Wadaskar
2010-08-04 6:08 ` Prafulla Wadaskar
2010-08-04 7:23 ` Albert ARIBAUD
2010-08-04 20:03 ` Albert ARIBAUD
2010-08-05 5:23 ` Prafulla Wadaskar
2010-08-04 20:35 ` Albert ARIBAUD
2010-08-05 5:27 ` Prafulla Wadaskar
2010-08-05 12:35 ` Albert ARIBAUD
2010-08-07 21:15 ` Wolfgang Denk
2010-07-21 10:17 ` [U-Boot] [PATCH V5 3/4] cmd_ide: add support for orion5x Prafulla Wadaskar
2010-07-21 10:16 ` [U-Boot] [PATCH V5 2/4] ide: add mvsata_ide driver Prafulla Wadaskar
2010-07-21 17:04 ` Albert ARIBAUD
2010-07-14 15:03 ` Albert ARIBAUD [this message]
2010-07-20 13:43 ` [U-Boot] [PATCH V5 1/4] ide: add configuration CONFIG_IDE_SWAP_IO Wolfgang Denk
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=4C3DD1BF.7020106@free.fr \
--to=albert.aribaud@free.fr \
--cc=u-boot@lists.denx.de \
/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