# SPDX-License-Identifier: GPL-2.0-or-later # OpenOCD script to test that the deprecated "linuxgpiod *" and "linuxgpiod_*" # commands produce the expected results. Run this command as: # openocd -f /test-linuxgpiod-deprecated-commands.cfg # Raise an error if the "actual" value does not match the "expected" value. Trim # whitespace (including newlines) from strings before comparing. proc expected_value {expected actual} { if {[string trim $expected] ne [string trim $actual]} { error [puts "ERROR: '${actual}' != '${expected}'"] } } adapter driver linuxgpiod puts "Driver is '[adapter name]'" expected_value "linuxgpiod" [adapter name] echo [adapter gpio] ##################################### # Test the "linuxgpiod *" commands # Change the GPIO chip for all signals. Don't check directly here, do so when # each signal command is tested. linuxgpiod gpiochip 0 linuxgpiod jtag_nums 1 2 3 4 expected_value "adapter gpio tck (output): num 1, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tck] expected_value "adapter gpio tms (output): num 2, chip 0, active-high, push-pull, pull-none, init-state active" [eval adapter gpio tms] expected_value "adapter gpio tdi (output): num 3, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tdi] expected_value "adapter gpio tdo (input): num 4, chip 0, active-high, pull-none, init-state input" [eval adapter gpio tdo] linuxgpiod tck_num 5 expected_value "adapter gpio tck (output): num 5, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tck] linuxgpiod tms_num 6 expected_value "adapter gpio tms (output): num 6, chip 0, active-high, push-pull, pull-none, init-state active" [eval adapter gpio tms] linuxgpiod tdi_num 7 expected_value "adapter gpio tdi (output): num 7, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tdi] linuxgpiod tdo_num 8 expected_value "adapter gpio tdo (input): num 8, chip 0, active-high, pull-none, init-state input" [eval adapter gpio tdo] linuxgpiod swd_nums 9 10 expected_value "adapter gpio swclk (output): num 9, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swclk] expected_value "adapter gpio swdio (bidirectional): num 10, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swdio] linuxgpiod swclk_num 11 expected_value "adapter gpio swclk (output): num 11, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swclk] linuxgpiod swdio_num 12 expected_value "adapter gpio swdio (bidirectional): num 12, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swdio] linuxgpiod swdio_dir_num 13 expected_value "adapter gpio swdio_dir (output): num 13, chip 0, active-high, push-pull, pull-none" [eval adapter gpio swdio_dir] linuxgpiod srst_num 14 expected_value "adapter gpio srst (output): num 14, chip 0, active-low, pull-none, init-state inactive" [eval adapter gpio srst] linuxgpiod trst_num 15 expected_value "adapter gpio trst (output): num 15, chip 0, active-low, pull-none, init-state inactive" [eval adapter gpio trst] linuxgpiod led_num 16 expected_value "adapter gpio led (output): num 16, chip 0, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio led] ##################################### # Test the old linuxgpiod_* commands # Change the GPIO chip for all signals. Don't check directly here, do so when # each signal command is tested. linuxgpiod_gpiochip 1 linuxgpiod_jtag_nums 17 18 19 20 expected_value "adapter gpio tck (output): num 17, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tck] expected_value "adapter gpio tms (output): num 18, chip 1, active-high, push-pull, pull-none, init-state active" [eval adapter gpio tms] expected_value "adapter gpio tdi (output): num 19, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tdi] expected_value "adapter gpio tdo (input): num 20, chip 1, active-high, pull-none, init-state input" [eval adapter gpio tdo] linuxgpiod_tck_num 21 expected_value "adapter gpio tck (output): num 21, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tck] linuxgpiod_tms_num 22 expected_value "adapter gpio tms (output): num 22, chip 1, active-high, push-pull, pull-none, init-state active" [eval adapter gpio tms] linuxgpiod_tdi_num 23 expected_value "adapter gpio tdi (output): num 23, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio tdi] linuxgpiod_tdo_num 24 expected_value "adapter gpio tdo (input): num 24, chip 1, active-high, pull-none, init-state input" [eval adapter gpio tdo] linuxgpiod_swd_nums 25 26 expected_value "adapter gpio swclk (output): num 25, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swclk] expected_value "adapter gpio swdio (bidirectional): num 26, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swdio] linuxgpiod_swclk_num 27 expected_value "adapter gpio swclk (output): num 27, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swclk] linuxgpiod_swdio_num 28 expected_value "adapter gpio swdio (bidirectional): num 28, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio swdio] linuxgpiod_led_num 29 expected_value "adapter gpio led (output): num 29, chip 1, active-high, push-pull, pull-none, init-state inactive" [eval adapter gpio led] puts "SUCCESS"