| /* |
| * This file is part of the coreboot project. |
| * |
| * Copyright (C) 2014 Rockchip Electronics |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; version 2 of the License. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #ifndef __DWC2_REGS_H__ |
| #define __DWC2_REGS_H__ |
| #include <usb/dwc2_registers.h> |
| |
| typedef struct dwc_ctrl { |
| #define DMA_SIZE (64 * 1024) |
| void *dma_buffer; |
| u32 *hprt0; |
| u32 frame; |
| } dwc_ctrl_t; |
| |
| typedef struct { |
| u8 *data; |
| endpoint_t *endp; |
| int reqsize; |
| u32 reqtiming; |
| u32 timestamp; |
| } intr_queue_t; |
| |
| typedef struct { |
| int hubaddr; |
| int hubport; |
| } split_info_t; |
| |
| #define DWC2_INST(controller) ((dwc_ctrl_t *)((controller)->instance)) |
| #define DWC2_REG(controller) ((dwc2_reg_t *)((controller)->reg_base)) |
| |
| typedef enum { |
| HCSTAT_DONE = 0, |
| HCSTAT_XFERERR, |
| HCSTAT_BABBLE, |
| HCSTAT_STALL, |
| HCSTAT_ACK, |
| HCSTAT_NAK, |
| HCSTAT_NYET, |
| HCSTAT_UNKNOW, |
| HCSTAT_TIMEOUT, |
| HCSTAT_DISCONNECTED, |
| } hcstat_t; |
| #endif |