aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/veyron_jerry/devicetree.cb4
-rw-r--r--src/mainboard/google/veyron_jerry/mainboard.c9
-rw-r--r--src/mainboard/google/veyron_mighty/devicetree.cb4
-rw-r--r--src/mainboard/google/veyron_mighty/mainboard.c9
-rw-r--r--src/mainboard/google/veyron_pinky/devicetree.cb4
-rw-r--r--src/mainboard/google/veyron_pinky/mainboard.c9
-rw-r--r--src/mainboard/google/veyron_speedy/devicetree.cb4
-rw-r--r--src/mainboard/google/veyron_speedy/mainboard.c9
-rw-r--r--src/soc/rockchip/rk3288/display.c5
-rw-r--r--src/soc/rockchip/rk3288/include/soc/display.h6
10 files changed, 39 insertions, 24 deletions
diff --git a/src/mainboard/google/veyron_jerry/devicetree.cb b/src/mainboard/google/veyron_jerry/devicetree.cb
index be0e58c86d..4a2533dcd8 100644
--- a/src/mainboard/google/veyron_jerry/devicetree.cb
+++ b/src/mainboard/google/veyron_jerry/devicetree.cb
@@ -22,9 +22,5 @@ chip soc/rockchip/rk3288
device cpu_cluster 0 on end
register "vop_id" = "1"
register "framebuffer_bits_per_pixel" = "16"
- register "lcd_bl_pwm_gpio" = "GPIO(7, A, 0)"
- register "lcd_bl_en_gpio" = "GPIO(7, A, 2)"
register "lcd_power_on_udelay" = "200000"
- register "bl_power_on_udelay" = "1000"
- register "bl_pwm_to_enable_udelay" = "1000"
end
diff --git a/src/mainboard/google/veyron_jerry/mainboard.c b/src/mainboard/google/veyron_jerry/mainboard.c
index 2aa3645e03..016e052605 100644
--- a/src/mainboard/google/veyron_jerry/mainboard.c
+++ b/src/mainboard/google/veyron_jerry/mainboard.c
@@ -26,6 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <gpio.h>
+#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
#include <soc/pmu.h>
@@ -129,3 +130,11 @@ 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)
+{
+ gpio_output(GPIO(7, A, 0), 0); /* BL_EN */
+ gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */
+ mdelay(10);
+ gpio_output(GPIO(7, A, 0), 1); /* BL_EN */
+}
diff --git a/src/mainboard/google/veyron_mighty/devicetree.cb b/src/mainboard/google/veyron_mighty/devicetree.cb
index be0e58c86d..4a2533dcd8 100644
--- a/src/mainboard/google/veyron_mighty/devicetree.cb
+++ b/src/mainboard/google/veyron_mighty/devicetree.cb
@@ -22,9 +22,5 @@ chip soc/rockchip/rk3288
device cpu_cluster 0 on end
register "vop_id" = "1"
register "framebuffer_bits_per_pixel" = "16"
- register "lcd_bl_pwm_gpio" = "GPIO(7, A, 0)"
- register "lcd_bl_en_gpio" = "GPIO(7, A, 2)"
register "lcd_power_on_udelay" = "200000"
- register "bl_power_on_udelay" = "1000"
- register "bl_pwm_to_enable_udelay" = "1000"
end
diff --git a/src/mainboard/google/veyron_mighty/mainboard.c b/src/mainboard/google/veyron_mighty/mainboard.c
index 2aa3645e03..016e052605 100644
--- a/src/mainboard/google/veyron_mighty/mainboard.c
+++ b/src/mainboard/google/veyron_mighty/mainboard.c
@@ -26,6 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <gpio.h>
+#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
#include <soc/pmu.h>
@@ -129,3 +130,11 @@ 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)
+{
+ gpio_output(GPIO(7, A, 0), 0); /* BL_EN */
+ gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */
+ mdelay(10);
+ gpio_output(GPIO(7, A, 0), 1); /* BL_EN */
+}
diff --git a/src/mainboard/google/veyron_pinky/devicetree.cb b/src/mainboard/google/veyron_pinky/devicetree.cb
index be0e58c86d..4a2533dcd8 100644
--- a/src/mainboard/google/veyron_pinky/devicetree.cb
+++ b/src/mainboard/google/veyron_pinky/devicetree.cb
@@ -22,9 +22,5 @@ chip soc/rockchip/rk3288
device cpu_cluster 0 on end
register "vop_id" = "1"
register "framebuffer_bits_per_pixel" = "16"
- register "lcd_bl_pwm_gpio" = "GPIO(7, A, 0)"
- register "lcd_bl_en_gpio" = "GPIO(7, A, 2)"
register "lcd_power_on_udelay" = "200000"
- register "bl_power_on_udelay" = "1000"
- register "bl_pwm_to_enable_udelay" = "1000"
end
diff --git a/src/mainboard/google/veyron_pinky/mainboard.c b/src/mainboard/google/veyron_pinky/mainboard.c
index c959726fa1..c9d6098f34 100644
--- a/src/mainboard/google/veyron_pinky/mainboard.c
+++ b/src/mainboard/google/veyron_pinky/mainboard.c
@@ -26,6 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <gpio.h>
+#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
#include <soc/pmu.h>
@@ -176,3 +177,11 @@ 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)
+{
+ gpio_output(GPIO(7, A, 0), 0); /* BL_EN */
+ gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */
+ mdelay(10);
+ gpio_output(GPIO(7, A, 0), 1); /* BL_EN */
+}
diff --git a/src/mainboard/google/veyron_speedy/devicetree.cb b/src/mainboard/google/veyron_speedy/devicetree.cb
index be0e58c86d..4a2533dcd8 100644
--- a/src/mainboard/google/veyron_speedy/devicetree.cb
+++ b/src/mainboard/google/veyron_speedy/devicetree.cb
@@ -22,9 +22,5 @@ chip soc/rockchip/rk3288
device cpu_cluster 0 on end
register "vop_id" = "1"
register "framebuffer_bits_per_pixel" = "16"
- register "lcd_bl_pwm_gpio" = "GPIO(7, A, 0)"
- register "lcd_bl_en_gpio" = "GPIO(7, A, 2)"
register "lcd_power_on_udelay" = "200000"
- register "bl_power_on_udelay" = "1000"
- register "bl_pwm_to_enable_udelay" = "1000"
end
diff --git a/src/mainboard/google/veyron_speedy/mainboard.c b/src/mainboard/google/veyron_speedy/mainboard.c
index 1c7dc7f5ad..73595d79c1 100644
--- a/src/mainboard/google/veyron_speedy/mainboard.c
+++ b/src/mainboard/google/veyron_speedy/mainboard.c
@@ -26,6 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <gpio.h>
+#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
#include <soc/pmu.h>
@@ -128,3 +129,11 @@ 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)
+{
+ gpio_output(GPIO(7, A, 0), 0); /* BL_EN */
+ gpio_output(GPIO(7, A, 2), 1); /* LCD_BL */
+ mdelay(10);
+ gpio_output(GPIO(7, A, 0), 1); /* BL_EN */
+}
diff --git a/src/soc/rockchip/rk3288/display.c b/src/soc/rockchip/rk3288/display.c
index a8ba31a129..68b4b8f4cd 100644
--- a/src/soc/rockchip/rk3288/display.c
+++ b/src/soc/rockchip/rk3288/display.c
@@ -82,8 +82,5 @@ void rk_display_init(device_t dev, u32 lcdbase,
}
set_vbe_mode_info_valid(&edid, (uintptr_t)lcdbase);
- gpio_output(conf->lcd_bl_pwm_gpio, 0);
- gpio_output(conf->lcd_bl_en_gpio, 1); /* LCD_BL */
- udelay(conf->bl_power_on_udelay);
- gpio_output(conf->lcd_bl_pwm_gpio, 1); /* BL_EN */
+ mainboard_power_on_backlight();
}
diff --git a/src/soc/rockchip/rk3288/include/soc/display.h b/src/soc/rockchip/rk3288/include/soc/display.h
index 8353c8a1b3..b0b5e64d5e 100644
--- a/src/soc/rockchip/rk3288/include/soc/display.h
+++ b/src/soc/rockchip/rk3288/include/soc/display.h
@@ -23,8 +23,6 @@
void rk_display_init(device_t dev, u32 lcdbase,
unsigned long fb_size);
-#endif
-
-
-
+void mainboard_power_on_backlight(void);
+#endif