mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
/*
 | 
						|
 * linux/arch/arm/mach-omap2/mcbsp.c
 | 
						|
 *
 | 
						|
 * Copyright (C) 2008 Instituto Nokia de Tecnologia
 | 
						|
 * Contact: Eduardo Valentin <eduardo.valentin@indt.org.br>
 | 
						|
 *
 | 
						|
 * Multichannel mode not supported.
 | 
						|
 */
 | 
						|
#include <linux/module.h>
 | 
						|
#include <linux/init.h>
 | 
						|
#include <linux/clk.h>
 | 
						|
#include <linux/err.h>
 | 
						|
#include <linux/io.h>
 | 
						|
#include <linux/of.h>
 | 
						|
#include <linux/platform_device.h>
 | 
						|
#include <linux/slab.h>
 | 
						|
#include <linux/platform_data/asoc-ti-mcbsp.h>
 | 
						|
#include <linux/pm_runtime.h>
 | 
						|
 | 
						|
#include <linux/omap-dma.h>
 | 
						|
 | 
						|
#include "soc.h"
 | 
						|
#include "omap_device.h"
 | 
						|
#include "clock.h"
 | 
						|
 | 
						|
/*
 | 
						|
 * FIXME: Find a mechanism to enable/disable runtime the McBSP ICLK autoidle.
 | 
						|
 * Sidetone needs non-gated ICLK and sidetone autoidle is broken.
 | 
						|
 */
 | 
						|
#include "cm3xxx.h"
 | 
						|
#include "cm-regbits-34xx.h"
 | 
						|
 | 
						|
static int omap3_mcbsp_force_ick_on(struct clk *clk, bool force_on)
 | 
						|
{
 | 
						|
	if (!clk)
 | 
						|
		return 0;
 | 
						|
 | 
						|
	if (force_on)
 | 
						|
		return omap2_clk_deny_idle(clk);
 | 
						|
	else
 | 
						|
		return omap2_clk_allow_idle(clk);
 | 
						|
}
 | 
						|
 | 
						|
void __init omap3_mcbsp_init_pdata_callback(
 | 
						|
					struct omap_mcbsp_platform_data *pdata)
 | 
						|
{
 | 
						|
	if (!pdata)
 | 
						|
		return;
 | 
						|
 | 
						|
	pdata->force_ick_on = omap3_mcbsp_force_ick_on;
 | 
						|
}
 |