1 /** 2 * 3 * Copyright (c) 2019 Microchip Technology Inc. and its subsidiaries. 4 * 5 * \asf_license_start 6 * 7 * \page License 8 * 9 * SPDX-License-Identifier: Apache-2.0 10 * 11 * Licensed under the Apache License, Version 2.0 (the "License"); you may 12 * not use this file except in compliance with the License. 13 * You may obtain a copy of the Licence at 14 * 15 * http://www.apache.org/licenses/LICENSE-2.0 16 * 17 * Unless required by applicable law or agreed to in writing, software 18 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 19 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 * See the License for the specific language governing permissions and 21 * limitations under the License. 22 * 23 * \asf_license_stop 24 * 25 */ 26 27 /** @file port92.h 28 *MEC1501 Fast Port92h Registers 29 */ 30 /** @defgroup MEC1501 Peripherals Fast Port92 31 */ 32 33 #ifndef _PORT92_H 34 #define _PORT92_H 35 36 #include <stdint.h> 37 #include <stddef.h> 38 39 #include "regaccess.h" 40 41 /* =========================================================================*/ 42 /* ================ PORT92 ================ */ 43 /* =========================================================================*/ 44 45 #define MCHP_PORT92_BASE_ADDR 0x400f2000u 46 47 /* 48 * HOST_P92 49 */ 50 #define MCHP_PORT92_HOST_MASK 0x03u 51 #define MCHP_PORT92_HOST_ALT_CPU_RST_POS 0u 52 #define MCHP_PORT92_HOST_ALT_CPU_RST (1u << 0) 53 #define MCHP_PORT92_HOST_ALT_GA20_POS 1u 54 #define MCHP_PORT92_HOST_ALT_GA20 (1u << 1) 55 56 /* 57 * GATEA20_CTRL 58 */ 59 #define MCHP_PORT92_GA20_CTRL_MASK 0x01u 60 #define MCHP_PORT92_GA20_CTRL_VAL_POS 0u 61 #define MCHP_PORT92_GA20_CTRL_VAL_MASK (1u << 0) 62 #define MCHP_PORT92_GA20_CTRL_VAL_HI (1u << 0) 63 #define MCHP_PORT92_GA20_CTRL_VAL_LO (0u << 0) 64 65 /* 66 * SETGA20L - writes of any data to this register causes 67 * GATEA20 latch to be set. 68 */ 69 #define MCHP_PORT92_SETGA20L_MASK 0x01u 70 #define MCHP_PORT92_SETGA20L_SET_POS 0u 71 #define MCHP_PORT92_SETGA20L_SET (1u << 0) 72 73 /* 74 * RSTGA20L - writes of any data to this register causes 75 * the GATEA20 latch to be reset 76 */ 77 #define MCHP_PORT92_RSTGA20L_MASK 0x01u 78 #define MCHP_PORT92_RSTGA20L_SET_POS 0u 79 #define MCHP_PORT92_RSTGA20L_RST (1u << 0) 80 81 /* 82 * ACTV 83 */ 84 #define MCHP_PORT92_ACTV_MASK 0x01u 85 #define MCHP_PORT92_ACTV_ENABLE 0x01u 86 87 /** 88 * @brief Fast Port92h Registers (PORT92) 89 */ 90 typedef struct port92_regs 91 { 92 __IOM uint32_t HOST_P92; /*!< (@ 0x0000) HOST Port92h register */ 93 uint8_t RSVD1[0x100u - 0x04u]; 94 __IOM uint32_t GATEA20_CTRL; /*!< (@ 0x0100) Gate A20 Control */ 95 uint8_t RSVD2[4]; 96 __IOM uint32_t SETGA20L; /*!< (@ 0x0108) Set Gate A20 */ 97 __IOM uint32_t RSTGA20L; /*!< (@ 0x010c) Reset Gate A20 */ 98 uint8_t RSVD3[0x0330u - 0x0110u]; 99 __IOM uint32_t ACTV; /*!< (@ 0x0330) Logical device Activate */ 100 } PORT92_Type; 101 102 #endif /* #ifndef _PORT92_H */ 103 /* end port92.h */ 104 /** @} 105 */ 106