octeon_xhcireg.h revision 1.2 1 1.1 jmcneill /* $OpenBSD: octxctlreg.h,v 1.2 2018/01/16 15:50:28 visa Exp $ */
2 1.1 jmcneill
3 1.1 jmcneill /*
4 1.1 jmcneill * Copyright (c) 2017 Visa Hankala
5 1.1 jmcneill *
6 1.1 jmcneill * Permission to use, copy, modify, and distribute this software for any
7 1.1 jmcneill * purpose with or without fee is hereby granted, provided that the above
8 1.1 jmcneill * copyright notice and this permission notice appear in all copies.
9 1.1 jmcneill *
10 1.1 jmcneill * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 1.1 jmcneill * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 1.1 jmcneill * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 1.1 jmcneill * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 1.1 jmcneill * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 1.1 jmcneill * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 1.1 jmcneill * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 1.1 jmcneill */
18 1.1 jmcneill
19 1.1 jmcneill #ifndef _OCTXCTLREG_H_
20 1.1 jmcneill #define _OCTXCTLREG_H_
21 1.1 jmcneill
22 1.1 jmcneill #define XCTL_CTL 0x00
23 1.1 jmcneill #define XCTL_CTL_CLEAR_BIST 0x8000000000000000ull
24 1.1 jmcneill #define XCTL_CTL_START_BIST 0x4000000000000000ull
25 1.1 jmcneill #define XCTL_CTL_REFCLK_SEL 0x3000000000000000ull
26 1.1 jmcneill #define XCTL_CTL_REFCLK_SEL_SHIFT 60
27 1.1 jmcneill #define XCTL_CTL_SSC_EN 0x0800000000000000ull
28 1.1 jmcneill #define XCTL_CTL_SSC_RANG 0x0700000000000000ull
29 1.1 jmcneill #define XCTL_CTL_SSC_REFCLK_SEL 0x00ff800000000000ull
30 1.1 jmcneill #define XCTL_CTL_MPLL_MULT 0x00007f0000000000ull
31 1.1 jmcneill #define XCTL_CTL_MPLL_MULT_SHIFT 40
32 1.1 jmcneill #define XCTL_CTL_REFCLK_SSP_EN 0x0000008000000000ull
33 1.1 jmcneill #define XCTL_CTL_REFCLK_DIV2 0x0000004000000000ull
34 1.1 jmcneill #define XCTL_CTL_REFCLK_FSEL 0x0000003f00000000ull
35 1.1 jmcneill #define XCTL_CTL_REFCLK_FSEL_SHIFT 32
36 1.1 jmcneill #define XCTL_CTL_CLK_EN 0x0000000040000000ull
37 1.1 jmcneill #define XCTL_CTL_CLK_BYP_SEL 0x0000000020000000ull
38 1.1 jmcneill #define XCTL_CTL_CLKDIV_RST 0x0000000010000000ull
39 1.1 jmcneill #define XCTL_CTL_CLKDIV_SEL 0x0000000007000000ull
40 1.1 jmcneill #define XCTL_CTL_CLKDIV_SEL_SHIFT 24
41 1.1 jmcneill #define XCTL_CTL_USB3_PORT_PERM_ATTACH 0x0000000000200000ull
42 1.1 jmcneill #define XCTL_CTL_USB2_PORT_PERM_ATTACH 0x0000000000100000ull
43 1.1 jmcneill #define XCTL_CTL_USB3_PORT_DIS 0x0000000000040000ull
44 1.1 jmcneill #define XCTL_CTL_USB2_PORT_DIS 0x0000000000010000ull
45 1.1 jmcneill #define XCTL_CTL_SSPOWER_EN 0x0000000000004000ull
46 1.1 jmcneill #define XCTL_CTL_HSPOWER_EN 0x0000000000001000ull
47 1.1 jmcneill #define XCTL_CTL_CSCLK_EN 0x0000000000000010ull
48 1.1 jmcneill #define XCTL_CTL_DRD_MODE 0x0000000000000008ull
49 1.1 jmcneill #define XCTL_CTL_UPHY_RST 0x0000000000000004ull
50 1.1 jmcneill #define XCTL_CTL_UAHC_RST 0x0000000000000002ull
51 1.1 jmcneill #define XCTL_CTL_UCTL_RST 0x0000000000000001ull
52 1.1 jmcneill
53 1.1 jmcneill #define XCTL_HOST_CFG 0xe0
54 1.1 jmcneill #define XCTL_HOST_CFG_PPC_EN 0x0000000002000000ull
55 1.1 jmcneill #define XCTL_HOST_CFG_PPC_ACTIVE_HIGH_EN 0x0000000001000000ull
56 1.1 jmcneill
57 1.1 jmcneill #define XCTL_SHIM_CFG 0xe8
58 1.1 jmcneill #define XCTL_SHIM_CFG_DMA_BYTE_SWAP 0x0000000000000300ull
59 1.1 jmcneill #define XCTL_SHIM_CFG_DMA_BYTE_SWAP_SHIFT 8
60 1.1 jmcneill #define XCTL_SHIM_CFG_CSR_BYTE_SWAP 0x0000000000000003ull
61 1.1 jmcneill #define XCTL_SHIM_CFG_CSR_BYTE_SWAP_SHIFT 0
62 1.2 simonb #define XCTL_SHIM_ENDIAN_LITTLE 0 /* A-B-C-D-E-F-G-H -> A-B-C-D-E-F-G-H */
63 1.2 simonb #define XCTL_SHIM_ENDIAN_BIG 1 /* A-B-C-D-E-F-G-H -> H-G-F-E-D-C-B-A */
64 1.2 simonb #define XCTL_SHIM_ENDIAN_RSVD2 2 /* A-B-C-D-E-F-G-H -> D-C-B-A-H-G-F-E */
65 1.2 simonb #define XCTL_SHIM_ENDIAN_RSVD3 3 /* A-B-C-D-E-F-G-H -> E-F-G-H-A-B-C-D */
66 1.1 jmcneill
67 1.1 jmcneill /*
68 1.1 jmcneill * DWC3 core control registers.
69 1.1 jmcneill * These are relative to the xHCI register space.
70 1.1 jmcneill */
71 1.1 jmcneill
72 1.1 jmcneill #define DWC3_GCTL 0xc110
73 1.1 jmcneill #define DWC3_GCTL_PRTCAP_MASK 0x00003000u
74 1.1 jmcneill #define DWC3_GCTL_PRTCAP_HOST 0x00001000u
75 1.1 jmcneill #define DWC3_GCTL_SOFITPSYNC 0x00000400u
76 1.1 jmcneill #define DWC3_GCTL_SCALEDOWN_MASK 0x00000030u
77 1.1 jmcneill #define DWC3_GCTL_DISSCRAMBLE 0x00000004u
78 1.1 jmcneill #define DWC3_GCTL_DSBLCLKGTNG 0x00000001u
79 1.1 jmcneill
80 1.1 jmcneill #define DWC3_GSNPSID 0xc120
81 1.1 jmcneill
82 1.1 jmcneill #define DWC3_GUSB2PHYCFG(n) (0xc200 + ((n) * 0x04))
83 1.1 jmcneill #define DWC3_GUSB2PHYCFG_SUSPHY 0x00000040u
84 1.1 jmcneill
85 1.1 jmcneill #define DWC3_GUSB3PIPECTL(n) (0xc2c0 + ((n) * 0x04))
86 1.1 jmcneill #define DWC3_GUSB3PIPECTL_UX_EXIT_PX 0x08000000u
87 1.1 jmcneill #define DWC3_GUSB3PIPECTL_SUSPHY 0x00020000u
88 1.1 jmcneill
89 1.1 jmcneill /* DWC3 revision numbers. */
90 1.1 jmcneill #define DWC3_REV_210A 0x210a
91 1.1 jmcneill #define DWC3_REV_250A 0x250a
92 1.1 jmcneill
93 1.1 jmcneill #endif /* !_OCTXCTLREG_H_ */
94