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
diff --git a/plat/rockchip/common/params_setup.c b/plat/rockchip/common/params_setup.c
index 351d213..646c1e1 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 @@
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 @@
sizeof(struct gpio_info));
suspend_gpio_cnt++;
break;
+ case PARAM_SUSPEND_APIO:
+ memcpy(¶m_apio, bl2_param,
+ sizeof(struct bl31_apio_param));
+ suspend_apio = ¶m_apio.apio;
+ break;
default:
ERROR("not expected type found %ld\n",
bl2_param->type);