drivers/vdebug: add support for DAP level interface
[fw/openocd] / src / jtag / drivers / jtag_dpi.c
index ceb6628bb5fd89f707fa0c098e5dcccf568e78fb..78d4e33e17f33135feee967d3b23d330d6a194e7 100644 (file)
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /*
  * JTAG to DPI driver
  *
@@ -7,19 +9,6 @@
  *
  * See file CREDITS for list of people who contributed to this
  * project.
- *
- * 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, see <http://www.gnu.org/licenses/>.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -238,7 +227,7 @@ static int jtag_dpi_execute_queue(void)
        struct jtag_command *cmd;
        int ret = ERROR_OK;
 
-       for (cmd = jtag_command_queue; ret == ERROR_OK && cmd != NULL;
+       for (cmd = jtag_command_queue; ret == ERROR_OK && cmd;
             cmd = cmd->next) {
                switch (cmd->type) {
                case JTAG_RUNTEST:
@@ -373,16 +362,16 @@ COMMAND_HANDLER(jtag_dpi_set_address)
        return ERROR_OK;
 }
 
-static const struct command_registration jtag_dpi_command_handlers[] = {
+static const struct command_registration jtag_dpi_subcommand_handlers[] = {
        {
-               .name = "jtag_dpi_set_port",
+               .name = "set_port",
                .handler = &jtag_dpi_set_port,
                .mode = COMMAND_CONFIG,
                .help = "set the port of the DPI server",
                .usage = "[port]",
        },
        {
-               .name = "jtag_dpi_set_address",
+               .name = "set_address",
                .handler = &jtag_dpi_set_address,
                .mode = COMMAND_CONFIG,
                .help = "set the address of the DPI server",
@@ -391,6 +380,17 @@ static const struct command_registration jtag_dpi_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
+static const struct command_registration jtag_dpi_command_handlers[] = {
+       {
+               .name = "jtag_dpi",
+               .mode = COMMAND_ANY,
+               .help = "perform jtag_dpi management",
+               .chain = jtag_dpi_subcommand_handlers,
+               .usage = "",
+       },
+       COMMAND_REGISTRATION_DONE
+};
+
 static struct jtag_interface jtag_dpi_interface = {
        .supported = DEBUG_CAP_TMS_SEQ,
        .execute_queue = jtag_dpi_execute_queue,