#define OTG_PHY_RESET_GPIO     IMX_GPIO_NR(2, 23)
 #define SPI2_SS0               IMX_GPIO_NR(4, 21)
 #define EXPIO_PARENT_INT       gpio_to_irq(IMX_GPIO_NR(3, 28))
+#define PMIC_INT               IMX_GPIO_NR(3, 14)
 
 static const int mx27pdk_pins[] __initconst = {
        /* UART1 */
        PD22_PF_CSPI2_SCLK,
        PD23_PF_CSPI2_MISO,
        PD24_PF_CSPI2_MOSI,
+       SPI2_SS0 | GPIO_GPIO | GPIO_OUT,
        /* I2C1 */
        PD17_PF_I2C_DATA,
        PD18_PF_I2C_CLK,
+       /* PMIC INT */
+       PMIC_INT | GPIO_GPIO | GPIO_IN,
 };
 
 static const struct imxuart_platform_data uart_pdata __initconst = {
 __setup("otg_mode=", mx27_3ds_otg_mode);
 
 /* Regulators */
+static struct regulator_init_data gpo_init = {
+       .constraints = {
+               .boot_on = 1,
+               .always_on = 1,
+       }
+};
+
 static struct regulator_consumer_supply vmmc1_consumers[] = {
        REGULATOR_SUPPLY("lcd_2v8", NULL),
 };
        .constraints = {
                .min_uV = 2800000,
                .max_uV = 2800000,
-               .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+               .apply_uV = 1,
+               .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
+                                 REGULATOR_CHANGE_STATUS,
        },
        .num_consumer_supplies = ARRAY_SIZE(vmmc1_consumers),
        .consumer_supplies = vmmc1_consumers,
        }, {
                .id = MC13783_REG_VGEN,
                .init_data = &vgen_init,
+       }, {
+               .id = MC13783_REG_GPO1, /* Turn on 1.8V */
+               .init_data = &gpo_init,
+       }, {
+               .id = MC13783_REG_GPO3, /* Turn on 3.3V */
+               .init_data = &gpo_init,
        },
 };