commit
ebf8644a11
@ -0,0 +1,25 @@ |
||||
if ARCH_S5PC1XX |
||||
|
||||
choice |
||||
prompt "S5PC1XX board select" |
||||
|
||||
config TARGET_S5P_GONI |
||||
bool "S5P Goni board" |
||||
select OF_CONTROL if !SPL_BUILD |
||||
|
||||
config TARGET_SMDKC100 |
||||
bool "Support smdkc100 board" |
||||
select OF_CONTROL if !SPL_BUILD |
||||
|
||||
endchoice |
||||
|
||||
config SYS_CPU |
||||
default "armv7" |
||||
|
||||
config SYS_SOC |
||||
default "s5pc1xx" |
||||
|
||||
source "board/samsung/goni/Kconfig" |
||||
source "board/samsung/smdkc100/Kconfig" |
||||
|
||||
endif |
@ -1,30 +0,0 @@ |
||||
/* |
||||
* Copyright (C) 2009 Samsung Electronics |
||||
* Minkyu Kang <mk7.kang@samsung.com>
|
||||
* |
||||
* based on arch/arm/cpu/armv7/omap3/cache.S |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
.align 5
|
||||
|
||||
#include <linux/linkage.h> |
||||
|
||||
#ifndef CONFIG_SYS_L2CACHE_OFF |
||||
ENTRY(v7_outer_cache_enable) |
||||
push {r0, r1, r2, lr} |
||||
mrc 15, 0, r3, cr1, cr0, 1 |
||||
orr r3, r3, #2 |
||||
mcr 15, 0, r3, cr1, cr0, 1 |
||||
pop {r1, r2, r3, pc} |
||||
ENDPROC(v7_outer_cache_enable) |
||||
|
||||
ENTRY(v7_outer_cache_disable) |
||||
push {r0, r1, r2, lr} |
||||
mrc 15, 0, r3, cr1, cr0, 1 |
||||
bic r3, r3, #2 |
||||
mcr 15, 0, r3, cr1, cr0, 1 |
||||
pop {r1, r2, r3, pc} |
||||
ENDPROC(v7_outer_cache_disable) |
||||
#endif |
@ -0,0 +1,47 @@ |
||||
/*
|
||||
* Copyright (C) 2014 Samsung Electronics |
||||
* Minkyu Kang <mk7.kang@samsung.com> |
||||
* Robert Baldyga <r.baldyga@samsung.com> |
||||
* |
||||
* based on arch/arm/cpu/armv7/omap3/cache.S |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
|
||||
#ifndef CONFIG_SYS_DCACHE_OFF |
||||
void enable_caches(void) |
||||
{ |
||||
dcache_enable(); |
||||
} |
||||
|
||||
void disable_caches(void) |
||||
{ |
||||
dcache_disable(); |
||||
} |
||||
#endif |
||||
|
||||
#ifndef CONFIG_SYS_L2CACHE_OFF |
||||
void v7_outer_cache_enable(void) |
||||
{ |
||||
__asm( |
||||
"push {r0, r1, r2, lr}\n\t" |
||||
"mrc 15, 0, r3, cr1, cr0, 1\n\t" |
||||
"orr r3, r3, #2\n\t" |
||||
"mcr 15, 0, r3, cr1, cr0, 1\n\t" |
||||
"pop {r1, r2, r3, pc}" |
||||
); |
||||
} |
||||
|
||||
void v7_outer_cache_disable(void) |
||||
{ |
||||
__asm( |
||||
"push {r0, r1, r2, lr}\n\t" |
||||
"mrc 15, 0, r3, cr1, cr0, 1\n\t" |
||||
"bic r3, r3, #2\n\t" |
||||
"mcr 15, 0, r3, cr1, cr0, 1\n\t" |
||||
"pop {r1, r2, r3, pc}" |
||||
); |
||||
} |
||||
#endif |
@ -0,0 +1,21 @@ |
||||
/* |
||||
* Samsung's Exynos4210-based SMDKV310 board device tree source |
||||
* |
||||
* Copyright (c) 2014 Google, Inc |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
/include/ "exynos4.dtsi" |
||||
|
||||
/ { |
||||
model = "Samsung SMDKV310 on Exynos4210"; |
||||
compatible = "samsung,smdkv310", "samsung,exynos4210"; |
||||
|
||||
aliases { |
||||
serial0 = "/serial@13800000"; |
||||
console = "/serial@13820000"; |
||||
}; |
||||
|
||||
}; |
@ -0,0 +1,28 @@ |
||||
/* |
||||
* Samsung's S5PC110-based Goni board device tree source |
||||
* |
||||
* Copyright (c) 2014 Google, Inc |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
|
||||
#include "skeleton.dtsi" |
||||
|
||||
/ { |
||||
model = "Samsung Goni based on S5PC110"; |
||||
compatible = "samsung,goni", "samsung,s5pc110"; |
||||
|
||||
aliases { |
||||
serial2 = "/serial@e2900800"; |
||||
console = "/serial@e2900800"; |
||||
}; |
||||
|
||||
serial@e2900800 { |
||||
compatible = "samsung,exynos4210-uart"; |
||||
reg = <0xe2900800 0x400>; |
||||
id = <2>; |
||||
}; |
||||
|
||||
}; |
@ -0,0 +1,29 @@ |
||||
/* |
||||
* Samsung's Exynos4210-based SMDKV310 board device tree source |
||||
* |
||||
* Copyright (c) 2014 Google, Inc |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
/dts-v1/; |
||||
|
||||
#include "skeleton.dtsi" |
||||
|
||||
/ { |
||||
model = "Samsung SMDKC100 based on S5PC100"; |
||||
compatible = "samsung,smdkc100", "samsung,s5pc100"; |
||||
|
||||
aliases { |
||||
serial0 = "/serial@ec000000"; |
||||
console = "/serial@ec000000"; |
||||
}; |
||||
|
||||
serial@ec000000 { |
||||
compatible = "samsung,exynos4210-uart"; |
||||
reg = <0xec000000 0x100>; |
||||
interrupts = <0 51 0>; |
||||
id = <0>; |
||||
}; |
||||
|
||||
}; |
@ -0,0 +1,61 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Samsung Electronics |
||||
* Rajeshwari Shinde <rajeshwari.s@samsung.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __ASM_ARM_ARCH_PERIPH_H |
||||
#define __ASM_ARM_ARCH_PERIPH_H |
||||
|
||||
/*
|
||||
* Peripherals required for pinmux configuration. List will |
||||
* grow with support for more devices getting added. |
||||
* Numbering based on interrupt table. |
||||
* |
||||
*/ |
||||
enum periph_id { |
||||
PERIPH_ID_UART0 = 51, |
||||
PERIPH_ID_UART1, |
||||
PERIPH_ID_UART2, |
||||
PERIPH_ID_UART3, |
||||
PERIPH_ID_I2C0 = 56, |
||||
PERIPH_ID_I2C1, |
||||
PERIPH_ID_I2C2, |
||||
PERIPH_ID_I2C3, |
||||
PERIPH_ID_I2C4, |
||||
PERIPH_ID_I2C5, |
||||
PERIPH_ID_I2C6, |
||||
PERIPH_ID_I2C7, |
||||
PERIPH_ID_SPI0 = 68, |
||||
PERIPH_ID_SPI1, |
||||
PERIPH_ID_SPI2, |
||||
PERIPH_ID_SDMMC0 = 75, |
||||
PERIPH_ID_SDMMC1, |
||||
PERIPH_ID_SDMMC2, |
||||
PERIPH_ID_SDMMC3, |
||||
PERIPH_ID_I2C8 = 87, |
||||
PERIPH_ID_I2C9, |
||||
PERIPH_ID_I2S0 = 98, |
||||
PERIPH_ID_I2S1 = 99, |
||||
|
||||
/* Since following peripherals do
|
||||
* not have shared peripheral interrupts (SPIs) |
||||
* they are numbered arbitiraly after the maximum |
||||
* SPIs Exynos has (128) |
||||
*/ |
||||
PERIPH_ID_SROMC = 128, |
||||
PERIPH_ID_SPI3, |
||||
PERIPH_ID_SPI4, |
||||
PERIPH_ID_SDMMC4, |
||||
PERIPH_ID_PWM0, |
||||
PERIPH_ID_PWM1, |
||||
PERIPH_ID_PWM2, |
||||
PERIPH_ID_PWM3, |
||||
PERIPH_ID_PWM4, |
||||
PERIPH_ID_I2C10 = 203, |
||||
|
||||
PERIPH_ID_NONE = -1, |
||||
}; |
||||
|
||||
#endif /* __ASM_ARM_ARCH_PERIPH_H */ |
@ -0,0 +1,50 @@ |
||||
/*
|
||||
* Copyright (C) 2012 Samsung Electronics |
||||
* Abhilash Kesavan <a.kesavan@samsung.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __ASM_ARM_ARCH_PINMUX_H |
||||
#define __ASM_ARM_ARCH_PINMUX_H |
||||
|
||||
#include "periph.h" |
||||
|
||||
/*
|
||||
* Flags for setting specific configarations of peripherals. |
||||
* List will grow with support for more devices getting added. |
||||
*/ |
||||
enum { |
||||
PINMUX_FLAG_NONE = 0x00000000, |
||||
|
||||
/* Flags for eMMC */ |
||||
PINMUX_FLAG_8BIT_MODE = 1 << 0, /* SDMMC 8-bit mode */ |
||||
|
||||
/* Flags for SROM controller */ |
||||
PINMUX_FLAG_BANK = 3 << 0, /* bank number (0-3) */ |
||||
PINMUX_FLAG_16BIT = 1 << 2, /* 16-bit width */ |
||||
}; |
||||
|
||||
/**
|
||||
* Configures the pinmux for a particular peripheral. |
||||
* |
||||
* Each gpio can be configured in many different ways (4 bits on exynos) |
||||
* such as "input", "output", "special function", "external interrupt" |
||||
* etc. This function will configure the peripheral pinmux along with |
||||
* pull-up/down and drive strength. |
||||
* |
||||
* @param peripheral peripheral to be configured |
||||
* @param flags configure flags |
||||
* @return 0 if ok, -1 on error (e.g. unsupported peripheral) |
||||
*/ |
||||
int exynos_pinmux_config(int peripheral, int flags); |
||||
|
||||
/**
|
||||
* Decode the peripheral id using the interrpt numbers. |
||||
* |
||||
* @param blob Device tree blob |
||||
* @param node FDT I2C node to find |
||||
* @return peripheral id if ok, PERIPH_ID_NONE on error |
||||
*/ |
||||
int pinmux_decode_periph_id(const void *blob, int node); |
||||
#endif |
@ -1,2 +1,4 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_ARCH_S5PC1XX=y |
||||
CONFIG_TARGET_S5P_GONI=y |
||||
CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-goni" |
||||
|
@ -1,2 +1,4 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_TARGET_SMDKC100=y |
||||
CONFIG_ARCH_S5PC1XX=y |
||||
CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-smdkc100" |
||||
|
@ -0,0 +1,218 @@ |
||||
/*
|
||||
* Copyright (c) 2013 The Chromium OS Authors. |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <cros_ec.h> |
||||
#include <errno.h> |
||||
#include <power/tps65090_pmic.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
#define TPS65090_ADDR 0x48 |
||||
|
||||
static struct tps65090 { |
||||
struct cros_ec_dev *dev; /* The CROS_EC device */ |
||||
} config; |
||||
|
||||
/* TPS65090 register addresses */ |
||||
enum { |
||||
REG_IRQ1 = 0, |
||||
REG_CG_CTRL0 = 4, |
||||
REG_CG_STATUS1 = 0xa, |
||||
REG_FET1_CTRL = 0x0f, |
||||
REG_FET2_CTRL, |
||||
REG_FET3_CTRL, |
||||
REG_FET4_CTRL, |
||||
REG_FET5_CTRL, |
||||
REG_FET6_CTRL, |
||||
REG_FET7_CTRL, |
||||
TPS65090_NUM_REGS, |
||||
}; |
||||
|
||||
enum { |
||||
IRQ1_VBATG = 1 << 3, |
||||
CG_CTRL0_ENC_MASK = 0x01, |
||||
|
||||
MAX_FET_NUM = 7, |
||||
MAX_CTRL_READ_TRIES = 5, |
||||
|
||||
/* TPS65090 FET_CTRL register values */ |
||||
FET_CTRL_TOFET = 1 << 7, /* Timeout, startup, overload */ |
||||
FET_CTRL_PGFET = 1 << 4, /* Power good for FET status */ |
||||
FET_CTRL_WAIT = 3 << 2, /* Overcurrent timeout max */ |
||||
FET_CTRL_ADENFET = 1 << 1, /* Enable output auto discharge */ |
||||
FET_CTRL_ENFET = 1 << 0, /* Enable FET */ |
||||
}; |
||||
|
||||
/**
|
||||
* tps65090_read - read a byte from tps6090 |
||||
* |
||||
* @param reg The register address to read from. |
||||
* @param val We'll return value value read here. |
||||
* @return 0 if ok; error if EC returns failure. |
||||
*/ |
||||
static int tps65090_read(u32 reg, u8 *val) |
||||
{ |
||||
return cros_ec_i2c_xfer(config.dev, TPS65090_ADDR, reg, 1, |
||||
val, 1, true); |
||||
} |
||||
|
||||
/**
|
||||
* tps65090_write - write a byte to tps6090 |
||||
* |
||||
* @param reg The register address to write to. |
||||
* @param val The value to write. |
||||
* @return 0 if ok; error if EC returns failure. |
||||
*/ |
||||
static int tps65090_write(u32 reg, u8 val) |
||||
{ |
||||
return cros_ec_i2c_xfer(config.dev, TPS65090_ADDR, reg, 1, |
||||
&val, 1, false); |
||||
} |
||||
|
||||
/**
|
||||
* Checks for a valid FET number |
||||
* |
||||
* @param fet_id FET number to check |
||||
* @return 0 if ok, -EINVAL if FET value is out of range |
||||
*/ |
||||
static int tps65090_check_fet(unsigned int fet_id) |
||||
{ |
||||
if (fet_id == 0 || fet_id > MAX_FET_NUM) { |
||||
debug("parameter fet_id is out of range, %u not in 1 ~ %u\n", |
||||
fet_id, MAX_FET_NUM); |
||||
return -EINVAL; |
||||
} |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
/**
|
||||
* Set the power state for a FET |
||||
* |
||||
* @param fet_id Fet number to set (1..MAX_FET_NUM) |
||||
* @param set 1 to power on FET, 0 to power off |
||||
* @return -EIO if we got a comms error, -EAGAIN if the FET failed to |
||||
* change state. If all is ok, returns 0. |
||||
*/ |
||||
static int tps65090_fet_set(int fet_id, bool set) |
||||
{ |
||||
int retry; |
||||
u8 reg, value; |
||||
|
||||
value = FET_CTRL_ADENFET | FET_CTRL_WAIT; |
||||
if (set) |
||||
value |= FET_CTRL_ENFET; |
||||
|
||||
if (tps65090_write(REG_FET1_CTRL + fet_id - 1, value)) |
||||
return -EIO; |
||||
|
||||
/* Try reading until we get a result */ |
||||
for (retry = 0; retry < MAX_CTRL_READ_TRIES; retry++) { |
||||
if (tps65090_read(REG_FET1_CTRL + fet_id - 1, ®)) |
||||
return -EIO; |
||||
|
||||
/* Check that the fet went into the expected state */ |
||||
if (!!(reg & FET_CTRL_PGFET) == set) |
||||
return 0; |
||||
|
||||
/* If we got a timeout, there is no point in waiting longer */ |
||||
if (reg & FET_CTRL_TOFET) |
||||
break; |
||||
|
||||
mdelay(1); |
||||
} |
||||
|
||||
debug("FET %d: Power good should have set to %d but reg=%#02x\n", |
||||
fet_id, set, reg); |
||||
return -EAGAIN; |
||||
} |
||||
|
||||
int tps65090_fet_enable(unsigned int fet_id) |
||||
{ |
||||
ulong start; |
||||
int loops; |
||||
int ret; |
||||
|
||||
ret = tps65090_check_fet(fet_id); |
||||
if (ret) |
||||
return ret; |
||||
|
||||
start = get_timer(0); |
||||
for (loops = 0;; loops++) { |
||||
ret = tps65090_fet_set(fet_id, true); |
||||
if (!ret) |
||||
break; |
||||
|
||||
if (get_timer(start) > 100) |
||||
break; |
||||
|
||||
/* Turn it off and try again until we time out */ |
||||
tps65090_fet_set(fet_id, false); |
||||
} |
||||
|
||||
if (ret) { |
||||
debug("%s: FET%d failed to power on: time=%lums, loops=%d\n", |
||||
__func__, fet_id, get_timer(start), loops); |
||||
} else if (loops) { |
||||
debug("%s: FET%d powered on after %lums, loops=%d\n", |
||||
__func__, fet_id, get_timer(start), loops); |
||||
} |
||||
/*
|
||||
* Unfortunately, there are some conditions where the power |
||||
* good bit will be 0, but the fet still comes up. One such |
||||
* case occurs with the lcd backlight. We'll just return 0 here |
||||
* and assume that the fet will eventually come up. |
||||
*/ |
||||
if (ret == -EAGAIN) |
||||
ret = 0; |
||||
|
||||
return ret; |
||||
} |
||||
|
||||
int tps65090_fet_disable(unsigned int fet_id) |
||||
{ |
||||
int ret; |
||||
|
||||
ret = tps65090_check_fet(fet_id); |
||||
if (ret) |
||||
return ret; |
||||
|
||||
ret = tps65090_fet_set(fet_id, false); |
||||
|
||||
return ret; |
||||
} |
||||
|
||||
int tps65090_fet_is_enabled(unsigned int fet_id) |
||||
{ |
||||
u8 reg = 0; |
||||
int ret; |
||||
|
||||
ret = tps65090_check_fet(fet_id); |
||||
if (ret) |
||||
return ret; |
||||
ret = tps65090_read(REG_FET1_CTRL + fet_id - 1, ®); |
||||
if (ret) { |
||||
debug("fail to read FET%u_CTRL register over I2C", fet_id); |
||||
return -EIO; |
||||
} |
||||
|
||||
return reg & FET_CTRL_ENFET; |
||||
} |
||||
|
||||
int tps65090_init(void) |
||||
{ |
||||
puts("TPS65090 PMIC EC init\n"); |
||||
|
||||
config.dev = board_get_cros_ec_dev(); |
||||
if (!config.dev) { |
||||
debug("%s: no cros_ec device: cannot init tps65090\n", |
||||
__func__); |
||||
return -ENODEV; |
||||
} |
||||
|
||||
return 0; |
||||
} |
@ -0,0 +1,68 @@ |
||||
/*
|
||||
* Copyright (C) 2014 Samsung Electronics |
||||
* |
||||
* Configuration settings for the SAMSUNG EXYNOS5 board. |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __CONFIG_EXYNOS4_COMMON_H |
||||
#define __CONFIG_EXYNOS4_COMMON_H |
||||
|
||||
#define CONFIG_EXYNOS4 /* Exynos4 Family */ |
||||
|
||||
#include "exynos-common.h" |
||||
|
||||
#define CONFIG_BOARD_COMMON |
||||
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 |
||||
#define CONFIG_REVISION_TAG |
||||
|
||||
/* SD/MMC configuration */ |
||||
#define CONFIG_MMC_SDMA |
||||
#define CONFIG_MMC_DEFAULT_DEV 0 |
||||
|
||||
#undef CONFIG_CMD_FPGA |
||||
#undef CONFIG_CMD_MISC |
||||
#undef CONFIG_CMD_NET |
||||
#undef CONFIG_CMD_NFS |
||||
#undef CONFIG_CMD_XIMG |
||||
#undef CONFIG_CMD_ONENAND |
||||
#undef CONFIG_CMD_MTDPARTS |
||||
#define CONFIG_CMD_DFU |
||||
#define CONFIG_CMD_GPT |
||||
#define CONFIG_CMD_PMIC |
||||
#define CONFIG_CMD_SETEXPR |
||||
|
||||
/* USB Composite download gadget - g_dnl */ |
||||
#define CONFIG_USBDOWNLOAD_GADGET |
||||
|
||||
/* TIZEN THOR downloader support */ |
||||
#define CONFIG_CMD_THOR_DOWNLOAD |
||||
#define CONFIG_THOR_FUNCTION |
||||
|
||||
#define CONFIG_DFU_FUNCTION |
||||
#define CONFIG_DFU_MMC |
||||
#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M |
||||
#define DFU_DEFAULT_POLL_TIMEOUT 300 |
||||
|
||||
/* USB Samsung's IDs */ |
||||
#define CONFIG_G_DNL_VENDOR_NUM 0x04E8 |
||||
#define CONFIG_G_DNL_PRODUCT_NUM 0x6601 |
||||
#define CONFIG_G_DNL_THOR_VENDOR_NUM CONFIG_G_DNL_VENDOR_NUM |
||||
#define CONFIG_G_DNL_THOR_PRODUCT_NUM 0x685D |
||||
#define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525 |
||||
#define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5 |
||||
#define CONFIG_G_DNL_MANUFACTURER "Samsung" |
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 2 sectors */ |
||||
|
||||
#define CONFIG_USB_GADGET |
||||
#define CONFIG_USB_GADGET_S3C_UDC_OTG |
||||
#define CONFIG_USB_GADGET_DUALSPEED |
||||
#define CONFIG_USB_GADGET_VBUS_DRAW 2 |
||||
|
||||
#define CONFIG_CMD_USB_MASS_STORAGE |
||||
#define CONFIG_USB_GADGET_MASS_STORAGE |
||||
|
||||
#endif /* __CONFIG_EXYNOS4_COMMON_H */ |
@ -0,0 +1,35 @@ |
||||
/*
|
||||
* Copyright (C) 2014 Google, Inc |
||||
* |
||||
* Configuration settings for generic Exynos 5 board |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __CONFIG_EXYNOS5_DT_COMMON_H |
||||
#define __CONFIG_EXYNOS5_DT_COMMON_H |
||||
|
||||
#include "exynos5-common.h" |
||||
|
||||
/* PMIC */ |
||||
#define CONFIG_POWER |
||||
#define CONFIG_POWER_I2C |
||||
#define CONFIG_POWER_TPS65090 |
||||
|
||||
/* Enable keyboard */ |
||||
#define CONFIG_CROS_EC /* CROS_EC protocol */ |
||||
#define CONFIG_CROS_EC_KEYB /* CROS_EC keyboard input */ |
||||
#define CONFIG_CMD_CROS_EC |
||||
#define CONFIG_KEYBOARD |
||||
|
||||
/* Console configuration */ |
||||
#undef EXYNOS_DEVICE_SETTINGS |
||||
#define EXYNOS_DEVICE_SETTINGS \ |
||||
"stdin=serial,cros-ec-keyb\0" \
|
||||
"stdout=serial,lcd\0" \
|
||||
"stderr=serial,lcd\0" |
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \ |
||||
EXYNOS_DEVICE_SETTINGS |
||||
|
||||
#endif |
Loading…
Reference in new issue