jtag: constify driver arrays
[fw/openocd] / src / jtag / drivers / parport.c
index 793b28f3b8361857732c8719acd1bf531d9d3c83..ff75859518a30054d5e31f80802ff69b400d1ad5 100644 (file)
@@ -18,7 +18,7 @@
  *   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.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -60,7 +60,7 @@
 /* parallel port cable description
  */
 struct cable {
-       char *name;
+       const char *name;
        uint8_t TDO_MASK;       /* status port bit containing current TDO value */
        uint8_t TRST_MASK;      /* data port bit for TRST */
        uint8_t TMS_MASK;       /* data port bit for TMS */
@@ -74,7 +74,7 @@ struct cable {
        uint8_t LED_MASK;       /* data port bit for LED */
 };
 
-static struct cable cables[] = {
+static const struct cable cables[] = {
        /* name                         tdo   trst  tms   tck   tdi   srst  o_inv i_inv init  exit  led */
        { "wiggler",                    0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x80, 0x00 },
        { "wiggler2",                   0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x00, 0x20 },
@@ -95,6 +95,7 @@ static struct cable cables[] = {
        SOFT TDI - Target SRST
 */
        { "altium",                     0x10, 0x20, 0x04, 0x02, 0x01, 0x80, 0x00, 0x00, 0x10, 0x00, 0x08 },
+       { "aspo",                       0x10, 0x01, 0x04, 0x08, 0x02, 0x10, 0x17, 0x00, 0x17, 0x17, 0x00 },
        { NULL,                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
 };
 
@@ -107,7 +108,7 @@ static int wait_states;
 
 /* interface variables
  */
-static struct cable *cable;
+static const struct cable *cable;
 static uint8_t dataport_value;
 
 #if PARPORT_USE_PPDEV == 1
@@ -261,7 +262,7 @@ static struct bitbang_interface parport_bitbang = {
 
 static int parport_init(void)
 {
-       struct cable *cur_cable;
+       const struct cable *cur_cable;
 #if PARPORT_USE_PPDEV == 1
        char buffer[256];
 #endif
@@ -452,8 +453,13 @@ COMMAND_HANDLER(parport_handle_parport_toggling_time_command)
 
                parport_toggling_time_ns = ns;
                retval = jtag_get_speed(&wait_states);
-               if (retval != ERROR_OK)
-                       return retval;
+               if (retval != ERROR_OK) {
+                       /* if jtag_get_speed fails then the clock_mode
+                        * has not been configured, this happens if parport_toggling_time is
+                        * called before the adapter speed is set */
+                       LOG_INFO("no parport speed set - defaulting to zero wait states");
+                       wait_states = 0;
+               }
        }
 
        command_print(CMD_CTX, "parport toggling time = %" PRIu32 " ns",