xref: /netbsd-src/usr.sbin/umcpmioctl/umcpmioctlconst.h (revision 3bfaa97146632a7fff2425e11c47d4964bacef79)
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