Linux Kernel
3.7.1
|
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/pm_runtime.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/of_device.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/initval.h>
#include <sound/soc.h>
#include "davinci-pcm.h"
#include "davinci-mcasp.h"
Go to the source code of this file.
Macros | |
#define | DAVINCI_MCASP_PID_REG 0x00 |
#define | DAVINCI_MCASP_PWREMUMGT_REG 0x04 |
#define | DAVINCI_MCASP_PFUNC_REG 0x10 |
#define | DAVINCI_MCASP_PDIR_REG 0x14 |
#define | DAVINCI_MCASP_PDOUT_REG 0x18 |
#define | DAVINCI_MCASP_PDSET_REG 0x1c |
#define | DAVINCI_MCASP_PDCLR_REG 0x20 |
#define | DAVINCI_MCASP_TLGC_REG 0x30 |
#define | DAVINCI_MCASP_TLMR_REG 0x34 |
#define | DAVINCI_MCASP_GBLCTL_REG 0x44 |
#define | DAVINCI_MCASP_AMUTE_REG 0x48 |
#define | DAVINCI_MCASP_LBCTL_REG 0x4c |
#define | DAVINCI_MCASP_TXDITCTL_REG 0x50 |
#define | DAVINCI_MCASP_GBLCTLR_REG 0x60 |
#define | DAVINCI_MCASP_RXMASK_REG 0x64 |
#define | DAVINCI_MCASP_RXFMT_REG 0x68 |
#define | DAVINCI_MCASP_RXFMCTL_REG 0x6c |
#define | DAVINCI_MCASP_ACLKRCTL_REG 0x70 |
#define | DAVINCI_MCASP_AHCLKRCTL_REG 0x74 |
#define | DAVINCI_MCASP_RXTDM_REG 0x78 |
#define | DAVINCI_MCASP_EVTCTLR_REG 0x7c |
#define | DAVINCI_MCASP_RXSTAT_REG 0x80 |
#define | DAVINCI_MCASP_RXTDMSLOT_REG 0x84 |
#define | DAVINCI_MCASP_RXCLKCHK_REG 0x88 |
#define | DAVINCI_MCASP_REVTCTL_REG 0x8c |
#define | DAVINCI_MCASP_GBLCTLX_REG 0xa0 |
#define | DAVINCI_MCASP_TXMASK_REG 0xa4 |
#define | DAVINCI_MCASP_TXFMT_REG 0xa8 |
#define | DAVINCI_MCASP_TXFMCTL_REG 0xac |
#define | DAVINCI_MCASP_ACLKXCTL_REG 0xb0 |
#define | DAVINCI_MCASP_AHCLKXCTL_REG 0xb4 |
#define | DAVINCI_MCASP_TXTDM_REG 0xb8 |
#define | DAVINCI_MCASP_EVTCTLX_REG 0xbc |
#define | DAVINCI_MCASP_TXSTAT_REG 0xc0 |
#define | DAVINCI_MCASP_TXTDMSLOT_REG 0xc4 |
#define | DAVINCI_MCASP_TXCLKCHK_REG 0xc8 |
#define | DAVINCI_MCASP_XEVTCTL_REG 0xcc |
#define | DAVINCI_MCASP_DITCSRA_REG 0x100 |
#define | DAVINCI_MCASP_DITCSRB_REG 0x118 |
#define | DAVINCI_MCASP_DITUDRA_REG 0x130 |
#define | DAVINCI_MCASP_DITUDRB_REG 0x148 |
#define | DAVINCI_MCASP_XRSRCTL_BASE_REG 0x180 |
#define | DAVINCI_MCASP_XRSRCTL_REG(n) |
#define | DAVINCI_MCASP_TXBUF_REG 0x200 |
#define | DAVINCI_MCASP_RXBUF_REG 0x280 |
#define | DAVINCI_MCASP_WFIFOCTL (0x1010) |
#define | DAVINCI_MCASP_WFIFOSTS (0x1014) |
#define | DAVINCI_MCASP_RFIFOCTL (0x1018) |
#define | DAVINCI_MCASP_RFIFOSTS (0x101C) |
#define | MCASP_VER3_WFIFOCTL (0x1000) |
#define | MCASP_VER3_WFIFOSTS (0x1004) |
#define | MCASP_VER3_RFIFOCTL (0x1008) |
#define | MCASP_VER3_RFIFOSTS (0x100C) |
#define | MCASP_FREE BIT(0) |
#define | MCASP_SOFT BIT(1) |
#define | AXR(n) (1<<n) |
#define | PFUNC_AMUTE BIT(25) |
#define | ACLKX BIT(26) |
#define | AHCLKX BIT(27) |
#define | AFSX BIT(28) |
#define | ACLKR BIT(29) |
#define | AHCLKR BIT(30) |
#define | AFSR BIT(31) |
#define | AXR(n) (1<<n) |
#define | PDIR_AMUTE BIT(25) |
#define | ACLKX BIT(26) |
#define | AHCLKX BIT(27) |
#define | AFSX BIT(28) |
#define | ACLKR BIT(29) |
#define | AHCLKR BIT(30) |
#define | AFSR BIT(31) |
#define | DITEN BIT(0) /* Transmit DIT mode enable/disable */ |
#define | VA BIT(2) |
#define | VB BIT(3) |
#define | TXROT(val) (val) |
#define | TXSEL BIT(3) |
#define | TXSSZ(val) (val<<4) |
#define | TXPBIT(val) (val<<8) |
#define | TXPAD(val) (val<<13) |
#define | TXORD BIT(15) |
#define | FSXDLY(val) (val<<16) |
#define | RXROT(val) (val) |
#define | RXSEL BIT(3) |
#define | RXSSZ(val) (val<<4) |
#define | RXPBIT(val) (val<<8) |
#define | RXPAD(val) (val<<13) |
#define | RXORD BIT(15) |
#define | FSRDLY(val) (val<<16) |
#define | FSXPOL BIT(0) |
#define | AFSXE BIT(1) |
#define | FSXDUR BIT(4) |
#define | FSXMOD(val) (val<<7) |
#define | FSRPOL BIT(0) |
#define | AFSRE BIT(1) |
#define | FSRDUR BIT(4) |
#define | FSRMOD(val) (val<<7) |
#define | ACLKXDIV(val) (val) |
#define | ACLKXE BIT(5) |
#define | TX_ASYNC BIT(6) |
#define | ACLKXPOL BIT(7) |
#define | ACLKRDIV(val) (val) |
#define | ACLKRE BIT(5) |
#define | RX_ASYNC BIT(6) |
#define | ACLKRPOL BIT(7) |
#define | AHCLKXDIV(val) (val) |
#define | AHCLKXPOL BIT(14) |
#define | AHCLKXE BIT(15) |
#define | AHCLKRDIV(val) (val) |
#define | AHCLKRPOL BIT(14) |
#define | AHCLKRE BIT(15) |
#define | MODE(val) (val) |
#define | DISMOD (val)(val<<2) |
#define | TXSTATE BIT(4) |
#define | RXSTATE BIT(5) |
#define | LBEN BIT(0) |
#define | LBORD BIT(1) |
#define | LBGENMODE(val) (val<<2) |
#define | TXTDMS(n) (1<<n) |
#define | RXTDMS(n) (1<<n) |
#define | RXCLKRST BIT(0) /* Receiver Clock Divider Reset */ |
#define | RXHCLKRST BIT(1) /* Receiver High Frequency Clock Divider */ |
#define | RXSERCLR BIT(2) /* Receiver Serializer Clear */ |
#define | RXSMRST BIT(3) /* Receiver State Machine Reset */ |
#define | RXFSRST BIT(4) /* Frame Sync Generator Reset */ |
#define | TXCLKRST BIT(8) /* Transmitter Clock Divider Reset */ |
#define | TXHCLKRST BIT(9) /* Transmitter High Frequency Clock Divider*/ |
#define | TXSERCLR BIT(10) /* Transmit Serializer Clear */ |
#define | TXSMRST BIT(11) /* Transmitter State Machine Reset */ |
#define | TXFSRST BIT(12) /* Frame Sync Generator Reset */ |
#define | MUTENA(val) (val) |
#define | MUTEINPOL BIT(2) |
#define | MUTEINENA BIT(3) |
#define | MUTEIN BIT(4) |
#define | MUTER BIT(5) |
#define | MUTEX BIT(6) |
#define | MUTEFSR BIT(7) |
#define | MUTEFSX BIT(8) |
#define | MUTEBADCLKR BIT(9) |
#define | MUTEBADCLKX BIT(10) |
#define | MUTERXDMAERR BIT(11) |
#define | MUTETXDMAERR BIT(12) |
#define | RXDATADMADIS BIT(0) |
#define | TXDATADMADIS BIT(0) |
#define | FIFO_ENABLE BIT(16) |
#define | NUMEVT_MASK (0xFF << 8) |
#define | NUMDMA_MASK (0xFF) |
#define | DAVINCI_MCASP_NUM_SERIALIZER 16 |
#define | DAVINCI_MCASP_PCM_FMTS |
Functions | |
MODULE_DEVICE_TABLE (of, mcasp_dt_ids) | |
module_platform_driver (davinci_mcasp_driver) | |
MODULE_AUTHOR ("Steve Chen") | |
MODULE_DESCRIPTION ("TI DAVINCI McASP SoC Interface") | |
MODULE_LICENSE ("GPL") | |
#define ACLKR BIT(29) |
Definition at line 146 of file davinci-mcasp.c.
#define ACLKR BIT(29) |
Definition at line 146 of file davinci-mcasp.c.
Definition at line 206 of file davinci-mcasp.c.
#define ACLKRE BIT(5) |
Definition at line 207 of file davinci-mcasp.c.
#define ACLKRPOL BIT(7) |
Definition at line 209 of file davinci-mcasp.c.
#define ACLKX BIT(26) |
Definition at line 143 of file davinci-mcasp.c.
#define ACLKX BIT(26) |
Definition at line 143 of file davinci-mcasp.c.
Definition at line 198 of file davinci-mcasp.c.
#define ACLKXE BIT(5) |
Definition at line 199 of file davinci-mcasp.c.
#define ACLKXPOL BIT(7) |
Definition at line 201 of file davinci-mcasp.c.
#define AFSR BIT(31) |
Definition at line 148 of file davinci-mcasp.c.
#define AFSR BIT(31) |
Definition at line 148 of file davinci-mcasp.c.
#define AFSRE BIT(1) |
Definition at line 191 of file davinci-mcasp.c.
#define AFSX BIT(28) |
Definition at line 145 of file davinci-mcasp.c.
#define AFSX BIT(28) |
Definition at line 145 of file davinci-mcasp.c.
#define AFSXE BIT(1) |
Definition at line 183 of file davinci-mcasp.c.
#define AHCLKR BIT(30) |
Definition at line 147 of file davinci-mcasp.c.
#define AHCLKR BIT(30) |
Definition at line 147 of file davinci-mcasp.c.
Definition at line 223 of file davinci-mcasp.c.
#define AHCLKRE BIT(15) |
Definition at line 225 of file davinci-mcasp.c.
#define AHCLKRPOL BIT(14) |
Definition at line 224 of file davinci-mcasp.c.
#define AHCLKX BIT(27) |
Definition at line 144 of file davinci-mcasp.c.
#define AHCLKX BIT(27) |
Definition at line 144 of file davinci-mcasp.c.
Definition at line 215 of file davinci-mcasp.c.
#define AHCLKXE BIT(15) |
Definition at line 217 of file davinci-mcasp.c.
#define AHCLKXPOL BIT(14) |
Definition at line 216 of file davinci-mcasp.c.
Definition at line 141 of file davinci-mcasp.c.
Definition at line 141 of file davinci-mcasp.c.
#define DAVINCI_MCASP_ACLKRCTL_REG 0x70 |
Definition at line 65 of file davinci-mcasp.c.
#define DAVINCI_MCASP_ACLKXCTL_REG 0xb0 |
Definition at line 80 of file davinci-mcasp.c.
#define DAVINCI_MCASP_AHCLKRCTL_REG 0x74 |
Definition at line 66 of file davinci-mcasp.c.
#define DAVINCI_MCASP_AHCLKXCTL_REG 0xb4 |
Definition at line 81 of file davinci-mcasp.c.
#define DAVINCI_MCASP_AMUTE_REG 0x48 |
Definition at line 55 of file davinci-mcasp.c.
#define DAVINCI_MCASP_DITCSRA_REG 0x100 |
Definition at line 91 of file davinci-mcasp.c.
#define DAVINCI_MCASP_DITCSRB_REG 0x118 |
Definition at line 93 of file davinci-mcasp.c.
#define DAVINCI_MCASP_DITUDRA_REG 0x130 |
Definition at line 95 of file davinci-mcasp.c.
#define DAVINCI_MCASP_DITUDRB_REG 0x148 |
Definition at line 97 of file davinci-mcasp.c.
#define DAVINCI_MCASP_EVTCTLR_REG 0x7c |
Definition at line 68 of file davinci-mcasp.c.
#define DAVINCI_MCASP_EVTCTLX_REG 0xbc |
Definition at line 83 of file davinci-mcasp.c.
#define DAVINCI_MCASP_GBLCTL_REG 0x44 |
Definition at line 54 of file davinci-mcasp.c.
#define DAVINCI_MCASP_GBLCTLR_REG 0x60 |
Definition at line 60 of file davinci-mcasp.c.
#define DAVINCI_MCASP_GBLCTLX_REG 0xa0 |
Definition at line 75 of file davinci-mcasp.c.
#define DAVINCI_MCASP_LBCTL_REG 0x4c |
Definition at line 56 of file davinci-mcasp.c.
#define DAVINCI_MCASP_NUM_SERIALIZER 16 |
Definition at line 299 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PCM_FMTS |
Definition at line 886 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PDCLR_REG 0x20 |
Definition at line 49 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PDIR_REG 0x14 |
Definition at line 45 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PDOUT_REG 0x18 |
Definition at line 46 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PDSET_REG 0x1c |
Definition at line 47 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PFUNC_REG 0x10 |
Definition at line 44 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PID_REG 0x00 |
Definition at line 41 of file davinci-mcasp.c.
#define DAVINCI_MCASP_PWREMUMGT_REG 0x04 |
Definition at line 42 of file davinci-mcasp.c.
#define DAVINCI_MCASP_REVTCTL_REG 0x8c |
Definition at line 73 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RFIFOCTL (0x1018) |
Definition at line 112 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RFIFOSTS (0x101C) |
Definition at line 113 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXBUF_REG 0x280 |
Definition at line 107 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXCLKCHK_REG 0x88 |
Definition at line 72 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXFMCTL_REG 0x6c |
Definition at line 63 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXFMT_REG 0x68 |
Definition at line 62 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXMASK_REG 0x64 |
Definition at line 61 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXSTAT_REG 0x80 |
Definition at line 70 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXTDM_REG 0x78 |
Definition at line 67 of file davinci-mcasp.c.
#define DAVINCI_MCASP_RXTDMSLOT_REG 0x84 |
Definition at line 71 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TLGC_REG 0x30 |
Definition at line 51 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TLMR_REG 0x34 |
Definition at line 52 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXBUF_REG 0x200 |
Definition at line 105 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXCLKCHK_REG 0xc8 |
Definition at line 87 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXDITCTL_REG 0x50 |
Definition at line 58 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXFMCTL_REG 0xac |
Definition at line 78 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXFMT_REG 0xa8 |
Definition at line 77 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXMASK_REG 0xa4 |
Definition at line 76 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXSTAT_REG 0xc0 |
Definition at line 85 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXTDM_REG 0xb8 |
Definition at line 82 of file davinci-mcasp.c.
#define DAVINCI_MCASP_TXTDMSLOT_REG 0xc4 |
Definition at line 86 of file davinci-mcasp.c.
#define DAVINCI_MCASP_WFIFOCTL (0x1010) |
Definition at line 110 of file davinci-mcasp.c.
#define DAVINCI_MCASP_WFIFOSTS (0x1014) |
Definition at line 111 of file davinci-mcasp.c.
#define DAVINCI_MCASP_XEVTCTL_REG 0xcc |
Definition at line 88 of file davinci-mcasp.c.
#define DAVINCI_MCASP_XRSRCTL_BASE_REG 0x180 |
Definition at line 100 of file davinci-mcasp.c.
#define DAVINCI_MCASP_XRSRCTL_REG | ( | n | ) |
Definition at line 101 of file davinci-mcasp.c.
Definition at line 231 of file davinci-mcasp.c.
Definition at line 153 of file davinci-mcasp.c.
#define FIFO_ENABLE BIT(16) |
Definition at line 295 of file davinci-mcasp.c.
Definition at line 177 of file davinci-mcasp.c.
#define FSRDUR BIT(4) |
Definition at line 192 of file davinci-mcasp.c.
Definition at line 193 of file davinci-mcasp.c.
#define FSRPOL BIT(0) |
Definition at line 190 of file davinci-mcasp.c.
Definition at line 166 of file davinci-mcasp.c.
#define FSXDUR BIT(4) |
Definition at line 184 of file davinci-mcasp.c.
Definition at line 185 of file davinci-mcasp.c.
#define FSXPOL BIT(0) |
Definition at line 182 of file davinci-mcasp.c.
#define LBEN BIT(0) |
Definition at line 238 of file davinci-mcasp.c.
Definition at line 240 of file davinci-mcasp.c.
#define LBORD BIT(1) |
Definition at line 239 of file davinci-mcasp.c.
#define MCASP_FREE BIT(0) |
Definition at line 123 of file davinci-mcasp.c.
#define MCASP_SOFT BIT(1) |
Definition at line 124 of file davinci-mcasp.c.
#define MCASP_VER3_RFIFOCTL (0x1008) |
Definition at line 116 of file davinci-mcasp.c.
#define MCASP_VER3_RFIFOSTS (0x100C) |
Definition at line 117 of file davinci-mcasp.c.
#define MCASP_VER3_WFIFOCTL (0x1000) |
Definition at line 114 of file davinci-mcasp.c.
#define MCASP_VER3_WFIFOSTS (0x1004) |
Definition at line 115 of file davinci-mcasp.c.
Definition at line 230 of file davinci-mcasp.c.
#define MUTEBADCLKR BIT(9) |
Definition at line 277 of file davinci-mcasp.c.
#define MUTEBADCLKX BIT(10) |
Definition at line 278 of file davinci-mcasp.c.
#define MUTEFSR BIT(7) |
Definition at line 275 of file davinci-mcasp.c.
#define MUTEFSX BIT(8) |
Definition at line 276 of file davinci-mcasp.c.
#define MUTEIN BIT(4) |
Definition at line 272 of file davinci-mcasp.c.
#define MUTEINENA BIT(3) |
Definition at line 271 of file davinci-mcasp.c.
#define MUTEINPOL BIT(2) |
Definition at line 270 of file davinci-mcasp.c.
Definition at line 269 of file davinci-mcasp.c.
#define MUTER BIT(5) |
Definition at line 273 of file davinci-mcasp.c.
#define MUTERXDMAERR BIT(11) |
Definition at line 279 of file davinci-mcasp.c.
#define MUTETXDMAERR BIT(12) |
Definition at line 280 of file davinci-mcasp.c.
#define MUTEX BIT(6) |
Definition at line 274 of file davinci-mcasp.c.
#define NUMDMA_MASK (0xFF) |
Definition at line 297 of file davinci-mcasp.c.
#define NUMEVT_MASK (0xFF << 8) |
Definition at line 296 of file davinci-mcasp.c.
#define PDIR_AMUTE BIT(25) |
Definition at line 142 of file davinci-mcasp.c.
#define PFUNC_AMUTE BIT(25) |
Definition at line 130 of file davinci-mcasp.c.
#define RX_ASYNC BIT(6) |
Definition at line 208 of file davinci-mcasp.c.
Definition at line 255 of file davinci-mcasp.c.
#define RXDATADMADIS BIT(0) |
Definition at line 285 of file davinci-mcasp.c.
Definition at line 259 of file davinci-mcasp.c.
Definition at line 256 of file davinci-mcasp.c.
#define RXORD BIT(15) |
Definition at line 176 of file davinci-mcasp.c.
Definition at line 175 of file davinci-mcasp.c.
Definition at line 174 of file davinci-mcasp.c.
Definition at line 171 of file davinci-mcasp.c.
#define RXSEL BIT(3) |
Definition at line 172 of file davinci-mcasp.c.
#define RXSERCLR BIT(2) /* Receiver Serializer Clear */ |
Definition at line 257 of file davinci-mcasp.c.
Definition at line 258 of file davinci-mcasp.c.
Definition at line 173 of file davinci-mcasp.c.
Definition at line 233 of file davinci-mcasp.c.
Definition at line 250 of file davinci-mcasp.c.
#define TX_ASYNC BIT(6) |
Definition at line 200 of file davinci-mcasp.c.
Definition at line 260 of file davinci-mcasp.c.
#define TXDATADMADIS BIT(0) |
Definition at line 290 of file davinci-mcasp.c.
Definition at line 264 of file davinci-mcasp.c.
Definition at line 261 of file davinci-mcasp.c.
#define TXORD BIT(15) |
Definition at line 165 of file davinci-mcasp.c.
Definition at line 164 of file davinci-mcasp.c.
Definition at line 163 of file davinci-mcasp.c.
Definition at line 160 of file davinci-mcasp.c.
#define TXSEL BIT(3) |
Definition at line 161 of file davinci-mcasp.c.
Definition at line 262 of file davinci-mcasp.c.
Definition at line 263 of file davinci-mcasp.c.
Definition at line 162 of file davinci-mcasp.c.
#define TXSTATE BIT(4) |
Definition at line 232 of file davinci-mcasp.c.
Definition at line 245 of file davinci-mcasp.c.
#define VA BIT(2) |
Definition at line 154 of file davinci-mcasp.c.
#define VB BIT(3) |
Definition at line 155 of file davinci-mcasp.c.
MODULE_AUTHOR | ( | "Steve Chen" | ) |
MODULE_DESCRIPTION | ( | "TI DAVINCI McASP SoC Interface" | ) |
MODULE_DEVICE_TABLE | ( | of | , |
mcasp_dt_ids | |||
) |
MODULE_LICENSE | ( | "GPL" | ) |
module_platform_driver | ( | davinci_mcasp_driver | ) |