[U-Boot-Users] [PATCH] ide arm support

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Feb 11 22:30:08 CET 2008


On 21:40 Mon 11 Feb     , michael wrote:
> Add ide support to the arm cpu. Tested on arm little endian
> machine. Include #define __io in config board file.
> 
> Signed-off-by: Michael Trimarchi <trimarchimichael at yahoo.it>
> ---
> 
> diff --git a/common/cmd_ide.c b/common/cmd_ide.c
> index c38be4f..e507c15 100644
> --- a/common/cmd_ide.c
> +++ b/common/cmd_ide.c
> @@ -934,7 +934,14 @@ output_data(int dev, ulong *sect_buf, int words)
>  static void
>  output_data(int dev, ulong *sect_buf, int words)
>  {
> +#ifndef __ARM__
>  	outsw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words<<1);
> +#else
> +	int i = words;
Why do you initialise "i" with words and re-initialize it at 0 in for?
> +	u16 *buf = (u16 *) sect_buf;
> +	for (i = 0; i < (words << 1); i++, buf++) 
                                                 ^
not needed space
> +		outw(ATA_CURR_BASE(dev) + ATA_DATA_REG, buf);
> +#endif
>  }
>  #endif	/* __PPC__ */
>  
> @@ -992,7 +999,14 @@ input_data(int dev, ulong *sect_buf, int words)
>  static void
>  input_data(int dev, ulong *sect_buf, int words)
>  {
> +#ifndef __ARM__
>  	insw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, words << 1);
> +#else
> +	int i;
> +	volatile u16 *buf = (u16 *) sect_buf;
> +	for(i = 0; i < (words << 1); i++, buf++)
> +		*buf = inw(ATA_CURR_BASE(dev) + ATA_DATA_REG);
Why don"t you use readw and writew?
> +#endif
>  }
>  
>  #endif	/* __PPC__ */
> diff --git a/lib_arm/board.c b/lib_arm/board.c
> index 7e7a282..ddf4d5f 100644
> --- a/lib_arm/board.c
> +++ b/lib_arm/board.c
> @@ -435,6 +435,12 @@ extern void dm644x_eth_set_mac_addr (const u_int8_t *addr);
>  	reset_phy();
>  #endif
>  #endif
> +
> +#if defined(CONFIG_CMD_IDE)
> +	puts("IDE:   ");
> +	ide_init();
> +#endif
> +
>  	/* main_loop() can return to retry autoboot, if so just run it again. */
>  	for (;;) {
>  		main_loop ();
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users




More information about the U-Boot mailing list