1 /******************************************************************************* 2 * Copyright (c) 2014, Realtek Semiconductor Corp. 3 * All rights reserved. 4 * 5 * This module is a confidential and proprietary property of RealTek and 6 * possession or use of this module requires written permission of RealTek. 7 *******************************************************************************/ 8 #ifndef MBED_EXT_POWER_MODE_API_EXT_H 9 #define MBED_EXT_POWER_MODE_API_EXT_H 10 #if (defined(CONFIG_PLATFORM_8195BHP) && (CONFIG_PLATFORM_8195BHP == 1)) || (defined(CONFIG_PLATFORM_8195BLP) && (CONFIG_PLATFORM_8195BLP == 1)) 11 ///@name AmebaPro Only 12 ///@{ 13 #include "device.h" 14 15 #if defined (CONFIG_PLATFORM_8195B) 16 /** @addtogroup power mode POWER MODE 17 * @ingroup hal 18 * @brief power mode functions 19 * @{ 20 */ 21 22 #if defined (CONFIG_PLATFORM_8195BLP) 23 //SLP 24 #define SLP_STIMER BIT0 25 #define SLP_GTIMER BIT1 26 #define SLP_GPIO BIT2 27 #define SLP_PWM BIT3 28 #define SLP_UART BIT4 29 #define SLP_HSTIMER BIT5 30 #define SLP_WLAN BIT6 31 #define SLP_I2C BIT7 32 #define SLP_ADC BIT8 33 #define SLP_COMP BIT9 34 #define SLP_SGPIO BIT10 35 36 //DSTBY 37 #define DSTBY_STIMER BIT0 38 #define DSTBY_GTIMER BIT1 39 #define DSTBY_GPIO BIT2 40 #define DSTBY_PWM BIT3 41 #define DSTBY_UART BIT4 42 #define DSTBY_HSTIMER BIT5 43 #define DSTBY_WLAN BIT6 44 #define DSTBY_I2C BIT7 45 #define DSTBY_ADC BIT8 46 #define DSTBY_COMP BIT9 47 #define DSTBY_SGPIO BIT10 48 49 //DS wake event 50 #define DS_STIMER BIT0 51 #define DS_GPIO BIT1 52 #define DS_ADP BIT2 53 #define DS_RTC BIT3 54 #elif defined (CONFIG_PLATFORM_8195BHP) 55 //SLP 56 #define SLP_GTIMER BIT1 57 #define SLP_GPIO BIT2 58 #define SLP_PWM BIT3 59 #define SLP_UART BIT4 60 #define SLP_MII BIT5 61 #define SLP_WLAN BIT6 62 #define SLP_I2C BIT7 63 #define SLP_ADC BIT8 64 #define SLP_USB BIT9 65 #define SLP_SGPIO BIT10 66 #define SLP_SDIO BIT11 67 68 //DSTBY 69 #define DSTBY_GTIMER BIT1 70 #define DSTBY_GPIO BIT2 71 #endif 72 73 ///@name Ameba Common 74 ///@{ 75 76 enum { 77 AON_128K = CLK_128K, // AON CLK 128kHz 78 AON_100K = CLK_100K, // AON CLK 100kHz 79 }; 80 81 /** 82 * @brief The function for ls sleep mode. 83 * 84 * @param[in] Option, To slect AON Timer,GPIO...etc 85 * - bit[4]: the UART Wake up event. 86 * - bit[3]: the PWM Wake up event. 87 * - bit[2]: the GPIO A13 as a Wake up event. 88 * - bit[1]: the GTimer Wake up event. Only active at 128kHz 89 * - bit[0]: the AON Timer Wake up event. 90 * @param[in] SDuration, wake up after SDuration value. Uint: us 91 * @param[in] Clock, 1: 100kHz, 0: 128kHz. 92 * @param[in] GpioOption, GPIOA0~A13 as a wake up trigger. 93 * 94 * @returns void 95 */ 96 void SleepCG (u16 Option, u32 SDuration, u8 Clock, u8 GpioOption); 97 98 #if defined (CONFIG_PLATFORM_8195BHP) 99 100 /** 101 * @brief The function for hs power gated. 102 * 103 * @param[in] Option, To slect HS Timer and GPIO 104 * - bit[2]: the GPIO Wake up event. 105 * - bit[1]: the GTimer Wake up event. 106 * @param[in] SDuration, wake up after SDuration value. Uint: us 107 * @param[in] Memsel, 1: Enable memory, 0: Disable memory. 108 * @param[in] GpioOption, Select GPIO pin as a wake up trigger. 109 * 110 * @returns void 111 */ 112 void SleepPG (u16 Option, u32 SDuration, u8 Memsel, u8 GpioOption); 113 114 #endif 115 #if defined (CONFIG_PLATFORM_8195BLP) 116 117 /** 118 * @brief The function for ls standby mode. 119 * 120 * @param[in] Option, To slect AON Timer,GPIO...etc 121 * - bit[4]: the UART Wake up event. 122 * - bit[3]: the PWM Wake up event. 123 * - bit[2]: the GPIO Wake up event. 124 * - bit[1]: the GTimer Wake up event. Not ready 125 * - bit[0]: the AON Timer Wake up event. 126 * @param[in] SDuration, wake up after SDuration value. Uint: us 127 * @param[in] Memsel, 1: Enable memory, 0: Disable memory. 128 * @param[in] GpioOption, GPIOA0~A13 as a wake up trigger. 129 * 130 * @returns void 131 */ 132 void Standby (u16 Option, u32 SDuration, u8 Memsel, u8 GpioOption); 133 134 /** 135 * @brief The stubs functions table to exports POWER MODE HAL functions in ROM. 136 */ 137 138 //extern const hal_power_mode_func_stubs_t hal_power_mode_stubs; 139 140 /** 141 * @brief The function for ls deep sleep mode. 142 * 143 * @param[in] Option, To slect AON Timer,GPIO,ADP and RTC. 144 * - bit[2]: the ADP Wake up event. 145 * - bit[1]: the GPIO Wake up event. 146 * - bit[0]: the AON Timer Wake up event. 147 * @param[in] SDuration, wake up after SDuration value. Uint: us 148 * @param[in] Memsel, 1: Enable memory, 0: Disable memory. 149 * @param[in] Clock, 1: 100kHz, 0: 128kHz. 150 * 151 * @returns void 152 */ 153 void DeepSleep (u8 Option, u32 SDuration, u8 Memsel, u8 Clock); 154 155 /** 156 * @brief The function for ls deep sleep mode. 157 * 158 * @param[in] Option The RTC wake up event. 159 * - bit[3]: Wake up per day. 160 * - bit[2]: Wake up per hour. 161 * - bit[1]: Wake up per minute. 162 * - bit[0]: Wake up per second. 163 * @param[in] Memsel, 1: Enable memory, 0: Disable memory. 164 * 165 * @returns void 166 */ 167 void DeepSleep_RTC (u8 Option, u8 Memsel); 168 169 ///@} 170 171 /*\@}*/ 172 173 #endif 174 #endif 175 ///@} 176 #endif // end of "#if defined(CONFIG_PLATFORM_8195BHP) || defined(CONFIG_PLATFORM_8195BLP)" 177 #endif 178