| /linux/arch/arm/mach-lpc32xx/ |
| H A D | pm.c | 45 * section of IRAM is used instead for this. 48 * Backup a small area of IRAM used for the suspend code 49 * Copy suspend code to IRAM 50 * Transfer control to code in IRAM 60 * Code execution returns from IRAM 61 * IRAM code are used for suspend is restored 85 /* Allocate some space for temporary IRAM storage */ in lpc32xx_pm_enter() 92 * Copy code to suspend system into IRAM. The suspend code in lpc32xx_pm_enter() 93 * needs to run from IRAM as DRAM may no longer be available in lpc32xx_pm_enter() 101 /* Transfer to suspend code in IRAM */ in lpc32xx_pm_enter() [all …]
|
| /linux/sound/soc/sprd/ |
| H A D | sprd-pcm-compress.c | 28 /* Stage 0 IRAM buffer size definition */ 58 * For 2-stage DMA transfer, we can allocate 2 buffers: IRAM buffer (always 59 * power-on) and DDR buffer. The source channel will transfer data from IRAM 60 * buffer to the DSP fifo to decoding/encoding, once IRAM buffer is empty by 62 * DDR buffer to IRAM buffer. 64 * Since the DSP fifo is only 512B, IRAM buffer is allocated by 32K, and DDR 65 * buffer is larger to 2M. That means only the IRAM 32k data is transferred 66 * done, we can wake up the AP system to transfer data from DDR to IRAM, and 77 /* Stage 0 IRAM buffer */ 82 /* DSP play information IRAM buffer */ [all …]
|
| /linux/Documentation/devicetree/bindings/remoteproc/ |
| H A D | ti,pru-rproc.yaml | 60 - const: iram 144 reg-names = "iram", "control", "debug"; 153 reg-names = "iram", "control", "debug"; 183 reg-names = "iram", "control", "debug"; 195 reg-names = "iram", "control", "debug"; 207 reg-names = "iram", "control", "debug"; 216 reg-names = "iram", "control", "debug"; 228 reg-names = "iram", "control", "debug"; 240 reg-names = "iram", "control", "debug";
|
| H A D | ti,k3-m4f-rproc.yaml | 38 - description: IRAM internal memory region 43 - const: iram 115 reg-names = "iram", "dram";
|
| /linux/arch/arm/mach-tegra/ |
| H A D | sleep-tegra20.S | 141 * tegra20_tear_down_core in IRAM 172 /* START OF ROUTINES COPIED TO IRAM */ 180 * reset vector for LP1 restore; copied into IRAM during suspend. 193 * IRAM when this code is executed; immediately switch to CLKM and 266 * copied into and executed from IRAM 323 * executes from IRAM with SDRAM in selfrefresh when target state is LP0 or LP1 348 * must be executed from IRAM 432 /* dummy symbol for end of IRAM */
|
| H A D | pm.c | 260 * SDRAM. These codes not be copied to IRAM in this fuction. We need to 261 * copy these code to IRAM before LP0/LP1 suspend and restore the content 262 * of IRAM after resume. 321 /* copy the reset vector & SDRAM shutdown code into IRAM */ in tegra_suspend_enter_lp1() 332 /* restore IRAM */ in tegra_suspend_exit_lp1()
|
| H A D | sleep-tegra30.S | 282 * tegra30_tear_down_core in IRAM 346 /* START OF ROUTINES COPIED TO IRAM */ 354 * reset vector for LP1 restore; copied into IRAM during suspend. 367 * IRAM when this code is executed; immediately switch to CLKM and 647 * copied into and executed from IRAM 745 * executes from IRAM with SDRAM in selfrefresh when target state is LP0 or LP1 783 * must be executed from IRAM 904 /* dummy symbol for end of IRAM */
|
| H A D | irammap.h | 11 /* The first 1K of IRAM is permanently reserved for the CPU reset handler */
|
| /linux/drivers/gpu/ipu-v3/ |
| H A D | ipu-pre.c | 96 struct gen_pool *iram; member 327 pre->iram = of_gen_pool_get(dev->of_node, "fsl,iram", 0); in ipu_pre_probe() 328 if (!pre->iram) in ipu_pre_probe() 332 * Allocate IRAM buffer with maximum size. This could be made dynamic, in ipu_pre_probe() 333 * but as there is no other user of this IRAM region and we can fit all in ipu_pre_probe() 336 pre->buffer_virt = gen_pool_dma_alloc(pre->iram, IPU_PRE_MAX_WIDTH * in ipu_pre_probe() 366 gen_pool_free(pre->iram, (unsigned long)pre->buffer_virt, in ipu_pre_remove()
|
| /linux/Documentation/devicetree/bindings/media/ |
| H A D | nvidia,tegra-vde.yaml | 66 iram: 108 iram = <&iram>; /* IRAM MMIO region */
|
| H A D | coda.yaml | 65 iram: 106 iram = <&ocram>;
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | nxp,lpc-eth.yaml | 25 use-iram: 27 description: Use LPC32xx internal SRAM (IRAM) for DMA buffering 47 use-iram;
|
| /linux/arch/arm/boot/dts/nxp/imx/ |
| H A D | imx6qp.dtsi | 34 fsl,iram = <&ocram2>; 43 fsl,iram = <&ocram2>; 52 fsl,iram = <&ocram3>; 61 fsl,iram = <&ocram3>;
|
| /linux/sound/soc/intel/atom/sst/ |
| H A D | sst_pci.c | 74 /* IRAM */ in sst_platform_get_resources() 77 ctx->iram = pcim_iomap(pci, 3, 0); in sst_platform_get_resources() 78 if (!ctx->iram) in sst_platform_get_resources() 81 dev_dbg(ctx->dev, "IRAM Ptr %p\n", ctx->iram); in sst_platform_get_resources()
|
| H A D | sst.c | 469 fw_save->iram = kvzalloc(ctx->iram_end - ctx->iram_base, GFP_KERNEL); in intel_sst_suspend() 470 if (!fw_save->iram) { in intel_sst_suspend() 472 goto iram; in intel_sst_suspend() 491 memcpy32_fromio(fw_save->iram, ctx->iram, ctx->iram_end - ctx->iram_base); in intel_sst_suspend() 504 kvfree(fw_save->iram); in intel_sst_suspend() 505 iram: in intel_sst_suspend() 527 memcpy32_toio(ctx->iram, fw_save->iram, ctx->iram_end - ctx->iram_base); in intel_sst_resume() 534 kvfree(fw_save->iram); in intel_sst_resume()
|
| H A D | sst_acpi.c | 189 dev_info(ctx->dev, "IRAM base: %#x", ctx->iram_base); in sst_platform_get_resources() 190 ctx->iram = devm_ioremap(ctx->dev, ctx->iram_base, in sst_platform_get_resources() 192 if (!ctx->iram) { in sst_platform_get_resources() 193 dev_err(ctx->dev, "unable to map IRAM\n"); in sst_platform_get_resources() 303 * DDR, SHIM, MBOX, IRAM, DRAM, CFG in sst_acpi_probe()
|
| H A D | sst.h | 314 void *iram; /* allocated via kvmalloc() */ member 328 * @iram : SST IRAM pointer 362 void __iomem *iram; member
|
| /linux/drivers/media/platform/nvidia/tegra-vde/ |
| H A D | vde.c | 313 vde->iram_pool = of_gen_pool_get(dev->of_node, "iram", 0); in tegra_vde_probe() 315 dev_err(dev, "Could not get IRAM pool\n"); in tegra_vde_probe() 319 vde->iram = gen_pool_dma_alloc(vde->iram_pool, in tegra_vde_probe() 322 if (!vde->iram) { in tegra_vde_probe() 323 dev_err(dev, "Could not reserve IRAM\n"); in tegra_vde_probe() 376 gen_pool_free(vde->iram_pool, (unsigned long)vde->iram, in tegra_vde_probe() 409 gen_pool_free(vde->iram_pool, (unsigned long)vde->iram, in tegra_vde_remove()
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | am57-pruss.dtsi | 93 reg-names = "iram", "control", "debug"; 102 reg-names = "iram", "control", "debug"; 202 reg-names = "iram", "control", "debug"; 211 reg-names = "iram", "control", "debug";
|
| /linux/Documentation/devicetree/bindings/display/imx/ |
| H A D | fsl,imx6qp-pre.yaml | 28 fsl,iram: 54 fsl,iram = <&ocram2>;
|
| /linux/sound/soc/intel/catpt/ |
| H A D | dsp.c | 382 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, in catpt_dsp_power_down() 417 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, 0); in catpt_dsp_power_up() 466 dump_size += resource_size(&cdev->iram); in catpt_coredump() 502 hdr->size = resource_size(&cdev->iram); in catpt_coredump() 505 memcpy_fromio(pos, cdev->lpe_ba + cdev->iram.start, hdr->size); in catpt_coredump()
|
| /linux/drivers/media/platform/chips-media/coda/ |
| H A D | coda-common.c | 3214 /* Get IRAM pool from device tree */ in coda_probe() 3215 pool = of_gen_pool_get(np, "iram", 0); in coda_probe() 3217 dev_err(&pdev->dev, "iram pool not available\n"); in coda_probe() 3255 dev->iram.size = dev->devtype->iram_size; in coda_probe() 3256 dev->iram.vaddr = gen_pool_dma_alloc(dev->iram_pool, dev->iram.size, in coda_probe() 3257 &dev->iram.paddr); in coda_probe() 3258 if (!dev->iram.vaddr) { in coda_probe() 3259 dev_warn(&pdev->dev, "unable to alloc iram\n"); in coda_probe() 3261 memset(dev->iram.vaddr, 0, dev->iram.size); in coda_probe() 3262 dev->iram.blob.data = dev->iram.vaddr; in coda_probe() [all …]
|
| H A D | coda-bit.c | 776 static phys_addr_t coda_iram_alloc(struct coda_iram_info *iram, size_t size) in coda_iram_alloc() argument 781 if (size > iram->remaining) in coda_iram_alloc() 783 iram->remaining -= size; in coda_iram_alloc() 785 ret = iram->next_paddr; in coda_iram_alloc() 786 iram->next_paddr += size; in coda_iram_alloc() 803 iram_info->next_paddr = dev->iram.paddr; in coda_setup_iram() 804 iram_info->remaining = dev->iram.size; in coda_setup_iram() 806 if (!dev->iram.vaddr) in coda_setup_iram() 840 /* Prioritize in case IRAM is too small for everything */ in coda_setup_iram() 848 pr_err("IRAM is smaller than the search ram size\n"); in coda_setup_iram() [all …]
|
| /linux/drivers/net/ethernet/freescale/fman/ |
| H A D | fman.c | 201 /* IRAM defines */ 306 u32 iadd; /* FM IRAM instruction address register */ 307 u32 idata; /* FM IRAM instruction data register */ 308 u32 itcfg; /* FM IRAM timing config register */ 309 u32 iready; /* FM IRAM ready register */ 1339 /* clear MURAM event bit (do not clear IRAM event) */ in muram_err_intr() 1406 struct fman_iram_regs __iomem *iram; in clear_iram() local 1409 iram = fman->base_addr + IMEM_OFFSET; in clear_iram() 1412 iowrite32be(IRAM_IADD_AIE, &iram->iadd); in clear_iram() 1416 } while ((ioread32be(&iram->iadd) != IRAM_IADD_AIE) && --count); in clear_iram() [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A D | qe_firmware.rst | 67 IRAM.IADD and IRAM.IDATA registers. 256 'iram_offset' is the offset into IRAM to start writing the
|