ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
hal_ppu.h
См. документацию.
1
20#ifndef HAL_PPU_H
21#define HAL_PPU_H
22
23#if defined(__cplusplus)
24extern "C" {
25#endif /* __cplusplus */
26
27#include "hal_common.h"
28
39
58
74
81 PPU_PowerModeOn = 8,
86 /* Состояния не реализованы в первых ревизиях чипа */
114};
115
125 PPU_Locked = 0x00000020,
126 PPU_EmuDeny = 0x00000010,
128 PPU_EmuAccept = 0x00000008,
130 PPU_StaDeny = 0x00000004,
132 PPU_StaAccept = 0x00000002,
134 PPU_StaPolicyTrn = 0x00000001,
143 ,
144};
145
150 PPU_StaPolicyOp = 0x00000010,
152 PPU_STA_PolicyPwr = 0x00000008,
154 PPU_DynDeny = 0x00000004,
156 PPU_DynAccept = 0x00000002,
158 PPU_UnsptPolicy = 0x00000001,
166 ,
168};
169
206
212 PPU_OP_ACTIVE = 1 << 10,
218 PPU_FUNC_RET_RAM_REG = 1 << 6,
221 PPU_FULL_RET_RAM_REG = 1 << 5,
223 PPU_MEM_RET_RAM_REG = 1 << 4,
225 PPU_LOCK_SPT = 1 << 2,
227 PPU_SW_DEV_DEL_SPT = 1 << 1,
231};
232
245typedef void (*ReqOffForCPU)(void);
246
253
272enum ppu_status PPU_SetState(PPU_Type * base, enum ppu_power_mode mode);
273
289enum ppu_status PPU_SetStateDynamic(PPU_Type * base, enum ppu_power_mode mode);
290
302 enum ppu_sense_index pd_src, uint32_t sense);
303
314enum ppu_status PPU_SetIRQStatus(PPU_Type *base, enum ppu_event_name irq,
315 enum ppu_add_event_name add_irq);
316
327enum ppu_status PPU_SetIRQMask(PPU_Type * base, enum ppu_event_name irq,
328 enum ppu_add_event_name add_irq);
329
340enum ppu_status PPU_ClrIRQStatus(PPU_Type *base, enum ppu_event_name irq,
341 enum ppu_add_event_name add_irq);
342
353enum ppu_status PPU_ClrIRQMask(PPU_Type * base, enum ppu_event_name irq,
354 enum ppu_add_event_name add_irq);
355
374
387 enum ppu_sense_index pd_src);
388
396
406enum ppu_status PPU_GetIRQStatus(PPU_Type *base, enum ppu_event_name *irq,
407 enum ppu_add_event_name *add_irq);
408
418enum ppu_status PPU_GetIRQMask(PPU_Type *base, enum ppu_event_name *irq,
419 enum ppu_add_event_name *add_irq);
438enum ppu_status PPU_Init(PPU_Type * base, struct ppu_config * cfg);
439
464
465#if defined(__cplusplus)
466}
467#endif /* __cplusplus */
468
469#endif /* HAL_PPU_H */
470
enum ppu_status PPU_SetIRQStatus(PPU_Type *base, enum ppu_event_name irq, enum ppu_add_event_name add_irq)
Функция установки состояний прерываний
enum ppu_status PPU_ClrIRQMask(PPU_Type *base, enum ppu_event_name irq, enum ppu_add_event_name add_irq)
Функция сброса масок прерываний
ppu_sense_index
Индексы бит блоков PPU, от которых зависят другие домены
Definition hal_ppu.h:62
ppu_opportunities_idr1
Идентификационный регистр PPU_IDR1.
Definition hal_ppu.h:210
enum ppu_status PPU_GetLastAPIStatus(void)
Получение статуса выполнения функции, тип результата которой отличен от enum ppu_status.
uint32_t PPU_GetPDxSenseFromPDy(enum ppu_domain_index pd_dst, enum ppu_sense_index pd_src)
Функция получения зависимости доменов питания
enum ppu_status PPU_ClrIRQStatus(PPU_Type *base, enum ppu_event_name irq, enum ppu_add_event_name add_irq)
Функция сброса состояний прерываний
enum ppu_status PPU_GetIRQMask(PPU_Type *base, enum ppu_event_name *irq, enum ppu_add_event_name *add_irq)
Получение масок прерываний
void(* ReqOffForCPU)(void)
Тип функции запроса для выключения смежного ядра
Definition hal_ppu.h:245
ppu_power_mode
Состояние домена питания
Definition hal_ppu.h:80
enum ppu_status PPU_SetPDCMPPUSense(enum ppu_domain_index pd_dst, enum ppu_sense_index pd_src, uint32_t sense)
Функция установки зависимости доменов питания
void PPU_StateOffRequestHandler(void)
Функция отключения питания текущего ядра
ppu_opportunities_idr0
Идентификационный регистр PPU_IDR0.
Definition hal_ppu.h:183
enum ppu_status PPU_SetIRQMask(PPU_Type *base, enum ppu_event_name irq, enum ppu_add_event_name add_irq)
Функция установки масок прерываний
ppu_event_name
Имена масок прерываний
Definition hal_ppu.h:124
enum ppu_status PPU_Init(PPU_Type *base, struct ppu_config *cfg)
Функция инициализации блока PPU.
ppu_domain_index
Индексы блоков PPU.
Definition hal_ppu.h:43
enum ppu_status PPU_SetState(PPU_Type *base, enum ppu_power_mode mode)
Функция запроса установки статического режима работы
enum ppu_power_mode PPU_GetPowerState(PPU_Type *base)
Функция получения состояния домена
enum ppu_status PPU_SetStateDynamic(PPU_Type *base, enum ppu_power_mode mode)
Функция запроса установки динамического режима работы
ppu_status
Статусы драйвера PPU.
Definition hal_ppu.h:32
ppu_add_event_name
Имена масок дополнительных прерываний
Definition hal_ppu.h:149
enum ppu_status PPU_GetIRQStatus(PPU_Type *base, enum ppu_event_name *irq, enum ppu_add_event_name *add_irq)
Получение статуса прерываний
@ PPU_SenseSRAM1
Definition hal_ppu.h:69
@ PPU_SenseSRAM0
Definition hal_ppu.h:68
@ PPU_SenseGNSS
Definition hal_ppu.h:67
@ PPU_SenseSRAM3
Definition hal_ppu.h:71
@ PPU_SenseCPU0
Definition hal_ppu.h:63
@ PPU_SenseCRYPTO
Definition hal_ppu.h:65
@ PPU_SenseSYS
Definition hal_ppu.h:72
@ PPU_SenseCPU1
Definition hal_ppu.h:64
@ PPU_SenseGMS
Definition hal_ppu.h:66
@ PPU_SenseSRAM2
Definition hal_ppu.h:70
@ PPU_STA_POLICY_PWR_IRQ_SPT
Definition hal_ppu.h:216
@ PPU_STA_POLICY_OP_IRQ_SPT
Definition hal_ppu.h:214
@ PPU_PWR_MODE_ENTRY_DEL_SPT
Definition hal_ppu.h:229
@ PPU_FULL_RET_RAM_REG
Definition hal_ppu.h:221
@ PPU_LOCK_SPT
Definition hal_ppu.h:225
@ PPU_OP_ACTIVE
Definition hal_ppu.h:212
@ PPU_MEM_RET_RAM_REG
Definition hal_ppu.h:223
@ PPU_OFF_MEM_RET_TRANS
Definition hal_ppu.h:211
@ PPU_FUNC_RET_RAM_REG
Definition hal_ppu.h:218
@ PPU_SW_DEV_DEL_SPT
Definition hal_ppu.h:227
@ PPU_PowerModeMax
Definition hal_ppu.h:113
@ PPU_PowerModeMemRetEmu
Definition hal_ppu.h:104
@ PPU_PowerModeFuncRet
Definition hal_ppu.h:97
@ PPU_PowerModeOff
Definition hal_ppu.h:83
@ PPU_PowerModeMemOff
Definition hal_ppu.h:99
@ PPU_PowerModeDbgRecov
Definition hal_ppu.h:89
@ PPU_PowerModeLogicRet
Definition hal_ppu.h:102
@ PPU_PowerModeOn
Definition hal_ppu.h:81
@ PPU_PowerModeWarmRst
Definition hal_ppu.h:87
@ PPU_PowerModeOffEmu
Definition hal_ppu.h:108
@ PPU_PowerModeFullRet
Definition hal_ppu.h:101
@ PPU_PowerModeMemRet
Definition hal_ppu.h:85
@ PPU_STA_OFF_SPT
Definition hal_ppu.h:204
@ PPU_STA_MEM_RET_SPT
Definition hal_ppu.h:202
@ PPU_STA_LGC_RET_SPT
Definition hal_ppu.h:200
@ PPU_DYN_LGC_RET_SPT
Definition hal_ppu.h:189
@ PPU_STA_MEM_RET_EMU_SPT
Definition hal_ppu.h:201
@ PPU_STA_OFF_EMU_SPT
Definition hal_ppu.h:203
@ PPU_STA_WRM_RST_SPT
Definition hal_ppu.h:195
@ PPU_DYN_ON_SPT
Definition hal_ppu.h:185
@ PPU_DYN_WRM_RST_SPT
Definition hal_ppu.h:184
@ PPU_DYN_OFF_SPT
Definition hal_ppu.h:193
@ PPU_DYN_MEM_RET_EMU_SPT
Definition hal_ppu.h:190
@ PPU_DYN_FUNC_RET_SPT
Definition hal_ppu.h:186
@ PPU_DYN_OFF_EMU_SPT
Definition hal_ppu.h:192
@ PPU_STA_ON_SPT
Definition hal_ppu.h:196
@ PPU_STA_MEM_OFF_SPT
Definition hal_ppu.h:199
@ PPU_STA_FULL_RET_SPT
Definition hal_ppu.h:198
@ PPU_DYN_MEM_RET_SPT
Definition hal_ppu.h:191
@ PPU_STA_DBG_RECOV_SPT
Definition hal_ppu.h:194
@ PPU_DYN_MEM_OFF_SPT
Definition hal_ppu.h:188
@ PPU_DYN_FULL_RET_SPT
Definition hal_ppu.h:187
@ PPU_STA_FUNC_RET_SPT
Definition hal_ppu.h:197
@ PPU_StaDeny
Definition hal_ppu.h:130
@ PPU_Locked
Definition hal_ppu.h:125
@ PPU_EmuDeny
Definition hal_ppu.h:126
@ PPU_EventNameAll
Definition hal_ppu.h:137
@ PPU_EmuAccept
Definition hal_ppu.h:128
@ PPU_StaPolicyTrn
Definition hal_ppu.h:134
@ PPU_StaAccept
Definition hal_ppu.h:132
@ PPU_DomainSYS
Definition hal_ppu.h:54
@ PPU_DomainSRAM1
Definition hal_ppu.h:51
@ PPU_DomainGNSS
Definition hal_ppu.h:49
@ PPU_DomainMax
Definition hal_ppu.h:56
@ PPU_DomainGMS
Definition hal_ppu.h:48
@ PPU_DomainCPU1
Definition hal_ppu.h:45
@ PPU_DomainSRAM2
Definition hal_ppu.h:52
@ PPU_DomainCRYPTO
Definition hal_ppu.h:47
@ PPU_DomainSRAM0
Definition hal_ppu.h:50
@ PPU_DomainDEBUG
Definition hal_ppu.h:46
@ PPU_DomainSRAM3
Definition hal_ppu.h:53
@ PPU_DomainCPU0
Definition hal_ppu.h:44
@ PPU_Status_InvalidArgument
Definition hal_ppu.h:34
@ PPU_Status_FeatureNotSupport
Definition hal_ppu.h:35
@ PPU_Status_Ok
Definition hal_ppu.h:33
@ PPU_Status_ConfigError
Definition hal_ppu.h:37
@ PPU_Status_DriverError
Definition hal_ppu.h:36
@ PPU_UnsptPolicy
Definition hal_ppu.h:158
@ PPU_StaPolicyOp
Definition hal_ppu.h:150
@ PPU_AddEventNameAll
Definition hal_ppu.h:161
@ PPU_DynDeny
Definition hal_ppu.h:154
@ PPU_STA_PolicyPwr
Definition hal_ppu.h:152
@ PPU_DynAccept
Definition hal_ppu.h:156
Структура для инициализации
Definition hal_ppu.h:250
ReqOffForCPU reqForCPU
Definition hal_ppu.h:251