You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.5 KiB
61 lines
1.5 KiB
/*
|
|
* Copyright (c) 2022, MediaTek Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef PMIC_WRAP_INIT_COMMON_H
|
|
#define PMIC_WRAP_INIT_COMMON_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "platform_def.h"
|
|
|
|
/* external API */
|
|
int32_t pwrap_read(uint32_t adr, uint32_t *rdata);
|
|
int32_t pwrap_write(uint32_t adr, uint32_t wdata);
|
|
|
|
#define GET_WACS_FSM(x) ((x >> 1) & 0x7)
|
|
|
|
/* macro for SWINF_FSM */
|
|
#define SWINF_FSM_IDLE (0x00)
|
|
#define SWINF_FSM_REQ (0x02)
|
|
#define SWINF_FSM_WFDLE (0x04)
|
|
#define SWINF_FSM_WFVLDCLR (0x06)
|
|
#define SWINF_INIT_DONE (0x01)
|
|
|
|
/* timeout setting */
|
|
#define PWRAP_READ_US (1000)
|
|
#define PWRAP_WAIT_IDLE_US (1000)
|
|
|
|
/* error information flag */
|
|
enum pwrap_errno {
|
|
E_PWR_INVALID_ARG = 1,
|
|
E_PWR_INVALID_RW = 2,
|
|
E_PWR_INVALID_ADDR = 3,
|
|
E_PWR_INVALID_WDAT = 4,
|
|
E_PWR_INVALID_OP_MANUAL = 5,
|
|
E_PWR_NOT_IDLE_STATE = 6,
|
|
E_PWR_NOT_INIT_DONE = 7,
|
|
E_PWR_NOT_INIT_DONE_READ = 8,
|
|
E_PWR_WAIT_IDLE_TIMEOUT = 9,
|
|
E_PWR_WAIT_IDLE_TIMEOUT_READ = 10,
|
|
E_PWR_INIT_SIDLY_FAIL = 11,
|
|
E_PWR_RESET_TIMEOUT = 12,
|
|
E_PWR_TIMEOUT = 13,
|
|
E_PWR_INIT_RESET_SPI = 20,
|
|
E_PWR_INIT_SIDLY = 21,
|
|
E_PWR_INIT_REG_CLOCK = 22,
|
|
E_PWR_INIT_ENABLE_PMIC = 23,
|
|
E_PWR_INIT_DIO = 24,
|
|
E_PWR_INIT_CIPHER = 25,
|
|
E_PWR_INIT_WRITE_TEST = 26,
|
|
E_PWR_INIT_ENABLE_CRC = 27,
|
|
E_PWR_INIT_ENABLE_DEWRAP = 28,
|
|
E_PWR_INIT_ENABLE_EVENT = 29,
|
|
E_PWR_READ_TEST_FAIL = 30,
|
|
E_PWR_WRITE_TEST_FAIL = 31,
|
|
E_PWR_SWITCH_DIO = 32,
|
|
};
|
|
|
|
#endif /* PMIC_WRAP_INIT_COMMON_H */
|
|
|