summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/veyron_jerry/chromeos.c2
-rw-r--r--src/mainboard/google/veyron_jerry/mainboard.c8
-rw-r--r--src/mainboard/google/veyron_pinky/chromeos.c3
-rw-r--r--src/mainboard/google/veyron_pinky/mainboard.c15
4 files changed, 18 insertions, 10 deletions
diff --git a/src/mainboard/google/veyron_jerry/chromeos.c b/src/mainboard/google/veyron_jerry/chromeos.c
index 68f72a0e03..6e6a855edf 100644
--- a/src/mainboard/google/veyron_jerry/chromeos.c
+++ b/src/mainboard/google/veyron_jerry/chromeos.c
@@ -67,7 +67,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
/* Power:GPIO active high */
gpios->gpios[count].port = GPIO_POWER.raw;
- gpios->gpios[count].polarity = ACTIVE_HIGH;
+ gpios->gpios[count].polarity = ACTIVE_LOW;
gpios->gpios[count].value = gpio_get(GPIO_POWER);
strncpy((char *)gpios->gpios[count].name, "power",
GPIO_MAX_NAME_LENGTH);
diff --git a/src/mainboard/google/veyron_jerry/mainboard.c b/src/mainboard/google/veyron_jerry/mainboard.c
index e6a90b9132..c15c765cf4 100644
--- a/src/mainboard/google/veyron_jerry/mainboard.c
+++ b/src/mainboard/google/veyron_jerry/mainboard.c
@@ -42,6 +42,7 @@ static void configure_usb(void)
{
gpio_output(GPIO(0, B, 3), 1); /* HOST1_PWR_EN */
gpio_output(GPIO(0, B, 4), 1); /* USBOTG_PWREN_H */
+ gpio_output(GPIO(7, C, 5), 1); /* 5V_DRV */
}
static void configure_sdmmc(void)
@@ -63,12 +64,7 @@ static void configure_emmc(void)
writel(IOMUX_EMMCPWREN, &rk3288_grf->iomux_emmcpwren);
writel(IOMUX_EMMCCMD, &rk3288_grf->iomux_emmccmd);
- /*
- * Use a pullup instead of a drive since the output is 3.3V and
- * really should be 1.8V (oops). The external pulldown will help
- * bring the voltage down if we only drive with a pullup here.
- */
- gpio_input_pullup(GPIO(7, B, 4)); /* EMMC_RST_L */
+ gpio_output(GPIO(2, B, 1), 1); /* EMMC_RST_L */
}
static void configure_codec(void)
diff --git a/src/mainboard/google/veyron_pinky/chromeos.c b/src/mainboard/google/veyron_pinky/chromeos.c
index dc224a5a2f..8cfad3edcd 100644
--- a/src/mainboard/google/veyron_pinky/chromeos.c
+++ b/src/mainboard/google/veyron_pinky/chromeos.c
@@ -69,7 +69,8 @@ void fill_lb_gpios(struct lb_gpios *gpios)
/* Power:GPIO active high */
gpios->gpios[count].port = GPIO_POWER.raw;
- gpios->gpios[count].polarity = ACTIVE_HIGH;
+ gpios->gpios[count].polarity = board_id() > 1 ? ACTIVE_LOW :
+ ACTIVE_HIGH;
gpios->gpios[count].value = gpio_get(GPIO_POWER);
strncpy((char *)gpios->gpios[count].name, "power",
GPIO_MAX_NAME_LENGTH);
diff --git a/src/mainboard/google/veyron_pinky/mainboard.c b/src/mainboard/google/veyron_pinky/mainboard.c
index f891e21a0f..2a887497b0 100644
--- a/src/mainboard/google/veyron_pinky/mainboard.c
+++ b/src/mainboard/google/veyron_pinky/mainboard.c
@@ -47,8 +47,11 @@ static void configure_usb(void)
case 0:
gpio_output(GPIO(7, B, 3), 1); /* 5V_DRV */
break;
+ case 1:
+ break; /* 5V_DRV moved to EC in rev2 */
default:
- break; /* 5V_DRV moved to EC after rev1 */
+ gpio_output(GPIO(7, C, 5), 1); /* 5V_DRV, again */
+ break;
}
}
@@ -79,12 +82,20 @@ static void configure_emmc(void)
writel(IOMUX_EMMCPWREN, &rk3288_grf->iomux_emmcpwren);
writel(IOMUX_EMMCCMD, &rk3288_grf->iomux_emmccmd);
+ switch (board_id()) {
+ case 0:
+ case 1:
/*
* Use a pullup instead of a drive since the output is 3.3V and
* really should be 1.8V (oops). The external pulldown will help
* bring the voltage down if we only drive with a pullup here.
*/
- gpio_input_pullup(GPIO(7, B, 4)); /* EMMC_RST_L */
+ gpio_input_pullup(GPIO(7, B, 4)); /* EMMC_RST_L */
+ break;
+ default:
+ gpio_output(GPIO(2, B, 1), 1); /* EMMC_RST_L */
+ break;
+ }
}
static void configure_codec(void)