Path: blob/main/sys/arm/freescale/imx/imx6_anatopreg.h
39536 views
/*-1* SPDX-License-Identifier: BSD-2-Clause2*3* Copyright (c) 2013 Ian Lepore <[email protected]>4* All rights reserved.5*6* Redistribution and use in source and binary forms, with or without7* modification, are permitted provided that the following conditions8* are met:9* 1. Redistributions of source code must retain the above copyright10* notice, this list of conditions and the following disclaimer.11* 2. Redistributions in binary form must reproduce the above copyright12* notice, this list of conditions and the following disclaimer in the13* documentation and/or other materials provided with the distribution.14*15* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND16* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE17* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE18* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE19* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL20* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS21* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)22* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT23* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY24* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF25* SUCH DAMAGE.26*/2728#ifndef IMX6_ANATOPREG_H29#define IMX6_ANATOPREG_H3031#define IMX6_ANALOG_CCM_PLL_ARM 0x00032#define IMX6_ANALOG_CCM_PLL_ARM_SET 0x00433#define IMX6_ANALOG_CCM_PLL_ARM_CLR 0x00834#define IMX6_ANALOG_CCM_PLL_ARM_TOG 0x00C35#define IMX6_ANALOG_CCM_PLL_ARM_DIV_MASK 0x7F36#define IMX6_ANALOG_CCM_PLL_ARM_LOCK (1U << 31)37#define IMX6_ANALOG_CCM_PLL_ARM_BYPASS (1 << 16)38#define IMX6_ANALOG_CCM_PLL_ARM_CLK_SRC_MASK (0x03 << 16)39#define IMX6_ANALOG_CCM_PLL_USB1 0x01040#define IMX6_ANALOG_CCM_PLL_USB1_SET 0x01441#define IMX6_ANALOG_CCM_PLL_USB1_CLR 0x01842#define IMX6_ANALOG_CCM_PLL_USB1_TOG 0x01C43#define IMX6_ANALOG_CCM_PLL_USB_LOCK (1U << 31)44#define IMX6_ANALOG_CCM_PLL_USB_BYPASS (1 << 16)45#define IMX6_ANALOG_CCM_PLL_USB_ENABLE (1 << 13)46#define IMX6_ANALOG_CCM_PLL_USB_POWER (1 << 12)47#define IMX6_ANALOG_CCM_PLL_USB_EN_USB_CLKS (1 << 6)48#define IMX6_ANALOG_CCM_PLL_USB2 0x02049#define IMX6_ANALOG_CCM_PLL_USB2_SET 0x02450#define IMX6_ANALOG_CCM_PLL_USB2_CLR 0x02851#define IMX6_ANALOG_CCM_PLL_USB2_TOG 0x02C52#define IMX6_ANALOG_CCM_PLL_SYS 0x03053#define IMX6_ANALOG_CCM_PLL_SYS_SET 0x03454#define IMX6_ANALOG_CCM_PLL_SYS_CLR 0x03855#define IMX6_ANALOG_CCM_PLL_SYS_TOG 0x03C56#define IMX6_ANALOG_CCM_PLL_SYS_SS 0x04057#define IMX6_ANALOG_CCM_PLL_SYS_NUM 0x05058#define IMX6_ANALOG_CCM_PLL_SYS_DENOM 0x06059#define IMX6_ANALOG_CCM_PLL_AUDIO 0x07060#define IMX6_ANALOG_CCM_PLL_AUDIO_ENABLE (1 << 13)61#define IMX6_ANALOG_CCM_PLL_AUDIO_DIV_SELECT_SHIFT 062#define IMX6_ANALOG_CCM_PLL_AUDIO_DIV_SELECT_MASK 0x7f63#define IMX6_ANALOG_CCM_PLL_AUDIO_SET 0x07464#define IMX6_ANALOG_CCM_PLL_AUDIO_CLR 0x07865#define IMX6_ANALOG_CCM_PLL_AUDIO_TOG 0x07C66#define IMX6_ANALOG_CCM_PLL_AUDIO_NUM 0x08067#define IMX6_ANALOG_CCM_PLL_AUDIO_DENOM 0x09068#define IMX6_ANALOG_CCM_PLL_VIDEO 0x0A069#define IMX6_ANALOG_CCM_PLL_VIDEO_SET 0x0A470#define IMX6_ANALOG_CCM_PLL_VIDEO_CLR 0x0A871#define IMX6_ANALOG_CCM_PLL_VIDEO_TOG 0x0AC72#define IMX6_ANALOG_CCM_PLL_VIDEO_NUM 0x0B073#define IMX6_ANALOG_CCM_PLL_VIDEO_DENOM 0x0C074#define IMX6_ANALOG_CCM_PLL_MLB 0x0D075#define IMX6_ANALOG_CCM_PLL_MLB_SET 0x0D476#define IMX6_ANALOG_CCM_PLL_MLB_CLR 0x0D877#define IMX6_ANALOG_CCM_PLL_MLB_TOG 0x0DC78#define IMX6_ANALOG_CCM_PLL_ENET 0x0E079#define IMX6_ANALOG_CCM_PLL_ENET_SET 0x0E480#define IMX6_ANALOG_CCM_PLL_ENET_CLR 0x0E881#define IMX6_ANALOG_CCM_PLL_ENET_TOG 0x0EC82#define IMX6_ANALOG_CCM_PFD_480 0x0F083#define IMX6_ANALOG_CCM_PFD_480_SET 0x0F484#define IMX6_ANALOG_CCM_PFD_480_CLR 0x0F885#define IMX6_ANALOG_CCM_PFD_480_TOG 0x0FC86#define IMX6_ANALOG_CCM_PFD_528 0x10087#define IMX6_ANALOG_CCM_PFD_528_SET 0x10488#define IMX6_ANALOG_CCM_PFD_528_CLR 0x10889#define IMX6_ANALOG_CCM_PFD_528_TOG 0x10C9091#define IMX6_ANALOG_PMU_REG_CORE 0x14092#define IMX6_ANALOG_PMU_REG2_TARG_SHIFT 1893#define IMX6_ANALOG_PMU_REG2_TARG_MASK \94(0x1f << IMX6_ANALOG_PMU_REG2_TARG_SHIFT)95#define IMX6_ANALOG_PMU_REG1_TARG_SHIFT 996#define IMX6_ANALOG_PMU_REG1_TARG_MASK \97(0x1f << IMX6_ANALOG_PMU_REG1_TARG_SHIFT)98#define IMX6_ANALOG_PMU_REG0_TARG_SHIFT 099#define IMX6_ANALOG_PMU_REG0_TARG_MASK \100(0x1f << IMX6_ANALOG_PMU_REG0_TARG_SHIFT)101102#define IMX6_ANALOG_PMU_MISC0 0x150103#define IMX6_ANALOG_PMU_MISC0_SET 0x154104#define IMX6_ANALOG_PMU_MISC0_CLR 0x158105#define IMX6_ANALOG_PMU_MISC0_TOG 0x15C106#define IMX6_ANALOG_PMU_MISC0_SELFBIASOFF (1 << 3)107108#define IMX6_ANALOG_PMU_MISC1 0x160109#define IMX6_ANALOG_PMU_MISC1_SET 0x164110#define IMX6_ANALOG_PMU_MISC1_CLR 0x168111#define IMX6_ANALOG_PMU_MISC1_TOG 0x16C112#define IMX6_ANALOG_PMU_MISC1_IRQ_TEMPSENSE (1 << 29)113114#define IMX6_ANALOG_PMU_MISC2 0x170115#define IMX6_ANALOG_PMU_MISC2_SET 0x174116#define IMX6_ANALOG_PMU_MISC2_CLR 0x178117#define IMX6_ANALOG_PMU_MISC2_TOG 0x17C118119/*120* Note that the ANALOG_CCM_MISCn registers are the same as the PMU_MISCn121* registers; some bits conceptually belong to the PMU and some to the CCM.122*/123#define IMX6_ANALOG_CCM_MISC0 IMX6_ANALOG_PMU_MISC0124#define IMX6_ANALOG_CCM_MISC0_SET IMX6_ANALOG_PMU_MISC0_SET125#define IMX6_ANALOG_CCM_MISC0_CLR IMX6_ANALOG_PMU_MISC0_CLR126#define IMX6_ANALOG_CCM_MISC0_TOG IMX6_ANALOG_PMU_MISC0_TOG127128#define IMX6_ANALOG_CCM_MISC2 IMX6_ANALOG_PMU_MISC2129#define IMX6_ANALOG_CCM_MISC2_SET IMX6_ANALOG_PMU_MISC2_SET130#define IMX6_ANALOG_CCM_MISC2_CLR IMX6_ANALOG_PMU_MISC2_CLR131#define IMX6_ANALOG_CCM_MISC2_TOG IMX6_ANALOG_PMU_MISC2_TOG132133#define IMX6_ANALOG_TEMPMON_TEMPSENSE0 0x180134#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_SET 0x184135#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_CLR 0x188136#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_TOG 0x18C137#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_TOG 0x18C138#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_ALARM_SHIFT 20139#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_ALARM_MASK \140(0xfff << IMX6_ANALOG_TEMPMON_TEMPSENSE0_ALARM_SHIFT)141#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT 8142#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_TEMP_CNT_MASK \143(0xfff << IMX6_ANALOG_TEMPMON_TEMPSENSE0_TEMP_CNT_SHIFT)144#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_VALID 0x4145#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_MEASURE 0x2146#define IMX6_ANALOG_TEMPMON_TEMPSENSE0_POWER_DOWN 0x1147148#define IMX6_ANALOG_TEMPMON_TEMPSENSE1 0x190149#define IMX6_ANALOG_TEMPMON_TEMPSENSE1_SET 0x194150#define IMX6_ANALOG_TEMPMON_TEMPSENSE1_CLR 0x198151#define IMX6_ANALOG_TEMPMON_TEMPSENSE1_TOG 0x19C152153#define IMX6_ANALOG_USB1_VBUS_DETECT 0x1A0154#define IMX6_ANALOG_USB1_VBUS_DETECT_SET 0x1A4155#define IMX6_ANALOG_USB1_VBUS_DETECT_CLR 0x1A8156#define IMX6_ANALOG_USB1_VBUS_DETECT_TOG 0x1AC157#define IMX6_ANALOG_USB1_CHRG_DETECT 0x1B0158#define IMX6_ANALOG_USB1_CHRG_DETECT_SET 0x1B4159#define IMX6_ANALOG_USB1_CHRG_DETECT_CLR 0x1B8160#define IMX6_ANALOG_USB1_CHRG_DETECT_TOG 0x1BC161#define IMX6_ANALOG_USB_CHRG_DETECT_N_ENABLE (1 << 20) /* EN_B */162#define IMX6_ANALOG_USB_CHRG_DETECT_N_CHK_CHRG (1 << 19) /* CHK_CHRG_B */163#define IMX6_ANALOG_USB_CHRG_DETECT_CHK_CONTACT (1 << 18)164#define IMX6_ANALOG_USB1_VBUS_DETECT_STAT 0x1C0165#define IMX6_ANALOG_USB1_CHRG_DETECT_STAT 0x1D0166#define IMX6_ANALOG_USB1_MISC 0x1F0167#define IMX6_ANALOG_USB1_MISC_SET 0x1F4168#define IMX6_ANALOG_USB1_MISC_CLR 0x1F8169#define IMX6_ANALOG_USB1_MISC_TOG 0x1FC170#define IMX6_ANALOG_USB2_VBUS_DETECT 0x200171#define IMX6_ANALOG_USB2_VBUS_DETECT_SET 0x204172#define IMX6_ANALOG_USB2_VBUS_DETECT_CLR 0x208173#define IMX6_ANALOG_USB2_VBUS_DETECT_TOG 0x20C174#define IMX6_ANALOG_USB2_CHRG_DETECT 0x210175#define IMX6_ANALOG_USB2_CHRG_DETECT_SET 0x214176#define IMX6_ANALOG_USB2_CHRG_DETECT_CLR 0x218177#define IMX6_ANALOG_USB2_CHRG_DETECT_TOG 0x21C178#define IMX6_ANALOG_USB2_VBUS_DETECT_STAT 0x220179#define IMX6_ANALOG_USB2_CHRG_DETECT_STAT 0x230180#define IMX6_ANALOG_USB2_MISC 0x250181#define IMX6_ANALOG_USB2_MISC_SET 0x254182#define IMX6_ANALOG_USB2_MISC_CLR 0x258183#define IMX6_ANALOG_USB2_MISC_TOG 0x25C184#define IMX6_ANALOG_DIGPROG 0x260185#define IMX6_ANALOG_DIGPROG_SL 0x280186#define IMX6_ANALOG_DIGPROG_SOCTYPE_SHIFT 16187#define IMX6_ANALOG_DIGPROG_SOCTYPE_MASK \188(0xff << IMX6_ANALOG_DIGPROG_SOCTYPE_SHIFT)189190#endif191192193