Lines Matching +full:0 +full:x3b700000

37 …"There is no mailbox between cores, so ignore remote proc reply after start, default is 0 (off).");
40 #define REMOTE_IS_READY BIT(0)
49 #define FEATURE_DONT_WAIT_FW_READY BIT(0)
59 #define IMX8M_DAP_DEBUG 0x28800000
61 #define IMX8M_DAP_PWRCTL (0x4000 + 0x3020)
65 #define IMX8M_AudioDSP_REG0 0x100
66 #define IMX8M_AudioDSP_REG1 0x104
67 #define IMX8M_AudioDSP_REG2 0x108
68 #define IMX8M_AudioDSP_REG3 0x10c
74 #define IMX8ULP_SIM_LPAV_REG_SYSCTRL0 0x8
83 #define IMX8ULP_SIP_HIFI_XRDC 0xc200000e
103 RP_MBOX_SUSPEND_SYSTEM = 0xFF11,
104 RP_MBOX_SUSPEND_ACK = 0xFF12,
105 RP_MBOX_RESUME_SYSTEM = 0xFF13,
106 RP_MBOX_RESUME_ACK = 0xFF14,
175 { 0x596e8000, 0x556e8000, 0x00008000, ATT_OWN },
176 { 0x596f0000, 0x556f0000, 0x00008000, ATT_OWN },
177 { 0x596f8000, 0x556f8000, 0x00000800, ATT_OWN | ATT_IRAM},
178 { 0x55700000, 0x55700000, 0x00070000, ATT_OWN },
180 { 0x80000000, 0x80000000, 0x60000000, 0},
185 { 0x596e8000, 0x596e8000, 0x00008000, ATT_OWN },
186 { 0x596f0000, 0x596f0000, 0x00008000, ATT_OWN },
187 { 0x596f8000, 0x596f8000, 0x00000800, ATT_OWN | ATT_IRAM},
188 { 0x59700000, 0x59700000, 0x00070000, ATT_OWN },
190 { 0x80000000, 0x80000000, 0x60000000, 0},
195 { 0x3b6e8000, 0x3b6e8000, 0x00008000, ATT_OWN },
196 { 0x3b6f0000, 0x3b6f0000, 0x00008000, ATT_OWN },
197 { 0x3b6f8000, 0x3b6f8000, 0x00000800, ATT_OWN | ATT_IRAM},
198 { 0x3b700000, 0x3b700000, 0x00040000, ATT_OWN },
200 { 0x40000000, 0x40000000, 0x80000000, 0},
205 { 0x21170000, 0x21170000, 0x00010000, ATT_OWN | ATT_IRAM},
206 { 0x21180000, 0x21180000, 0x00010000, ATT_OWN },
208 { 0x0c000000, 0x80000000, 0x10000000, 0},
209 { 0x30000000, 0x90000000, 0x10000000, 0},
237 return 0; in imx8mp_dsp_reset()
253 arm_smccc_smc(IMX8ULP_SIP_HIFI_XRDC, 0, 0, 0, 0, 0, 0, 0, &res); in imx8ulp_dsp_reset()
257 IMX8ULP_SYSCTRL0_DSP_RST, 0); in imx8ulp_dsp_reset()
259 IMX8ULP_SYSCTRL0_DSP_DBG_RST, 0); in imx8ulp_dsp_reset()
261 return 0; in imx8ulp_dsp_reset()
270 return 0; in imx_dsp_rproc_ready()
272 for (i = 0; i < REMOTE_READY_WAIT_MAX_RETRIES; i++) { in imx_dsp_rproc_ready()
274 return 0; in imx_dsp_rproc_ready()
324 * For now, in struct fw_rsc_imx_dsp, version 0, in imx_dsp_rproc_handle_rsc()
329 if (imx_dsp_rsc->version > 0) { in imx_dsp_rproc_handle_rsc()
391 return 0; in imx_dsp_rproc_start()
426 int ret = 0; in imx_dsp_rproc_stop()
430 return 0; in imx_dsp_rproc_stop()
444 return 0; in imx_dsp_rproc_stop()
465 for (i = 0; i < dcfg->att_size; i++) { in imx_dsp_rproc_sys_to_da()
472 return 0; in imx_dsp_rproc_sys_to_da()
488 * but there is no need to check for these return values. The index 0
508 rproc_vq_interrupt(priv->rproc, 0); in imx_dsp_rproc_vq_work()
531 dev_dbg(dev, "mbox msg: 0x%x\n", message); in imx_dsp_rproc_rx_tx_callback()
576 return 0; in imx_dsp_rproc_mbox_alloc()
619 return 0; in imx_dsp_rproc_mbox_alloc()
633 * Always return 0
637 return 0; in imx_dsp_rproc_mbox_no_alloc()
663 int a, i = 0; in imx_dsp_rproc_add_carveout()
667 for (a = 0; a < dcfg->att_size; a++) { in imx_dsp_rproc_add_carveout()
700 return 0; in imx_dsp_rproc_add_carveout()
745 return 0; in imx_dsp_rproc_prepare()
753 return 0; in imx_dsp_rproc_unprepare()
776 if (err < 0) in imx_dsp_rproc_kick()
803 for (i = 0; i < q; i++) in imx_dsp_rproc_memcpy()
807 affected_mask = GENMASK(8 * r, 0); in imx_dsp_rproc_memcpy()
818 for (i = 0; i < r; i++) in imx_dsp_rproc_memcpy()
824 return 0; in imx_dsp_rproc_memcpy()
855 affected_mask = GENMASK(8 * r, 0); in imx_dsp_rproc_memset()
869 return 0; in imx_dsp_rproc_memset()
880 * Return: 0 on success and an appropriate error code otherwise
886 int i, ret = 0; in imx_dsp_rproc_elf_load_segments()
897 for (i = 0; i < phnum; i++, phdr += elf_phdr_get_size) { in imx_dsp_rproc_elf_load_segments()
908 dev_dbg(dev, "phdr: type %d da 0x%llx memsz 0x%llx filesz 0x%llx\n", in imx_dsp_rproc_elf_load_segments()
912 dev_err(dev, "bad phdr filesz 0x%llx memsz 0x%llx\n", in imx_dsp_rproc_elf_load_segments()
919 dev_err(dev, "truncated fw: need 0x%llx avail 0x%zx\n", in imx_dsp_rproc_elf_load_segments()
935 dev_err(dev, "bad phdr da 0x%llx mem 0x%llx\n", da, in imx_dsp_rproc_elf_load_segments()
945 dev_err(dev, "memory copy failed for da 0x%llx memsz 0x%llx\n", in imx_dsp_rproc_elf_load_segments()
953 ret = imx_dsp_rproc_memset(ptr + filesz, 0, memsz - filesz); in imx_dsp_rproc_elf_load_segments()
955 dev_err(dev, "memset failed for da 0x%llx memsz 0x%llx\n", in imx_dsp_rproc_elf_load_segments()
970 return 0; in imx_dsp_rproc_parse_fw()
989 memset(carveout->va, 0, carveout->len); in imx_dsp_rproc_load()
996 return 0; in imx_dsp_rproc_load()
1026 return 0; in imx_dsp_attach_pm_domains()
1045 return 0; in imx_dsp_rproc_mmio_detect_mode()
1059 return 0; in imx_dsp_rproc_reset_ctrl_detect_mode()
1103 for (i = 0; i < DSP_RPROC_CLK_MAX; i++) in imx_dsp_rproc_clk_get()
1122 ret = rproc_of_parse_firmware(dev, 0, &fw_name); in imx_dsp_rproc_probe()
1152 if (ret < 0) in imx_dsp_rproc_probe()
1196 return 0; in imx_dsp_runtime_resume()
1208 return 0; in imx_dsp_runtime_suspend()
1229 rproc->ops->kick(rproc, 0); in imx_dsp_load_firmware()
1249 if (ret < 0) { in imx_dsp_suspend()
1273 int ret = 0; in imx_dsp_resume()
1280 return 0; in imx_dsp_resume()
1290 if (ret < 0) { in imx_dsp_resume()
1295 return 0; in imx_dsp_resume()
1342 .src_start = 0,