drivers/bcm2835gpio: Group adapter commands
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