help
Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or
Cortex-A53 CPU (and some in a big.LITTLE configuration). There are
- multiple SoCs in this family including Exynos7420.
+ multiple SoCs in this family including Exynos7420.
endchoice
config TARGET_ODROID
bool "Exynos4412 Odroid board"
+config TARGET_TIZEN
+ bool "Exynos4412: Trats2/Odroid-U3&X2 boards"
+
endchoice
endif
source "board/samsung/origen/Kconfig"
source "board/samsung/trats2/Kconfig"
source "board/samsung/odroid/Kconfig"
+source "board/samsung/common/Kconfig"
source "board/samsung/arndale/Kconfig"
source "board/samsung/smdk5250/Kconfig"
source "board/samsung/smdk5420/Kconfig"
+if TARGET_TIZEN
+
+config SYS_BOARD
+ default "common"
+
+config SYS_VENDOR
+ default "samsung"
+
+config SYS_CONFIG_NAME
+ default "tizen"
+
+config OF_MULTI
+ bool "Support Multi device-tree"
+ default y
+
+config BOARD_TYPES
+ bool "Check the board type"
+ default y
+
+config PLATFORM_SETUP
+ bool "Provide Platform setup"
+ default y
+
+config PLATFORM_MAX_PART_NUM
+ int "Platform Maximum Partition number"
+
+config PLATFORM_MAX_SETUP_NUM
+ int "Platform Maximum setup number"
+
+config FDTDEC_MEMORY
+ bool "Laoding fdtdec to memory"
+ default y
+
config SIG
bool "Provide the signature for Tizen"
help
Support the TRATS/TRATS2 signature
+endif
--- /dev/null
+ODROID BOARD
+M: Przemyslaw Marczak <p.marczak@samsung.com>
+S: Maintained
+F: board/samsung/common/
+F: include/configs/tizen.h
+F: configs/tizen_defconfig
#define DTB_PADDING 0x4
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
/* For global battery and charger functions */
static struct power_battery *pbat;
static struct pmic *p_chrg, *p_muic, *p_fg, *p_bat;
static int power_init_done;
+#endif
#ifdef CONFIG_BOARD_TYPES
/* Supported Exynos4 boards */
}
}
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
static int pmic_init_max77686(void)
{
struct pmic *p = pmic_get("MAX77686_PMIC");
max77686_set_ldo_voltage(p, 21, 2800000); /* LDO21 SD */
max77686_set_ldo_voltage(p, 22, 2800000); /* LDO22 eMMC */
}
-
return 0;
}
+#endif
#ifdef CONFIG_SYS_I2C_INIT_BOARD
static void board_init_i2c(void)
int exynos_power_init(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
#ifdef CONFIG_SYS_I2C_INIT_BOARD
board_init_i2c();
#endif
done:
power_init_done = 1;
+#endif
return 0;
}
#ifdef CONFIG_USB_GADGET
static int s5pc210_phy_control(int on)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
int ret = 0;
unsigned int val;
struct pmic *p, *p_pmic, *p_muic = NULL;
if (ret)
return -1;
-
+#endif
return 0;
}
#ifdef CONFIG_LCD
int mipi_power(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
struct pmic *p;
if (!board_is_trats2())
max77686_set_ldo_mode(p, 8, OPMODE_ON);
/* LDO10 VMIPI_1.8V_AP */
max77686_set_ldo_mode(p, 10, OPMODE_ON);
+#endif
return 0;
}
void exynos_lcd_power_on(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
struct pmic *p;
if (!board_is_trats2())
pmic_probe(p);
max77686_set_ldo_voltage(p, 25, 3100000);
max77686_set_ldo_mode(p, 25, OPMODE_LPM);
+#endif
}
void exynos_reset_lcd(void)
#ifdef CONFIG_INTERACTIVE_CHARGER
int charger_enable(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
if (!power_init_done) {
if (exynos_power_init()) {
puts("Can't init board power subsystem");
puts("Charger enable error\n");
return -EIO;
}
+#endif
return 0;
}
int charger_type(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
if (!power_init_done) {
if (exynos_power_init()) {
puts("Can't init board power subsystem");
}
return p_muic->chrg->chrg_type(p_muic);
+#else
+ return 0;
+#endif
}
int battery_present(void)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
if (!power_init_done) {
if (exynos_power_init()) {
puts("Can't init board power subsystem");
puts("Battery not present.\n");
return 0;
}
+#endif
return 1;
}
int battery_state(unsigned int *soc)
{
+#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
struct battery *bat = pbat->bat;
if (!power_init_done) {
*soc = bat->state_of_chrg;
+#endif
return 0;
}
#endif
--- /dev/null
+CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
+CONFIG_ARCH_EXYNOS4=y
+CONFIG_TARGET_TIZEN=y
+CONFIG_TIZEN=y
+CONFIG_OF_CONTROL=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_HUSH_PARSER=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SYS_PROMPT="U-Boot # "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_NFS is not set
+# CONFIG_CMD_MISC is not set
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_DFU=y
+CONFIG_CMD_BATTERY=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_DFU_MMC=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
+CONFIG_DM_PMIC=y
+CONFIG_DM_PMIC_MAX77686=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_MAX77686=y
+CONFIG_USB=y
+CONFIG_USB_STORAGE=y
+CONFIG_DM_USB=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_G_DNL_MANUFACTURER="Samsung"
+CONFIG_G_DNL_VENDOR_NUM=0x04e8
+CONFIG_G_DNL_PRODUCT_NUM=0x6601
+CONFIG_FDTDEC_MEMORY=y
+CONFIG_OF_MULTI=y
+CONFIG_PLATFORM_MAX_PART_NUM=32
+CONFIG_PLATFORM_MAX_SETUP_NUM=6
+CONFIG_SIG=y
--- /dev/null
+/*
+ * Copyright (C) 2014 Samsung Electronics
+ *
+ * Configuration settings for the SAMSUNG EXYNOS5 board.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_TIZEN_H
+#define __CONFIG_TIZEN_H
+
+#include <configs/exynos4-common.h>
+#include <samsung/platform_setup.h>
+#include <samsung/platform_boot.h>
+
+#define CONFIG_TIZEN
+
+#undef CONFIG_DEFAULT_DEVICE_TREE
+#define CONFIG_DEFAULT_DEVICE_TREE exynos4412-odroid
+
+/* Arch number for Trats2 */
+#define MACH_TYPE_TRATS2 3766
+/* Arch number for Odroid */
+#define MACH_TYPE_ODROIDX 4289
+
+#define CONFIG_SYS_L2CACHE_OFF
+#ifndef CONFIG_SYS_L2CACHE_OFF
+#define CONFIG_SYS_L2_PL310
+#define CONFIG_SYS_PL310_BASE 0x10502000
+#endif
+
+#define CONFIG_NR_DRAM_BANKS 8
+#define CONFIG_SYS_SDRAM_BASE 0x40000000
+#define SDRAM_BANK_SIZE (256 << 20) /* 256 MB */
+
+#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
+#define CONFIG_SYS_TEXT_BASE 0x43e00000
+
+
+/* set serial baudrate */
+#define CONFIG_BAUDRATE 115200
+
+#define CONFIG_CMD_BOOTZ
+#define CONFIG_BOOTARGS "Please use defined boot"
+#define CONFIG_BOOTCOMMAND "run autoboot"
+#define CONSOLE_TTY1 " console=ttySAC1,115200n8"
+#define CONSOLE_TTY2 " console=ttySAC2,115200n8"
+
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \
+ - GENERATED_GBL_DATA_SIZE)
+
+#define CONFIG_SYS_MEM_TOP_HIDE (SZ_1M) /* ram console */
+
+#define CONFIG_SYS_MONITOR_BASE 0x00000000
+
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_SYS_MMC_ENV_DEV CONFIG_MMC_DEFAULT_DEV
+#define CONFIG_ENV_SIZE (SZ_1K * 16)
+#define CONFIG_ENV_OFFSET (SZ_1K * 3136)
+#define CONFIG_ENV_OVERWRITE
+
+#define CONFIG_SET_DFU_ALT_BUF_LEN SZ_1K
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ PLATFORM_SETUP_INFO \
+ PLATFORM_BOOT_INFO \
+ "checkboard=" \
+ "if test ${boardname} = trats2; then " \
+ "setenv console" CONSOLE_TTY2";" \
+ "else " \
+ "setenv console" CONSOLE_TTY1";" \
+ "fi;\0" \
+ "mmcbootdev=0\0" \
+ "mmcrootdev=0\0" \
+ "rootfstype=ext4\0" \
+ "bootdelay=0\0" \
+ "dfu_alt_info=Autoset by THOR/DFU command run.\0" \
+ "dfu_usb_con=0\0" \
+ "dfu_interface=mmc\0" \
+ "dfu_device=" __stringify(CONFIG_MMC_DEFAULT_DEV) "\0" \
+ "consoleon=run checkboard; saveenv; reset\0" \
+ "consoleoff=set console console=ram; saveenv; reset\0"
+
+/* GPT */
+#define CONFIG_RANDOM_UUID
+
+/* Security subsystem - enable hw_rand() */
+#define CONFIG_EXYNOS_ACE_SHA
+#define CONFIG_LIB_HW_RAND
+
+#undef CONFIG_REVISION_TAG
+#define CONFIG_SET_DFU_ALT_INFO
+#define CONFIG_MISC_COMMON
+#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+#define CONFIG_MISC_INIT_R
+
+#endif /* __CONFIG_H */