sam3_rstc.h
Go to the documentation of this file.00001
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #ifndef SAM3_RTSC_H
00073 #define SAM3_RTSC_H
00074
00075 #define RSTC_BASE 0x400E1A00
00076
00078
00079 #define RSTC_CR (*((reg32_t *)(RSTC_BASE + 0x00))) ///< Reset controller control register address.
00080 #define RSTC_PROCRST 0 ///< Processor reset.
00081 #define RSTC_PERRST 2 ///< Peripheral reset.
00082 #define RSTC_EXTRST 3 ///< External reset.
00083 #define RSTC_KEY 0xA5000000 ///< Password.
00084
00085
00087
00088 #define RSTC_SR (*((reg32_t *)(RSTC_BASE + 0x04))) ///< Reset controller status register address.
00089 #define RSTC_URSTS 0 ///< User reset status.
00090 #define RSTC_BODSTS 1 ///< Brownout detection status.
00091 #define RSTC_RSTTYP_MASK 0x00000700 ///< Reset type.
00092 #define RSTC_RSTTYP_POWERUP 0x00000000 ///< Power-up reset.
00093
00094 #define RSTC_RSTTYP_WATCHDOG 0x00000200 ///< Watchdog reset.
00095 #define RSTC_RSTTYP_SOFTWARE 0x00000300 ///< Software reset.
00096 #define RSTC_RSTTYP_USER 0x00000400 ///< User reset.
00097 #define RSTC_RSTTYP_BROWNOUT 0x00000500 ///< Brownout reset.
00098 #define RSTC_NRSTL 16 ///< NRST pin level.
00099 #define RSTC_SRCMP 17 ///< Software reset command in progress.
00100
00101
00103
00104 #define RSTC_MR (*((reg32_t *)(RSTC_BASE + 0x08))) ///< Reset controller mode register address.
00105 #define RSTC_URSTEN 0 ///< User reset enable.
00106 #define RSTC_URSTIEN 4 ///< User reset interrupt enable.
00107 #define RSTC_ERSTL_MASK 0x00000F00 ///< External reset length.
00108 #define RSTC_ERSTL_SHIFT 8 ///< Least significant bit of external reset length.
00109 #define RSTC_BODIEN 16 ///< Brown-out detection interrupt enable.
00110
00111
00112
00113 #endif