/linux-6.12.1/arch/arm/mach-lpc32xx/ |
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-6.12.1/sound/soc/sprd/ |
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-6.12.1/drivers/net/phy/aquantia/ |
D | aquantia_firmware.c | 47 /* AQR firmware doesn't have fixed offsets for iram and dram section 174 /* Get the primary offset to extract DRAM and IRAM sections. */ in aqr_fw_boot() 182 /* Find the DRAM and IRAM sections within the firmware file. in aqr_fw_boot() 196 phydev_err(phydev, "bad iram offset in firmware\n"); in aqr_fw_boot() 203 phydev_err(phydev, "invalid iram size in firmware\n"); in aqr_fw_boot() 222 * Validate iram/dram offset and size. in aqr_fw_boot() 226 phydev_err(phydev, "iram size if not aligned to word size. Please report this upstream!\n"); in aqr_fw_boot() 230 phydev_err(phydev, "invalid iram offset for iram size\n"); in aqr_fw_boot() 240 phydev_err(phydev, "invalid iram offset for iram size\n"); in aqr_fw_boot() 244 phydev_dbg(phydev, "primary %d IRAM offset=%d size=%d DRAM offset=%d size=%d\n", in aqr_fw_boot() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/remoteproc/ |
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";
|
D | ti,k3-m4f-rproc.yaml | 38 - description: IRAM internal memory region 43 - const: iram 115 reg-names = "iram", "dram";
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | lpc-eth.txt | 11 - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering 27 use-iram;
|
/linux-6.12.1/drivers/gpu/ipu-v3/ |
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-6.12.1/arch/arm/mach-tegra/ |
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 */
|
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()
|
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 */
|
/linux-6.12.1/Documentation/devicetree/bindings/media/ |
D | nvidia,tegra-vde.yaml | 66 iram: 108 iram = <&iram>; /* IRAM MMIO region */
|
D | coda.yaml | 65 iram: 106 iram = <&ocram>;
|
/linux-6.12.1/arch/arm/boot/dts/nxp/imx/ |
D | imx6qp.dtsi | 34 fsl,iram = <&ocram2>; 43 fsl,iram = <&ocram2>; 52 fsl,iram = <&ocram3>; 61 fsl,iram = <&ocram3>;
|
/linux-6.12.1/sound/soc/intel/atom/sst/ |
D | sst_pci.c | 80 /* IRAM */ in sst_platform_get_resources() 83 ctx->iram = pcim_iomap(pci, 3, pci_resource_len(pci, 3)); in sst_platform_get_resources() 84 if (!ctx->iram) { in sst_platform_get_resources() 88 dev_dbg(ctx->dev, "IRAM Ptr %p\n", ctx->iram); in sst_platform_get_resources()
|
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()
|
D | sst_acpi.c | 188 dev_info(ctx->dev, "IRAM base: %#x", ctx->iram_base); in sst_platform_get_resources() 189 ctx->iram = devm_ioremap(ctx->dev, ctx->iram_base, in sst_platform_get_resources() 191 if (!ctx->iram) { in sst_platform_get_resources() 192 dev_err(ctx->dev, "unable to map IRAM\n"); in sst_platform_get_resources() 302 * DDR, SHIM, MBOX, IRAM, DRAM, CFG in sst_acpi_probe()
|
/linux-6.12.1/drivers/gpu/drm/amd/display/dc/dce/ |
D | dce_dmcu.c | 86 /* Enable write access to IRAM */ in dce_dmcu_load_iram() 98 /* Disable write access to IRAM to allow dynamic sleep state */ in dce_dmcu_load_iram() 112 /* Enable write access to IRAM */ in dce_get_dmcu_psr_state() 123 /* Disable write access to IRAM after finished using IRAM in dce_get_dmcu_psr_state() 336 /* Enable write access to IRAM */ in dcn10_get_dmcu_version() 351 /* Disable write access to IRAM to allow dynamic sleep state */ in dcn10_get_dmcu_version() 486 /* Enable write access to IRAM */ in dcn10_dmcu_load_iram() 498 /* Disable write access to IRAM to allow dynamic sleep state */ in dcn10_dmcu_load_iram() 506 /* Set command to signal IRAM is loaded and to initialize IRAM */ in dcn10_dmcu_load_iram() 529 /* Enable write access to IRAM */ in dcn10_get_dmcu_psr_state() [all …]
|
/linux-6.12.1/drivers/media/platform/nvidia/tegra-vde/ |
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-6.12.1/arch/arm/boot/dts/ti/omap/ |
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-6.12.1/arch/arm64/boot/dts/ti/ |
D | k3-am65-main.dtsi | 1194 reg-names = "iram", "control", "debug"; 1206 reg-names = "iram", "control", "debug"; 1218 reg-names = "iram", "control", "debug"; 1227 reg-names = "iram", "control", "debug"; 1239 reg-names = "iram", "control", "debug"; 1251 reg-names = "iram", "control", "debug"; 1360 reg-names = "iram", "control", "debug"; 1372 reg-names = "iram", "control", "debug"; 1384 reg-names = "iram", "control", "debug"; 1393 reg-names = "iram", "control", "debug"; [all …]
|
/linux-6.12.1/sound/soc/sof/intel/ |
D | pci-tng.c | 44 {"iram", DSP_BAR, IRAM_OFFSET, IRAM_SIZE, 206 .resindex_lpe_base = 3, /* IRAM, but subtract IRAM offset */
|
/linux-6.12.1/drivers/remoteproc/ |
D | pru_rproc.c | 53 /* PRU/RTU/Tx_PRU Core IRAM address masks */ 701 * linker's default linker script places IRAM at an arbitrary high in pru_i_da_to_va() 703 * strip the artificial offset in the IRAM addresses coming from the in pru_i_da_to_va() 706 * The TI proprietary linker would never set those higher IRAM address in pru_i_da_to_va() 708 * word-address range. This in turn corresponds to 18-bit IRAM in pru_i_da_to_va() 761 * The ICSSG PRU/RTU/Tx_PRU cores have a memory copying issue with IRAM 763 * properly in the IRAM memories only for integer (4-byte) copies. Any unaligned 766 * IRAM memory port interface does not allow any 8-byte copies (as commonly used 959 * Compute PRU id based on the IRAM addresses. The PRU IRAMs are 999 const char *mem_names[PRU_IOMEM_MAX] = { "iram", "control", "debug" }; in pru_rproc_probe()
|
/linux-6.12.1/sound/soc/intel/catpt/ |
D | dsp.c | 385 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, in catpt_dsp_power_down() 420 catpt_dsp_set_srampge(cdev, &cdev->iram, cdev->spec->iram_mask, 0); in catpt_dsp_power_up() 469 dump_size += resource_size(&cdev->iram); in catpt_coredump() 505 hdr->size = resource_size(&cdev->iram); in catpt_coredump() 508 memcpy_fromio(pos, cdev->lpe_ba + cdev->iram.start, hdr->size); in catpt_coredump()
|
/linux-6.12.1/Documentation/devicetree/bindings/soc/ti/ |
D | ti,pruss.yaml | 426 reg-names = "iram", "control", "debug"; 435 reg-names = "iram", "control", "debug"; 517 reg-names = "iram", "control", "debug"; 526 reg-names = "iram", "control", "debug";
|
/linux-6.12.1/Documentation/devicetree/bindings/display/imx/ |
D | fsl-imx-drm.txt | 74 - fsl,iram: phandle pointing to the mmio-sram device node, that should be 85 fsl,iram = <&ocram2>;
|