mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 08:58:52 +09:00
![Sjoerd Simons](/assets/img/avatar_default.png)
Since commit 4a271cb1b4
(exynos: usb: Switch USB VBUS GPIOs to be
device tree configured) it's not needed for the board specific files to
turn on the VBUS GPIO by hand as that gets done based on device tree. So
drop the redundant code from the SMDK5420 board file.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
93 lines
1.8 KiB
C
93 lines
1.8 KiB
C
/*
|
|
* Copyright (C) 2013 Samsung Electronics
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <fdtdec.h>
|
|
#include <asm/io.h>
|
|
#include <i2c.h>
|
|
#include <lcd.h>
|
|
#include <parade.h>
|
|
#include <spi.h>
|
|
#include <errno.h>
|
|
#include <asm/gpio.h>
|
|
#include <asm/arch/board.h>
|
|
#include <asm/arch/cpu.h>
|
|
#include <asm/arch/pinmux.h>
|
|
#include <asm/arch/system.h>
|
|
#include <asm/arch/dp_info.h>
|
|
#include <power/tps65090_pmic.h>
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
int exynos_init(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_LCD
|
|
static int has_edp_bridge(void)
|
|
{
|
|
int node;
|
|
|
|
node = fdtdec_next_compatible(gd->fdt_blob, 0, COMPAT_PARADE_PS8625);
|
|
|
|
/* No node for bridge in device tree. */
|
|
if (node <= 0)
|
|
return 0;
|
|
|
|
/* Default is with bridge ic */
|
|
return 1;
|
|
}
|
|
|
|
void exynos_lcd_power_on(void)
|
|
{
|
|
int ret;
|
|
|
|
#ifdef CONFIG_POWER_TPS65090
|
|
ret = tps65090_init();
|
|
if (ret < 0) {
|
|
printf("%s: tps65090_init() failed\n", __func__);
|
|
return;
|
|
}
|
|
|
|
tps65090_fet_enable(6);
|
|
#endif
|
|
|
|
mdelay(5);
|
|
|
|
/* TODO(ajaykumar.rs@samsung.com): Use device tree */
|
|
gpio_request(EXYNOS5420_GPIO_X35, "edp_slp#");
|
|
gpio_direction_output(EXYNOS5420_GPIO_X35, 1); /* EDP_SLP# */
|
|
mdelay(10);
|
|
gpio_request(EXYNOS5420_GPIO_Y77, "edp_rst#");
|
|
gpio_direction_output(EXYNOS5420_GPIO_Y77, 1); /* EDP_RST# */
|
|
gpio_request(EXYNOS5420_GPIO_X26, "edp_hpd");
|
|
gpio_direction_input(EXYNOS5420_GPIO_X26); /* EDP_HPD */
|
|
gpio_set_pull(EXYNOS5420_GPIO_X26, S5P_GPIO_PULL_NONE);
|
|
|
|
if (has_edp_bridge())
|
|
if (parade_init(gd->fdt_blob))
|
|
printf("%s: ps8625_init() failed\n", __func__);
|
|
}
|
|
|
|
void exynos_backlight_on(unsigned int onoff)
|
|
{
|
|
/* For PWM */
|
|
gpio_request(EXYNOS5420_GPIO_B20, "backlight_on");
|
|
gpio_cfg_pin(EXYNOS5420_GPIO_B20, S5P_GPIO_FUNC(0x1));
|
|
gpio_set_value(EXYNOS5420_GPIO_B20, 1);
|
|
|
|
#ifdef CONFIG_POWER_TPS65090
|
|
tps65090_fet_enable(1);
|
|
#endif
|
|
}
|
|
#endif
|
|
|
|
int board_get_revision(void)
|
|
{
|
|
return 0;
|
|
}
|