xref: /netbsd-src/usr.sbin/umcpmioctl/umcpmioctl.h (revision 17a958693906c960f7d6d5f4c9226334b3bf371b)
1*17a95869Sbrad /*	$NetBSD: umcpmioctl.h,v 1.2 2024/12/21 13:48:32 brad Exp $	*/
23bfaa971Sbrad 
33bfaa971Sbrad /*
43bfaa971Sbrad  * Copyright (c) 2024 Brad Spencer <brad@anduin.eldar.org>
53bfaa971Sbrad  *
63bfaa971Sbrad  * Permission to use, copy, modify, and distribute this software for any
73bfaa971Sbrad  * purpose with or without fee is hereby granted, provided that the above
83bfaa971Sbrad  * copyright notice and this permission notice appear in all copies.
93bfaa971Sbrad  *
103bfaa971Sbrad  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
113bfaa971Sbrad  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
123bfaa971Sbrad  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
133bfaa971Sbrad  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
143bfaa971Sbrad  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
153bfaa971Sbrad  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
163bfaa971Sbrad  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
173bfaa971Sbrad  */
183bfaa971Sbrad 
193bfaa971Sbrad #ifndef _UMCPMIOCTL_H_
20*17a95869Sbrad #define _UMCPMIOCTL_H_
213bfaa971Sbrad 
223bfaa971Sbrad /* Top level commands */
233bfaa971Sbrad #define UMCPMIO_GET 1
243bfaa971Sbrad #define UMCPMIO_PUT 2
253bfaa971Sbrad #define UMCPMIO_STATUS 3
263bfaa971Sbrad 
273bfaa971Sbrad /* Second level commands */
283bfaa971Sbrad 
293bfaa971Sbrad #define UMCPMIO_IOCTL_GET_SRAM 1
303bfaa971Sbrad #define UMCPMIO_IOCTL_GET_GP_CFG 2
313bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH 3
323bfaa971Sbrad 
333bfaa971Sbrad #define UMCPMIO_IOCTL_PUT_FLASH 1
343bfaa971Sbrad 
353bfaa971Sbrad /* Third level commands */
363bfaa971Sbrad 
373bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_CS 0
383bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_GP 1
393bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_USBMAN 2
403bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_USBPROD 3
413bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_USBSN 4
423bfaa971Sbrad #define UMCPMIO_IOCTL_GET_FLASH_CHIPSN 5
433bfaa971Sbrad 
443bfaa971Sbrad #define UMCPMIO_IOCTL_PUT_FLASH_GP 1
453bfaa971Sbrad 
463bfaa971Sbrad struct umcpmioctlcmd {
473bfaa971Sbrad 	const char	*cmd;
483bfaa971Sbrad 	const int	id;
493bfaa971Sbrad 	const char	*helpargs;
503bfaa971Sbrad };
513bfaa971Sbrad 
523bfaa971Sbrad #endif
53