jtag: linuxgpiod: drop extra parenthesis
[openocd.git] / src / target / arc_jtag.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 /***************************************************************************
4 * Copyright (C) 2013-2014,2019-2020 Synopsys, Inc. *
5 * Frank Dols <frank.dols@synopsys.com> *
6 * Mischa Jonker <mischa.jonker@synopsys.com> *
7 * Anton Kolesov <anton.kolesov@synopsys.com> *
8 * Evgeniy Didin <didin@synopsys.com> *
9 ***************************************************************************/
10
11 #ifndef OPENOCD_TARGET_ARC_JTAG_H
12 #define OPENOCD_TARGET_ARC_JTAG_H
13
14 #define ARC_TRANSACTION_CMD_REG 0x9 /* Command to perform */
15 #define ARC_TRANSACTION_CMD_REG_LENGTH 4
16
17 /* Jtag status register, value is placed in IR to read jtag status register */
18 #define ARC_JTAG_STATUS_REG 0x8
19 #define ARC_JTAG_ADDRESS_REG 0xA /* SoC address to access */
20 #define ARC_JTAG_DATA_REG 0xB /* Data read/written from SoC */
21
22 /* Jtag status register field */
23 #define ARC_JTAG_STAT_RU 0x10
24
25 /* ARC Jtag transactions */
26 #define ARC_JTAG_WRITE_TO_MEMORY 0x0
27 #define ARC_JTAG_WRITE_TO_CORE_REG 0x1
28 #define ARC_JTAG_WRITE_TO_AUX_REG 0x2
29 #define ARC_JTAG_CMD_NOP 0x3
30 #define ARC_JTAG_READ_FROM_MEMORY 0x4
31 #define ARC_JTAG_READ_FROM_CORE_REG 0x5
32 #define ARC_JTAG_READ_FROM_AUX_REG 0x6
33
34 #define ARC_JTAG_CORE_REG 0x0
35 #define ARC_JTAG_AUX_REG 0x1
36
37
38 struct arc_jtag {
39 struct jtag_tap *tap;
40 uint32_t cur_trans;
41 };
42
43 /* ----- Exported JTAG functions ------------------------------------------- */
44
45 int arc_jtag_startup(struct arc_jtag *jtag_info);
46 int arc_jtag_status(struct arc_jtag *const jtag_info, uint32_t *const value);
47
48 int arc_jtag_write_core_reg(struct arc_jtag *jtag_info, uint32_t *addr,
49 uint32_t count, const uint32_t *buffer);
50 int arc_jtag_read_core_reg(struct arc_jtag *jtag_info, uint32_t *addr,
51 uint32_t count, uint32_t *buffer);
52 int arc_jtag_write_core_reg_one(struct arc_jtag *jtag_info, uint32_t addr,
53 const uint32_t buffer);
54 int arc_jtag_read_core_reg_one(struct arc_jtag *jtag_info, uint32_t addr,
55 uint32_t *buffer);
56
57 int arc_jtag_write_aux_reg(struct arc_jtag *jtag_info, uint32_t *addr,
58 uint32_t count, const uint32_t *buffer);
59 int arc_jtag_write_aux_reg_one(struct arc_jtag *jtag_info, uint32_t addr,
60 uint32_t value);
61 int arc_jtag_read_aux_reg(struct arc_jtag *jtag_info, uint32_t *addr,
62 uint32_t count, uint32_t *buffer);
63 int arc_jtag_read_aux_reg_one(struct arc_jtag *jtag_info, uint32_t addr,
64 uint32_t *value);
65
66 int arc_jtag_write_memory(struct arc_jtag *jtag_info, uint32_t addr,
67 uint32_t count, const uint32_t *buffer);
68 int arc_jtag_read_memory(struct arc_jtag *jtag_info, uint32_t addr,
69 uint32_t count, uint32_t *buffer, bool slow_memory);
70 #endif /* OPENOCD_TARGET_ARC_JTAG_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)