On Sun, Jun 30, 2013 at 12:12:29PM +0200, Frédéric Leroy wrote:
> CloudBox device is device tree compliant, but older LaCie kernel uses
> machine ID method to boot.
> 
> Signed-off-by: Frédéric Leroy <fr...@starox.org>
> ---
>  arch/arm/include/asm/mach-types.h | 14 ++++++++++++++
>  board/LaCie/cloudbox/cloudbox.c   |  7 ++++++-
>  include/configs/lacie_kw.h        |  1 +
>  3 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/include/asm/mach-types.h 
> b/arch/arm/include/asm/mach-types.h
> index 440b041..071bd11 100644
> --- a/arch/arm/include/asm/mach-types.h
> +++ b/arch/arm/include/asm/mach-types.h
> @@ -1106,6 +1106,7 @@ extern unsigned int __machine_arch_type;
>  #define MACH_TYPE_OMAP5_SEVM           3777
>  #define MACH_TYPE_ARMADILLO_800EVA     3863
>  #define MACH_TYPE_KZM9G                4140
> +#define MACH_TYPE_CLOUDBOX             4170
>  
>  #ifdef CONFIG_ARCH_EBSA110
>  # ifdef machine_arch_type
> @@ -14235,6 +14236,19 @@ extern unsigned int __machine_arch_type;
>  # define machine_is_kzm9g()  (0)
>  #endif
>  
> +#ifdef CONFIG_MACH_CLOUDBOX
> +# ifdef machine_arch_type
> +#  undef machine_arch_type
> +#  define machine_arch_type  __machine_arch_type
> +# else
> +#  define machine_arch_type  MACH_TYPE_CLOUDBOX
> +# endif
> +# define machine_cloudbox()  (machine_arch_type == MACH_TYPE_CLOUDBOX)
> +#else
> +# define machine_cloudbox()  (0)
> +#endif

Hi Fred,

I think you can't update this file directly. Pulling the Linux mach-types
file is the ARM maintainer job.

Note that for the CloudBox board, the mach-types entry has been removed
because not needed by Linux. The Linux mainline support is only based on
DT. I had the same issue with the ns2 lite and mini. At the time, I have
been told to include the machine ID in the board header:
http://marc.info/?l=u-boot&m=134694402011372&w=2

Looks in configs/lacie_kw.h and grep for "missing in mach-types.h".

Besides, I don't understand why do you need a separate patch to add the
legacy boot support.

Simon

> +
> +
>  /*
>   * These have not yet been registered
>   */
> diff --git a/board/LaCie/cloudbox/cloudbox.c b/board/LaCie/cloudbox/cloudbox.c
> index e5ee5a3..51b1f96 100644
> --- a/board/LaCie/cloudbox/cloudbox.c
> +++ b/board/LaCie/cloudbox/cloudbox.c
> @@ -64,7 +64,12 @@ int board_early_init_f(void)
>  
>  int board_init(void)
>  {
> -     /* Nothing to do with fdt */
> +     /* Machine number */
> +     gd->bd->bi_arch_number = CONFIG_MACH_TYPE;
> +
> +     /* Boot parameters address */
> +     gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
> +
>       return 0;
>  }
>  
> diff --git a/include/configs/lacie_kw.h b/include/configs/lacie_kw.h
> index 02e0882..b305bf6 100644
> --- a/include/configs/lacie_kw.h
> +++ b/include/configs/lacie_kw.h
> @@ -22,6 +22,7 @@
>   * Machine number definition
>   */
>  #if defined(CONFIG_CLOUDBOX)
> +#define CONFIG_MACH_TYPE             MACH_TYPE_CLOUDBOX
>  #define CONFIG_IDENT_STRING          " CloudBox"
>  #elif defined(CONFIG_D2NET_V2)
>  #define CONFIG_MACH_TYPE             MACH_TYPE_D2NET_V2
> -- 
> 1.8.1.2

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to