uboot/board/broadcom/bcm23550_w1d/bcm23550_w1d.c
<<
>>
Prefs
   1/*
   2 * Copyright 2013 Broadcom Corporation.
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7#include <common.h>
   8#include <asm/io.h>
   9#include <asm/mach-types.h>
  10#include <mmc.h>
  11#include <asm/kona-common/kona_sdhci.h>
  12#include <asm/kona-common/clk.h>
  13#include <asm/arch/sysmap.h>
  14
  15#include <usb.h>
  16#include <usb/dwc2_udc.h>
  17#include <g_dnl.h>
  18
  19#define SECWATCHDOG_SDOGCR_OFFSET       0x00000000
  20#define SECWATCHDOG_SDOGCR_EN_SHIFT     27
  21#define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT 26
  22#define SECWATCHDOG_SDOGCR_CLKS_SHIFT   20
  23#define SECWATCHDOG_SDOGCR_LD_SHIFT     0
  24
  25#ifndef CONFIG_USB_SERIALNO
  26#define CONFIG_USB_SERIALNO "1234567890"
  27#endif
  28
  29DECLARE_GLOBAL_DATA_PTR;
  30
  31/*
  32 * board_init - early hardware init
  33 */
  34int board_init(void)
  35{
  36        printf("Relocation Offset is: %08lx\n", gd->reloc_off);
  37
  38        /* adress of boot parameters */
  39        gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
  40
  41        clk_init();
  42
  43        return 0;
  44}
  45
  46/*
  47 * misc_init_r - miscellaneous platform dependent initializations
  48 */
  49int misc_init_r(void)
  50{
  51        return 0;
  52}
  53
  54/*
  55 * dram_init - sets uboots idea of sdram size
  56 */
  57int dram_init(void)
  58{
  59        gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
  60                                    CONFIG_SYS_SDRAM_SIZE);
  61        return 0;
  62}
  63
  64/* This is called after dram_init() so use get_ram_size result */
  65void dram_init_banksize(void)
  66{
  67        gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
  68        gd->bd->bi_dram[0].size = gd->ram_size;
  69}
  70
  71#ifdef CONFIG_KONA_SDHCI
  72/*
  73 * mmc_init - Initializes mmc
  74 */
  75int board_mmc_init(bd_t *bis)
  76{
  77        int ret = 0;
  78
  79        /* Register eMMC - SDIO2 */
  80        ret = kona_sdhci_init(1, 400000, 0);
  81        if (ret)
  82                return ret;
  83
  84        /* Register SD Card - SDIO4 kona_mmc_init assumes 0 based index */
  85        ret = kona_sdhci_init(3, 400000, 0);
  86        return ret;
  87}
  88#endif
  89
  90#ifdef CONFIG_USB_GADGET
  91static struct dwc2_plat_otg_data bcm_otg_data = {
  92        .regs_otg       = HSOTG_BASE_ADDR
  93};
  94
  95int board_usb_init(int index, enum usb_init_type init)
  96{
  97        debug("%s: performing dwc2_udc_probe\n", __func__);
  98        return dwc2_udc_probe(&bcm_otg_data);
  99}
 100
 101int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
 102{
 103        debug("%s\n", __func__);
 104        if (!getenv("serial#"))
 105                g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
 106        return 0;
 107}
 108
 109int g_dnl_get_board_bcd_device_number(int gcnum)
 110{
 111        debug("%s\n", __func__);
 112        return 1;
 113}
 114
 115int board_usb_cleanup(int index, enum usb_init_type init)
 116{
 117        debug("%s\n", __func__);
 118        return 0;
 119}
 120#endif
 121