drivers/bcm2835gpio: Group adapter commands 96/6396/3
authorMarc Schink <dev@zapb.de>
Fri, 30 Jul 2021 16:29:01 +0000 (18:29 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 14 Aug 2021 12:35:11 +0000 (13:35 +0100)
Use a command group 'bcm2835gpio' with subcommands instead of individual
commands with 'bcm2835gpio_' prefix.

The old commands are still available for backward compatibility but
marked as deprecated.

Change-Id: I8f7b14273b1b2813ac3c9704605d175fa2053008
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/6396
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
doc/openocd.texi
src/jtag/drivers/bcm2835gpio.c
src/jtag/startup.tcl

index aec6bbe4fc6c684e946616bfebfe034ab8ded812..5aab4ba1df0b6adde60c6b53ec3aa81a218209ae 100644 (file)
@@ -3197,67 +3197,67 @@ configuration on exit.
 See @file{interface/raspberrypi-native.cfg} for a sample config and
 pinout.
 
-@deffn {Config Command} {bcm2835gpio_jtag_nums} @var{tck} @var{tms} @var{tdi} @var{tdo}
+@deffn {Config Command} {bcm2835gpio jtag_nums} @var{tck} @var{tms} @var{tdi} @var{tdo}
 Set JTAG transport GPIO numbers for TCK, TMS, TDI, and TDO (in that order).
 Must be specified to enable JTAG transport. These pins can also be specified
 individually.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_tck_num} @var{tck}
+@deffn {Config Command} {bcm2835gpio tck_num} @var{tck}
 Set TCK GPIO number. Must be specified to enable JTAG transport. Can also be
-specified using the configuration command bcm2835gpio_jtag_nums.
+specified using the configuration command @command{bcm2835gpio jtag_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_tms_num} @var{tms}
+@deffn {Config Command} {bcm2835gpio tms_num} @var{tms}
 Set TMS GPIO number. Must be specified to enable JTAG transport. Can also be
-specified using the configuration command bcm2835gpio_jtag_nums.
+specified using the configuration command @command{bcm2835gpio jtag_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_tdo_num} @var{tdo}
+@deffn {Config Command} {bcm2835gpio tdo_num} @var{tdo}
 Set TDO GPIO number. Must be specified to enable JTAG transport. Can also be
-specified using the configuration command bcm2835gpio_jtag_nums.
+specified using the configuration command @command{bcm2835gpio jtag_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_tdi_num} @var{tdi}
+@deffn {Config Command} {bcm2835gpio tdi_num} @var{tdi}
 Set TDI GPIO number. Must be specified to enable JTAG transport. Can also be
-specified using the configuration command bcm2835gpio_jtag_nums.
+specified using the configuration command @command{bcm2835gpio jtag_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_swd_nums} @var{swclk} @var{swdio}
+@deffn {Config Command} {bcm2835gpio swd_nums} @var{swclk} @var{swdio}
 Set SWD transport GPIO numbers for SWCLK and SWDIO (in that order). Must be
 specified to enable SWD transport. These pins can also be specified individually.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_swclk_num} @var{swclk}
+@deffn {Config Command} {bcm2835gpio swclk_num} @var{swclk}
 Set SWCLK GPIO number. Must be specified to enable SWD transport. Can also be
-specified using the configuration command bcm2835gpio_swd_nums.
+specified using the configuration command @command{bcm2835gpio swd_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_swdio_num} @var{swdio}
+@deffn {Config Command} {bcm2835gpio swdio_num} @var{swdio}
 Set SWDIO GPIO number. Must be specified to enable SWD transport. Can also be
-specified using the configuration command bcm2835gpio_swd_nums.
+specified using the configuration command @command{bcm2835gpio swd_nums}.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_swdio_dir_num} @var{swdio} @var{dir}
+@deffn {Config Command} {bcm2835gpio swdio_dir_num} @var{swdio} @var{dir}
 Set SWDIO direction control pin GPIO number. If specified, this pin can be used
 to control the direction of an external buffer on the SWDIO pin (set=output
 mode, clear=input mode). If not specified, this feature is disabled.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_srst_num} @var{srst}
+@deffn {Config Command} {bcm2835gpio srst_num} @var{srst}
 Set SRST GPIO number. Must be specified to enable SRST.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_trst_num} @var{trst}
