Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

ssi.c File Reference


Detailed Description

This file contains the implementation of the SSI driver main services.

Definition in file ssi.c.

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include <mach/clock.h>
#include "registers.h"
#include "ssi.h"

Go to the source code of this file.

Functions

 EXPORT_SYMBOL (get_ssi_fifo_addr)
 EXPORT_SYMBOL (ssi_tx_word_length)
 EXPORT_SYMBOL (ssi_tx_shift_direction)
 EXPORT_SYMBOL (ssi_tx_prescaler_modulus)
 EXPORT_SYMBOL (ssi_tx_mask_time_slot)
 EXPORT_SYMBOL (ssi_tx_frame_sync_length)
 EXPORT_SYMBOL (ssi_tx_frame_sync_active)
 EXPORT_SYMBOL (ssi_tx_frame_rate)
 EXPORT_SYMBOL (ssi_tx_frame_direction)
 EXPORT_SYMBOL (ssi_tx_flush_fifo)
 EXPORT_SYMBOL (ssi_tx_fifo_enable)
 EXPORT_SYMBOL (ssi_tx_fifo_empty_watermark)
 EXPORT_SYMBOL (ssi_tx_fifo_counter)
 EXPORT_SYMBOL (ssi_tx_early_frame_sync)
 EXPORT_SYMBOL (ssi_tx_clock_prescaler)
 EXPORT_SYMBOL (ssi_tx_clock_polarity)
 EXPORT_SYMBOL (ssi_tx_clock_divide_by_two)
 EXPORT_SYMBOL (ssi_tx_clock_direction)
 EXPORT_SYMBOL (ssi_tx_bit0)
 EXPORT_SYMBOL (ssi_two_channel_mode)
 EXPORT_SYMBOL (ssi_transmit_enable)
 EXPORT_SYMBOL (ssi_system_clock)
 EXPORT_SYMBOL (ssi_synchronous_mode)
 EXPORT_SYMBOL (ssi_set_wait_states)
 EXPORT_SYMBOL (ssi_set_data)
 EXPORT_SYMBOL (ssi_rx_word_length)
 EXPORT_SYMBOL (ssi_rx_shift_direction)
 EXPORT_SYMBOL (ssi_rx_prescaler_modulus)
 EXPORT_SYMBOL (ssi_rx_mask_time_slot)
 EXPORT_SYMBOL (ssi_rx_frame_sync_length)
 EXPORT_SYMBOL (ssi_rx_frame_sync_active)
 EXPORT_SYMBOL (ssi_rx_frame_rate)
 EXPORT_SYMBOL (ssi_rx_frame_direction)
 EXPORT_SYMBOL (ssi_rx_flush_fifo)
 EXPORT_SYMBOL (ssi_rx_fifo_full_watermark)
 EXPORT_SYMBOL (ssi_rx_fifo_enable)
 EXPORT_SYMBOL (ssi_rx_fifo_counter)
 EXPORT_SYMBOL (ssi_rx_early_frame_sync)
 EXPORT_SYMBOL (ssi_rx_clock_prescaler)
 EXPORT_SYMBOL (ssi_rx_clock_polarity)
 EXPORT_SYMBOL (ssi_rx_clock_divide_by_two)
 EXPORT_SYMBOL (ssi_rx_clock_direction)
 EXPORT_SYMBOL (ssi_rx_bit0)
 EXPORT_SYMBOL (ssi_receive_enable)
 EXPORT_SYMBOL (ssi_network_mode)
 EXPORT_SYMBOL (ssi_interrupt_enable)
 EXPORT_SYMBOL (ssi_interrupt_disable)
 EXPORT_SYMBOL (ssi_i2s_mode)
 EXPORT_SYMBOL (ssi_get_status)
 EXPORT_SYMBOL (ssi_get_data)
 EXPORT_SYMBOL (ssi_enable)
 EXPORT_SYMBOL (ssi_clock_off)
 EXPORT_SYMBOL (ssi_clock_idle_state)
 EXPORT_SYMBOL (ssi_ac97_write_command)
 EXPORT_SYMBOL (ssi_ac97_variable_mode)
 EXPORT_SYMBOL (ssi_ac97_set_tag_register)
 EXPORT_SYMBOL (ssi_ac97_set_command_data_register)
 EXPORT_SYMBOL (ssi_ac97_set_command_address_register)
 EXPORT_SYMBOL (ssi_ac97_read_command)
 EXPORT_SYMBOL (ssi_ac97_tag_in_fifo)
 EXPORT_SYMBOL (ssi_ac97_mode_enable)
 EXPORT_SYMBOL (ssi_ac97_get_tag_register)
 EXPORT_SYMBOL (ssi_ac97_get_command_data_register)
 EXPORT_SYMBOL (ssi_ac97_get_command_address_register)
 EXPORT_SYMBOL (ssi_ac97_frame_rate_divider)
void * get_ssi_base_addr (unsigned int ssi)
unsigned int get_ssi_fifo_addr (unsigned int ssi, int direction)
unsigned long getreg_value (unsigned int offset, unsigned int ssi)
 MODULE_AUTHOR ("Freescale Semiconductor, Inc.")
 MODULE_DESCRIPTION ("SSI char device driver")
 module_exit (ssi_exit)
 module_init (ssi_init)
 MODULE_LICENSE ("GPL")
