/* * Standardized OMAP reset source bits * * To the extent these happen to match the hardware register bit * shifts, it's purely coincidental. Used by omap-wdt.c. * OMAP_UNKNOWN_RST_SRC_ID_SHIFT is a special value, used whenever * there are any bits remaining in the global PRM_RSTST register that * haven't been identified, or when the PRM code for the current SoC * doesn't know how to interpret the register.
*/ #define OMAP_GLOBAL_COLD_RST_SRC_ID_SHIFT 0 #define OMAP_GLOBAL_WARM_RST_SRC_ID_SHIFT 1 #define OMAP_SECU_VIOL_RST_SRC_ID_SHIFT 2 #define OMAP_MPU_WD_RST_SRC_ID_SHIFT 3 #define OMAP_SECU_WD_RST_SRC_ID_SHIFT 4 #define OMAP_EXTWARM_RST_SRC_ID_SHIFT 5 #define OMAP_VDD_MPU_VM_RST_SRC_ID_SHIFT 6 #define OMAP_VDD_IVA_VM_RST_SRC_ID_SHIFT 7 #define OMAP_VDD_CORE_VM_RST_SRC_ID_SHIFT 8 #define OMAP_ICEPICK_RST_SRC_ID_SHIFT 9 #define OMAP_ICECRUSHER_RST_SRC_ID_SHIFT 10 #define OMAP_C2C_RST_SRC_ID_SHIFT 11 #define OMAP_UNKNOWN_RST_SRC_ID_SHIFT 12
#ifndef __ASSEMBLER__
/** * struct prm_reset_src_map - map register bitshifts to standard bitshifts * @reg_shift: bitshift in the PRM reset source register * @std_shift: bitshift equivalent in the standard reset source list * * The fields are signed because -1 is used as a terminator.
*/ struct prm_reset_src_map {
s8 reg_shift;
s8 std_shift;
};
/** * struct prm_ll_data - fn ptrs to per-SoC PRM function implementations * @read_reset_sources: ptr to the SoC PRM-specific get_reset_source impl * @was_any_context_lost_old: ptr to the SoC PRM context loss test fn * @clear_context_loss_flags_old: ptr to the SoC PRM context loss flag clear fn * @late_init: ptr to the late init function * @assert_hardreset: ptr to the SoC PRM hardreset assert impl * @deassert_hardreset: ptr to the SoC PRM hardreset deassert impl * * XXX @was_any_context_lost_old and @clear_context_loss_flags_old are * deprecated.
*/ struct prm_ll_data {
u32 (*read_reset_sources)(void); bool (*was_any_context_lost_old)(u8 part, s16 inst, u16 idx); void (*clear_context_loss_flags_old)(u8 part, s16 inst, u16 idx); int (*late_init)(void); int (*assert_hardreset)(u8 shift, u8 part, s16 prm_mod, u16 offset); int (*deassert_hardreset)(u8 shift, u8 st_shift, u8 part, s16 prm_mod,
u16 offset, u16 st_offset); int (*is_hardreset_asserted)(u8 shift, u8 part, s16 prm_mod,
u16 offset); void (*reset_system)(void); int (*clear_mod_irqs)(s16 module, u8 regs, u32 wkst_mask);
u32 (*vp_check_txdone)(u8 vp_id); void (*vp_clear_txdone)(u8 vp_id);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.