common: Drop linux/delay.h from common header
[oweals/u-boot.git] / board / samsung / common / misc.c
index da0d4db1f9d4628041266e8fcec625c9890a430f..837463ba78f8f3b526ca9749c4740ea9bae6ddea 100644 (file)
@@ -1,13 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2013 Samsung Electronics
  * Przemyslaw Marczak <p.marczak@samsung.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
+#include <command.h>
+#include <env.h>
 #include <lcd.h>
 #include <libtizen.h>
+#include <linux/delay.h>
 #include <samsung/misc.h>
 #include <errno.h>
 #include <version.h>
 #include <asm/gpio.h>
 #include <linux/input.h>
 #include <dm.h>
+/*
+ * Use #ifdef to work around conflicting headers while we wait for this to be
+ * converted to driver model.
+ */
+#ifdef CONFIG_DM_PMIC_MAX77686
+#include <power/max77686_pmic.h>
+#endif
+#ifdef CONFIG_DM_PMIC_MAX8998
+#include <power/max8998_pmic.h>
+#endif
+#ifdef CONFIG_PMIC_MAX8997
+#include <power/max8997_pmic.h>
+#endif
 #include <power/pmic.h>
 #include <mmc.h>
 
@@ -38,7 +53,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
 
        alt_setting = get_dfu_alt_boot(interface, devstr);
        if (alt_setting) {
-               setenv("dfu_alt_boot", alt_setting);
+               env_set("dfu_alt_boot", alt_setting);
                offset = snprintf(buf, buf_size, "%s", alt_setting);
        }
 
@@ -58,7 +73,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
                status = "done\n";
        }
 
-       setenv("dfu_alt_info", alt_info);
+       env_set("dfu_alt_info", alt_info);
        puts(status);
 }
 #endif
@@ -70,14 +85,14 @@ void set_board_info(void)
 
        snprintf(info, ARRAY_SIZE(info), "%u.%u", (s5p_cpu_rev & 0xf0) >> 4,
                 s5p_cpu_rev & 0xf);
-       setenv("soc_rev", info);
+       env_set("soc_rev", info);
 
        snprintf(info, ARRAY_SIZE(info), "%x", s5p_cpu_id);
-       setenv("soc_id", info);
+       env_set("soc_id", info);
 
 #ifdef CONFIG_REVISION_TAG
        snprintf(info, ARRAY_SIZE(info), "%x", get_board_rev());
-       setenv("board_rev", info);
+       env_set("board_rev", info);
 #endif
 #ifdef CONFIG_OF_LIBFDT
        const char *bdtype = "";
@@ -89,11 +104,11 @@ void set_board_info(void)
                bdtype = "";
 
        sprintf(info, "%s%s", bdname, bdtype);
-       setenv("boardname", info);
+       env_set("board_name", info);
 #endif
        snprintf(info, ARRAY_SIZE(info),  "%s%x-%s%s.dtb",
                 CONFIG_SYS_SOC, s5p_cpu_id, bdname, bdtype);
-       setenv("fdtfile", info);
+       env_set("fdtfile", info);
 #endif
 }
 #endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
@@ -101,6 +116,7 @@ void set_board_info(void)
 #ifdef CONFIG_LCD_MENU
 static int power_key_pressed(u32 reg)
 {
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
        struct pmic *pmic;
        u32 status;
        u32 mask;
@@ -123,6 +139,9 @@ static int power_key_pressed(u32 reg)
                return 0;
 
        return !!(status & mask);
+#else
+       return 0;
+#endif
 }
 
 static int key_pressed(int key)
@@ -147,6 +166,7 @@ static int key_pressed(int key)
        return value;
 }
 
+#ifdef CONFIG_LCD
 static int check_keys(void)
 {
        int keys = 0;
@@ -203,7 +223,7 @@ mode_cmd[BOOT_MODE_EXIT + 1] = {
 
 static void display_board_info(void)
 {
-#ifdef CONFIG_GENERIC_MMC
+#ifdef CONFIG_MMC
        struct mmc *mmc = find_mmc_device(0);
 #endif
        vidinfo_t *vid = &panel_info;
@@ -221,7 +241,7 @@ static void display_board_info(void)
        lcd_printf("\tDRAM banks: %u\n", CONFIG_NR_DRAM_BANKS);
        lcd_printf("\tDRAM size: %u MB\n", gd->ram_size / SZ_1M);
 
-#ifdef CONFIG_GENERIC_MMC
+#ifdef CONFIG_MMC
        if (mmc) {
                if (!mmc->capacity)
                        mmc_init(mmc);
@@ -235,13 +255,15 @@ static void display_board_info(void)
 
        lcd_printf("\tDisplay BPP: %u\n", 1 << vid->vl_bpix);
 }
+#endif
 
 static int mode_leave_menu(int mode)
 {
+#ifdef CONFIG_LCD
        char *exit_option;
        char *exit_reset = "reset";
        char *exit_back = "back";
-       cmd_tbl_t *cmd;
+       struct cmd_tbl *cmd;
        int cmd_result;
        int leave;
 
@@ -301,8 +323,12 @@ static int mode_leave_menu(int mode)
 
        lcd_clear();
        return leave;
+#else
+       return 0;
+#endif
 }
 
+#ifdef CONFIG_LCD
 static void display_download_menu(int mode)
 {
        char *selection[BOOT_MODE_EXIT + 1];
@@ -320,9 +346,11 @@ static void display_download_menu(int mode)
                lcd_printf("\t%s  %s - %s\n\n", selection[i],
                           mode_name[i][0], mode_info[i]);
 }
+#endif
 
 static void download_menu(void)
 {
+#ifdef CONFIG_LCD
        int mode = 0;
        int last_mode = 0;
        int run;
@@ -393,6 +421,7 @@ static void download_menu(void)
        }
 
        lcd_clear();
+#endif
 }
 
 void check_boot_mode(void)
@@ -430,7 +459,7 @@ void draw_logo(void)
 
        addr = panel_info.logo_addr;
        if (!addr) {
-               error("There is no logo data.");
+               pr_err("There is no logo data.\n");
                return;
        }