18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Defines for Multi-Channel Buffered Serial Port 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2002 RidgeRun, Inc. 68c2ecf20Sopenharmony_ci * Author: Steve Johnson 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci#ifndef __ASOC_TI_MCBSP_H 98c2ecf20Sopenharmony_ci#define __ASOC_TI_MCBSP_H 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <linux/spinlock.h> 128c2ecf20Sopenharmony_ci#include <linux/clk.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci/* Platform specific configuration */ 158c2ecf20Sopenharmony_cistruct omap_mcbsp_ops { 168c2ecf20Sopenharmony_ci void (*request)(unsigned int); 178c2ecf20Sopenharmony_ci void (*free)(unsigned int); 188c2ecf20Sopenharmony_ci}; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistruct omap_mcbsp_platform_data { 218c2ecf20Sopenharmony_ci struct omap_mcbsp_ops *ops; 228c2ecf20Sopenharmony_ci u16 buffer_size; 238c2ecf20Sopenharmony_ci u8 reg_size; 248c2ecf20Sopenharmony_ci u8 reg_step; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci /* McBSP platform and instance specific features */ 278c2ecf20Sopenharmony_ci bool has_wakeup; /* Wakeup capability */ 288c2ecf20Sopenharmony_ci bool has_ccr; /* Transceiver has configuration control registers */ 298c2ecf20Sopenharmony_ci int (*force_ick_on)(struct clk *clk, bool force_on); 308c2ecf20Sopenharmony_ci}; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_civoid omap3_mcbsp_init_pdata_callback(struct omap_mcbsp_platform_data *pdata); 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#endif 35