blob: 30b6ec8aa39f6f3810015bdab45615ab5b51b4ea [file] [log] [blame]
/*
* Copyright (C) 2018 Synaptics Incorporated. All rights reserved.
*
* 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.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#ifndef _POWER_CTRL_H_
#define _POWER_CTRL_H_
enum POWER_SEL {
POWER_SEL_CLOCK = 1,
POWER_SEL_SRAM = 2,
POWER_SEL_PHY = 4,
POWER_SEL_ALL = 7,
};
enum POWER_ACT {
POWER_OFF= 0,
POWER_ON = 1,
};
extern int power_ctrl_emmc(enum POWER_ACT act, enum POWER_SEL sel);
extern int powerdown_emmc(int powerdown);
extern int powerdown_spi(int powerdown, int id);
extern int power_ctrl_pcie0(enum POWER_ACT act, enum POWER_SEL sel);
extern int power_ctrl_pcie1(enum POWER_ACT act, enum POWER_SEL sel);
extern int powerdown_pcie(int powerdown);
extern int power_ctrl_sdio(enum POWER_ACT act, enum POWER_SEL sel);
extern int powerdown_sdio(int powerdown);
#endif /* _POWER_CTRL_H_ */