/*
 * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
 *
 * Derived from linux/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#ifndef __DT_BINDINGS_CLOCK_BCM6348_H
#define __DT_BINDINGS_CLOCK_BCM6348_H

#define BCM6348_CLK_ADSL	0
#define BCM6348_CLK_MPI		1
#define BCM6348_CLK_SDRAM	2
#define BCM6348_CLK_M2M		3
#define BCM6348_CLK_ENET	4
#define BCM6348_CLK_SAR		5
#define BCM6348_CLK_USBS	6
#define BCM6348_CLK_USBH	8
#define BCM6348_CLK_SPI		9

#endif /* __DT_BINDINGS_CLOCK_BCM6348_H */
