/*
 * Copyright (C) 2015 MediaTek Inc.
 *
 * 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 distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef _DT_BINDINGS_POWER_MT2701_POWER_H
#define _DT_BINDINGS_POWER_MT2701_POWER_H

#define MT2701_POWER_DOMAIN_CONN	0
#define MT2701_POWER_DOMAIN_DISP	1
#define MT2701_POWER_DOMAIN_MFG		2
#define MT2701_POWER_DOMAIN_VDEC	3
#define MT2701_POWER_DOMAIN_ISP		4
#define MT2701_POWER_DOMAIN_BDP		5
#define MT2701_POWER_DOMAIN_ETH		6
#define MT2701_POWER_DOMAIN_HIF		7
#define MT2701_POWER_DOMAIN_IFR_MSC	8

#endif /* _DT_BINDINGS_POWER_MT2701_POWER_H */
