4 #include <soc/infracfg.h>
6 #include <soc/pmic_wrap.h>
9 #define PRIORITY_FIELD(x) ((x % 4) * 8)
10 #define PRIORITY_IN(id, priority) (id << PRIORITY_FIELD(priority))
11 #define PRIORITY_OUT(id, priority) (priority << PRIORITY_FIELD(id))
30 #define PENDING_US(x) x
109 for (
size_t i = 0; i < 32; i++)
162 int test_data[30] = {
163 0x6996, 0x9669, 0x6996, 0x9669, 0x6996, 0x9669, 0x6996,
164 0x9669, 0x6996, 0x9669, 0x5AA5, 0xA55A, 0x5AA5, 0xA55A,
165 0x5AA5, 0xA55A, 0x5AA5, 0xA55A, 0x5AA5, 0xA55A, 0x1B27,
166 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27,
169 for (si_sample_ctrl = 0; si_sample_ctrl < 16; si_sample_ctrl++) {
177 if (si_sample_ctrl == 16)
180 if (si_sample_ctrl == 15)
187 for (
int si_dly = 0; si_dly < 10; si_dly++) {
190 int start_boundary_found = 0;
191 for (
size_t i = 0; i < 30; i++) {
194 if ((rdata & 0x7fff) != (test_data[i] & 0x7fff)) {
195 start_boundary_found = 1;
199 if (start_boundary_found == 1)
212 pwrap_err(
"rdata = %#x, exp = %#x\n", rdata,
249 s32 sub_return = 0, sub_return1 = 0;
256 if (sub_return != 0) {
257 pwrap_err(
"reset_spislv fail, ret=%d\n", sub_return);
276 if (sub_return != 0) {
277 pwrap_err(
"dio test error, ret=%d\n", sub_return);
283 if (sub_return != 0) {
284 pwrap_err(
"InitSiStrobe fail,ret=%d\n", sub_return);
295 pwrap_err(
"write error, rdata=%#x, return=%d, return1=%d\n",
296 rdata, sub_return, sub_return1);
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
s32 pwrap_reset_spislv(void)
#define wait_us(timeout_us, condition)
static struct mt8173_pwrap_regs *const mtk_pwrap
static struct mt8183_infracfg_regs *const mt8183_infracfg
static void pwrap_init_reg_clock(void)
static void pwrap_soft_reset(void)
static s32 pwrap_init_dio(u16 dio_en)
@ COUNTER13_PENDING_THRES
@ COUNTER11_PENDING_THRES
@ COUNTER12_PENDING_THRES
@ COUNTER16_PENDING_THRES
@ COUNTER10_PENDING_THRES
#define PRIORITY_IN(id, priority)
static void pwrap_init_spislv(void)
static void pwrap_starve_set(void)
static void pwrap_initstaupd(void)
static void pwrap_enable(void)
static s32 pwrap_init_sistrobe(void)
static void pwrap_lock_spislvreg(void)
static void pwrap_spi_clk_set(void)
#define PRIORITY_OUT(id, priority)
static s32 pwrap_write_nochk(u16 addr, u16 wdata)
#define pwrap_err(fmt, arg ...)
static u32 wait_for_idle_and_sync(u32 x)
static s32 pwrap_read_nochk(u16 addr, u16 *rdata)
#define DEFAULT_VALUE_READ_TEST
u32 infra_globalcon_rst2_set
u32 infra_globalcon_rst2_clr