# SPDX-License-Identifier: GPL-2.0-or-later

# FTDI USB Hi-Speed to MPSSE Cable
#
# http://www.ftdichip.com/Products/Cables/USBMPSSE.htm
#
# C232HM-DDHSL-0 and C232HM-EDSL-0 provide 3.3V and 5V on pin 1 (Red),
# respectively.
#
# Adapter: http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_C232HM_MPSSE_CABLE.PDF
# Chip: http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf
# See pinout/colors at end of this file.
#
# Tech notes:
# http://www.ftdichip.com/Support/Documents/AppNotes/AN_135_MPSSE_Basics.pdf
# http://www.ftdichip.com/Support/Documents/AppNotes/AN_129_FTDI_Hi_Speed_USB_To_JTAG_Example.pdf

adapter driver ftdi
#ftdi device_desc "C232HM-DDHSL-0"
#ftdi device_desc "C232HM-EDHSL-0"

# Common PID for FT232H
ftdi vid_pid 0x0403 0x6014

# Layout
# High data byte 0x40 configures red LED on ACBUS6 initially high (unlit, since active-low)
# Low data byte 0x08 configures TMS on ACBUS3 initially high (asserted); TCK, TDI low
# High direction byte 0x40 configures red LED on ACBUS6 as high (output)
# Low direction byte 0x0b configures TDO on ACBUS2 as low (input)
ftdi layout_init 0x4008 0x400b

# ---A*BUS-------CCCCCCCC|DDDDDDDD
# --------\______76543210|76543210
# LED	0x4000 = 01000000|00000000 = ACBUS6
#GPIOL0	0x0010 = 00000000|00010000 = ADBUS4
#GPIOL1	0x0020 = 00000000|00100000 = ADBUS5
#GPIOL2	0x0040 = 00000000|01000000 = ADBUS6
#GPIOL3	0x0080 = 00000000|10000000 = ADBUS7
# -ndata treats the LED as active-low for expected behavior (toggle when transferring)
ftdi layout_signal LED -ndata 0x4000
# Available for aliasing as desired
ftdi layout_signal GPIOL0 -data 0x0010 -oe 0x0010
ftdi layout_signal GPIOL1 -data 0x0020 -oe 0x0020
ftdi layout_signal GPIOL2 -data 0x0040 -oe 0x0040
ftdi layout_signal GPIOL3 -data 0x0080 -oe 0x0080

# C232HM		FT232H	JTAG/Other
# Num	Color	Name	Func
# 1		Red		VCC		Optionally, can power the board if it is not using its own power supply.
# 2		Orange	ADBUS0	TCK
# 3		Yellow  ADBUS1	TDI
# 4		Green	ADBUS2	TDO
# 5		Brown   ADBUS3	TMS
# 6		Grey	ADBUS4	GPIOL0
# 7		Purple	ADBUS5	GPIOL1
# 8		White	ADBUS6	GPIOL2
# 9		Blue	ADBUS7	GPIOL3
# 10	Black	GND		Connect to ground
