1 1.2 msaitoh /* $NetBSD: imx6_usbreg.h,v 1.2 2024/02/07 04:20:27 msaitoh Exp $ */ 2 1.1 skrll 3 1.1 skrll /* 4 1.2 msaitoh * Copyright (c) 2014 Ryo Shimizu 5 1.1 skrll * All rights reserved. 6 1.1 skrll * 7 1.1 skrll * Redistribution and use in source and binary forms, with or without 8 1.1 skrll * modification, are permitted provided that the following conditions 9 1.1 skrll * are met: 10 1.1 skrll * 1. Redistributions of source code must retain the above copyright 11 1.1 skrll * notice, this list of conditions and the following disclaimer. 12 1.1 skrll * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 skrll * notice, this list of conditions and the following disclaimer in the 14 1.1 skrll * documentation and/or other materials provided with the distribution. 15 1.1 skrll * 16 1.1 skrll * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 1.1 skrll * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 1.1 skrll * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 1.1 skrll * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 20 1.1 skrll * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 1.1 skrll * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 1.1 skrll * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 1.1 skrll * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 24 1.1 skrll * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 25 1.1 skrll * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 1.1 skrll * POSSIBILITY OF SUCH DAMAGE. 27 1.1 skrll */ 28 1.1 skrll 29 1.1 skrll #ifndef _IMX6_USBREG_H_ 30 1.1 skrll #define _IMX6_USBREG_H_ 31 1.1 skrll 32 1.1 skrll #include <sys/cdefs.h> 33 1.1 skrll 34 1.1 skrll #define USBC_UOG_CAPLENGTH 0x00000100 35 1.1 skrll #define USBC_UOG_PORTSC1 0x00000184 36 1.1 skrll #define USBC_UOG_USBMODE 0x000001a8 37 1.1 skrll #define USBC_UOG_USBMODE_SDIS __BIT(4) 38 1.1 skrll #define USBC_UOG_USBMODE_SLOM __BIT(3) 39 1.1 skrll #define USBC_UOG_USBMODE_ES __BIT(2) 40 1.1 skrll #define USBC_UOG_USBMODE_CM __BITS(1, 0) 41 1.1 skrll #define USBC_UH1_CAPLENGTH 0x00000300 42 1.1 skrll #define USBC_UH1_PORTSC1 0x00000384 43 1.1 skrll #define USBC_UH_PORTSC1_PTS_1 __BITS(31, 30) 44 1.1 skrll #define USBC_UH_PORTSC1_PE __BIT(2) 45 1.1 skrll #define USBC_UH_PORTSC1_PTS_2 __BIT(25) 46 1.1 skrll #define USBC_UH_PORTSC1_PTS_MASK (__BITS(31, 30) | __BIT(25)) 47 1.1 skrll #define USBC_UH_PORTSC1_PTS_UTMI 0 48 1.1 skrll #define USBC_UH_PORTSC1_PTS_ULPI __BIT(31) 49 1.1 skrll #define USBC_UH_PORTSC1_PTS_SERIAL (__BIT(31) | __BIT(30)) 50 1.1 skrll #define USBC_UH_PORTSC1_PTS_HSIC __BIT(25) 51 1.1 skrll #define USBC_UH1_USBMODE 0x000003a8 52 1.1 skrll #define USBC_UH_USBMODE_SDIS __BIT(4) 53 1.1 skrll #define USBC_UH_USBMODE_SLOM __BIT(3) 54 1.1 skrll #define USBC_UH_USBMODE_ES __BIT(2) 55 1.1 skrll #define USBC_UH_USBMODE_CM __BITS(1, 0) 56 1.1 skrll #define USBC_UH_USBMODE_CM_IDLE 0 57 1.1 skrll #define USBC_UH_USBMODE_CM_DEVICE_CONTROLLER 2 58 1.1 skrll #define USBC_UH_USBMODE_CM_HOST_CONTROLLER 3 59 1.1 skrll #define USBC_UH2_CAPLENGTH 0x00000500 60 1.1 skrll #define USBC_UH2_PORTSC1 0x00000584 61 1.1 skrll #define USBC_UH2_USBMODE 0x000005a8 62 1.1 skrll #define USBC_UH3_CAPLENGTH 0x00000700 63 1.1 skrll #define USBC_UH3_PORTSC1 0x00000784 64 1.1 skrll #define USBC_UH3_USBMODE 0x000007a8 65 1.1 skrll 66 1.1 skrll #define USBNC_BASE 0x00000800 67 1.1 skrll #define USBNC_SIZE 0x00000020 68 1.1 skrll #define USBNC_USB_OTG_CTRL 0x00000000 69 1.1 skrll #define USBNC_USB_OTG_CTRL_WIR __BIT(31) 70 1.1 skrll #define USBNC_USB_OTG_CTRL_WKUP_VBUS_EN __BIT(17) 71 1.1 skrll #define USBNC_USB_OTG_CTRL_WKUP_ID_EN __BIT(16) 72 1.1 skrll #define USBNC_USB_OTG_CTRL_WKUP_SW __BIT(15) 73 1.1 skrll #define USBNC_USB_OTG_CTRL_WKUP_SW_EN __BIT(14) 74 1.1 skrll #define USBNC_USB_OTG_CTRL_UTMI_ON_CLOCK __BIT(13) 75 1.1 skrll #define USBNC_USB_OTG_CTRL_WIE __BIT(10) 76 1.1 skrll #define USBNC_USB_OTG_CTRL_PWR_POL __BIT(9) 77 1.1 skrll #define USBNC_USB_OTG_CTRL_OVER_CUR_POL __BIT(8) 78 1.1 skrll #define USBNC_USB_OTG_CTRL_OVER_CUR_DIS __BIT(7) 79 1.1 skrll #define USBNC_USB_UH1_CTRL 0x00000004 80 1.1 skrll #define USBNC_USB_UH1_CTRL_WIR __BIT(31) 81 1.1 skrll #define USBNC_USB_UH1_CTRL_WKUP_VBUS_EN __BIT(17) 82 1.1 skrll #define USBNC_USB_UH1_CTRL_WKUP_ID_EN __BIT(16) 83 1.1 skrll #define USBNC_USB_UH1_CTRL_WKUP_SW __BIT(15) 84 1.1 skrll #define USBNC_USB_UH1_CTRL_WKUP_SW_EN __BIT(14) 85 1.1 skrll #define USBNC_USB_UH1_CTRL_UTMI_ON_CLOCK __BIT(13) 86 1.1 skrll #define USBNC_USB_UH1_CTRL_WIE __BIT(10) 87 1.1 skrll #define USBNC_USB_UH1_CTRL_PWR_POL __BIT(9) 88 1.1 skrll #define USBNC_USB_UH1_CTRL_OVER_CUR_POL __BIT(8) 89 1.1 skrll #define USBNC_USB_UH1_CTRL_OVER_CUR_DIS __BIT(7) 90 1.1 skrll #define USBNC_USB_UH2_CTRL 0x00000008 91 1.1 skrll #define USBNC_USB_UH2_CTRL_WKUP_SW __BIT(15) 92 1.1 skrll #define USBNC_USB_UH2_CTRL_WKUP_SW_EN __BIT(14) 93 1.1 skrll #define USBNC_USB_UH2_CTRL_UTMI_ON_CLOCK __BIT(13) 94 1.1 skrll #define USBNC_USB_UH2_CTRL_WIE __BIT(10) 95 1.1 skrll #define USBNC_USB_UH3_CTRL 0x0000000c 96 1.1 skrll #define USBNC_USB_UH3_CTRL_WKUP_SW __BIT(15) 97 1.1 skrll #define USBNC_USB_UH3_CTRL_WKUP_SW_EN __BIT(14) 98 1.1 skrll #define USBNC_USB_UH3_CTRL_UTMI_ON_CLOCK __BIT(13) 99 1.1 skrll #define USBNC_USB_UH3_CTRL_WIE __BIT(10) 100 1.1 skrll #define USBNC_USB_UH2_HSIC_CTRL 0x00000010 101 1.1 skrll #define USBNC_USB_UH2_HSIC_CTRL_CLK_VLK __BIT(31) 102 1.1 skrll #define USBNC_USB_UH2_HSIC_CTRL_HSIC_EN __BIT(12) 103 1.1 skrll #define USBNC_USB_UH2_HSIC_CTRL_HSIC_CLK_ON __BIT(11) 104 1.1 skrll #define USBNC_USB_UH3_HSIC_CTRL 0x00000014 105 1.1 skrll #define USBNC_USB_UH3_HSIC_CTRL_CLK_VLK __BIT(31) 106 1.1 skrll #define USBNC_USB_UH3_HSIC_CTRL_HSIC_EN __BIT(12) 107 1.1 skrll #define USBNC_USB_UH3_HSIC_CTRL_HSIC_CLK_ON __BIT(11) 108 1.1 skrll #define USBNC_USB_OTG_PHY_CTRL_0 0x00000018 109 1.1 skrll #define USBNC_USB_OTG_PHY_CTRL_0_UTMI_CLK_VLD __BIT(31) 110 1.1 skrll #define USBNC_USB_UH1_PHY_CTRL_0 0x0000001c 111 1.1 skrll #define USBNC_USB_UH1_PHY_CTRL_0_UTMI_CLK_VLD __BIT(31) 112 1.1 skrll 113 1.1 skrll #endif /* _IMX6_USBREG_H_ */ 114