blob: fa8d511d35d94aad556bc59a554ffe9fc94eac55 [file] [log] [blame]
Angel Pons32859fc2020-04-02 23:48:27 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Kyösti Mälkkie2227a22014-02-05 13:02:55 +02002
3#ifndef _CONSOLE_USB_H_
4#define _CONSOLE_USB_H_
5
Julius Wernera2148372019-11-13 19:50:33 -08006#include <types.h>
Kyösti Mälkkif3390862014-02-26 15:19:04 +02007
Kyösti Mälkkid07f3772017-09-07 19:16:27 +03008void usbdebug_init(void);
Kyösti Mälkki63649d22018-12-29 09:40:40 +02009int usbdebug_hw_init(bool force);
Kyösti Mälkkie2227a22014-02-05 13:02:55 +020010
Kyösti Mälkkiea6736a2014-02-10 00:00:44 +020011void usb_tx_byte(int idx, unsigned char data);
12void usb_tx_flush(int idx);
13unsigned char usb_rx_byte(int idx);
14int usb_can_rx_byte(int idx);
Kyösti Mälkkie2227a22014-02-05 13:02:55 +020015
Julius Wernercd49cce2019-03-05 16:53:33 -080016#define __CONSOLE_USB_ENABLE__ (CONFIG(CONSOLE_USB) && \
17 ((ENV_BOOTBLOCK && CONFIG(USBDEBUG_IN_PRE_RAM)) || \
Arthur Heymansa2bc2542021-05-29 08:10:49 +020018 (ENV_SEPARATE_ROMSTAGE && CONFIG(USBDEBUG_IN_PRE_RAM)) || \
Julius Wernercd49cce2019-03-05 16:53:33 -080019 (ENV_POSTCAR && CONFIG(USBDEBUG_IN_PRE_RAM)) || \
Julius Werner21a40532020-04-21 16:03:53 -070020 (ENV_SEPARATE_VERSTAGE && CONFIG(USBDEBUG_IN_PRE_RAM)) || \
Nico Huberafa9aef2017-05-18 16:12:07 +020021 ENV_RAMSTAGE))
Kyösti Mälkkif3390862014-02-26 15:19:04 +020022
Kyösti Mälkkif2f7f032014-04-04 15:05:28 +030023#define USB_PIPE_FOR_CONSOLE 0
24#define USB_PIPE_FOR_GDB 0
25
Kyösti Mälkkif3390862014-02-26 15:19:04 +020026#if __CONSOLE_USB_ENABLE__
27static inline void __usbdebug_init(void) { usbdebug_init(); }
Lee Leahy6a566d72017-03-07 17:45:12 -080028static inline void __usb_tx_byte(u8 data)
29{
30 usb_tx_byte(USB_PIPE_FOR_CONSOLE, data);
31}
Kyösti Mälkkif2f7f032014-04-04 15:05:28 +030032static inline void __usb_tx_flush(void) { usb_tx_flush(USB_PIPE_FOR_CONSOLE); }
Kyösti Mälkkif3390862014-02-26 15:19:04 +020033#else
34static inline void __usbdebug_init(void) {}
35static inline void __usb_tx_byte(u8 data) {}
36static inline void __usb_tx_flush(void) {}
37#endif
38
Kyösti Mälkkie2227a22014-02-05 13:02:55 +020039#endif /* _CONSOLE_USB_H_ */