common: Drop linux/delay.h from common header
[oweals/u-boot.git] / board / samsung / common / exynos5-dt.c
index a4eb3514051e9851f3c60cdcc9cc45bcfe7fb2b0..69aa2120e126f517c84820288f5601a142ede1b4 100644 (file)
@@ -1,13 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2012 Samsung Electronics
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <dm.h>
 #include <dwc3-uboot.h>
+#include <env.h>
 #include <fdtdec.h>
+#include <log.h>
 #include <asm/io.h>
 #include <errno.h>
 #include <i2c.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static void board_enable_audio_codec(void)
-{
-       int node, ret;
-       struct gpio_desc en_gpio;
-
-       node = fdtdec_next_compatible(gd->fdt_blob, 0,
-               COMPAT_SAMSUNG_EXYNOS5_SOUND);
-       if (node <= 0)
-               return;
-
-       ret = gpio_request_by_name_nodev(offset_to_ofnode(node),
-                                        "codec-enable-gpio", 0, &en_gpio,
-                                        GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
-       if (ret == -FDT_ERR_NOTFOUND)
-               return;
-
-       /* Turn on the GPIO which connects to the codec's "enable" line. */
-       gpio_set_pull(gpio_get_number(&en_gpio), S5P_GPIO_PULL_NONE);
-
-#ifdef CONFIG_SOUND_MAX98095
-       /* Enable MAX98095 Codec */
-       gpio_request(EXYNOS5_GPIO_X17, "max98095_enable");
-       gpio_direction_output(EXYNOS5_GPIO_X17, 1);
-       gpio_set_pull(EXYNOS5_GPIO_X17, S5P_GPIO_PULL_NONE);
-#endif
-}
-
 int exynos_init(void)
 {
-       board_enable_audio_codec();
-
        return 0;
 }
 
@@ -93,7 +65,10 @@ int exynos_power_init(void)
        struct udevice *dev;
        int ret;
 
-       ret = pmic_get("max77686", &dev);
+#ifdef CONFIG_PMIC_S2MPS11
+       ret = pmic_get("s2mps11_pmic@66", &dev);
+#else
+       ret = pmic_get("max77686_pmic@09", &dev);
        if (!ret) {
                /* TODO(sjg@chromium.org): Move into the clock/pmic API */
                ret = pmic_clrsetbits(dev, MAX77686_REG_PMIC_32KHZ, 0,
@@ -105,13 +80,14 @@ int exynos_power_init(void)
                if (ret)
                        return ret;
        } else {
-               ret = pmic_get("s5m8767-pmic", &dev);
+               ret = pmic_get("s5m8767_pmic@66", &dev);
                /* TODO(sjg@chromium.org): Use driver model to access clock */
 #ifdef CONFIG_PMIC_S5M8767
                if (!ret)
                        s5m8767_enable_32khz_cp(dev);
 #endif
        }
+#endif /* CONFIG_PMIC_S2MPS11 */
        if (ret == -ENODEV)
                return 0;
 
@@ -161,7 +137,7 @@ int board_usb_init(int index, enum usb_init_type init)
                samsung_get_base_usb3_phy();
 
        if (!phy) {
-               pr_err("usb3 phy not supported");
+               pr_err("usb3 phy not supported\n");
                return -ENODEV;
        }
 
@@ -176,7 +152,7 @@ char *get_dfu_alt_system(char *interface, char *devstr)
 {
        char *info = "Not supported!";
 
-       if (board_is_odroidxu4() || board_is_odroidhc1())
+       if (board_is_odroidxu4() || board_is_odroidhc1() || board_is_odroidhc2())
                return info;
 
        return env_get("dfu_alt_system");
@@ -189,7 +165,7 @@ char *get_dfu_alt_boot(char *interface, char *devstr)
        char *alt_boot;
        int dev_num;
 
-       if (board_is_odroidxu4() || board_is_odroidhc1())
+       if (board_is_odroidxu4() || board_is_odroidhc1() || board_is_odroidhc2())
                return info;
 
        dev_num = simple_strtoul(devstr, NULL, 10);