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 #include #include +#include #include #include #include @@ -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 #include #include +#include #include #include #include @@ -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 #include #include +#include #include #include #include @@ -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 #include #include +#include #include #include #include @@ -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); +void mainboard_power_on_backlight(void); + #endif - - - -