Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * OMAP2/3 common powerdomain definitions
0004  *
0005  * Copyright (C) 2007-2008, 2011 Texas Instruments, Inc.
0006  * Copyright (C) 2007-2011 Nokia Corporation
0007  *
0008  * Paul Walmsley, Jouni Högander
0009  */
0010 
0011 /*
0012  * The names for the DSP/IVA2 powerdomains are confusing.
0013  *
0014  * Most OMAP chips have an on-board DSP.
0015  *
0016  * On the 2420, this is a 'C55 DSP called, simply, the DSP.  Its
0017  * powerdomain is called the "DSP power domain."  On the 2430, the
0018  * on-board DSP is a 'C64 DSP, now called (along with its hardware
0019  * accelerators) the IVA2 or IVA2.1.  Its powerdomain is still called
0020  * the "DSP power domain." On the 3430, the DSP is a 'C64 DSP like the
0021  * 2430, also known as the IVA2; but its powerdomain is now called the
0022  * "IVA2 power domain."
0023  *
0024  * The 2420 also has something called the IVA, which is a separate ARM
0025  * core, and has nothing to do with the DSP/IVA2.
0026  *
0027  * Ideally the DSP/IVA2 could just be the same powerdomain, but the PRCM
0028  * address offset is different between the C55 and C64 DSPs.
0029  */
0030 
0031 #include "powerdomain.h"
0032 
0033 #include "prcm-common.h"
0034 #include "prm.h"
0035 
0036 /* OMAP2/3-common powerdomains */
0037 
0038 /*
0039  * The GFX powerdomain is not present on 3430ES2, but currently we do not
0040  * have a macro to filter it out at compile-time.
0041  */
0042 struct powerdomain gfx_omap2_pwrdm = {
0043     .name         = "gfx_pwrdm",
0044     .prcm_offs    = GFX_MOD,
0045     .pwrsts       = PWRSTS_OFF_RET_ON,
0046     .pwrsts_logic_ret = PWRSTS_RET,
0047     .banks        = 1,
0048     .pwrsts_mem_ret   = {
0049         [0] = PWRSTS_RET, /* MEMRETSTATE */
0050     },
0051     .pwrsts_mem_on    = {
0052         [0] = PWRSTS_ON,  /* MEMONSTATE */
0053     },
0054     .voltdm       = { .name = "core" },
0055 };
0056 
0057 struct powerdomain wkup_omap2_pwrdm = {
0058     .name       = "wkup_pwrdm",
0059     .prcm_offs  = WKUP_MOD,
0060     .pwrsts     = PWRSTS_ON,
0061     .voltdm     = { .name = "wakeup" },
0062 };