1 /*- 2 * Copyright (c) 2013 Ian Lepore <ian@freebsd.org> 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 29 #ifndef IMX6_ANATOPREG_H 30 #define IMX6_ANATOPREG_H 31 32 #define IMX6_ANALOG_CCM_PLL_ARM 0x000 33 #define IMX6_ANALOG_CCM_PLL_ARM_SET 0x004 34 #define IMX6_ANALOG_CCM_PLL_ARM_CLR 0x008 35 #define IMX6_ANALOG_CCM_PLL_ARM_TOG 0x00C 36 #define IMX6_ANALOG_CCM_PLL_USB1 0x010 37 #define IMX6_ANALOG_CCM_PLL_USB1_SET 0x014 38 #define IMX6_ANALOG_CCM_PLL_USB1_CLR 0x018 39 #define IMX6_ANALOG_CCM_PLL_USB1_TOG 0x01C 40 #define IMX6_ANALOG_CCM_PLL_USB_LOCK (1 << 31) 41 #define IMX6_ANALOG_CCM_PLL_USB_BYPASS (1 << 16) 42 #define IMX6_ANALOG_CCM_PLL_USB_ENABLE (1 << 13) 43 #define IMX6_ANALOG_CCM_PLL_USB_POWER (1 << 12) 44 #define IMX6_ANALOG_CCM_PLL_USB_EN_USB_CLKS (1 << 6) 45 #define IMX6_ANALOG_CCM_PLL_USB2 0x020 46 #define IMX6_ANALOG_CCM_PLL_USB2_SET 0x024 47 #define IMX6_ANALOG_CCM_PLL_USB2_CLR 0x028 48 #define IMX6_ANALOG_CCM_PLL_USB2_TOG 0x02C 49 #define IMX6_ANALOG_CCM_PLL_SYS 0x030 50 #define IMX6_ANALOG_CCM_PLL_SYS_SET 0x034 51 #define IMX6_ANALOG_CCM_PLL_SYS_CLR 0x038 52 #define IMX6_ANALOG_CCM_PLL_SYS_TOG 0x03C 53 #define IMX6_ANALOG_CCM_PLL_SYS_SS 0x040 54 #define IMX6_ANALOG_CCM_PLL_SYS_NUM 0x050 55 #define IMX6_ANALOG_CCM_PLL_SYS_DENOM 0x060 56 #define IMX6_ANALOG_CCM_PLL_AUDIO 0x070 57 #define IMX6_ANALOG_CCM_PLL_AUDIO_SET 0x074 58 #define IMX6_ANALOG_CCM_PLL_AUDIO_CLR 0x078 59 #define IMX6_ANALOG_CCM_PLL_AUDIO_TOG 0x07C 60 #define IMX6_ANALOG_CCM_PLL_AUDIO_NUM 0x080 61 #define IMX6_ANALOG_CCM_PLL_AUDIO_DENOM 0x090 62 #define IMX6_ANALOG_CCM_PLL_VIDEO 0x0A0 63 #define IMX6_ANALOG_CCM_PLL_VIDEO_SET 0x0A4 64 #define IMX6_ANALOG_CCM_PLL_VIDEO_CLR 0x0A8 65 #define IMX6_ANALOG_CCM_PLL_VIDEO_TOG 0x0AC 66 #define IMX6_ANALOG_CCM_PLL_VIDEO_NUM 0x0B0 67 #define IMX6_ANALOG_CCM_PLL_VIDEO_DENOM 0x0C0 68 #define IMX6_ANALOG_CCM_PLL_MLB 0x0D0 69 #define IMX6_ANALOG_CCM_PLL_MLB_SET 0x0D4 70 #define IMX6_ANALOG_CCM_PLL_MLB_CLR 0x0D8 71 #define IMX6_ANALOG_CCM_PLL_MLB_TOG 0x0DC 72 #define IMX6_ANALOG_CCM_PLL_ENET 0x0E0 73 #define IMX6_ANALOG_CCM_PLL_ENET_SET 0x0E4 74 #define IMX6_ANALOG_CCM_PLL_ENET_CLR 0x0E8 75 #define IMX6_ANALOG_CCM_PLL_ENET_TOG 0x0EC 76 #define IMX6_ANALOG_CCM_PFD_480 0x0F0 77 #define IMX6_ANALOG_CCM_PFD_480_SET 0x0F4 78 #define IMX6_ANALOG_CCM_PFD_480_CLR 0x0F8 79 #define IMX6_ANALOG_CCM_PFD_480_TOG 0x0FC 80 #define IMX6_ANALOG_CCM_PFD_528 0x100 81 #define IMX6_ANALOG_CCM_PFD_528_SET 0x104 82 #define IMX6_ANALOG_CCM_PFD_528_CLR 0x108 83 #define IMX6_ANALOG_CCM_PFD_528_TOG 0x10C 84 #define IMX6_ANALOG_PMU_REG_CORE 0x140 85 #define IMX6_ANALOG_PMU_REG2_TARG_SHIFT 18 86 #define IMX6_ANALOG_PMU_REG2_TARG_MASK \ 87 (0x1f << IMX6_ANALOG_PMU_REG2_TARG_SHIFT) 88 #define IMX6_ANALOG_PMU_REG1_TARG_SHIFT 9 89 #define IMX6_ANALOG_PMU_REG1_TARG_MASK \ 90 (0x1f << IMX6_ANALOG_PMU_REG1_TARG_SHIFT) 91 #define IMX6_ANALOG_PMU_REG0_TARG_SHIFT 0 92 #define IMX6_ANALOG_PMU_REG0_TARG_MASK \ 93 (0x1f << IMX6_ANALOG_PMU_REG0_TARG_SHIFT) 94 95 #define IMX6_ANALOG_CCM_MISC0 0x150 96 #define IMX6_ANALOG_CCM_MISC0_SET 0x154 97 #define IMX6_ANALOG_CCM_MISC0_CLR 0x158 98 #define IMX6_ANALOG_CCM_MISC0_TOG 0x15C 99 #define IMX6_ANALOG_CCM_MISC2 0x170 100 #define IMX6_ANALOG_CCM_MISC2_SET 0x174 101 #define IMX6_ANALOG_CCM_MISC2_CLR 0x178 102 #define IMX6_ANALOG_CCM_MISC2_TOG 0x17C 103 104 #define IMX6_ANALOG_USB1_VBUS_DETECT 0x1A0 105 #define IMX6_ANALOG_USB1_VBUS_DETECT_SET 0x1A4 106 #define IMX6_ANALOG_USB1_VBUS_DETECT_CLR 0x1A8 107 #define IMX6_ANALOG_USB1_VBUS_DETECT_TOG 0x1AC 108 #define IMX6_ANALOG_USB1_CHRG_DETECT 0x1B0 109 #define IMX6_ANALOG_USB1_CHRG_DETECT_SET 0x1B4 110 #define IMX6_ANALOG_USB1_CHRG_DETECT_CLR 0x1B8 111 #define IMX6_ANALOG_USB1_CHRG_DETECT_TOG 0x1BC 112 #define IMX6_ANALOG_USB_CHRG_DETECT_N_ENABLE (1 << 20) /* EN_B */ 113 #define IMX6_ANALOG_USB_CHRG_DETECT_N_CHK_CHRG (1 << 19) /* CHK_CHRG_B */ 114 #define IMX6_ANALOG_USB_CHRG_DETECT_CHK_CONTACT (1 << 18) 115 #define IMX6_ANALOG_USB1_VBUS_DETECT_STAT 0x1C0 116 #define IMX6_ANALOG_USB1_CHRG_DETECT_STAT 0x1D0 117 #define IMX6_ANALOG_USB1_MISC 0x1F0 118 #define IMX6_ANALOG_USB1_MISC_SET 0x1F4 119 #define IMX6_ANALOG_USB1_MISC_CLR 0x1F8 120 #define IMX6_ANALOG_USB1_MISC_TOG 0x1FC 121 #define IMX6_ANALOG_USB2_VBUS_DETECT 0x200 122 #define IMX6_ANALOG_USB2_VBUS_DETECT_SET 0x204 123 #define IMX6_ANALOG_USB2_VBUS_DETECT_CLR 0x208 124 #define IMX6_ANALOG_USB2_VBUS_DETECT_TOG 0x20C 125 #define IMX6_ANALOG_USB2_CHRG_DETECT 0x210 126 #define IMX6_ANALOG_USB2_CHRG_DETECT_SET 0x214 127 #define IMX6_ANALOG_USB2_CHRG_DETECT_CLR 0x218 128 #define IMX6_ANALOG_USB2_CHRG_DETECT_TOG 0x21C 129 #define IMX6_ANALOG_USB2_VBUS_DETECT_STAT 0x220 130 #define IMX6_ANALOG_USB2_CHRG_DETECT_STAT 0x230 131 #define IMX6_ANALOG_USB2_MISC 0x250 132 #define IMX6_ANALOG_USB2_MISC_SET 0x254 133 #define IMX6_ANALOG_USB2_MISC_CLR 0x258 134 #define IMX6_ANALOG_USB2_MISC_TOG 0x25C 135 #define IMX6_ANALOG_DIGPROG 0x260 136 #define IMX6_ANALOG_DIGPROG_SL 0x280 137 #define IMX6_ANALOG_DIGPROG_SOCTYPE_SHIFT 16 138 #define IMX6_ANALOG_DIGPROG_SOCTYPE_MASK \ 139 (0xff << IMX6_ANALOG_DIGPROG_SOCTYPE_SHIFT) 140 141 #endif 142