Let's configure only sgx power domain for am3 and am4 to start with.

Signed-off-by: Tony Lindgren <t...@atomide.com>
---
 drivers/soc/ti/omap_prm.c | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c
--- a/drivers/soc/ti/omap_prm.c
+++ b/drivers/soc/ti/omap_prm.c
@@ -95,6 +95,18 @@ struct omap_reset_data {
 
 #define PRM_ST_INTRANSITION    BIT(20)
 
+static const struct omap_prm_domain_map omap_prm_noinact = {
+       .usable_modes = BIT(OMAP_PRMD_ON_ACTIVE) | BIT(OMAP_PRMD_RETENTION) |
+                       BIT(OMAP_PRMD_OFF),
+       .statechange = 1,
+       .logicretstate = 1,
+};
+
+static const struct omap_prm_domain_map omap_prm_onoff_noauto = {
+       .usable_modes = BIT(OMAP_PRMD_ON_ACTIVE) | BIT(OMAP_PRMD_OFF),
+       .statechange = 1,
+};
+
 static const struct omap_rst_map rst_map_0[] = {
        { .rst = 0, .st = 0 },
        { .rst = -1 },
@@ -156,7 +168,11 @@ static const struct omap_prm_data am3_prm_data[] = {
        { .name = "per", .base = 0x44e00c00, .rstctrl = 0x0, .rstmap = 
am3_per_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL, .clkdm_name = "pruss_ocp" },
        { .name = "wkup", .base = 0x44e00d00, .rstctrl = 0x0, .rstst = 0xc, 
.rstmap = am3_wkup_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL | 
OMAP_PRM_HAS_NO_CLKDM },
        { .name = "device", .base = 0x44e00f00, .rstctrl = 0x0, .rstst = 0x8, 
.rstmap = rst_map_01, .flags = OMAP_PRM_HAS_RSTCTRL | OMAP_PRM_HAS_NO_CLKDM },
-       { .name = "gfx", .base = 0x44e01100, .rstctrl = 0x4, .rstst = 0x14, 
.rstmap = rst_map_0, .clkdm_name = "gfx_l3" },
+       {
+               .name = "gfx", .base = 0x44e01100,
+               .pwrstctrl = 0, .pwrstst = 0x10, .dmap = &omap_prm_noinact,
+               .rstctrl = 0x4, .rstst = 0x14, .rstmap = rst_map_0, .clkdm_name 
= "gfx_l3",
+       },
        { },
 };
 
@@ -172,7 +188,11 @@ static const struct omap_rst_map am4_device_rst_map[] = {
 };
 
 static const struct omap_prm_data am4_prm_data[] = {
-       { .name = "gfx", .base = 0x44df0400, .rstctrl = 0x10, .rstst = 0x14, 
.rstmap = rst_map_0, .clkdm_name = "gfx_l3" },
+       {
+               .name = "gfx", .base = 0x44df0400,
+               .pwrstctrl = 0, .pwrstst = 0x4, .dmap = &omap_prm_onoff_noauto,
+               .rstctrl = 0x10, .rstst = 0x14, .rstmap = rst_map_0, 
.clkdm_name = "gfx_l3",
+       },
        { .name = "per", .base = 0x44df0800, .rstctrl = 0x10, .rstst = 0x14, 
.rstmap = am4_per_rst_map, .clkdm_name = "pruss_ocp" },
        { .name = "wkup", .base = 0x44df2000, .rstctrl = 0x10, .rstst = 0x14, 
.rstmap = am3_wkup_rst_map, .flags = OMAP_PRM_HAS_NO_CLKDM },
        { .name = "device", .base = 0x44df4000, .rstctrl = 0x0, .rstst = 0x4, 
.rstmap = am4_device_rst_map, .flags = OMAP_PRM_HAS_RSTCTRL | 
OMAP_PRM_HAS_NO_CLKDM },
-- 
2.27.0

Reply via email to