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