Compare commits

..

No commits in common. 'patches' and 'master' have entirely different histories.

@ -101,8 +101,6 @@ nobase_dist_pkgdata_DATA = \
broadcom/bcm6348/bcm6348 \
broadcom/bcm6358/STEPPINGS \
broadcom/bcm6358/bcm6358 \
broadcom/bcm5365/STEPPINGS \
broadcom/bcm5365/bcm5365 \
bsdl/STD_1149_1_1990 \
bsdl/STD_1149_1_1994 \
bsdl/STD_1149_1_2001 \

@ -29,4 +29,3 @@
0100011100010010 bcm4712 BCM4712
0110001101011000 bcm6358 BCM6358
0110001101001000 bcm6348 BCM6348
0101001101100101 bcm5365 BCM5365

@ -1,25 +0,0 @@
#
# $Id: STEPPINGS 599 2004-06-13 18:16:43Z telka $
#
# Copyright (C) 2004 Alan Wallace <aww@adelphia.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
# Written by Alan Wallace <aww@adelphia.net>, 2004.
#
# bits 31-28 of the Device Identification Register
0001 bcm5365 Ver 1

@ -1,47 +0,0 @@
#
# $Id$
#
# JTAG declarations for Broadcom BCM5365
# Copyright (C) 2009 Jochen Friedrich <jochen@scram.de>
# Shamelessly copied from bcm6358
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
register BSR 1
register BR 1
register DIR 32
register EJIMPCODE 32
register EJADDRESS 32
register EJDATA 32
register EJCONTROL 32
register EJALL 96
instruction length 8
instruction EXTEST 00000000 BSR
instruction IDCODE 00000001 DIR
instruction SAMPLE/PRELOAD 00000010 BSR
instruction EJTAG_IMPCODE 00000011 EJIMPCODE
instruction EJTAG_ADDRESS 00001000 EJADDRESS
instruction EJTAG_DATA 00001001 EJDATA
instruction EJTAG_CONTROL 00001010 EJCONTROL
instruction EJTAG_ALL 00001011 EJALL
instruction EJTAGBOOT 00001100 BR
instruction NORMALBOOT 00001101 BR
instruction BYPASS 00011111 BR
initbus ejtag

@ -239,10 +239,6 @@ ejtag_run_pracc (urj_bus_t *bus, const uint32_t *code, unsigned int len)
}
else
{
/* Some older EJTAG 2.0 chips need this */
if (addr == 0)
addr = UINT32_C (0xff200200);
if (addr == UINT32_C (0xff200200) && pass++)
break;

@ -231,9 +231,6 @@ ejtag_dma_write (urj_bus_t *bus, unsigned int addr, unsigned int data, int sz)
}
while (ejctrl->out->data[DstRt] == 1); // This flag tell us the processor has completed the op
if (!timeout)
urj_log (URJ_LOG_LEVEL_NORMAL, "Timeout\n");
urj_part_set_instruction (bus->part, "EJTAG_CONTROL");
urj_tap_chain_shift_instructions (bus->chain);
urj_tap_register_fill (ejctrl->in, 0);
@ -314,9 +311,6 @@ ejtag_dma_read (urj_bus_t *bus, unsigned int addr, int sz)
}
while (ejctrl->out->data[DstRt] == 1); // This flag tell us the processor has completed the op
if (!timeout)
urj_log (URJ_LOG_LEVEL_NORMAL, "Timeout\n");
urj_part_set_instruction (bus->part, "EJTAG_DATA");
urj_tap_chain_shift_instructions (bus->chain);
urj_tap_register_fill (ejdata->in, 0);
@ -472,12 +466,6 @@ ejtag_dma_bus_init (urj_bus_t *bus)
ejctrl->in->data[PerRst] = 0;
urj_tap_chain_shift_data_registers (bus->chain, 0);
// Clear Memory Protection Bit in DCR
urj_log (URJ_LOG_LEVEL_NORMAL, _("Clear memory protection bit in DCR\n"));
unsigned int val = ejtag_dma_read (bus, 0xff300000, DMA_WORD);
ejtag_dma_write (bus, 0xff300000, val & ~(1 << 2), DMA_WORD);
ejctrl->in->data[PrAcc] = 1;
ejctrl->in->data[ProbEn] = 1;
ejctrl->in->data[ProbTrap] = 1;
@ -513,18 +501,13 @@ ejtag_dma_bus_init (urj_bus_t *bus)
urj_tap_chain_shift_data_registers (bus->chain, 1);
}
// Clear watchdog, if any
// Reset the processor
ejctrl->in->data[PrRst] = 1;
ejctrl->in->data[PerRst] = 1;
urj_tap_chain_shift_data_registers (bus->chain, 0);
// Release reset
ejctrl->in->data[PrRst] = 0;
ejctrl->in->data[PerRst] = 0;
urj_tap_chain_shift_data_registers (bus->chain, 0);
// Clear Memory Protection Bit in DCR
urj_log (URJ_LOG_LEVEL_NORMAL, _("Clear memory protection bit in DCR\n"));
unsigned int val = ejtag_dma_read (bus, 0xff300000, DMA_WORD);
ejtag_dma_write (bus, 0xff300000, val & ~(1 << 2), DMA_WORD);
// Clear watchdog, if any
urj_log (URJ_LOG_LEVEL_NORMAL, _("Clear Watchdog\n"));
ejtag_dma_write (bus, 0xb8000080, 0, DMA_WORD);

