1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Defines for Multi-Channel Buffered Serial Port 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2002 RidgeRun, Inc. 6*4882a593Smuzhiyun * Author: Steve Johnson 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #ifndef __ASOC_TI_MCBSP_H 9*4882a593Smuzhiyun #define __ASOC_TI_MCBSP_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <linux/spinlock.h> 12*4882a593Smuzhiyun #include <linux/clk.h> 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun /* Platform specific configuration */ 15*4882a593Smuzhiyun struct omap_mcbsp_ops { 16*4882a593Smuzhiyun void (*request)(unsigned int); 17*4882a593Smuzhiyun void (*free)(unsigned int); 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun struct omap_mcbsp_platform_data { 21*4882a593Smuzhiyun struct omap_mcbsp_ops *ops; 22*4882a593Smuzhiyun u16 buffer_size; 23*4882a593Smuzhiyun u8 reg_size; 24*4882a593Smuzhiyun u8 reg_step; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun /* McBSP platform and instance specific features */ 27*4882a593Smuzhiyun bool has_wakeup; /* Wakeup capability */ 28*4882a593Smuzhiyun bool has_ccr; /* Transceiver has configuration control registers */ 29*4882a593Smuzhiyun int (*force_ick_on)(struct clk *clk, bool force_on); 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun void omap3_mcbsp_init_pdata_callback(struct omap_mcbsp_platform_data *pdata); 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #endif 35