/*
 * Copyright (C) 2014 Renesas Solutions Corp.
 * Copyright (C) 2014 Wolfram Sang, Sang Engineering <wsa@sang-engineering.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 */

#ifndef __DT_BINDINGS_CLOCK_R7S72100_H__
#define __DT_BINDINGS_CLOCK_R7S72100_H__

#define R7S72100_CLK_PLL	0

/* MSTP3 */
#define R7S72100_CLK_MTU2	3

/* MSTP4 */
#define R7S72100_CLK_SCIF0	7
#define R7S72100_CLK_SCIF1	6
#define R7S72100_CLK_SCIF2	5
#define R7S72100_CLK_SCIF3	4
#define R7S72100_CLK_SCIF4	3
#define R7S72100_CLK_SCIF5	2
#define R7S72100_CLK_SCIF6	1
#define R7S72100_CLK_SCIF7	0

/* MSTP7 */
#define R7S72100_CLK_ETHER	4

/* MSTP8 */
#define R7S72100_CLK_MMCIF	4

/* MSTP9 */
#define R7S72100_CLK_I2C0	7
#define R7S72100_CLK_I2C1	6
#define R7S72100_CLK_I2C2	5
#define R7S72100_CLK_I2C3	4

/* MSTP10 */
#define R7S72100_CLK_SPI0	7
#define R7S72100_CLK_SPI1	6
#define R7S72100_CLK_SPI2	5
#define R7S72100_CLK_SPI3	4
#define R7S72100_CLK_SPI4	3

/* MSTP12 */
#define R7S72100_CLK_SDHI0	3
#define R7S72100_CLK_SDHI1	2

#endif /* __DT_BINDINGS_CLOCK_R7S72100_H__ */
