aboutsummaryrefslogtreecommitdiff
path: root/plat/rockchip/common/params_setup.c
diff options
context:
space:
mode:
authorCaesar Wang <wxt@rock-chips.com>2016-09-10 02:47:53 +0800
committerCaesar Wang <wxt@rock-chips.com>2016-09-10 04:06:44 +0800
commit2bff35bb7c3a20edddce8c5c3bfa8d7e948679e9 (patch)
treea69f66e3d730f77d4cb7c7390b62e0643a768d7b /plat/rockchip/common/params_setup.c
parente550c6310118d1369796751ce98fe66167db0861 (diff)
downloadtrusted-firmware-a-2bff35bb7c3a20edddce8c5c3bfa8d7e948679e9.tar.gz
rockchip: set gpio2 ~ gpio4 to input and pull none mode
For save power cosumption, if gpio power supply shut down, we need to set gpio2 ~ gpio4 to input and HiZ status when suspend, and recovery they status when rusume. we do it base on apio pass from loader. Change-Id: I59fd2395e5e37e63425472a39f519822c9197e4c
Diffstat (limited to 'plat/rockchip/common/params_setup.c')
-rw-r--r--plat/rockchip/common/params_setup.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/plat/rockchip/common/params_setup.c b/plat/rockchip/common/params_setup.c
index 351d213615..646c1e133c 100644
--- a/plat/rockchip/common/params_setup.c
+++ b/plat/rockchip/common/params_setup.c
@@ -42,10 +42,12 @@
static struct gpio_info param_reset;
static struct gpio_info param_poweroff;
+static struct bl31_apio_param param_apio;
static struct gpio_info *rst_gpio;
static struct gpio_info *poweroff_gpio;
static struct gpio_info suspend_gpio[10];
uint32_t suspend_gpio_cnt;
+static struct apio_info *suspend_apio;
struct gpio_info *plat_get_rockchip_gpio_reset(void)
{
@@ -64,6 +66,11 @@ struct gpio_info *plat_get_rockchip_suspend_gpio(uint32_t *count)
return &suspend_gpio[0];
}
+struct apio_info *plat_get_rockchip_suspend_apio(void)
+{
+ return suspend_apio;
+}
+
void params_early_setup(void *plat_param_from_bl2)
{
struct bl31_plat_param *bl2_param;
@@ -96,6 +103,11 @@ void params_early_setup(void *plat_param_from_bl2)
sizeof(struct gpio_info));
suspend_gpio_cnt++;
break;
+ case PARAM_SUSPEND_APIO:
+ memcpy(&param_apio, bl2_param,
+ sizeof(struct bl31_apio_param));
+ suspend_apio = &param_apio.apio;
+ break;
default:
ERROR("not expected type found %ld\n",
bl2_param->type);