blob: 5fb86649360ecf82d9e50561fa87410cf1735096 [file] [log] [blame]
Amarbb54b752013-04-27 11:42:57 +05301/*
2 * Copyright (C) 2012 Samsung Electronics
3 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Amarbb54b752013-04-27 11:42:57 +05305 */
6
7#include <common.h>
Hung-ying Tyana4ed85d2013-05-15 18:27:34 +08008#include <cros_ec.h>
Amarbb54b752013-04-27 11:42:57 +05309#include <fdtdec.h>
10#include <asm/io.h>
11#include <errno.h>
12#include <i2c.h>
13#include <netdev.h>
14#include <spi.h>
15#include <asm/arch/cpu.h>
16#include <asm/arch/dwmmc.h>
17#include <asm/arch/gpio.h>
18#include <asm/arch/mmc.h>
19#include <asm/arch/pinmux.h>
20#include <asm/arch/power.h>
21#include <asm/arch/sromc.h>
22#include <power/pmic.h>
23#include <power/max77686_pmic.h>
24#include <tmu.h>
25
26DECLARE_GLOBAL_DATA_PTR;
27
Amarbb54b752013-04-27 11:42:57 +053028#ifdef CONFIG_SOUND_MAX98095
Rajeshwari Birje987b0dd2013-12-26 09:44:17 +053029static void board_enable_audio_codec(void)
Amarbb54b752013-04-27 11:42:57 +053030{
31 struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *)
32 samsung_get_base_gpio_part1();
33
34 /* Enable MAX98095 Codec */
35 s5p_gpio_direction_output(&gpio1->x1, 7, 1);
36 s5p_gpio_set_pull(&gpio1->x1, 7, GPIO_PULL_NONE);
37}
38#endif
39
Rajeshwari Birje987b0dd2013-12-26 09:44:17 +053040int exynos_init(void)
Hung-ying Tyana4ed85d2013-05-15 18:27:34 +080041{
Amarbb54b752013-04-27 11:42:57 +053042#ifdef CONFIG_SOUND_MAX98095
43 board_enable_audio_codec();
44#endif
Amarbb54b752013-04-27 11:42:57 +053045 return 0;
46}
47
Amarbb54b752013-04-27 11:42:57 +053048#ifdef CONFIG_DISPLAY_BOARDINFO
49int checkboard(void)
50{
51 const char *board_name;
52
53 board_name = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
54 if (board_name == NULL)
55 printf("\nUnknown Board\n");
56 else
57 printf("\nBoard: %s\n", board_name);
58
59 return 0;
60}
61#endif
62
Amarbb54b752013-04-27 11:42:57 +053063#ifdef CONFIG_LCD
64void exynos_cfg_lcd_gpio(void)
65{
66 struct exynos5_gpio_part1 *gpio1 =
67 (struct exynos5_gpio_part1 *)samsung_get_base_gpio_part1();
68
69 /* For Backlight */
70 s5p_gpio_cfg_pin(&gpio1->b2, 0, GPIO_OUTPUT);
71 s5p_gpio_set_value(&gpio1->b2, 0, 1);
72
73 /* LCD power on */
74 s5p_gpio_cfg_pin(&gpio1->x1, 5, GPIO_OUTPUT);
75 s5p_gpio_set_value(&gpio1->x1, 5, 1);
76
77 /* Set Hotplug detect for DP */
78 s5p_gpio_cfg_pin(&gpio1->x0, 7, GPIO_FUNC(0x3));
79}
80
81void exynos_set_dp_phy(unsigned int onoff)
82{
83 set_dp_phy_ctrl(onoff);
84}
85#endif