mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
52 lines
1.1 KiB
// SPDX-License-Identifier: GPL-2.0-only |
|
/* |
|
* linux/arch/arm/mach-omap2/mcbsp.c |
|
* |
|
* Copyright (C) 2008 Instituto Nokia de Tecnologia |
|
* Contact: Eduardo Valentin <[email protected]> |
|
* |
|
* 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; |
|
}
|
|
|