* arch/arm/src/imxrt/hardware/imxrt_src.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __ARCH_ARM_SRC_IMXRT_HARDWARE_IMXRT_SRC_H
#define __ARCH_ARM_SRC_IMXRT_HARDWARE_IMXRT_SRC_H
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include "hardware/imxrt_memorymap.h"
* Pre-processor Definitions
****************************************************************************/
#define IMXRT_SRC_SCR_OFFSET 0x0000
#define IMXRT_SRC_SBMR1_OFFSET 0x0004
#define IMXRT_SRC_SRSR_OFFSET 0x0008
#define IMXRT_SRC_SBMR2_OFFSET 0x001c
#define IMXRT_SRC_GPR1_OFFSET 0x0020
#define IMXRT_SRC_GPR2_OFFSET 0x0024
#define IMXRT_SRC_GPR3_OFFSET 0x0028
#define IMXRT_SRC_GPR4_OFFSET 0x002c
#define IMXRT_SRC_GPR5_OFFSET 0x0030
#define IMXRT_SRC_GPR6_OFFSET 0x0034
#define IMXRT_SRC_GPR7_OFFSET 0x0038
#define IMXRT_SRC_GPR8_OFFSET 0x003c
#define IMXRT_SRC_GPR9_OFFSET 0x0040
#define IMXRT_SRC_GPR10_OFFSET 0x0044
#define IMXRT_SRC_SCR (IMXRT_SRC_BASE + IMXRT_SRC_SCR_OFFSET)
#define IMXRT_SRC_SBMR1 (IMXRT_SRC_BASE + IMXRT_SRC_SBMR1_OFFSET)
#define IMXRT_SRC_SRSR (IMXRT_SRC_BASE + IMXRT_SRC_SRSR_OFFSET)
#define IMXRT_SRC_SBMR2 (IMXRT_SRC_BASE + IMXRT_SRC_SBMR2_OFFSET)
#define IMXRT_SRC_GPR1 (IMXRT_SRC_BASE + IMXRT_SRC_GPR1_OFFSET)
#define IMXRT_SRC_GPR2 (IMXRT_SRC_BASE + IMXRT_SRC_GPR2_OFFSET)
#define IMXRT_SRC_GPR3 (IMXRT_SRC_BASE + IMXRT_SRC_GPR3_OFFSET)
#define IMXRT_SRC_GPR4 (IMXRT_SRC_BASE + IMXRT_SRC_GPR4_OFFSET)
#define IMXRT_SRC_GPR5 (IMXRT_SRC_BASE + IMXRT_SRC_GPR5_OFFSET)
#define IMXRT_SRC_GPR6 (IMXRT_SRC_BASE + IMXRT_SRC_GPR6_OFFSET)
#define IMXRT_SRC_GPR7 (IMXRT_SRC_BASE + IMXRT_SRC_GPR7_OFFSET)
#define IMXRT_SRC_GPR8 (IMXRT_SRC_BASE + IMXRT_SRC_GPR8_OFFSET)
#define IMXRT_SRC_GPR9 (IMXRT_SRC_BASE + IMXRT_SRC_GPR9_OFFSET)
#define IMXRT_SRC_GPR10 (IMXRT_SRC_BASE + IMXRT_SRC_GPR10_OFFSET)
#define SRC_SCR_LOCKUP_RST (1 << 4)
#define SRC_SCR_MASK_WDOG_RST_SHIFT (7)
#define SRC_SCR_MASK_WDOG_RST_MASK (15 << SRC_SCR_MASK_WDOG_RST_SHIFT)
# define SRC_SCR_MASK_WDOG_RST_MASKED (5 << SRC_SCR_MASK_WDOG_RST_SHIFT)
# define SRC_SCR_MASK_WDOG_RST_UNMASKED (10 << SRC_SCR_MASK_WDOG_RST_SHIFT)
#define SRC_SCR_CORE0_RST (1 << 13)
#define SRC_SCR_CORE0_DBG_RST (1 << 17)
#define SRC_SCR_DBG_RST_MSK_PG (1 << 25)
* after power gating event of core */
#define SRC_SCR_MASK_WDOG3_RST_SHIFT (28)
#define SRC_SCR_MASK_WDOG3_RST_MASK (15 << SRC_SCR_MASK_WDOG3_RST_SHIFT)
# define SRC_SCR_MASK_WDOG3_RST_MASKED (5 << SRC_SCR_MASK_WDOG3_RST_SHIFT)
# define SRC_SCR_MASK_WDOG3_RST_UNMASKED (10 << SRC_SCR_MASK_WDOG3_RST_SHIFT)
#define SRC_SBMR1_BOOT_CFG_SHIFT (24)
#define SRC_SBMR1_BOOT_CFG_MASK (0xff << SRC_SBMR1_BOOT_CFG_SHIFT)
#define SRC_SBMR1_BOOT_CFG2_SHIFT (16)
#define SRC_SBMR1_BOOT_CFG2_MASK (0xff << SRC_SBMR1_BOOT_CFG2_SHIFT)
#define SRC_SBMR1_BOOT_CFG3_SHIFT (8)
#define SRC_SBMR1_BOOT_CFG3_MASK (0xff << SRC_SBMR1_BOOT_CFG3_SHIFT)
#define SRC_SBMR1_BOOT_CFG4_SHIFT (0)
#define SRC_SBMR1_BOOT_CFG4_MASK (0xff << SRC_SBMR1_BOOT_CFG4_SHIFT)
#define SRC_SRSR_IPP_RESET_B (1 << 0)
* result of ipp_reset_b pin (Power-up
* sequence) */
#define SRC_SRSR_LOCKUP_SYSRESETREQ (1 << 1)
* caused by CPU lockup or software setting
* of SYSRESETREQ bit */
#define SRC_SRSR_CSU_RESET_B (1 << 2)
* the result of the csu_reset_b input */
#define SRC_SRSR_IPP_USER_RESET_B (1 << 3)
* the result of the ipp_user_reset_b qualified
* reset */
#define SRC_SRSR_WDOG_RST_B (1 << 4)
#define SRC_SRSR_JTAG_RST_B (1 << 5)
#define SRC_SRSR_JTAG_SW_RST (1 << 6)
#define SRC_SRSR_WDOG3_RST_B (1 << 7)
#define SRC_SRSR_TEMPSENSE_RST_B (1 << 8)
#define SRC_SBMR2_SEC_CONFIG_SHIFT (0)
* SECONFIG fuse */
#define SRC_SBMR2_DIR_BT_DIS (1 << 3)
#define SRC_SBMR2_BT_FUSE_SEL (1 << 4)
#define SRC_SBMR2_BMOD_SHIFT (24)
* and BOOT_MODE0 signals on POR.
* Bits 26-31: Reserved */
* NOTE: Ald GPR registers are used by the ROM code and should not be used
* by application software.
*/
#endif