1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
281dee67eSSudip Mukherjee #ifndef DDK750_POWER_H__
381dee67eSSudip Mukherjee #define DDK750_POWER_H__
481dee67eSSudip Mukherjee 
53ec58059SKeerthi Reddy enum dpms {
681dee67eSSudip Mukherjee 	crtDPMS_ON = 0x0,
781dee67eSSudip Mukherjee 	crtDPMS_STANDBY = 0x1,
881dee67eSSudip Mukherjee 	crtDPMS_SUSPEND = 0x2,
981dee67eSSudip Mukherjee 	crtDPMS_OFF = 0x3,
103ec58059SKeerthi Reddy };
1181dee67eSSudip Mukherjee 
1240197d07SVatsala Narang #define set_DAC(off) {							\
13c075b6f2SMatthieu Simon 	poke32(MISC_CTRL,						\
14c075b6f2SMatthieu Simon 	       (peek32(MISC_CTRL) & ~MISC_CTRL_DAC_POWER_OFF) | (off)); \
1581dee67eSSudip Mukherjee }
1681dee67eSSudip Mukherjee 
173ec58059SKeerthi Reddy void ddk750_set_dpms(enum dpms state);
18*6e9e4acdSArne Petersen void sm750_set_power_mode(unsigned int mode);
1952d0744dSArnd Bergmann void sm750_set_current_gate(unsigned int gate);
2081dee67eSSudip Mukherjee 
2181dee67eSSudip Mukherjee /*
2281dee67eSSudip Mukherjee  * This function enable/disable the 2D engine.
2381dee67eSSudip Mukherjee  */
2452d0744dSArnd Bergmann void sm750_enable_2d_engine(unsigned int enable);
2581dee67eSSudip Mukherjee 
2681dee67eSSudip Mukherjee /*
2781dee67eSSudip Mukherjee  * This function enable/disable the DMA Engine
2881dee67eSSudip Mukherjee  */
2952d0744dSArnd Bergmann void sm750_enable_dma(unsigned int enable);
3081dee67eSSudip Mukherjee 
3181dee67eSSudip Mukherjee /*
3281dee67eSSudip Mukherjee  * This function enable/disable the GPIO Engine
3381dee67eSSudip Mukherjee  */
3452d0744dSArnd Bergmann void sm750_enable_gpio(unsigned int enable);
3581dee67eSSudip Mukherjee 
3681dee67eSSudip Mukherjee /*
3781dee67eSSudip Mukherjee  * This function enable/disable the I2C Engine
3881dee67eSSudip Mukherjee  */
3952d0744dSArnd Bergmann void sm750_enable_i2c(unsigned int enable);
4081dee67eSSudip Mukherjee 
4181dee67eSSudip Mukherjee #endif
42