jtag/drivers: Add support for CH347-based JTAG adapters
This adds general support for JTAG adapters based on the WCH CH347T and CH347F chips. The CH347T must be configured in mode 3 to provide both UART and JTAG interfaces. The CH347F exposes UART and JTAG directly. Similar to FTDI FT2232-based devices, the CH347T/F can be used for simultaneous UART and JTAG communication. The ch347 driver code is based on: https://github.com/WCHSoftGroup/ch347 Bug fixes and adjustments were made to align the code with OpenOCD style and ensure compatibility. The driver was integrated into the OpenOCD build system. The USB packet format was identified using public GitHub sources and documented here: https://www.easydevkits.com/wch-ch347-jtag-interface/ Change-Id: I5fca9dd015111e4410fea029611fdeedbb228fdb Signed-off-by: EasyDevKits <info@easydevkits.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7937 Tested-by: jenkins Reviewed-by: ZhiYuanNJ <871238103@qq.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
@@ -208,6 +208,9 @@ endif
|
||||
if AM335XGPIO
|
||||
DRIVERFILES += %D%/am335xgpio.c
|
||||
endif
|
||||
if CH347
|
||||
DRIVERFILES += %D%/ch347.c
|
||||
endif
|
||||
|
||||
DRIVERHEADERS = \
|
||||
%D%/bitbang.h \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -379,6 +379,7 @@ extern struct adapter_driver armjtagew_adapter_driver;
|
||||
extern struct adapter_driver at91rm9200_adapter_driver;
|
||||
extern struct adapter_driver bcm2835gpio_adapter_driver;
|
||||
extern struct adapter_driver buspirate_adapter_driver;
|
||||
extern struct adapter_driver ch347_adapter_driver;
|
||||
extern struct adapter_driver cmsis_dap_adapter_driver;
|
||||
extern struct adapter_driver dmem_dap_adapter_driver;
|
||||
extern struct adapter_driver dummy_adapter_driver;
|
||||
|
||||
@@ -159,6 +159,8 @@ struct adapter_driver *adapter_drivers[] = {
|
||||
&xlnx_pcie_xvc_adapter_driver,
|
||||
&xlnx_axi_xvc_adapter_driver,
|
||||
#endif
|
||||
|
||||
#if BUILD_CH347 == 1
|
||||
&ch347_adapter_driver,
|
||||
#endif
|
||||
NULL,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user