9 #include <soc/infracfg.h>
11 #include <soc/pmic_wrap.h>
14 #define PRIORITY_FIELD(x) ((x % 4) * 8)
15 #define PRIORITY_IN(id, priority) (id << PRIORITY_FIELD(priority))
16 #define PRIORITY_OUT(id, priority) (priority << PRIORITY_FIELD(id))
35 #define PENDING_US(x) x
114 for (
size_t i = 0; i < 32; i++)
167 int test_data[30] = {
168 0x6996, 0x9669, 0x6996, 0x9669, 0x6996, 0x9669, 0x6996,
169 0x9669, 0x6996, 0x9669, 0x5AA5, 0xA55A, 0x5AA5, 0xA55A,
170 0x5AA5, 0xA55A, 0x5AA5, 0xA55A, 0x5AA5, 0xA55A, 0x1B27,
171 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27, 0x1B27,
174 for (si_sample_ctrl = 0; si_sample_ctrl < 16; si_sample_ctrl++) {
182 if (si_sample_ctrl == 16)
185 if (si_sample_ctrl == 15)
192 for (
int si_dly = 0; si_dly < 10; si_dly++) {
195 int start_boundary_found = 0;
196 for (
size_t i = 0; i < 30; i++) {
199 if ((rdata & 0x7fff) != (test_data[i] & 0x7fff)) {
200 start_boundary_found = 1;
204 if (start_boundary_found == 1)
217 pwrap_err(
"rdata = %#x, exp = %#x\n", rdata,
254 s32 sub_return = 0, sub_return1 = 0;
261 if (sub_return != 0) {
262 pwrap_err(
"reset_spislv fail, ret=%d\n", sub_return);
281 if (sub_return != 0) {
282 pwrap_err(
"dio test error, ret=%d\n", sub_return);
288 if (sub_return != 0) {
289 pwrap_err(
"InitSiStrobe fail,ret=%d\n", sub_return);
300 pwrap_err(
"write error, rdata=%#x, return=%d, return1=%d\n",
301 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
@ COUNTER13_PENDING_THRES
@ COUNTER11_PENDING_THRES
@ COUNTER12_PENDING_THRES
@ COUNTER16_PENDING_THRES
@ COUNTER10_PENDING_THRES
static struct mt8186_infracfg_ao_regs *const mt8186_infracfg_ao
static void pwrap_init_reg_clock(void)
static void pwrap_soft_reset(void)
static s32 pwrap_init_dio(u16 dio_en)
#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