162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/***************************************************************************** 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci AudioScience HPI driver 562306a36Sopenharmony_ci Copyright (C) 1997-2011 AudioScience Inc. <support@audioscience.com> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciPublic declarations for DSP Proramming Interface to TI C6701 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciShared between hpi6000.c and DSP code 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci(C) Copyright AudioScience Inc. 1998-2003 1362306a36Sopenharmony_ci******************************************************************************/ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#ifndef _HPI6000_H_ 1662306a36Sopenharmony_ci#define _HPI6000_H_ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#define HPI_NMIXER_CONTROLS 200 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* 2162306a36Sopenharmony_ci * Control caching is always supported in the HPI code. 2262306a36Sopenharmony_ci * The DSP should make sure that dwControlCacheSizeInBytes is initialized to 0 2362306a36Sopenharmony_ci * during boot to make it in-active. 2462306a36Sopenharmony_ci */ 2562306a36Sopenharmony_cistruct hpi_hif_6000 { 2662306a36Sopenharmony_ci u32 host_cmd; 2762306a36Sopenharmony_ci u32 dsp_ack; 2862306a36Sopenharmony_ci u32 address; 2962306a36Sopenharmony_ci u32 length; 3062306a36Sopenharmony_ci u32 message_buffer_address; 3162306a36Sopenharmony_ci u32 response_buffer_address; 3262306a36Sopenharmony_ci u32 dsp_number; 3362306a36Sopenharmony_ci u32 adapter_info; 3462306a36Sopenharmony_ci u32 control_cache_is_dirty; 3562306a36Sopenharmony_ci u32 control_cache_address; 3662306a36Sopenharmony_ci u32 control_cache_size_in_bytes; 3762306a36Sopenharmony_ci u32 control_cache_count; 3862306a36Sopenharmony_ci}; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define HPI_HIF_PACK_ADAPTER_INFO(adapter, version_major, version_minor) \ 4162306a36Sopenharmony_ci ((adapter << 16) | (version_major << 8) | version_minor) 4262306a36Sopenharmony_ci#define HPI_HIF_ADAPTER_INFO_EXTRACT_ADAPTER(adapterinfo) \ 4362306a36Sopenharmony_ci ((adapterinfo >> 16) & 0xffff) 4462306a36Sopenharmony_ci#define HPI_HIF_ADAPTER_INFO_EXTRACT_HWVERSION_MAJOR(adapterinfo) \ 4562306a36Sopenharmony_ci ((adapterinfo >> 8) & 0xff) 4662306a36Sopenharmony_ci#define HPI_HIF_ADAPTER_INFO_EXTRACT_HWVERSION_MINOR(adapterinfo) \ 4762306a36Sopenharmony_ci (adapterinfo & 0xff) 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci/* Command/status exchanged between host and DSP */ 5062306a36Sopenharmony_ci#define HPI_HIF_IDLE 0 5162306a36Sopenharmony_ci#define HPI_HIF_SEND_MSG 1 5262306a36Sopenharmony_ci#define HPI_HIF_GET_RESP 2 5362306a36Sopenharmony_ci#define HPI_HIF_DATA_MASK 0x10 5462306a36Sopenharmony_ci#define HPI_HIF_SEND_DATA 0x13 5562306a36Sopenharmony_ci#define HPI_HIF_GET_DATA 0x14 5662306a36Sopenharmony_ci#define HPI_HIF_SEND_DONE 5 5762306a36Sopenharmony_ci#define HPI_HIF_RESET 9 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci#endif /* _HPI6000_H_ */ 60