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 <cpu_func.h>
   9#include <linux/usb/otg.h>
  10#include <dwc3-sti-glue.h>
  11#include <dwc3-uboot.h>
  12#include <usb.h>
  13
  14DECLARE_GLOBAL_DATA_PTR;
  15
  16int dram_init(void)
  17{
  18        gd->ram_size = PHYS_SDRAM_1_SIZE;
  19        return 0;
  20}
  21
  22int dram_init_banksize(void)
  23{
  24        gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
  25        gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
  26
  27        return 0;
  28}
  29
  30#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
  31void enable_caches(void)
  32{
  33        /* Enable D-cache. I-cache is already enabled in start.S */
  34        dcache_enable();
  35}
  36#endif
  37
  38int board_init(void)
  39{
  40        return 0;
  41}
  42
  43#ifdef CONFIG_USB_DWC3
  44static struct dwc3_device dwc3_device_data = {
  45        .maximum_speed = USB_SPEED_HIGH,
  46        .dr_mode = USB_DR_MODE_PERIPHERAL,
  47        .index = 0,
  48};
  49
  50int usb_gadget_handle_interrupts(int index)
  51{
  52        dwc3_uboot_handle_interrupt(index);
  53        return 0;
  54}
  55
  56int board_usb_init(int index, enum usb_init_type init)
  57{
  58        int node;
  59        const void *blob = gd->fdt_blob;
  60
  61        /* find the snps,dwc3 node */
  62        node = fdt_node_offset_by_compatible(blob, -1, "snps,dwc3");
  63
  64        dwc3_device_data.base = fdtdec_get_addr(blob, node, "reg");
  65
  66        return dwc3_uboot_init(&dwc3_device_data);
  67}
  68
  69int board_usb_cleanup(int index, enum usb_init_type init)
  70{
  71        dwc3_uboot_exit(index);
  72        return 0;
  73}
  74
  75int g_dnl_board_usb_cable_connected(void)
  76{
  77        return 1;
  78}
  79#endif
  80