root/arch/arm/mach-omap2/powerdomains2xxx_data.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. omap242x_powerdomains_init
  2. omap243x_powerdomains_init

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * OMAP2XXX powerdomain definitions
   4  *
   5  * Copyright (C) 2007-2008, 2011 Texas Instruments, Inc.
   6  * Copyright (C) 2007-2011 Nokia Corporation
   7  *
   8  * Paul Walmsley, Jouni Högander
   9  */
  10 
  11 #include <linux/kernel.h>
  12 #include <linux/init.h>
  13 
  14 #include "soc.h"
  15 #include "powerdomain.h"
  16 #include "powerdomains2xxx_3xxx_data.h"
  17 
  18 #include "prcm-common.h"
  19 #include "prm2xxx_3xxx.h"
  20 #include "prm-regbits-24xx.h"
  21 
  22 /* 24XX powerdomains and dependencies */
  23 
  24 /* Powerdomains */
  25 
  26 static struct powerdomain dsp_pwrdm = {
  27         .name             = "dsp_pwrdm",
  28         .prcm_offs        = OMAP24XX_DSP_MOD,
  29         .pwrsts           = PWRSTS_OFF_RET_ON,
  30         .pwrsts_logic_ret = PWRSTS_RET,
  31         .banks            = 1,
  32         .pwrsts_mem_ret   = {
  33                 [0] = PWRSTS_RET,
  34         },
  35         .pwrsts_mem_on    = {
  36                 [0] = PWRSTS_ON,
  37         },
  38         .voltdm           = { .name = "core" },
  39 };
  40 
  41 static struct powerdomain mpu_24xx_pwrdm = {
  42         .name             = "mpu_pwrdm",
  43         .prcm_offs        = MPU_MOD,
  44         .pwrsts           = PWRSTS_OFF_RET_ON,
  45         .pwrsts_logic_ret = PWRSTS_OFF_RET,
  46         .banks            = 1,
  47         .pwrsts_mem_ret   = {
  48                 [0] = PWRSTS_RET,
  49         },
  50         .pwrsts_mem_on    = {
  51                 [0] = PWRSTS_ON,
  52         },
  53         .voltdm           = { .name = "core" },
  54 };
  55 
  56 static struct powerdomain core_24xx_pwrdm = {
  57         .name             = "core_pwrdm",
  58         .prcm_offs        = CORE_MOD,
  59         .pwrsts           = PWRSTS_OFF_RET_ON,
  60         .pwrsts_logic_ret = PWRSTS_RET,
  61         .banks            = 3,
  62         .pwrsts_mem_ret   = {
  63                 [0] = PWRSTS_OFF_RET,    /* MEM1RETSTATE */
  64                 [1] = PWRSTS_OFF_RET,    /* MEM2RETSTATE */
  65                 [2] = PWRSTS_OFF_RET,    /* MEM3RETSTATE */
  66         },
  67         .pwrsts_mem_on    = {
  68                 [0] = PWRSTS_OFF_RET_ON, /* MEM1ONSTATE */
  69                 [1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
  70                 [2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */
  71         },
  72         .voltdm           = { .name = "core" },
  73 };
  74 
  75 
  76 /*
  77  * 2430-specific powerdomains
  78  */
  79 
  80 /* XXX 2430 KILLDOMAINWKUP bit?  No current users apparently */
  81 
  82 static struct powerdomain mdm_pwrdm = {
  83         .name             = "mdm_pwrdm",
  84         .prcm_offs        = OMAP2430_MDM_MOD,
  85         .pwrsts           = PWRSTS_OFF_RET_ON,
  86         .pwrsts_logic_ret = PWRSTS_RET,
  87         .banks            = 1,
  88         .pwrsts_mem_ret   = {
  89                 [0] = PWRSTS_RET, /* MEMRETSTATE */
  90         },
  91         .pwrsts_mem_on    = {
  92                 [0] = PWRSTS_ON,  /* MEMONSTATE */
  93         },
  94         .voltdm           = { .name = "core" },
  95 };
  96 
  97 /*
  98  *
  99  */
 100 
 101 static struct powerdomain *powerdomains_omap24xx[] __initdata = {
 102         &wkup_omap2_pwrdm,
 103         &gfx_omap2_pwrdm,
 104         &dsp_pwrdm,
 105         &mpu_24xx_pwrdm,
 106         &core_24xx_pwrdm,
 107         NULL
 108 };
 109 
 110 static struct powerdomain *powerdomains_omap2430[] __initdata = {
 111         &mdm_pwrdm,
 112         NULL
 113 };
 114 
 115 void __init omap242x_powerdomains_init(void)
 116 {
 117         if (!cpu_is_omap2420())
 118                 return;
 119 
 120         pwrdm_register_platform_funcs(&omap2_pwrdm_operations);
 121         pwrdm_register_pwrdms(powerdomains_omap24xx);
 122         pwrdm_complete_init();
 123 }
 124 
 125 void __init omap243x_powerdomains_init(void)
 126 {
 127         if (!cpu_is_omap2430())
 128                 return;
 129 
 130         pwrdm_register_platform_funcs(&omap2_pwrdm_operations);
 131         pwrdm_register_pwrdms(powerdomains_omap24xx);
 132         pwrdm_register_pwrdms(powerdomains_omap2430);
 133         pwrdm_complete_init();
 134 }

/* [<][>][^][v][top][bottom][index][help] */