uboot/board/olimex/mx23_olinuxino/mx23_olinuxino.c
<<
>>
Prefs
   1/*
   2 * Olimex MX23 Olinuxino board
   3 *
   4 * Copyright (C) 2013 Marek Vasut <marex@denx.de>
   5 *
   6 * SPDX-License-Identifier:     GPL-2.0+
   7 */
   8
   9#include <common.h>
  10#include <asm/gpio.h>
  11#include <asm/io.h>
  12#include <asm/arch/iomux-mx23.h>
  13#include <asm/arch/imx-regs.h>
  14#include <asm/arch/clock.h>
  15#include <asm/arch/sys_proto.h>
  16#ifdef CONFIG_LED_STATUS
  17#include <status_led.h>
  18#endif
  19
  20DECLARE_GLOBAL_DATA_PTR;
  21
  22/*
  23 * Functions
  24 */
  25int board_early_init_f(void)
  26{
  27        /* IO0 clock at 480MHz */
  28        mxs_set_ioclk(MXC_IOCLK0, 480000);
  29
  30        /* SSP0 clock at 96MHz */
  31        mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
  32
  33        return 0;
  34}
  35
  36#ifdef CONFIG_CMD_USB
  37int board_ehci_hcd_init(int port)
  38{
  39        /* Enable LAN9512 (Maxi) or GL850G (Mini) USB HUB power. */
  40        gpio_direction_output(MX23_PAD_GPMI_ALE__GPIO_0_17, 1);
  41        udelay(100);
  42        return 0;
  43}
  44
  45int board_ehci_hcd_exit(int port)
  46{
  47        /* Enable LAN9512 (Maxi) or GL850G (Mini) USB HUB power. */
  48        gpio_direction_output(MX23_PAD_GPMI_ALE__GPIO_0_17, 0);
  49        return 0;
  50}
  51#endif
  52
  53int dram_init(void)
  54{
  55        return mxs_dram_init();
  56}
  57
  58#ifdef  CONFIG_CMD_MMC
  59static int mx23_olx_mmc_cd(int id)
  60{
  61        return 1;       /* Card always present */
  62}
  63
  64int board_mmc_init(bd_t *bis)
  65{
  66        return mxsmmc_initialize(bis, 0, NULL, mx23_olx_mmc_cd);
  67}
  68#endif
  69
  70int board_init(void)
  71{
  72        /* Adress of boot parameters */
  73        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
  74
  75#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
  76        status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_STATE);
  77#endif
  78
  79        return 0;
  80}
  81