uboot/board/st/stih410-b2260/board.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2/*
   3 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
   4 * Author(s): Patrice Chotard, <patrice.chotard@st.com> for STMicroelectronics.
   5 */
   6
   7#include <common.h>
   8#include <linux/usb/otg.h>
   9#include <dwc3-sti-glue.h>
  10#include <dwc3-uboot.h>
  11#include <usb.h>
  12
  13DECLARE_GLOBAL_DATA_PTR;
  14
  15int dram_init(void)
  16{
  17        gd->ram_size = PHYS_SDRAM_1_SIZE;
  18        return 0;
  19}
  20
  21int dram_init_banksize(void)
  22{
  23        gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
  24        gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
  25
  26        return 0;
  27}
  28
  29#ifndef CONFIG_SYS_DCACHE_OFF
  30void enable_caches(void)
  31{
  32        /* Enable D-cache. I-cache is already enabled in start.S */
  33        dcache_enable();
  34}
  35#endif
  36
  37int board_init(void)
  38{
  39        return 0;
  40}
  41
  42#ifdef CONFIG_USB_DWC3
  43static struct dwc3_device dwc3_device_data = {
  44        .maximum_speed = USB_SPEED_HIGH,
  45        .dr_mode = USB_DR_MODE_PERIPHERAL,
  46        .index = 0,
  47};
  48
  49int usb_gadget_handle_interrupts(int index)
  50{
  51        dwc3_uboot_handle_interrupt(index);
  52        return 0;
  53}
  54
  55int board_usb_init(int index, enum usb_init_type init)
  56{
  57        int node;
  58        const void *blob = gd->fdt_blob;
  59
  60        /* find the snps,dwc3 node */
  61        node = fdt_node_offset_by_compatible(blob, -1, "snps,dwc3");
  62
  63        dwc3_device_data.base = fdtdec_get_addr(blob, node, "reg");
  64
  65        return dwc3_uboot_init(&dwc3_device_data);
  66}
  67
  68int board_usb_cleanup(int index, enum usb_init_type init)
  69{
  70        dwc3_uboot_exit(index);
  71        return 0;
  72}
  73
  74int g_dnl_board_usb_cable_connected(void)
  75{
  76        return 1;
  77}
  78#endif
  79