void set_register (unsigned int data, unsigned int offset, unsigned int ssi)
void set_register_bits (unsigned int mask, unsigned int data, unsigned int offset, unsigned int ssi)
void ssi_ac97_frame_rate_divider (ssi_mod module, unsigned char frame_rate_divider)
unsigned int ssi_ac97_get_command_address_register (ssi_mod module)
unsigned int ssi_ac97_get_command_data_register (ssi_mod module)
unsigned int ssi_ac97_get_tag_register (ssi_mod module)
void ssi_ac97_mode_enable (ssi_mod module, bool state)
void ssi_ac97_read_command (ssi_mod module, bool state)
void ssi_ac97_set_command_address_register (ssi_mod module, unsigned int address)
void ssi_ac97_set_command_data_register (ssi_mod module, unsigned int data)
void ssi_ac97_set_tag_register (ssi_mod module, unsigned int tag)
void ssi_ac97_tag_in_fifo (ssi_mod module, bool state)
void ssi_ac97_variable_mode (ssi_mod module, bool state)
void ssi_ac97_write_command (ssi_mod module, bool state)
void ssi_clock_idle_state (ssi_mod module, idle_state state)
void ssi_clock_off (ssi_mod module, bool state)
void ssi_enable (ssi_mod module, bool state)
static void __exit ssi_exit (void)
unsigned int ssi_get_data (ssi_mod module, fifo_nb fifo)
ssi_status_enable_mask ssi_get_status (ssi_mod module)
void ssi_i2s_mode (ssi_mod module, mode_i2s mode)
static int __init ssi_init (void)
void ssi_interrupt_disable (ssi_mod module, ssi_status_enable_mask mask)
void ssi_interrupt_enable (ssi_mod module, ssi_status_enable_mask mask)
void ssi_network_mode (ssi_mod module, bool state)
static int __init ssi_probe (struct platform_device *pdev)
void ssi_receive_enable (ssi_mod module, bool state)
static int ssi_remove (struct platform_device *dev)
void ssi_rx_bit0 (ssi_mod module, bool state)
void ssi_rx_clock_direction (ssi_mod module, ssi_tx_rx_direction direction)
void ssi_rx_clock_divide_by_two (ssi_mod module, bool state)
void ssi_rx_clock_polarity (ssi_mod module, ssi_tx_rx_clock_polarity polarity)
void ssi_rx_clock_prescaler (ssi_mod module, bool state)
void ssi_rx_early_frame_sync (ssi_mod module, ssi_tx_rx_early_frame_sync early)
unsigned char ssi_rx_fifo_counter (ssi_mod module, fifo_nb fifo)
void ssi_rx_fifo_enable (ssi_mod module, fifo_nb fifo, bool enable)
int ssi_rx_fifo_full_watermark (ssi_mod module, fifo_nb fifo, unsigned char watermark)
void ssi_rx_flush_fifo (ssi_mod module)
void ssi_rx_frame_direction (ssi_mod module, ssi_tx_rx_direction direction)
int ssi_rx_frame_rate (ssi_mod module, unsigned char ratio)
void ssi_rx_frame_sync_active (ssi_mod module, ssi_tx_rx_frame_sync_active active)
void ssi_rx_frame_sync_length (ssi_mod module, ssi_tx_rx_frame_sync_length length)
void ssi_rx_mask_time_slot (ssi_mod module, unsigned int mask)
int ssi_rx_prescaler_modulus (ssi_mod module, unsigned int divider)
void ssi_rx_shift_direction (ssi_mod module, ssi_tx_rx_shift_direction direction)
void ssi_rx_word_length (ssi_mod module, ssi_word_length length)
void ssi_set_data (ssi_mod module, fifo_nb fifo, unsigned int data)
void ssi_set_wait_states (ssi_mod module, ssi_wait_states wait)
void ssi_synchronous_mode (ssi_mod module, bool state)
void ssi_system_clock (ssi_mod module, bool state)
void ssi_transmit_enable (ssi_mod module, bool state)
void ssi_two_channel_mode (ssi_mod module, bool state)
void ssi_tx_bit0 (ssi_mod module, bool state)
void ssi_tx_clock_direction (ssi_mod module, ssi_tx_rx_direction direction)
void ssi_tx_clock_divide_by_two (ssi_mod module, bool state)
void ssi_tx_clock_polarity (ssi_mod module, ssi_tx_rx_clock_polarity polarity)
void ssi_tx_clock_prescaler (ssi_mod module, bool state)
void ssi_tx_early_frame_sync (ssi_mod module, ssi_tx_rx_early_frame_sync early)
unsigned char ssi_tx_fifo_counter (ssi_mod module, fifo_nb fifo)
int ssi_tx_fifo_empty_watermark (ssi_mod module, fifo_nb fifo, unsigned char watermark)
void ssi_tx_fifo_enable (ssi_mod module, fifo_nb fifo, bool enable)
void ssi_tx_flush_fifo (ssi_mod module)
void ssi_tx_frame_direction (ssi_mod module, ssi_tx_rx_direction direction)
int ssi_tx_frame_rate (ssi_mod module, unsigned char ratio)
void ssi_tx_frame_sync_active (ssi_mod module, ssi_tx_rx_frame_sync_active active)
void ssi_tx_frame_sync_length (ssi_mod module, ssi_tx_rx_frame_sync_length length)
void ssi_tx_mask_time_slot (ssi_mod module, unsigned int mask)
int ssi_tx_prescaler_modulus (ssi_mod module, unsigned int divider)
void ssi_tx_shift_direction (ssi_mod module, ssi_tx_rx_shift_direction direction)
void ssi_tx_word_length (ssi_mod module, ssi_word_length length)

Variables

unsigned long base_addr_1
unsigned long base_addr_2
static struct platform_driver mxc_ssi_driver
struct resource * res
static spinlock_t ssi_lock
struct mxc_audio_platform_data * ssi_platform_data


Generated by  Doxygen 1.6.0   Back to index