PageRenderTime 21ms CodeModel.GetById 9ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/arm/mach-msm/include/mach/msm_dsps.h

https://bitbucket.org/sammyz/iscream_thunderc-2.6.35-rebase
C++ Header | 103 lines | 33 code | 8 blank | 62 comment | 0 complexity | cb342f56cd8da8490fac30434a6106a6 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
  1/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
  2 *
  3 * Redistribution and use in source and binary forms, with or without
  4 * modification, are permitted provided that the following conditions are
  5 * met:
  6 *     * Redistributions of source code must retain the above copyright
  7 *       notice, this list of conditions and the following disclaimer.
  8 *     * Redistributions in binary form must reproduce the above
  9 *       copyright notice, this list of conditions and the following
 10 *       disclaimer in the documentation and/or other materials provided
 11 *       with the distribution.
 12 *     * Neither the name of Code Aurora Forum, Inc. nor the names of its
 13 *       contributors may be used to endorse or promote products derived
 14 *       from this software without specific prior written permission.
 15 *
 16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
 19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
 20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 27 *
 28 */
 29
 30#ifndef _MSM_DSPS_H_
 31#define _MSM_DSPS_H_
 32
 33#include <linux/types.h>
 34#include <linux/clk.h>
 35#include <linux/regulator/consumer.h>
 36
 37#define DSPS_SIGNATURE	0x12345678
 38
 39/**
 40 * DSPS Clocks Platform data.
 41 *
 42 * @name - clock name.
 43 * @rate - rate to set. zero if not relevant.
 44 * @clock - clock handle, reserved for the driver.
 45 */
 46struct dsps_clk_info {
 47	const char *name;
 48	u32 rate;
 49	struct clk *clock;
 50};
 51
 52/**
 53 * DSPS GPIOs Platform data.
 54 *
 55 * @name - clock name.
 56 * @num - GPIO number.
 57 * @on_val - value to ouptput for ON (depends on polarity).
 58 * @off_val - value to ouptput for OFF (depends on polarity).
 59 * @is_owner - reserved for the driver.
 60 */
 61struct dsps_gpio_info {
 62	const char *name;
 63	int num;
 64	int on_val;
 65	int off_val;
 66	int is_owner;
 67};
 68
 69/**
 70 * DSPS Power regulators Platform data.
 71 *
 72 * @name - regulator name.
 73 * @volt - required voltage (in uV).
 74 * @reg - reserved for the driver.
 75 */
 76struct dsps_regulator_info {
 77	const char *name;
 78	int volt;
 79	struct regulator *reg;
 80};
 81
 82/**
 83 * DSPS Platform data.
 84 *
 85 * @clks - array of clocks.
 86 * @clks_num - number of clocks in array.
 87 * @gpios - array of gpios.
 88 * @gpios_num - number of gpios.
 89 * @regs - array of regulators.
 90 * @regs_num - number of regulators.
 91 * @signature - signature for validity check.
 92 */
 93struct msm_dsps_platform_data {
 94	struct dsps_clk_info *clks;
 95	int clks_num;
 96	struct dsps_gpio_info *gpios;
 97	int gpios_num;
 98	struct dsps_regulator_info *regs;
 99	int regs_num;
100	u32 signature;
101};
102
103#endif /* _MSM_DSPS_H_ */