| ## SPDX-License-Identifier: GPL-2.0-only |
| |
| # Use "select HAVE_USBDEBUG" on southbridges which have Debug Port code. |
| config HAVE_USBDEBUG |
| bool |
| default y if HAVE_USBDEBUG_OPTIONS |
| default n |
| |
| # Use "select HAVE_USBDEBUG_OPTIONS" on southbridges with multiple |
| # EHCI controllers or multiple ports with Debug Port capability |
| config HAVE_USBDEBUG_OPTIONS |
| def_bool n |
| |
| config USBDEBUG |
| bool "USB 2.0 EHCI debug dongle support" |
| default n |
| depends on HAVE_USBDEBUG |
| help |
| This option allows you to use a so-called USB EHCI Debug device |
| (such as the Ajays NET20DC, AMIDebug RX, or a system using the |
| Linux "EHCI Debug Device gadget" driver found in recent kernel) |
| to retrieve the coreboot debug messages (instead, or in addition |
| to, a serial port). |
| |
| This feature is NOT supported on all chipsets in coreboot! |
| |
| It also requires a USB2 controller which supports the EHCI |
| Debug Port capability. |
| |
| See https://www.coreboot.org/EHCI_Debug_Port for an up-to-date list |
| of supported controllers. |
| |
| If unsure, say N. |
| |
| if USBDEBUG |
| |
| config USBDEBUG_IN_PRE_RAM |
| bool "Enable early (pre-RAM) usbdebug" |
| default y |
| help |
| Configuring USB controllers in system-agent binary may cause |
| problems to usbdebug. Disabling this option delays usbdebug to |
| be setup on entry to ramstage. |
| |
| If unsure, say Y. |
| |
| config USBDEBUG_HCD_INDEX |
| int |
| default 0 |
| prompt "Index for EHCI controller to use with usbdebug" if HAVE_USBDEBUG_OPTIONS |
| help |
| Some boards have multiple EHCI controllers with possibly only |
| one having the Debug Port capability on an external USB port. |
| |
| Mapping of this index to PCI device functions is southbridge |
| specific and mainboard level Kconfig should already provide |
| a working default value here. |
| |
| config USBDEBUG_DEFAULT_PORT |
| int |
| default 0 |
| prompt "Default USB port to use as Debug Port" if HAVE_USBDEBUG_OPTIONS |
| help |
| Selects which physical USB port usbdebug dongle is connected to. |
| Setting of 0 means to scan possible ports starting from 1. |
| |
| Intel platforms have hardwired the debug port location and this |
| setting makes no difference there. |
| |
| Hence, if you select the correct port here, you can speed up |
| your boot time. Which USB port number refers to which actual |
| port on your mainboard (potentially also USB pin headers on |
| your mainboard) is highly board-specific, and you'll likely |
| have to find out by trial-and-error. |
| |
| choice |
| prompt "Type of dongle" |
| default USBDEBUG_DONGLE_STD |
| |
| config USBDEBUG_DONGLE_STD |
| bool "USB gadget driver or Net20DC" |
| help |
| Net20DC, BeagleBone Black, Raspberry Pi Zero W |
| |
| config USBDEBUG_DONGLE_BEAGLEBONE |
| bool "BeagleBone (not BeagleBone Black)" |
| help |
| Use this to configure the USB hub on BeagleBone board. |
| Do NOT select this for the BeagleBone Black. |
| |
| config USBDEBUG_DONGLE_FTDI_FT232H |
| bool "FTDI FT232H UART" |
| help |
| Use this with FT232H usb-to-uart. Configuration is hard-coded |
| to use 8n1, no flow control. |
| |
| config USBDEBUG_DONGLE_WCH_CH347 |
| bool "WCH CH347 UART" |
| help |
| Use this with CH347 usb-to-uart. Configuration is hard-coded |
| to use 8n1, no flow control. For compatibility across modes |
| 0, 1, and 3, only UART 1 is supported. The UART in mode 2 is |
| not currently supported. |
| |
| endchoice |
| |
| config USBDEBUG_DONGLE_FTDI_FT232H_BAUD |
| int "FTDI FT232H baud rate" |
| default 115200 |
| depends on USBDEBUG_DONGLE_FTDI_FT232H |
| help |
| Select baud rate for FT232H in the range 733..12,000,000. Make |
| sure that your receiving side supports the same setting and your |
| connection works with it. Multiples of 115,200 seem to be a good |
| choice, and EHCI debug usually can't saturate more than 576,000. |
| |
| config USBDEBUG_DONGLE_WCH_CH347_BAUD |
| int "WCH CH347 baud rate" |
| default 115200 |
| depends on USBDEBUG_DONGLE_WCH_CH347 |
| help |
| Select baud rate for CH347 in the range 1200..9,000,000. Make |
| sure that your receiving side supports the same setting and your |
| connection works with it. Multiples of 115,200 seem to be a good |
| choice, and EHCI debug usually can't saturate more than 576,000. |
| |
| config USBDEBUG_OPTIONAL_HUB_PORT |
| int |
| default 2 if USBDEBUG_DONGLE_BEAGLEBONE |
| default 0 |
| |
| endif # USBDEBUG |