1/*-
2 * Copyright (c) 2016 Stanislav Galabov.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD$
27 */
28#ifndef _MTK_USB_PHY_H_
29#define _MTK_USB_PHY_H_
30
31#define MT7621_FM_FEG_BASE	0x0100
32#define MT7621_U2_BASE		0x0800
33#define MT7621_U2_BASE_P1	0x1000
34#define MT7621_SR_COEF		28
35
36#define MT7628_FM_FEG_BASE	0x0f00
37#define MT7628_U2_BASE		0x0800
38#define MT7628_SR_COEF		32
39
40#define U2_PHY_AC0		0x00
41#define U2_PHY_AC1		0x04
42#define U2_PHY_AC2		0x08
43#define U2_PHY_ACR0		0x10
44#define   SRCAL_EN			(1<<23)
45#define   SRCTRL_MSK			0x7
46#define   SRCTRL_OFF			16
47#define   SRCTRL			(SRCTRL_MSK<<SRCTRL_OFF)
48#define U2_PHY_ACR1		0x14
49#define U2_PHY_ACR2		0x18
50#define U2_PHY_ACR3		0x1C
51
52#define U2_PHY_DCR0		0x60
53#define U2_PHY_DCR1		0x64
54#define U2_PHY_DTM0		0x68
55#define U2_PHY_DTM1		0x6C
56
57#define U2_PHY_FMCR0		0x00
58#define   CYCLECNT			(0xffffff)
59#define   FDET_EN			(1<<24)
60#define U2_PHY_FMCR1		0x04
61#define   FRCK_EN			(1<<8)
62#define U2_PHY_FMCR2		0x08
63#define U2_PHY_FMMONR0		0x0C
64#define U2_PHY_FMMONR1		0x10
65
66#endif /* _MTK_USB_PHY_H_ */
67