Lines Matching +full:ras +full:- +full:to +full:- +full:cas
1 // SPDX-License-Identifier: GPL-2.0-or-later
44 * The WAIT_UNCLOCKED_POWER_OFF state only requires <= 500ns to exit.
46 * non-cpu parts of the system. For these reasons, imx5 should default
47 * to always using this state for cpu idling. The PM_SUSPEND_STANDBY also
48 * uses this state and needs to take no action when registers remain confgiured
78 {.offset = 0x574, .clear = MX53_DSE_HIGHZ_MASK}, /* CAS */
79 {.offset = 0x588, .clear = MX53_DSE_HIGHZ_MASK}, /* RAS */
95 /* Controls the CKE signal which is required to leave self refresh */
121 * suspend code(arch/arm/mach-imx/suspend-imx53.S), if this struct
123 * must be also changed accordingly otherwise, the suspend to ocram
149 /* always allow platform to issue a deep sleep mode request */ in mx5_cpu_lp_set()
217 return -EINVAL; in mx5_suspend_enter()
237 /* return registers to default idle state */ in mx5_suspend_enter()
281 node = of_find_compatible_node(NULL, NULL, "mmio-sram"); in imx_suspend_alloc_ocram()
283 pr_warn("%s: failed to find ocram node!\n", __func__); in imx_suspend_alloc_ocram()
284 return -ENODEV; in imx_suspend_alloc_ocram()
289 pr_warn("%s: failed to find ocram device!\n", __func__); in imx_suspend_alloc_ocram()
290 ret = -ENODEV; in imx_suspend_alloc_ocram()
294 ocram_pool = gen_pool_get(&pdev->dev, NULL); in imx_suspend_alloc_ocram()
297 ret = -ENODEV; in imx_suspend_alloc_ocram()
303 pr_warn("%s: unable to alloc ocram!\n", __func__); in imx_suspend_alloc_ocram()
304 ret = -ENOMEM; in imx_suspend_alloc_ocram()
316 put_device(&pdev->dev); in imx_suspend_alloc_ocram()
327 /* Need this to avoid compile error due to const typeof in fncpy.h */ in imx5_suspend_init()
328 void (*suspend_asm)(void __iomem *) = soc_data->suspend_asm; in imx5_suspend_init()
333 if (!soc_data->suspend_asm_sz || !*soc_data->suspend_asm_sz) in imx5_suspend_init()
334 return -EINVAL; in imx5_suspend_init()
337 *soc_data->suspend_asm_sz + sizeof(*suspend_info), in imx5_suspend_init()
344 suspend_info->io_count = soc_data->suspend_io_count; in imx5_suspend_init()
345 memcpy(suspend_info->io_state, soc_data->suspend_io_config, in imx5_suspend_init()
346 sizeof(*suspend_info->io_state) * soc_data->suspend_io_count); in imx5_suspend_init()
348 suspend_info->m4if_base = ioremap(soc_data->m4if_addr, SZ_16K); in imx5_suspend_init()
349 if (!suspend_info->m4if_base) { in imx5_suspend_init()
350 ret = -ENOMEM; in imx5_suspend_init()
354 suspend_info->iomuxc_base = ioremap(soc_data->iomuxc_addr, SZ_16K); in imx5_suspend_init()
355 if (!suspend_info->iomuxc_base) { in imx5_suspend_init()
356 ret = -ENOMEM; in imx5_suspend_init()
363 *soc_data->suspend_asm_sz); in imx5_suspend_init()
368 iounmap(suspend_info->m4if_base); in imx5_suspend_init()
388 ccm_base = ioremap(data->ccm_addr, SZ_16K); in imx5_pm_common_init()
389 cortex_base = ioremap(data->cortex_addr, SZ_16K); in imx5_pm_common_init()
390 gpc_base = ioremap(data->gpc_addr, SZ_16K); in imx5_pm_common_init()
393 /* Set the registers to the default cpu idle state. */ in imx5_pm_common_init()