summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h')
-rw-r--r--ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h126
1 files changed, 0 insertions, 126 deletions
diff --git a/ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h b/ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h
deleted file mode 100644
index befefd99..00000000
--- a/ANDROID_3.4.5/sound/aoa/soundbus/i2sbus/i2sbus.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * i2sbus driver -- private definitions
- *
- * Copyright 2006 Johannes Berg <johannes@sipsolutions.net>
- *
- * GPL v2, can be found in COPYING.
- */
-#ifndef __I2SBUS_H
-#define __I2SBUS_H
-#include <linux/interrupt.h>
-#include <linux/spinlock.h>
-#include <linux/mutex.h>
-#include <linux/completion.h>
-
-#include <sound/pcm.h>
-
-#include <asm/prom.h>
-#include <asm/pmac_feature.h>
-#include <asm/dbdma.h>
-
-#include "interface.h"
-#include "../soundbus.h"
-
-struct i2sbus_control {
- struct list_head list;
- struct macio_chip *macio;
-};
-
-#define MAX_DBDMA_COMMANDS 32
-
-struct dbdma_command_mem {
- dma_addr_t bus_addr;
- dma_addr_t bus_cmd_start;
- struct dbdma_cmd *cmds;
- void *space;
- int size;
- u32 running:1;
- u32 stopping:1;
-};
-
-struct pcm_info {
- u32 created:1, /* has this direction been created with alsa? */
- active:1; /* is this stream active? */
- /* runtime information */
- struct snd_pcm_substream *substream;
- int current_period;
- u32 frame_count;
- struct dbdma_command_mem dbdma_ring;
- volatile struct dbdma_regs __iomem *dbdma;
- struct completion *stop_completion;
-};
-
-enum {
- aoa_resource_i2smmio = 0,
- aoa_resource_txdbdma,
- aoa_resource_rxdbdma,
-};
-
-struct i2sbus_dev {
- struct soundbus_dev sound;
- struct macio_dev *macio;
- struct i2sbus_control *control;
- volatile struct i2s_interface_regs __iomem *intfregs;
-
- struct resource resources[3];
- struct resource *allocated_resource[3];
- int interrupts[3];
- char rnames[3][32];
-
- /* info about currently active substreams */
- struct pcm_info out, in;
- snd_pcm_format_t format;
- unsigned int rate;
-
- /* list for a single controller */
- struct list_head item;
- /* number of bus on controller */
- int bus_number;
- /* for use by control layer */
- struct pmf_function *enable,
- *cell_enable,
- *cell_disable,
- *clock_enable,
- *clock_disable;
-
- /* locks */
- /* spinlock for low-level interrupt locking */
- spinlock_t low_lock;
- /* mutex for high-level consistency */
- struct mutex lock;
-};
-
-#define soundbus_dev_to_i2sbus_dev(sdev) \
- container_of(sdev, struct i2sbus_dev, sound)
-
-/* pcm specific functions */
-extern int
-i2sbus_attach_codec(struct soundbus_dev *dev, struct snd_card *card,
- struct codec_info *ci, void *data);
-extern void
-i2sbus_detach_codec(struct soundbus_dev *dev, void *data);
-extern irqreturn_t
-i2sbus_tx_intr(int irq, void *devid);
-extern irqreturn_t
-i2sbus_rx_intr(int irq, void *devid);
-
-extern void i2sbus_wait_for_stop_both(struct i2sbus_dev *i2sdev);
-extern void i2sbus_pcm_prepare_both(struct i2sbus_dev *i2sdev);
-
-/* control specific functions */
-extern int i2sbus_control_init(struct macio_dev* dev,
- struct i2sbus_control **c);
-extern void i2sbus_control_destroy(struct i2sbus_control *c);
-extern int i2sbus_control_add_dev(struct i2sbus_control *c,
- struct i2sbus_dev *i2sdev);
-extern void i2sbus_control_remove_dev(struct i2sbus_control *c,
- struct i2sbus_dev *i2sdev);
-extern int i2sbus_control_enable(struct i2sbus_control *c,
- struct i2sbus_dev *i2sdev);
-extern int i2sbus_control_cell(struct i2sbus_control *c,
- struct i2sbus_dev *i2sdev,
- int enable);
-extern int i2sbus_control_clock(struct i2sbus_control *c,
- struct i2sbus_dev *i2sdev,
- int enable);
-#endif /* __I2SBUS_H */