+@deffn {Config Command} {bcm2835gpio trst_num} @var{trst}
 Set TRST GPIO number. Must be specified to enable TRST.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_speed_coeffs} @var{speed_coeff} @var{speed_offset}
+@deffn {Config Command} {bcm2835gpio speed_coeffs} @var{speed_coeff} @var{speed_offset}
 Set SPEED_COEFF and SPEED_OFFSET for delay calculations. If unspecified,
 speed_coeff defaults to 113714, and speed_offset defaults to 28.
 @end deffn
 
-@deffn {Config Command} {bcm2835gpio_peripheral_base} @var{base}
+@deffn {Config Command} {bcm2835gpio peripheral_base} @var{base}
 Set the peripheral base register address to access GPIOs. For the RPi1, use
 0x20000000. For RPi2 and RPi3, use 0x3F000000. For RPi4, use 0xFE000000. A full
 list can be found in the
index 6db4340e81f9d3c2c6126fc8cf832383405578b2..95e077c3343d1592296464ed1a069d0a6754a4bf 100644 (file)
@@ -338,93 +338,93 @@ COMMAND_HANDLER(bcm2835gpio_handle_peripheral_base)
        return ERROR_OK;
 }
 
-static const struct command_registration bcm2835gpio_command_handlers[] = {
+static const struct command_registration bcm2835gpio_subcommand_handlers[] = {
        {
-               .name = "bcm2835gpio_jtag_nums",
+               .name = "jtag_nums",
                .handler = &bcm2835gpio_handle_jtag_gpionums,
                .mode = COMMAND_CONFIG,
                .help = "gpio numbers for tck, tms, tdi, tdo. (in that order)",
                .usage = "[tck tms tdi tdo]",
        },
        {
-               .name = "bcm2835gpio_tck_num",
+               .name = "tck_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_tck,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for tck.",
                .usage = "[tck]",
        },
        {
-               .name = "bcm2835gpio_tms_num",
+               .name = "tms_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_tms,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for tms.",
                .usage = "[tms]",
        },
        {
-               .name = "bcm2835gpio_tdo_num",
+               .name = "tdo_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_tdo,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for tdo.",
                .usage = "[tdo]",
        },
        {
-               .name = "bcm2835gpio_tdi_num",
+               .name = "tdi_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_tdi,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for tdi.",
                .usage = "[tdi]",
        },
        {
-               .name = "bcm2835gpio_swd_nums",
+               .name = "swd_nums",
                .handler = &bcm2835gpio_handle_swd_gpionums,
                .mode = COMMAND_CONFIG,
                .help = "gpio numbers for swclk, swdio. (in that order)",
                .usage = "[swclk swdio]",
        },
        {
-               .name = "bcm2835gpio_swclk_num",
+               .name = "swclk_num",
                .handler = &bcm2835gpio_handle_swd_gpionum_swclk,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for swclk.",
                .usage = "[swclk]",
        },
        {
-               .name = "bcm2835gpio_swdio_num",
+               .name = "swdio_num",
                .handler = &bcm2835gpio_handle_swd_gpionum_swdio,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for swdio.",
                .usage = "[swdio]",
        },
        {
-               .name = "bcm2835gpio_swdio_dir_num",
+               .name = "swdio_dir_num",
                .handler = &bcm2835gpio_handle_swd_dir_gpionum_swdio,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for swdio direction control pin (set=output mode, clear=input mode)",
                .usage = "[swdio_dir]",
        },
        {
-               .name = "bcm2835gpio_srst_num",
+               .name = "srst_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_srst,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for srst.",
                .usage = "[srst]",
        },
        {
-               .name = "bcm2835gpio_trst_num",
+               .name = "trst_num",
                .handler = &bcm2835gpio_handle_jtag_gpionum_trst,
                .mode = COMMAND_CONFIG,
                .help = "gpio number for trst.",
                .usage = "[trst]",
        },
        {
-               .name = "bcm2835gpio_speed_coeffs",
+               .name = "speed_coeffs",
                .handler = &bcm2835gpio_handle_speed_coeffs,
                .mode = COMMAND_CONFIG,
                .help = "SPEED_COEFF and SPEED_OFFSET for delay calculations.",
                .usage = "[SPEED_COEFF SPEED_OFFSET]",
        },
        {
-               .name = "bcm2835gpio_peripheral_base",
+               .name = "peripheral_base",
                .handler = &bcm2835gpio_handle_peripheral_base,
                .mode = COMMAND_CONFIG,
                .help = "peripheral base to access GPIOs (RPi1 0x20000000, RPi2 0x3F000000).",
@@ -434,6 +434,17 @@ static const struct command_registration bcm2835gpio_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
+static const struct command_registration bcm2835gpio_command_handlers[] = {
+       {
+               .name = "bcm2835gpio",
+               .mode = COMMAND_ANY,
+               .help = "perform bcm2835gpio management",
+               .chain = bcm2835gpio_subcommand_handlers,
+               .usage = "",
+       },
+       COMMAND_REGISTRATION_DONE
+};
+
 static const char * const bcm2835_transports[] = { "jtag", "swd", NULL };
 
 static struct jtag_interface bcm2835gpio_interface = {
index 263cde2551db797b68f275e5ffdb03bd912c1a57..4217d233541bda16bed7c00d1af89b5e03869a27 100644 (file)
@@ -375,4 +375,82 @@ proc vsllink_usb_interface args {
        eval vsllink usb_interface $args
 }
 
+lappend _telnet_autocomplete_skip bcm2835gpio_jtag_nums
+proc bcm2835gpio_jtag_nums args {
+       echo "DEPRECATED! use 'bcm2835gpio jtag_nums' not 'bcm2835gpio_jtag_nums'"
+       eval bcm2835gpio jtag_nums $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tck_num
+proc bcm2835gpio_tck_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tck_num' not 'bcm2835gpio_tck_num'"
+       eval bcm2835gpio tck_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tms_num
+proc bcm2835gpio_tms_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tms_num' not 'bcm2835gpio_tms_num'"
+       eval bcm2835gpio tms_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tdo_num
+proc bcm2835gpio_tdo_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tdo_num' not 'bcm2835gpio_tdo_num'"
+       eval bcm2835gpio tdo_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_tdi_num
+proc bcm2835gpio_tdi_num args {
+       echo "DEPRECATED! use 'bcm2835gpio tdi_num' not 'bcm2835gpio_tdi_num'"
+       eval bcm2835gpio tdi_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swd_nums
+proc bcm2835gpio_swd_nums args {
+       echo "DEPRECATED! use 'bcm2835gpio swd_nums' not 'bcm2835gpio_swd_nums'"
+       eval bcm2835gpio swd_nums $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swclk_num
+proc bcm2835gpio_swclk_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swclk_num' not 'bcm2835gpio_swclk_num'"
+       eval bcm2835gpio swclk_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swdio_num
+proc bcm2835gpio_swdio_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swdio_num' not 'bcm2835gpio_swdio_num'"
+       eval bcm2835gpio swdio_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_swdio_dir_num
+proc bcm2835gpio_swdio_dir_num args {
+       echo "DEPRECATED! use 'bcm2835gpio swdio_dir_num' not 'bcm2835gpio_swdio_dir_num'"
+       eval bcm2835gpio swdio_dir_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_srst_num
+proc bcm2835gpio_srst_num args {
+       echo "DEPRECATED! use 'bcm2835gpio srst_num' not 'bcm2835gpio_srst_num'"
+       eval bcm2835gpio srst_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_trst_num
+proc bcm2835gpio_trst_num args {
+       echo "DEPRECATED! use 'bcm2835gpio trst_num' not 'bcm2835gpio_trst_num'"
+       eval bcm2835gpio trst_num $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_speed_coeffs
+proc bcm2835gpio_speed_coeffs args {
+       echo "DEPRECATED! use 'bcm2835gpio speed_coeffs' not 'bcm2835gpio_speed_coeffs'"
+       eval bcm2835gpio speed_coeffs $args
+}
+
+lappend _telnet_autocomplete_skip bcm2835gpio_peripheral_base
+proc bcm2835gpio_peripheral_base args {
+       echo "DEPRECATED! use 'bcm2835gpio peripheral_base' not 'bcm2835gpio_peripheral_base'"
+       eval bcm2835gpio peripheral_base $args
+}
+
 # END MIGRATION AIDS

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)