This is an automated email from Gerrit.

Roger Lendenmann ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/4075

-- gerrit

commit 2caa41793e3a66e9a0800b717a5ecb4983d79fa9
Author: Roger Lendenmann <[email protected]>
Date:   Mon Mar 20 15:20:59 2017 +0100

    jtag: swd: Add support for adafruit ft232h TDO tri-stating
    
     * dynamically switch TDO depending on write/read operation
     * adafruit FT232 breakout board configuration files for SWD support
     * nrf52 adafruit board config for swd
    
    Change-Id: I385f1b3b94a3ddbb84e3fb0c4ff67278aa89d3ce
    Signed-off-by: Roger Lendenmann <[email protected]>

diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c
index 00fe37f..ff20139 100644
--- a/src/jtag/drivers/ftdi.c
+++ b/src/jtag/drivers/ftdi.c
@@ -1062,7 +1062,13 @@ static int ftdi_swd_init(void)
 
 static void ftdi_swd_swdio_en(bool enable)
 {
+       struct signal *tdo = find_signal_by_name("TDO");
        struct signal *oe = find_signal_by_name("SWDIO_OE");
+
+       /* In case TDO is directly connected, switch to output write operation
+          or tri-state (input) output pin for read swd operation */
+       if (tdo && (tdo->oe_mask == tdo->data_mask))
+               ftdi_set_signal(tdo, enable ? '1' : 'z');
        if (oe)
                ftdi_set_signal(oe, enable ? '1' : '0');
 }
diff --git a/tcl/board/nordic_nrf52_adafruit.cfg 
b/tcl/board/nordic_nrf52_adafruit.cfg
new file mode 100644
index 0000000..edd8886
--- /dev/null
+++ b/tcl/board/nordic_nrf52_adafruit.cfg
@@ -0,0 +1,9 @@
+#
+# nordic module NRF52 (nRF52832/52840) attached to an adafruit ft232h board
+#
+
+source [find interface/ftdi/adafruit-ft232h-swd.cfg]
+
+transport select swd
+
+source [find target/nrf52.cfg]
diff --git a/tcl/interface/ftdi/adafruit-ft232h-swd.cfg 
b/tcl/interface/ftdi/adafruit-ft232h-swd.cfg
new file mode 100644
index 0000000..ba324b7
--- /dev/null
+++ b/tcl/interface/ftdi/adafruit-ft232h-swd.cfg
@@ -0,0 +1,44 @@
+#
+# ADAFRUIT FTDI FT232H as a SWD direct connect interface
+#
+# http://www.ftdichip.com/Products/ICs/FT232H.htm
+#
+#
+
+interface ftdi
+
+ftdi_vid_pid 0x0403 0x6014
+
+ftdi_layout_signal SWD_EN -data 0
+
+# data MSB..LSB       direction (1:out) MSB..LSB
+# 0000'0000'0011'1100 0000'0011'0001'1011
+ftdi_layout_init 0x031a 0x031b
+# 0xfff8 0xfffb
+#ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100
+#ftdi_layout_signal nSRST -data 0x0200
+
+# re-configure TDO as tri-state
+ftdi_layout_signal TDO -data 0x0002 -oe 0x0002
+ftdi_layout_signal TDI -data 0x0004
+
+# Adafruit      FT232H    JTAG       SWD
+# Name  Pin     Name      Func       Func
+#  D0   J1-3    ADBUS0    TCK        SWDCLK
+#  D1   J1-4    ADBUS1    TDO/DI     SWDIO
+#  D2   J1-5    ADBUS2    TDI/DO     SWDIO
+#  D3   J1-6    ADBUS3    TMS        N/A
+#  D4   J1-7    ADBUS4    (GPIOL0)
+#  D5   J1-8    ADBUS5    (GPIOL1)
+#  D6   J1-9    ADBUS6    (GPIOL2)
+#  D7   J1-10   ADBUS7    (GPIOL3)
+#  C0   J2-1    ACBUS0    /TRST      not used
+#  C1   J2-2    ACBUS1    /SRST      module reset
+#  C2   J2-3    ACBUS2    (GPIOH2)
+#  C3   J2-4    ACBUS3    (GPIOH3)
+#  C4   J2-5    ACBUS4    (GPIOH4)
+#  C5   J2-6    ACBUS5    (GPIOH5)
+#  C6   J2-7    ACBUS6    (GPIOH6)
+#  C7   J2-8    ACBUS7    (GPIOH7)
+#  C8   J2-9    ACBUS8
+#  C9   J2-10   ACBUS9

-- 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to