15d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin/* 25d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 35d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * 45d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * This program is free software; you can redistribute it and/or modify 55d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * it under the terms of the GNU General Public License version 2 and 65d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * only version 2 as published by the Free Software Foundation. 75d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 85d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * This program is distributed in the hope that it will be useful, 95d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * but WITHOUT ANY WARRANTY; without even the implied warranty of 105d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 115d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin * GNU General Public License for more details. 125d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin */ 135d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 145d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#ifndef _DEV_DEP_H 155d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define _DEV_DEP_H 165d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 175d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct dolby_param_data { 185d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t version; 195d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t device_id; 205d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t be_id; 215d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t param_id; 225d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t length; 23d9ec20e66310e5fa84a1de1c3303748f6b690542Patrick Tjin int32_t __user *data; 245d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 255d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 265d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct dolby_param_license { 275d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t dmid; 285d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t license_key; 295d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin}; 305d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 315d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_DEVDEP_DAP_IOCTL_SET_PARAM\ 325d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOWR('U', 0x10, struct dolby_param_data) 335d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_DEVDEP_DAP_IOCTL_GET_PARAM\ 345d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOR('U', 0x11, struct dolby_param_data) 355d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_DEVDEP_DAP_IOCTL_DAP_COMMAND\ 365d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOWR('U', 0x13, struct dolby_param_data) 375d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_DEVDEP_DAP_IOCTL_DAP_LICENSE\ 385d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOWR('U', 0x14, struct dolby_param_license) 395d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define SNDRV_DEVDEP_DAP_IOCTL_GET_VISUALIZER\ 405d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin _IOR('U', 0x15, struct dolby_param_data) 415d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 425d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_MODULE 0x00005000 435d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_MODULE_ENABLE 0x00005001 445d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define EAGLE_DRIVER_ID 0xF2 455d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_GET_CACHE_SIZE _IOR(EAGLE_DRIVER_ID, 0, int) 465d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_CACHE_SIZE _IOW(EAGLE_DRIVER_ID, 1, int) 475d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_GET_PARAM _IOR(EAGLE_DRIVER_ID, 2, void*) 485d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_PARAM _IOW(EAGLE_DRIVER_ID, 3, void*) 495d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_CACHE_BLOCK _IOW(EAGLE_DRIVER_ID, 4, void*) 505d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_ACTIVE_DEVICE _IOW(EAGLE_DRIVER_ID, 5, void*) 515d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_GET_LICENSE _IOR(EAGLE_DRIVER_ID, 6, void*) 525d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_LICENSE _IOW(EAGLE_DRIVER_ID, 7, void*) 535d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SEND_LICENSE _IOW(EAGLE_DRIVER_ID, 8, int) 545d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_IOCTL_SET_VOLUME_COMMANDS _IOW(EAGLE_DRIVER_ID, 9, void*) 555d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_FLAG_IOCTL_PRE (1<<30) 565d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE (1<<31) 575d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_FLAG_IOCTL_GETFROMCORE DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE 585d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_FLAG_IOCTL_MASK (~(DTS_EAGLE_FLAG_IOCTL_PRE | \ 595d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin DTS_EAGLE_FLAG_IOCTL_JUSTSETCACHE)) 605d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#define DTS_EAGLE_FLAG_ALSA_GET (1<<31) 615d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 625d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjinstruct dts_eagle_param_desc { 635d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t id; 645d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t size; 655d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin int32_t offset; 665d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin uint32_t device; 67d9ec20e66310e5fa84a1de1c3303748f6b690542Patrick Tjin} __packed; 685d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin 695d6a7fb6f1a9ff1d898b290fc7c0b2695cf22229Patrick Tjin#endif 70