/******************************************************************************/
/*                       Copyright 2001 Broadcom Corporation                  */
/*                                                                            */
/* This material is the confidential trade secret and proprietary information */
/* of Broadcom Corp.  It may not be reproduced, used, sold or transferred to  */
/* any third party without the prior written consent of Broadcom Corp.        */
/* All rights reserved.                                                       */
/******************************************************************************/
/*   FileName        : bcm_boot.h                                             */
/*   Purpose         : Header for the boot procedure                          */
/*   Limitations     : None                                                   */
/*   Author          : Emmanuel Hanssens                                      */
/*   Creation Date   : 20-Sep-2001                                            */
/*   History         : Compiled by CVS                                        */
/******************************************************************************/
/*   $Id: bcm_boot.h,v 1.8 2004/09/29 08:10:15 hanssens Exp $  */
/******************************************************************************/
#if !defined BCM_BOOT_H && !defined UDP_PHY
# define BCM_BOOT_H

# include "bcm_userdef.h"
# include "bcm_types.h"

/* boot returned error types */

# define BCM_BOOTER_NO_START 1          /* the booter does not generate the
                                         * booter ready interrupt, either the
                                         * booter program is wrong or the
                                         * BCM6410 is malfunctioning */

# define BCM_DOWNLOAD_PROBLEM 2         /* the download was not successful
                                         * either a download protocol problem,
                                         * or unsuccessful download indicated
                                         * by the goOperational message
                                         * reply. */

# define BCM_FIRMWARE_NO_START 3        /* the firmware does not generate the
                                         * device ready interrupt, as the
                                         * tests performed by the firware when
                                         * starting failed. */

# define BCM_BOOTER_POST_FAILED 4       /* the booter Power On Self Test
                                         * failed, while the booter started
                                         * => download is not started */

# define BCM_FIRMWARE_POST_FAILED 5     /* the fw Power On Self Test failed,
                                         * while the fw started */

int boot(TargetImage *bootImage,
         TargetImage *fwImage,
         int          bcm6410Id,
         SelfTest    *selfTest);

#endif