@ -188,16 +188,6 @@
#define BITMASK_FLYSWATTER_nOE1 (1 << BIT_FLYSWATTER_nOE1)
#define BITMASK_FLYSWATTER_nOE2 (1 << BIT_FLYSWATTER_nOE2)
/* bit and bitmask definitions for HULUG board*/
#define BIT_HULUG_nLED2 1
#define BIT_HULUG_nLED3 3
#define BIT_HULUG_nTRST 4
#define BIT_HULUG_nSRST 6
#define BITMASK_HULUG_nLED2 (1 << BIT_HULUG_nLED2)
#define BITMASK_HULUG_nLED3 (1 << BIT_HULUG_nLED3)
#define BITMASK_HULUG_nTRST (1 << BIT_HULUG_nTRST)
#define BITMASK_HULUG_nSRST (1 << BIT_HULUG_nSRST)
/* --- Bit and bitmask definitions for usbScarab2 --- */
/* usbScarabeus2 is a design of Krzysztof Kajstura ( http://www.kristech.eu ). */
/* UrJTAG support added by Tomek Cedro ( http://www.tomek.cedro.info ) */
@ -848,50 +838,6 @@ ft2232_flyswatter_init (urj_cable_t *cable)
return URJ_STATUS_OK;
}
static int
ft2232_hulug_init (urj_cable_t *cable)
{
params_t *params = (params_t *) cable->params;
urj_tap_cable_cx_cmd_root_t *cmd_root = &(params->cmd_root);
if (urj_tap_usbconn_open (cable->link.usb) != URJ_STATUS_OK)
return URJ_STATUS_FAIL;
/* static low byte value and direction:
nTRST = 1, nSRST = 1 (ADBUS5 inverted) */
params->low_byte_value = BITMASK_HULUG_nTRST;
params->low_byte_dir = BITMASK_HULUG_nTRST | BITMASK_HULUG_nSRST;
/* Set Data Bits Low Byte
TCK = 0, TMS = 1, TDI = 0 */
urj_tap_cable_cx_cmd_queue (cmd_root, 0);
urj_tap_cable_cx_cmd_push (cmd_root, SET_BITS_LOW);
urj_tap_cable_cx_cmd_push (cmd_root,
params->low_byte_value | BITMASK_TMS);
urj_tap_cable_cx_cmd_push (cmd_root,
params->low_byte_dir | BITMASK_TCK
| BITMASK_TDI | BITMASK_TMS);
/* Set Data Bits High Byte */
/* Turn LED3 on */
params->high_byte_value = BITMASK_HULUG_nLED3;
params->high_byte_dir = BITMASK_HULUG_nLED2 | BITMASK_HULUG_nLED3;
urj_tap_cable_cx_cmd_push (cmd_root, SET_BITS_HIGH);
urj_tap_cable_cx_cmd_push (cmd_root, params->high_byte_value);
urj_tap_cable_cx_cmd_push (cmd_root, params->high_byte_dir);
ft2232_set_frequency (cable, FT2232_MAX_TCK_FREQ);
params->bit_trst = BIT_HULUG_nTRST; /* member of LOW byte */
params->bit_reset = BIT_HULUG_nSRST; /* member of LOW byte */
params->last_tdo_valid = 0;
params->signals = URJ_POD_CS_TRST | URJ_POD_CS_RESET;
return URJ_STATUS_OK;
}
static int
ft2232_usbscarab2_init (urj_cable_t *cable)
{
@ -1392,33 +1338,6 @@ ft2232_flyswatter_done (urj_cable_t *cable)
urj_tap_cable_generic_usbconn_done (cable);
}
static void
ft2232_hulug_done (urj_cable_t *cable)
{
params_t *params = (params_t *) cable->params;
urj_tap_cable_cx_cmd_root_t *cmd_root = &(params->cmd_root);
/* Set Data Bits Low Byte
disable output drivers */
urj_tap_cable_cx_cmd_queue (cmd_root, 0);
urj_tap_cable_cx_cmd_push (cmd_root, SET_BITS_LOW);
/* Set Data Bits Low Byte
set all to input */
urj_tap_cable_cx_cmd_push (cmd_root, SET_BITS_LOW);
urj_tap_cable_cx_cmd_push (cmd_root, 0);
/* Set Data Bits High Byte
set all to input */
urj_tap_cable_cx_cmd_push (cmd_root, SET_BITS_HIGH);
urj_tap_cable_cx_cmd_push (cmd_root, BITMASK_HULUG_nLED2);
urj_tap_cable_cx_cmd_push (cmd_root, 0);
urj_tap_cable_cx_xfer (cmd_root, &imm_cmd, cable,
URJ_TAP_CABLE_COMPLETELY);
urj_tap_cable_generic_usbconn_done (cable);
}
static void
ft2232_usbscarab2_done (urj_cable_t *cable)
{
@ -2440,26 +2359,6 @@ const urj_cable_driver_t urj_tap_cable_ft2232_flyswatter_driver = {
};
URJ_DECLARE_FTDX_CABLE(0x0403, 0x6010, "-mpsse", "Flyswatter", flyswatter)
const urj_cable_driver_t urj_tap_cable_ft2232_hulug_driver = {
"HULUG",
N_("HULUG (FT2232) Cable"),
URJ_CABLE_DEVICE_USB,
{ .usb = ft2232_connect, },
urj_tap_cable_generic_disconnect,
ft2232_cable_free,
ft2232_hulug_init,
ft2232_hulug_done,
ft2232_set_frequency,
ft2232_clock,
ft2232_get_tdo,
ft2232_transfer,
ft2232_set_signal,
urj_tap_cable_generic_get_signal,
ft2232_flush,
ftdx_usbcable_help
};
URJ_DECLARE_FTDX_CABLE(0x0403, 0x6010, "-mpsse", "HULUG", hulug)
const urj_cable_driver_t urj_tap_cable_ft2232_usbscarab2_driver = {
"usbScarab2",
N_("KrisTech usbScarabeus2 (FT2232) Cable"),

@ -51,7 +51,6 @@ _URJ_USB_FTDX(armusbtiny_h)
_URJ_USB_FTDX(flyswatter)
_URJ_USB_FTDX(gnice)
_URJ_USB_FTDX(gniceplus)
_URJ_USB_FTDX(hulug)
_URJ_USB_FTDX(jtagkey)
_URJ_USB_FTDX(milkymist)
_URJ_USB_FTDX(oocdlinks)

@ -50,7 +50,6 @@ _URJ_CABLE(ft2232)
_URJ_CABLE(ft2232_armusbocd)
_URJ_CABLE(ft2232_armusbtiny_h)
_URJ_CABLE(ft2232_flyswatter)
_URJ_CABLE(ft2232_hulug)
_URJ_CABLE(ft2232_gnice)
_URJ_CABLE(ft2232_gniceplus)
_URJ_CABLE(ft2232_jtagkey)

Loading…
Cancel
Save