1*036c4991Svisa /* $OpenBSD: octxctlreg.h,v 1.2 2018/01/16 15:50:28 visa Exp $ */ 2029876c0Svisa 3029876c0Svisa /* 4029876c0Svisa * Copyright (c) 2017 Visa Hankala 5029876c0Svisa * 6029876c0Svisa * Permission to use, copy, modify, and distribute this software for any 7029876c0Svisa * purpose with or without fee is hereby granted, provided that the above 8029876c0Svisa * copyright notice and this permission notice appear in all copies. 9029876c0Svisa * 10029876c0Svisa * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11029876c0Svisa * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12029876c0Svisa * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13029876c0Svisa * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14029876c0Svisa * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15029876c0Svisa * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16029876c0Svisa * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17029876c0Svisa */ 18029876c0Svisa 19029876c0Svisa #ifndef _OCTXCTLREG_H_ 20029876c0Svisa #define _OCTXCTLREG_H_ 21029876c0Svisa 22029876c0Svisa #define XCTL_CTL 0x00 23029876c0Svisa #define XCTL_CTL_CLEAR_BIST 0x8000000000000000ull 24029876c0Svisa #define XCTL_CTL_START_BIST 0x4000000000000000ull 25029876c0Svisa #define XCTL_CTL_REFCLK_SEL 0x3000000000000000ull 26029876c0Svisa #define XCTL_CTL_REFCLK_SEL_SHIFT 60 27029876c0Svisa #define XCTL_CTL_SSC_EN 0x0800000000000000ull 28029876c0Svisa #define XCTL_CTL_SSC_RANG 0x0700000000000000ull 29029876c0Svisa #define XCTL_CTL_SSC_REFCLK_SEL 0x00ff800000000000ull 30029876c0Svisa #define XCTL_CTL_MPLL_MULT 0x00007f0000000000ull 31029876c0Svisa #define XCTL_CTL_MPLL_MULT_SHIFT 40 32029876c0Svisa #define XCTL_CTL_REFCLK_SSP_EN 0x0000008000000000ull 33029876c0Svisa #define XCTL_CTL_REFCLK_DIV2 0x0000004000000000ull 34029876c0Svisa #define XCTL_CTL_REFCLK_FSEL 0x0000003f00000000ull 35029876c0Svisa #define XCTL_CTL_REFCLK_FSEL_SHIFT 32 36029876c0Svisa #define XCTL_CTL_CLK_EN 0x0000000040000000ull 37029876c0Svisa #define XCTL_CTL_CLK_BYP_SEL 0x0000000020000000ull 38029876c0Svisa #define XCTL_CTL_CLKDIV_RST 0x0000000010000000ull 39029876c0Svisa #define XCTL_CTL_CLKDIV_SEL 0x0000000007000000ull 40029876c0Svisa #define XCTL_CTL_CLKDIV_SEL_SHIFT 24 41029876c0Svisa #define XCTL_CTL_USB3_PORT_PERM_ATTACH 0x0000000000200000ull 42029876c0Svisa #define XCTL_CTL_USB2_PORT_PERM_ATTACH 0x0000000000100000ull 43029876c0Svisa #define XCTL_CTL_USB3_PORT_DIS 0x0000000000040000ull 44029876c0Svisa #define XCTL_CTL_USB2_PORT_DIS 0x0000000000010000ull 45029876c0Svisa #define XCTL_CTL_SSPOWER_EN 0x0000000000004000ull 46029876c0Svisa #define XCTL_CTL_HSPOWER_EN 0x0000000000001000ull 47029876c0Svisa #define XCTL_CTL_CSCLK_EN 0x0000000000000010ull 48029876c0Svisa #define XCTL_CTL_DRD_MODE 0x0000000000000008ull 49029876c0Svisa #define XCTL_CTL_UPHY_RST 0x0000000000000004ull 50029876c0Svisa #define XCTL_CTL_UAHC_RST 0x0000000000000002ull 51029876c0Svisa #define XCTL_CTL_UCTL_RST 0x0000000000000001ull 52029876c0Svisa 53029876c0Svisa #define XCTL_HOST_CFG 0xe0 54029876c0Svisa #define XCTL_HOST_CFG_PPC_EN 0x0000000002000000ull 55029876c0Svisa #define XCTL_HOST_CFG_PPC_ACTIVE_HIGH_EN 0x0000000001000000ull 56029876c0Svisa 57029876c0Svisa #define XCTL_SHIM_CFG 0xe8 58029876c0Svisa #define XCTL_SHIM_CFG_DMA_BYTE_SWAP 0x0000000000000300ull 59029876c0Svisa #define XCTL_SHIM_CFG_DMA_BYTE_SWAP_SHIFT 8 60029876c0Svisa #define XCTL_SHIM_CFG_CSR_BYTE_SWAP 0x0000000000000003ull 61029876c0Svisa #define XCTL_SHIM_CFG_CSR_BYTE_SWAP_SHIFT 0 62029876c0Svisa 63029876c0Svisa /* 64029876c0Svisa * DWC3 core control registers. 65029876c0Svisa * These are relative to the xHCI register space. 66029876c0Svisa */ 67029876c0Svisa 68029876c0Svisa #define DWC3_GCTL 0xc110 69029876c0Svisa #define DWC3_GCTL_PRTCAP_MASK 0x00003000u 70029876c0Svisa #define DWC3_GCTL_PRTCAP_HOST 0x00001000u 71029876c0Svisa #define DWC3_GCTL_SOFITPSYNC 0x00000400u 72029876c0Svisa #define DWC3_GCTL_SCALEDOWN_MASK 0x00000030u 73029876c0Svisa #define DWC3_GCTL_DISSCRAMBLE 0x00000004u 74029876c0Svisa #define DWC3_GCTL_DSBLCLKGTNG 0x00000001u 75029876c0Svisa 76029876c0Svisa #define DWC3_GSNPSID 0xc120 77029876c0Svisa 78029876c0Svisa #define DWC3_GUSB2PHYCFG(n) (0xc200 + ((n) * 0x04)) 79*036c4991Svisa #define DWC3_GUSB2PHYCFG_SUSPHY 0x00000040u 80029876c0Svisa 81029876c0Svisa #define DWC3_GUSB3PIPECTL(n) (0xc2c0 + ((n) * 0x04)) 82029876c0Svisa #define DWC3_GUSB3PIPECTL_UX_EXIT_PX 0x08000000u 83029876c0Svisa #define DWC3_GUSB3PIPECTL_SUSPHY 0x00020000u 84029876c0Svisa 85029876c0Svisa /* DWC3 revision numbers. */ 86029876c0Svisa #define DWC3_REV_210A 0x210a 87029876c0Svisa #define DWC3_REV_250A 0x250a 88029876c0Svisa 89029876c0Svisa #endif /* !_OCTXCTLREG_H_ */ 90