/*
 * 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_RESET_BCM6368_H
#define __DT_BINDINGS_RESET_BCM6368_H

#define BCM6368_RST_SPI		0
#define BCM6368_RST_MPI		3
#define BCM6368_RST_IPSEC	4
#define BCM6368_RST_EPHY	6
#define BCM6368_RST_SAR		7
#define BCM6368_RST_SWITCH	10
#define BCM6368_RST_USBD	11
#define BCM6368_RST_USBH	12
#define BCM6368_RST_PCM		13

#endif /* __DT_BINDINGS_RESET_BCM6368_H */
