[U-Boot] [PATCH v5 7/7] cros: exynos: enable cros-ec for smdk5250
Chander Kashyap
chander.kashyap at linaro.org
Thu Jul 25 08:30:24 CEST 2013
On 15 May 2013 15:57, Hung-ying Tyan <tyanh at chromium.org> wrote:
> This patch initiates cros-ec in board_init() to enable it for smdk5250.
>
> This patch depends on the patch in the MMC series that brings in exynos5-dt.c.
> Refer to http://patchwork.ozlabs.org/patch/240084.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Signed-off-by: Vincent Palatin <vpalatin at chromium.org>
> Signed-off-by: Hung-ying Tyan <tyanh at chromium.org>
>
> ---
> Changes in v5:
> - Add exynos: tag.
> - Add dependency description.
>
> Changes in v4: None
> Changes in v3: None
> Changes in v2:
> - Moved code from smdk5250.c (non-FDT) to exynos5-dt.c (FDT).
> - Moved code from smdk5250.h to exynos5250-dt.h.
Sorry for very late reply.
You are enabling this feature on smdk5250, but adding the
configuration in exynos5250-dt.h, though exynos5250-dt.h is seems to
common.
Though this patch is merged but isnt it possible to submit a patch to
add configuration macros to smdk5250.h rather than exynos5250-dt.h.
Or shall i submit the patch for doing so.
> - Added commit message.
> - Dropped the period from commit subject.
>
> board/samsung/smdk5250/exynos5-dt.c | 45 +++++++++++++++++++++++++++++++++++++
> include/configs/exynos5250-dt.h | 10 ++++++++-
> 2 files changed, 54 insertions(+), 1 deletion(-)
>
> diff --git a/board/samsung/smdk5250/exynos5-dt.c b/board/samsung/smdk5250/exynos5-dt.c
> index b01fe72..8be3192 100644
> --- a/board/samsung/smdk5250/exynos5-dt.c
> +++ b/board/samsung/smdk5250/exynos5-dt.c
> @@ -21,6 +21,7 @@
> */
>
> #include <common.h>
> +#include <cros_ec.h>
> #include <fdtdec.h>
> #include <asm/io.h>
> #include <errno.h>
> @@ -39,6 +40,13 @@
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +struct local_info {
> + struct cros_ec_dev *cros_ec_dev; /* Pointer to cros_ec device */
> + int cros_ec_err; /* Error for cros_ec, 0 if ok */
> +};
> +
> +static struct local_info local;
> +
> #ifdef CONFIG_USB_EHCI_EXYNOS
> int board_usb_vbus_init(void)
> {
> @@ -55,12 +63,30 @@ int board_usb_vbus_init(void)
> }
> #endif
>
> +struct cros_ec_dev *board_get_cros_ec_dev(void)
> +{
> + return local.cros_ec_dev;
> +}
> +
> +static int board_init_cros_ec_devices(const void *blob)
> +{
> + local.cros_ec_err = cros_ec_init(blob, &local.cros_ec_dev);
> + if (local.cros_ec_err)
> + return -1; /* Will report in board_late_init() */
> +
> + return 0;
> +}
> +
> int board_init(void)
> {
> gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
> #ifdef CONFIG_EXYNOS_SPI
> spi_init();
> #endif
> +
> + if (board_init_cros_ec_devices(gd->fdt_blob))
> + return -1;
> +
> #ifdef CONFIG_USB_EHCI_EXYNOS
> board_usb_vbus_init();
> #endif
> @@ -337,3 +363,22 @@ int board_early_init_f(void)
> return err;
> }
> #endif
> +
> +#ifdef CONFIG_BOARD_LATE_INIT
> +int board_late_init(void)
> +{
> + stdio_print_current_devices();
> +
> + if (local.cros_ec_err) {
> + /* Force console on */
> + gd->flags &= ~GD_FLG_SILENT;
> +
> + printf("cros-ec communications failure %d\n",
> + local.cros_ec_err);
> + puts("\nPlease reset with Power+Refresh\n\n");
> + panic("Cannot init cros-ec device");
> + return -1;
> + }
> + return 0;
> +}
> +#endif
> diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h
> index 97c8825..289db00 100644
> --- a/include/configs/exynos5250-dt.h
> +++ b/include/configs/exynos5250-dt.h
> @@ -82,11 +82,19 @@
> #define CONFIG_BAUDRATE 115200
> #define EXYNOS5_DEFAULT_UART_OFFSET 0x010000
>
> +/* Enable keyboard */
> +#define CONFIG_CROS_EC /* CROS_EC protocol */
> +#define CONFIG_CROS_EC_SPI /* Support CROS_EC over SPI */
> +#define CONFIG_CROS_EC_I2C /* Support CROS_EC over I2C */
> +#define CONFIG_CROS_EC_KEYB /* CROS_EC keyboard input */
> +#define CONFIG_CMD_CROS_EC
> +#define CONFIG_KEYBOARD
> +
> /* Console configuration */
> #define CONFIG_CONSOLE_MUX
> #define CONFIG_SYS_CONSOLE_IS_IN_ENV
> #define EXYNOS_DEVICE_SETTINGS \
> - "stdin=serial\0" \
> + "stdin=serial,cros-ec-keyb\0" \
> "stdout=serial,lcd\0" \
> "stderr=serial,lcd\0"
>
> --
> 1.8.2.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
--
with warm regards,
Chander Kashyap
More information about the U-Boot
mailing list