[coreboot-gerrit] New patch to review for coreboot: veyron_mickey: Apply differences between Brain and Mickey

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Mon Jun 22 19:39:49 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10630

-gerrit

commit 8e6a2b5238be1fb3a0de0b491397e687b845f6f7
Author: huang lin <hl at rock-chips.com>
Date:   Thu Jun 4 16:41:27 2015 +0800

    veyron_mickey: Apply differences between Brain and Mickey
    
    Mickey:
    - Does not have power key
    - Does not have an audio codec(all audio goes thru HDMI)
    - VCC18_LCD moved to VLDO8 and needs to be turned on (was
      connected to VSWOUT2 earlier)
    
    BUG=none
    BRANCH=none
    TEST=Boot from mickey board, and hdmi work normal
    
    Change-Id: I88cdc41ce8bb96a6b17aeb7f24b1c5619471b24e
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 6c966edfa29df1049c469442dc3ad8bf8b4197b1
    Original-Change-Id: I3d98203185f52ed751a5d3045a0ee8f9b4dfbc71
    Original-Signed-off-by: David Hendricks <dhendrix at chromium.org>
    Original-Signed-off-by: huang lin <hl at rock-chips.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/274876
---
 src/mainboard/google/veyron_mickey/Kconfig       |  8 --------
 src/mainboard/google/veyron_mickey/chromeos.c    | 10 ---------
 src/mainboard/google/veyron_mickey/devicetree.cb |  1 +
 src/mainboard/google/veyron_mickey/mainboard.c   | 26 ++++++++++++++++--------
 4 files changed, 19 insertions(+), 26 deletions(-)

diff --git a/src/mainboard/google/veyron_mickey/Kconfig b/src/mainboard/google/veyron_mickey/Kconfig
index 2337e5b..d316b6a 100644
--- a/src/mainboard/google/veyron_mickey/Kconfig
+++ b/src/mainboard/google/veyron_mickey/Kconfig
@@ -65,14 +65,6 @@ config CONSOLE_SERIAL_UART_ADDRESS
 	depends on DRIVERS_UART
 	default 0xFF690000
 
-# FIXME(dhendrix): This is a gross hack intended to get us past
-# display init which currently hangs the machine. It will be removed
-# once we've re-factored the display init code to properly handle
-# various types of displays.
-config SKIP_DISPLAY_INIT_HACK
-	int
-	default 1
-
 config PMIC_BUS
 	int
 	default 0
diff --git a/src/mainboard/google/veyron_mickey/chromeos.c b/src/mainboard/google/veyron_mickey/chromeos.c
index 7eed42e..2222c0e 100644
--- a/src/mainboard/google/veyron_mickey/chromeos.c
+++ b/src/mainboard/google/veyron_mickey/chromeos.c
@@ -26,13 +26,11 @@
 #include "board.h"
 
 #define GPIO_WP		GPIO(7, A, 6)
-#define GPIO_POWER	GPIO(0, A, 5)
 #define GPIO_RECOVERY	GPIO(0, B, 1)
 
 void setup_chromeos_gpios(void)
 {
 	gpio_input(GPIO_WP);
-	gpio_input(GPIO_POWER);
 	gpio_input_pullup(GPIO_RECOVERY);
 }
 
@@ -56,14 +54,6 @@ void fill_lb_gpios(struct lb_gpios *gpios)
 		GPIO_MAX_NAME_LENGTH);
 	count++;
 
-	/* Power Button: GPIO active low */
-	gpios->gpios[count].port = GPIO_POWER.raw;
-	gpios->gpios[count].polarity = ACTIVE_LOW;
-	gpios->gpios[count].value = -1;
-	strncpy((char *)gpios->gpios[count].name, "power",
-		GPIO_MAX_NAME_LENGTH);
-	count++;
-
 	/* Developer: GPIO active high */
 	gpios->gpios[count].port = -1;
 	gpios->gpios[count].polarity = ACTIVE_HIGH;
diff --git a/src/mainboard/google/veyron_mickey/devicetree.cb b/src/mainboard/google/veyron_mickey/devicetree.cb
index 4c2ea8f..6d0555a 100644
--- a/src/mainboard/google/veyron_mickey/devicetree.cb
+++ b/src/mainboard/google/veyron_mickey/devicetree.cb
@@ -22,4 +22,5 @@ chip soc/rockchip/rk3288
 	device cpu_cluster 0 on end
 	register "vop_id" = "1"
 	register "framebuffer_bits_per_pixel" = "16"
+	register "vop_mode" = "1"
 end
diff --git a/src/mainboard/google/veyron_mickey/mainboard.c b/src/mainboard/google/veyron_mickey/mainboard.c
index a5c40c23..17e4d4b 100644
--- a/src/mainboard/google/veyron_mickey/mainboard.c
+++ b/src/mainboard/google/veyron_mickey/mainboard.c
@@ -55,16 +55,11 @@ static void configure_emmc(void)
 	gpio_output(GPIO(2, B, 1), 1);		/* EMMC_RST_L */
 }
 
-static void configure_codec(void)
+static void configure_i2s(void)
 {
-	write32(&rk3288_grf->iomux_i2c2, IOMUX_I2C2);	/* CODEC I2C */
-	i2c_init(2, 400*KHz);				/* CODEC I2C */
-
 	write32(&rk3288_grf->iomux_i2s, IOMUX_I2S);
 	write32(&rk3288_grf->iomux_i2sclk, IOMUX_I2SCLK);
 
-	rk808_configure_ldo(6, 1800);	/* VCC18_CODEC */
-
 	/* AUDIO IO domain 1.8V voltage selection */
 	write32(&rk3288_grf->io_vsel, RK_SETBITS(1 << 6));
 	rkclk_configure_i2s(12288000);
@@ -77,19 +72,29 @@ static void configure_vop(void)
 	/* lcdc(vop) iodomain select 1.8V */
 	write32(&rk3288_grf->io_vsel, RK_SETBITS(1 << 0));
 
-	rk808_configure_switch(2, 1);	/* VCC18_LCD (HDMI_AVDD_1V8) */
+	rk808_configure_ldo(8, 1800);	/* VCC18_LCD (HDMI_AVDD_1V8) */
 	rk808_configure_ldo(7, 1000);	/* VDD10_LCD (HDMI_AVDD_1V0) */
 	rk808_configure_switch(1, 1);	/* VCC33_LCD */
 }
 
+static void configure_hdmi(void)
+{
+	/* HDMI I2C */
+	write32(&rk3288_grf->iomux_i2c5sda, IOMUX_HDMI_EDP_I2C_SDA);
+	write32(&rk3288_grf->iomux_i2c5scl, IOMUX_HDMI_EDP_I2C_SCL);
+
+	gpio_output(GPIO(7, B, 3), 1);	/* POWER_HDMI_ON */
+}
+
 static void mainboard_init(device_t dev)
 {
 	gpio_output(GPIO_RESET, 0);
 
 	configure_usb();
 	configure_emmc();
-	configure_codec();
+	configure_i2s();
 	configure_vop();
+	configure_hdmi();
 
 	elog_init();
 	elog_add_watchdog_reset();
@@ -115,3 +120,8 @@ void lb_board(struct lb_header *header)
 	dma->range_start = (uintptr_t)_dma_coherent;
 	dma->range_size = _dma_coherent_size;
 }
+
+void mainboard_power_on_backlight(void)
+{
+	return;
+}



More information about the coreboot-gerrit mailing list