brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · 91467ab Raw
55 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 *   Focusrite Scarlett 2 Protocol Driver for ALSA4 *   (including Scarlett 2nd Gen, 3rd Gen, 4th Gen, Clarett USB, and5 *   Clarett+ series products)6 *7 *   Copyright (c) 2023 by Geoffrey D. Bennett <g at b4.vu>8 */9#ifndef __UAPI_SOUND_SCARLETT2_H10#define __UAPI_SOUND_SCARLETT2_H11 12#include <linux/types.h>13#include <linux/ioctl.h>14 15#define SCARLETT2_HWDEP_MAJOR 116#define SCARLETT2_HWDEP_MINOR 017#define SCARLETT2_HWDEP_SUBMINOR 018 19#define SCARLETT2_HWDEP_VERSION \20	((SCARLETT2_HWDEP_MAJOR << 16) | \21	 (SCARLETT2_HWDEP_MINOR << 8) | \22	  SCARLETT2_HWDEP_SUBMINOR)23 24#define SCARLETT2_HWDEP_VERSION_MAJOR(v) (((v) >> 16) & 0xFF)25#define SCARLETT2_HWDEP_VERSION_MINOR(v) (((v) >> 8) & 0xFF)26#define SCARLETT2_HWDEP_VERSION_SUBMINOR(v) ((v) & 0xFF)27 28/* Get protocol version */29#define SCARLETT2_IOCTL_PVERSION _IOR('S', 0x60, int)30 31/* Reboot */32#define SCARLETT2_IOCTL_REBOOT _IO('S', 0x61)33 34/* Select flash segment */35#define SCARLETT2_SEGMENT_ID_SETTINGS 036#define SCARLETT2_SEGMENT_ID_FIRMWARE 137#define SCARLETT2_SEGMENT_ID_COUNT 238 39#define SCARLETT2_IOCTL_SELECT_FLASH_SEGMENT _IOW('S', 0x62, int)40 41/* Erase selected flash segment */42#define SCARLETT2_IOCTL_ERASE_FLASH_SEGMENT _IO('S', 0x63)43 44/* Get selected flash segment erase progress45 * 1 through to num_blocks, or 255 for complete46 */47struct scarlett2_flash_segment_erase_progress {48	unsigned char progress;49	unsigned char num_blocks;50};51#define SCARLETT2_IOCTL_GET_ERASE_PROGRESS \52	_IOR('S', 0x64, struct scarlett2_flash_segment_erase_progress)53 54#endif /* __UAPI_SOUND_SCARLETT2_H */55