- str9xpec driver now working with new jtag tap config
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Dec 2008 17:38:37 +0000 (17:38 +0000)
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Dec 2008 17:38:37 +0000 (17:38 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1204 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/flash/str9xpec.c
src/flash/str9xpec.h

index 662cdc5be3739f5c2615dc15a22a51ceaa72973a..9dad28720859b93be7712f9e11572d46654507f2 100644 (file)
@@ -349,13 +349,10 @@ int str9xpec_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, ch
        armv4_5 = bank->target->arch_info;
        arm7_9 = armv4_5->arch_info;
        jtag_info = &arm7_9->jtag_info;
-
        
-
        str9xpec_info->tap = jtag_TapByAbsPosition( jtag_info->tap->abs_chain_position - 1);
        str9xpec_info->isc_enable = 0;
-
-
+       
        str9xpec_build_block_list(bank);
 
        /* clear option byte register */
@@ -1265,13 +1262,8 @@ int str9xpec_handle_flash_unlock_command(struct command_context_s *cmd_ctx, char
 
 int str9xpec_handle_flash_enable_turbo_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
-#if 1
-       command_print( cmd_ctx, "**STR9FLASH is currently broken :-( **");
-       return ERROR_OK;
-#else
        int retval;
        flash_bank_t *bank;
-       jtag_tap_t *tapX;
        jtag_tap_t *tap0;
        jtag_tap_t *tap1;
        jtag_tap_t *tap2;
@@ -1292,40 +1284,33 @@ int str9xpec_handle_flash_enable_turbo_command(struct command_context_s *cmd_ctx
 
        str9xpec_info = bank->driver_priv;
 
-       tapX = str9xpec_info->tap;
+       tap0 = str9xpec_info->tap;
 
        /* remove arm core from chain - enter turbo mode */
-       //
-       // At postion +2 in the chain, 
-       // I do not think this is right..
-       // I have not tested it...
-       // and it is a bit wacky right now.
-       // -- Duane 25/nov/2008
-       tap0 = tapX;
        tap1 = tap0->next_tap;
-       if( tap1 == NULL ){
-               // things are *WRONG*
+       if (tap1 == NULL)
+       {
+               /* things are *WRONG* */
                command_print(cmd_ctx,"**STR9FLASH** (tap1) invalid chain?");
                return ERROR_OK;
        }
        tap2 = tap1->next_tap;
-       if( tap2 == NULL ){
-               // things are *WRONG*
+       if (tap2 == NULL)
+       {
+               /* things are *WRONG* */
                command_print(cmd_ctx,"**STR9FLASH** (tap2) invalid chain?");
                return ERROR_OK;
        }
 
-       // this instruction disables the arm9 tap
+       /* enable turbo mode - TURBO-PROG-ENABLE */
        str9xpec_set_instr(tap2, 0xD, TAP_RTI);
-       if ((retval=jtag_execute_queue())!=ERROR_OK)
+       if ((retval = jtag_execute_queue()) != ERROR_OK)
                return retval;
 
        /* modify scan chain - str9 core has been removed */
-       str9xpec_info->devarm = tap1;
        tap1->enabled = 0;
-
+       
        return ERROR_OK;
-#endif
 }
 
 int str9xpec_handle_flash_disable_turbo_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
@@ -1348,18 +1333,17 @@ int str9xpec_handle_flash_disable_turbo_command(struct command_context_s *cmd_ct
        }
 
        str9xpec_info = bank->driver_priv;
-
        tap = str9xpec_info->tap;
 
        if (tap == NULL)
                return ERROR_FAIL;
-
-
+       
        /* exit turbo mode via TLR */
        str9xpec_set_instr(tap, ISC_NOOP, TAP_TLR);
        jtag_execute_queue();
+       
        /* restore previous scan chain */
-       if( tap->next_tap ){
+       if (tap->next_tap) {
                tap->next_tap->enabled = 1;
        }
 
index de19b625d5be06116d445f0bd278f63576d466d5..7796026f7507d33e4e3b27832f03d3222958157c 100644 (file)
@@ -78,4 +78,3 @@ enum str9xpec_status_codes
 #define STR9XPEC_OPT_OTPBIT                    63
 
 #endif /* STR9XPEC_H */
-

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)