cregit-Linux how code gets into the kernel

Release 4.12 include/linux/platform_data/davinci_asp.h

/*
 * TI DaVinci Audio Serial Port support
 *
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation version 2.
 *
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
 * kind, whether express or implied; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef __DAVINCI_ASP_H

#define __DAVINCI_ASP_H

#include <linux/genalloc.h>


struct davinci_mcasp_pdata {
	
u32 tx_dma_offset;
	
u32 rx_dma_offset;
	
int asp_chan_q;	/* event queue number for ASP channel */
	
int ram_chan_q;	/* event queue number for RAM channel */
	/*
         * Allowing this is more efficient and eliminates left and right swaps
         * caused by underruns, but will swap the left and right channels
         * when compared to previous behavior.
         */
	
unsigned enable_channel_combine:1;
	
unsigned sram_size_playback;
	
unsigned sram_size_capture;
	
struct gen_pool *sram_pool;

	/*
         * If McBSP peripheral gets the clock from an external pin,
         * there are three chooses, that are MCBSP_CLKX, MCBSP_CLKR
         * and MCBSP_CLKS.
         * Depending on different hardware connections it is possible
         * to use this setting to change the behaviour of McBSP
         * driver.
         */
	
int clk_input_pin;

	/*
         * This flag works when both clock and FS are outputs for the cpu
         * and makes clock more accurate (FS is not symmetrical and the
         * clock is very fast.
         * The clock becoming faster is named
         * i2s continuous serial clock (I2S_SCK) and it is an externally
         * visible bit clock.
         *
         * first line : WordSelect
         * second line : ContinuousSerialClock
         * third line: SerialData
         *
         * SYMMETRICAL APPROACH:
         *   _______________________          LEFT
         * _|         RIGHT         |______________________|
         *     _   _         _   _   _   _         _   _
         *   _| |_| |_ x16 _| |_| |_| |_| |_ x16 _| |_| |_
         *     _   _         _   _   _   _         _   _
         *   _/ \_/ \_ ... _/ \_/ \_/ \_/ \_ ... _/ \_/ \_
         *    \_/ \_/       \_/ \_/ \_/ \_/       \_/ \_/
         *
         * ACCURATE CLOCK APPROACH:
         *   ______________          LEFT
         * _|     RIGHT    |_______________________________|
         *     _         _   _         _   _   _   _   _   _
         *   _| |_ x16 _| |_| |_ x16 _| |_| |_| |_| |_| |_| |
         *     _         _   _          _      dummy cycles
         *   _/ \_ ... _/ \_/ \_  ... _/ \__________________
         *    \_/       \_/ \_/        \_/
         *
         */
	
bool i2s_accurate_sck;

	/* McASP specific fields */
	
int tdm_slots;
	
u8 op_mode;
	
u8 num_serializer;
	
u8 *serial_dir;
	
u8 version;
	
u8 txnumevt;
	
u8 rxnumevt;
	
int tx_dma_channel;
	
int rx_dma_channel;
};
/* TODO: Fix arch/arm/mach-davinci/ users and remove this define */

#define snd_platform_data davinci_mcasp_pdata

enum {
	
MCASP_VERSION_1 = 0,	/* DM646x */
	
MCASP_VERSION_2,	/* DA8xx/OMAPL1x */
	
MCASP_VERSION_3,        /* TI81xx/AM33xx */
	
MCASP_VERSION_4,	/* DRA7xxx */
};


enum mcbsp_clk_input_pin {
	
MCBSP_CLKR = 0,		/* as in DM365 */
	
MCBSP_CLKS,
};


#define INACTIVE_MODE	0

#define TX_MODE		1

#define RX_MODE		2


#define DAVINCI_MCASP_IIS_MODE	0

#define DAVINCI_MCASP_DIT_MODE	1

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Hebbar Gururaja11683.45%233.33%
Peter Ujfalusi96.47%233.33%
Matt Porter85.76%116.67%
Jyri Sarha64.32%116.67%
Total139100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.