1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /*
- * cmd_softswitch.c - set the softswitch for bf60x
- *
- * Copyright (c) 2012 Analog Devices Inc.
- *
- * Licensed under the GPL-2 or later.
- */
- #include <common.h>
- #include <command.h>
- #include <asm/blackfin.h>
- #include <asm/soft_switch.h>
- int do_softswitch(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
- {
- int switchaddr, value, pin, port;
- if (argc != 5)
- return CMD_RET_USAGE;
- if (strcmp(argv[2], "GPA") == 0)
- port = IO_PORT_A;
- else if (strcmp(argv[2], "GPB") == 0)
- port = IO_PORT_B;
- else
- return CMD_RET_USAGE;
- switchaddr = simple_strtoul(argv[1], NULL, 16);
- pin = simple_strtoul(argv[3], NULL, 16);
- value = simple_strtoul(argv[4], NULL, 16);
- config_switch_bit(switchaddr, port, (1 << pin), IO_PORT_OUTPUT, value);
- return 0;
- }
- U_BOOT_CMD(
- softswitch_output, 5, 1, do_softswitch,
- "switchaddr GPA/GPB pin_offset value",
- ""
- );
|