umcpmioctlconst.h revision 1.1 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