view src/cs/services/dar/dar_emergency.h @ 221:5bf097aeaad7

LLS: when turning off all LEDs on boot, skip LED-C Having LLS turn off LED-A and LED-B on boot is normally unnecessary (they should already be off in Iota), but it is harmless, hence this logic is kept for robustness. However, having LLS read-modify-write the BCICTL2 register (to turn off LED-C) creates a potential race condition with FCHG writes to this register, especially in the case when baseband switch-on is caused by VCHG and charging is expected to start right away. Furthermore, control of the charging LED itself (on those hw targets that have it) is the responsibility of the FCHG SWE, hence LLS should leave it alone.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Apr 2021 21:55:13 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/****************************************************************************/
/*                                                                          */
/*  File Name:  dar_emergency.h                                             */
/*                                                                          */
/*  Purpose:   This function contains the functions prototypes of the DAR   */ 
/*             entity when emergencies occured.                             */
/*                                                                          */
/*  Version   0.1                                                           */
/*                                                                          */
/*  Date                 Modification                                       */
/*  ------------------------------------                                    */
/*  17 October 2001    Create                                               */
/*                                                                          */
/*  Author     Stephanie Gerthoux                                           */
/*                                                                          */
/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/
/****************************************************************************/

#ifndef __DAR_EMERGENCY_H_
#define __DAR_EMERGENCY_H_

  #include "rv/rv_defined_swe.h"

  #ifdef RVM_DAR_SWE

    #include "rvm/rvm_gen.h"

    /* Functions prototypes */
    T_RV_RET dar_process_emergency( T_DAR_INFO    *buffer_p,
                                    T_DAR_FORMAT  format,
                                    T_RVM_USE_ID  dar_use_id,
                                    UINT32 flags);
    void dar_exception_arm_undefined(void);
    void dar_exception_arm_swi(void);
    void dar_exception_arm_abort_prefetch(void);
    void dar_exception_arm_abort_data(void);
    void dar_exception_arm_reserved(void);

  #endif /* #ifdef RVM_DAR_SWE */

  void dar_exception(int abort_type);

#endif /* __DAR_EMERGENCY_H_ */