1234567891011121314151617181920212223242526272829303132333435 |
- // Functions control the logical power on/off for the chip
- #include "CM_LIB.h"
- #include "CM_I2C.h"
- #include "CM_I2C_L.h"
- #include "CM_GPA.h"
- #include "hal_interface_api.h"
- // Power On Chip
- //
- // Returns 0 (SUCCESS) if no error
- //
- void cm_PowerOn(void)
- {
- // Reset chip data
- cm_ResetCrypto();
- ucCM_UserZone = ucCM_AntiTearing = 0;
-
- // Sequence for powering on secure memory according to ATMEL spec
- CM_DATA_OUT; // SDA and SCL start as outputs
- CM_CLK_OUT;
- CM_CLK_LO; // Clock should start LOW
- CM_DATA_HI; // Data high during reset
- cm_ClockCycles(CM_PWRON_CLKS); // Give chip some clocks cycles to get started
- // Chip should now be in sync mode and ready to operate
- }
- // Shut down secure memory
- //
- void cm_PowerOff(void)
- {
- cm_Delay(1);
- CM_CLK_LO;
- cm_Delay(6);
- }
|