/*
 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
 *              http://www.samsung.com
 *
 * Author: Sung-Hyun Na <sunghyun.na@samsung.com>
 *
 * Chip Abstraction Layer for USB PHY
 *
 * 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 DRIVER_USB_USBPHY_CAL_PHY_EXYNOS_USBDP_REG_DP_H_
#define DRIVER_USB_USBPHY_CAL_PHY_EXYNOS_USBDP_REG_DP_H_

#define EXYNOS_USBDP_COM_DP_RB3		(0x0ACC)
#define USBDP_DPB3_CMN_DUMMY_CTRL_7		USBDP_COMBO_REG_MSK(7, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_6		USBDP_COMBO_REG_MSK(6, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_5		USBDP_COMBO_REG_MSK(5, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_4		USBDP_COMBO_REG_MSK(4, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_3		USBDP_COMBO_REG_MSK(3, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_2		USBDP_COMBO_REG_MSK(2, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_1		USBDP_COMBO_REG_MSK(1, 1)
#define USBDP_DPB3_CMN_DUMMY_CTRL_0		USBDP_COMBO_REG_MSK(0, 1)


#endif /* DRIVER_USB_USBPHY_CAL_PHY_EXYNOS_USBDP_REG_DP_H_ */
