From 8e4bff4cab0ddac6060645b0715210484d02ff40 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 30 Aug 2017 08:25:59 +0000 Subject: Initial file dump from open source release --- sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h | 219 +++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h (limited to 'sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h') diff --git a/sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h b/sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h new file mode 100644 index 00000000..47299ea6 --- /dev/null +++ b/sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h @@ -0,0 +1,219 @@ +/* + * sound/soc/sprd/dai/vbc/r1p0/vbc-comm.h + * + * SPRD SoC VBC -- SpreadTrum SOC DAI for VBC Common function. + * + * Copyright (C) 2013 SpreadTrum Ltd. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY ork FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef __VBC_COMM_H +#define __VBC_COMM_H + +#include + +#define VBC_VERSION "vbc.r1p0" + +/* VBADBUFFDTA */ +enum { + VBISADCK_INV = 9, + VBISDACK_INV, + VBLSB_EB, + VBIIS_DLOOP = 13, + VBPCM_MODE, + VBIIS_LRCK, +}; +/* VBDABUFFDTA */ +enum { + RAMSW_NUMB = 9, + RAMSW_EN, + VBAD0DMA_EN, + VBAD1DMA_EN, + VBDA0DMA_EN, + VBDA1DMA_EN, + VBENABLE, +}; + +/* VBDAPATH FM MIXER*/ +enum { + DAPATH_NO_MIX = 0, + DAPATH_ADD_FM, + DAPATH_SUB_FM, +}; + +/* AD DGMUX NUM*/ +enum { + ADC0_DGMUX = 0, + ADC1_DGMUX, + ADC_DGMUX_MAX +}; + +/* -------------------------- */ + +#define PHYS_VBDA0 (VBC_PHY_BASE + 0x0000) /* 0x0000 Voice band DAC0 data buffer */ +#define PHYS_VBDA1 (VBC_PHY_BASE + 0x0004) /* 0x0004 Voice band DAC1 data buffer */ +#define PHYS_VBAD0 (VBC_PHY_BASE + 0x0008) /* 0x0008 Voice band ADC0 data buffer */ +#define PHYS_VBAD1 (VBC_PHY_BASE + 0x000C) /* 0x000C Voice band ADC1 data buffer */ + +#define ARM_VB_BASE VBC_BASE +#define VBDA0 (ARM_VB_BASE + 0x0000) /* Voice band DAC0 data buffer */ +#define VBDA1 (ARM_VB_BASE + 0x0004) /* Voice band DAC1 data buffer */ +#define VBAD0 (ARM_VB_BASE + 0x0008) /* Voice band ADC0 data buffer */ +#define VBAD1 (ARM_VB_BASE + 0x000C) /* Voice band ADC1 data buffer */ +#define VBBUFFSIZE (ARM_VB_BASE + 0x0010) /* Voice band buffer size */ +#define VBADBUFFDTA (ARM_VB_BASE + 0x0014) /* Voice band AD buffer control */ +#define VBDABUFFDTA (ARM_VB_BASE + 0x0018) /* Voice band DA buffer control */ +#define VBADCNT (ARM_VB_BASE + 0x001C) /* Voice band AD buffer counter */ +#define VBDACNT (ARM_VB_BASE + 0x0020) /* Voice band DA buffer counter */ +#define VBINTTYPE (ARM_VB_BASE + 0x0034) +#define VBDATASWT (ARM_VB_BASE + 0x0038) +#define VBIISSEL (ARM_VB_BASE + 0x003C) + +#define DAPATCHCTL (ARM_VB_BASE + 0x0040) +#define DADGCTL (ARM_VB_BASE + 0x0044) +#define DAHPCTL (ARM_VB_BASE + 0x0048) +#define DAALCCTL0 (ARM_VB_BASE + 0x004C) +#define DAALCCTL1 (ARM_VB_BASE + 0x0050) +#define DAALCCTL2 (ARM_VB_BASE + 0x0054) +#define DAALCCTL3 (ARM_VB_BASE + 0x0058) +#define DAALCCTL4 (ARM_VB_BASE + 0x005C) +#define DAALCCTL5 (ARM_VB_BASE + 0x0060) +#define DAALCCTL6 (ARM_VB_BASE + 0x0064) +#define DAALCCTL7 (ARM_VB_BASE + 0x0068) +#define DAALCCTL8 (ARM_VB_BASE + 0x006C) +#define DAALCCTL9 (ARM_VB_BASE + 0x0070) +#define DAALCCTL10 (ARM_VB_BASE + 0x0074) +#define STCTL0 (ARM_VB_BASE + 0x0078) +#define STCTL1 (ARM_VB_BASE + 0x007C) +#define ADPATCHCTL (ARM_VB_BASE + 0x0080) +#define ADDGCTL (ARM_VB_BASE + 0x0084) +#define HPCOEF0 (ARM_VB_BASE + 0x0100) +#define HPCOEF1 (ARM_VB_BASE + 0x0104) +#define HPCOEF2 (ARM_VB_BASE + 0x0108) +#define HPCOEF3 (ARM_VB_BASE + 0x010C) +#define HPCOEF4 (ARM_VB_BASE + 0x0110) +#define HPCOEF5 (ARM_VB_BASE + 0x0114) +#define HPCOEF6 (ARM_VB_BASE + 0x0118) +#define HPCOEF7 (ARM_VB_BASE + 0x011C) +#define HPCOEF8 (ARM_VB_BASE + 0x0120) +#define HPCOEF9 (ARM_VB_BASE + 0x0124) +#define HPCOEF10 (ARM_VB_BASE + 0x0128) +#define HPCOEF11 (ARM_VB_BASE + 0x012C) +#define HPCOEF12 (ARM_VB_BASE + 0x0130) +#define HPCOEF13 (ARM_VB_BASE + 0x0134) +#define HPCOEF14 (ARM_VB_BASE + 0x0138) +#define HPCOEF15 (ARM_VB_BASE + 0x013C) +#define HPCOEF16 (ARM_VB_BASE + 0x0140) +#define HPCOEF17 (ARM_VB_BASE + 0x0144) +#define HPCOEF18 (ARM_VB_BASE + 0x0148) +#define HPCOEF19 (ARM_VB_BASE + 0x014C) +#define HPCOEF20 (ARM_VB_BASE + 0x0150) +#define HPCOEF21 (ARM_VB_BASE + 0x0154) +#define HPCOEF22 (ARM_VB_BASE + 0x0158) +#define HPCOEF23 (ARM_VB_BASE + 0x015C) +#define HPCOEF24 (ARM_VB_BASE + 0x0160) +#define HPCOEF25 (ARM_VB_BASE + 0x0164) +#define HPCOEF26 (ARM_VB_BASE + 0x0168) +#define HPCOEF27 (ARM_VB_BASE + 0x016C) +#define HPCOEF28 (ARM_VB_BASE + 0x0170) +#define HPCOEF29 (ARM_VB_BASE + 0x0174) +#define HPCOEF30 (ARM_VB_BASE + 0x0178) +#define HPCOEF31 (ARM_VB_BASE + 0x017C) +#define HPCOEF32 (ARM_VB_BASE + 0x0180) +#define HPCOEF33 (ARM_VB_BASE + 0x0184) +#define HPCOEF34 (ARM_VB_BASE + 0x0188) +#define HPCOEF35 (ARM_VB_BASE + 0x018C) +#define HPCOEF36 (ARM_VB_BASE + 0x0190) +#define HPCOEF37 (ARM_VB_BASE + 0x0194) +#define HPCOEF38 (ARM_VB_BASE + 0x0198) +#define HPCOEF39 (ARM_VB_BASE + 0x019C) +#define HPCOEF40 (ARM_VB_BASE + 0x01A0) +#define HPCOEF41 (ARM_VB_BASE + 0x01A4) +#define HPCOEF42 (ARM_VB_BASE + 0x01A8) + +#define ARM_VB_END (ARM_VB_BASE + 0x01AC) +#define IS_SPRD_VBC_RANG(reg) (((reg) >= ARM_VB_BASE) && ((reg) < ARM_VB_END)) +#define SPRD_VBC_BASE_HI (ARM_VB_BASE & 0xFFFF0000) + +#define VBADBUFFERSIZE_SHIFT (0) +#define VBADBUFFERSIZE_MASK (0xFF<