blob: 30bf724cb89b8d79ea8ff1f08057ceb2c2b9727c [file] [log] [blame]
Kyösti Mälkkicb141bc2014-02-07 19:24:23 +02001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2007 AMD
5 * Written by Yinghai Lu <yinghai.lu@amd.com> for AMD.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
19 */
20
21#ifndef _EHCI_DEBUG_H_
22#define _EHCI_DEBUG_H_
23
24void usbdebug_re_enable(unsigned ehci_base);
25void usbdebug_disable(void);
26
Kyösti Mälkki6f6a2492014-02-09 19:21:30 +020027/* Returns 0 on success and sets MMIO base and dbg_offset if EHCI debug
28 * capability was found and enabled. Returns non-zero on error.
29 */
30int ehci_debug_hw_enable(unsigned *base, unsigned *dbg_offset);
Kyösti Mälkkicb141bc2014-02-07 19:24:23 +020031void ehci_debug_select_port(unsigned int port);
32
Kyösti Mälkki8cde8522014-02-09 23:35:39 +020033#define DBGP_EP_VALID (1<<0)
34#define DBGP_EP_ENABLED (1<<1)
35#define DBGP_EP_BUSY (1<<2)
36#define DBGP_EP_STATMASK (DBGP_EP_VALID | DBGP_EP_ENABLED)
37
38struct dbgp_pipe
39{
40 u8 devnum;
41 u8 endpoint;
42 u8 pid;
43 u8 status;
44 int timeout;
45
46 u8 bufidx;
47 u8 buflen;
48 char buf[8];
49};
50
51void dbgp_put(struct dbgp_pipe *pipe);
52int dbgp_try_get(struct dbgp_pipe *pipe);
53
Kyösti Mälkkicb141bc2014-02-07 19:24:23 +020054#endif /* _EHCI_DEBUG_H_ */