1 1.1 brad /* $NetBSD: umcpmioctlconst.h,v 1.1 2024/12/16 16:37:40 brad Exp $ */ 2 1.1 brad 3 1.1 brad /* 4 1.1 brad * Copyright (c) 2024 Brad Spencer <brad (at) anduin.eldar.org> 5 1.1 brad * 6 1.1 brad * Permission to use, copy, modify, and distribute this software for any 7 1.1 brad * purpose with or without fee is hereby granted, provided that the above 8 1.1 brad * copyright notice and this permission notice appear in all copies. 9 1.1 brad * 10 1.1 brad * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 1.1 brad * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 1.1 brad * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 1.1 brad * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 1.1 brad * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 1.1 brad * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 1.1 brad * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 1.1 brad */ 18 1.1 brad 19 1.1 brad #ifndef _UMCPMIOCTLCONST_H_ 20 1.1 brad #define _UMCPMIOCTLCONST_H_ 21 1.1 brad 22 1.1 brad /* These structures describe the command line command structure */ 23 1.1 brad 24 1.1 brad static const struct umcpmioctlcmd umcpmioctlcmds[] = { 25 1.1 brad { 26 1.1 brad .cmd = "get", 27 1.1 brad .id = UMCPMIO_GET, 28 1.1 brad .helpargs = "sram|gp|flash cs|flash gp|flash usbman|flash usbprod|flash usbsn|flash chipsn" 29 1.1 brad 30 1.1 brad }, 31 1.1 brad { 32 1.1 brad .cmd = "put", 33 1.1 brad .id = UMCPMIO_PUT, 34 1.1 brad .helpargs = "flash gp" 35 1.1 brad 36 1.1 brad }, 37 1.1 brad { 38 1.1 brad .cmd = "status", 39 1.1 brad .id = UMCPMIO_STATUS, 40 1.1 brad .helpargs = "" 41 1.1 brad } 42 1.1 brad }; 43 1.1 brad 44 1.1 brad static const struct umcpmioctlcmd getsubcmds[] = { 45 1.1 brad { 46 1.1 brad .cmd = "sram", 47 1.1 brad .id = UMCPMIO_IOCTL_GET_SRAM, 48 1.1 brad .helpargs = "" 49 1.1 brad }, 50 1.1 brad { 51 1.1 brad .cmd = "gp", 52 1.1 brad .id = UMCPMIO_IOCTL_GET_GP_CFG, 53 1.1 brad .helpargs = "" 54 1.1 brad }, 55 1.1 brad { 56 1.1 brad .cmd = "flash", 57 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH, 58 1.1 brad .helpargs = "cs | gp | usbman | usbprod | usbsn | chipsn" 59 1.1 brad } 60 1.1 brad }; 61 1.1 brad 62 1.1 brad static const struct umcpmioctlcmd getflashsubcmds[] = { 63 1.1 brad { 64 1.1 brad .cmd = "cs", 65 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_CS, 66 1.1 brad .helpargs = "" 67 1.1 brad }, 68 1.1 brad { 69 1.1 brad .cmd = "gp", 70 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_GP, 71 1.1 brad .helpargs = "" 72 1.1 brad }, 73 1.1 brad { 74 1.1 brad .cmd = "usbman", 75 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_USBMAN, 76 1.1 brad .helpargs = "" 77 1.1 brad }, 78 1.1 brad { 79 1.1 brad .cmd = "usbprod", 80 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_USBPROD, 81 1.1 brad .helpargs = "" 82 1.1 brad }, 83 1.1 brad { 84 1.1 brad .cmd = "usbsn", 85 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_USBSN, 86 1.1 brad .helpargs = "" 87 1.1 brad }, 88 1.1 brad { 89 1.1 brad .cmd = "chipsn", 90 1.1 brad .id = UMCPMIO_IOCTL_GET_FLASH_CHIPSN, 91 1.1 brad .helpargs = "" 92 1.1 brad } 93 1.1 brad }; 94 1.1 brad 95 1.1 brad static const struct umcpmioctlcmd putsubcmds[] = { 96 1.1 brad { 97 1.1 brad .cmd = "flash", 98 1.1 brad .id = UMCPMIO_IOCTL_PUT_FLASH, 99 1.1 brad .helpargs = "gp GPn GPIO_PIN_INPUT\n\t\t\t\tGPIO_PIN_OUTPUT\n\t\t\t\tGPIO_PIN_ALT0\n\t\t\t\tGPIO_PIN_ALT1\n\t\t\t\tGPIO_PIN_ALT2\n\t\t\t\tGPIO_PIN_ALT3\n\t\t\t\tDEFAULT_OUTPUT_ZERO\n\t\t\t\tDEFAULT_OUTPUT_ONE....", 100 1.1 brad } 101 1.1 brad }; 102 1.1 brad 103 1.1 brad static const struct umcpmioctlcmd putflashsubcmds[] = { 104 1.1 brad { 105 1.1 brad .cmd = "gp", 106 1.1 brad .id = UMCPMIO_IOCTL_PUT_FLASH_GP, 107 1.1 brad .helpargs = "" 108 1.1 brad } 109 1.1 brad }; 110 1.1 brad 111 1.1 brad 112 1.1 brad #endif 113