/*
 * Copyright (C) 2019 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
 */

#ifndef _DT_BINDINGS_MT6315_IRQ_H
#define _DT_BINDINGS_MT6315_IRQ_H

#define INT_VBUCK1_OC			0
#define INT_VBUCK2_OC			1
#define INT_VBUCK3_OC			2
#define INT_VBUCK4_OC			3
#define INT_TEMP_L			4
#define INT_TEMP_H			5
#define INT_RCS0			6
#define INT_RCS1			7

#endif /* _DT_BINDINGS_MT6315_IRQ_H */
