/* | |
* FreeRTOS Kernel V10.3.0 | |
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining a copy of | |
* this software and associated documentation files (the "Software"), to deal in | |
* the Software without restriction, including without limitation the rights to | |
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | |
* the Software, and to permit persons to whom the Software is furnished to do so, | |
* subject to the following conditions: | |
* | |
* The above copyright notice and this permission notice shall be included in all | |
* copies or substantial portions of the Software. | |
* | |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | |
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | |
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | |
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
* | |
* http://www.FreeRTOS.org | |
* http://aws.amazon.com/freertos | |
* | |
* 1 tab == 4 spaces! | |
*/ | |
#ifndef __HET_H__ | |
#define __HET_H__ | |
#include "gio.h" | |
/** @struct hetBase | |
* @brief HET Register Definition | |
* | |
* This structure is used to access the HET module egisters. | |
*/ | |
/** @typedef hetBASE_t | |
* @brief HET Register Frame Type Definition | |
* | |
* This type is used to access the HET Registers. | |
*/ | |
typedef volatile struct hetBase | |
{ | |
unsigned GCR; /**< 0x0000: Global control register */ | |
unsigned PFR; /**< 0x0004: Prescale factor register */ | |
unsigned ADDR; /**< 0x0008: Current address register */ | |
unsigned OFF1; /**< 0x000C: Interrupt offset register 1 */ | |
unsigned OFF2; /**< 0x0010: Interrupt offset register 2 */ | |
unsigned INTENAS; /**< 0x0014: Interrupt enable set register */ | |
unsigned INTENAC; /**< 0x0018: Interrupt enable clear register */ | |
unsigned EXC1; /**< 0x001C: Exeption control register 1 */ | |
unsigned EXC2; /**< 0x0020: Exeption control register 2 */ | |
unsigned PRY; /**< 0x0024: Interrupt priority register */ | |
unsigned FLG; /**< 0x0028: Interrupt flag register */ | |
unsigned : 32U; /**< 0x002C: Reserved */ | |
unsigned : 32U; /**< 0x0030: Reserved */ | |
unsigned HRSH; /**< 0x0034: High resoltion share register */ | |
unsigned XOR; /**< 0x0038: XOR share register */ | |
unsigned REQENS; /**< 0x003C: Request enable set register */ | |
unsigned REQENC; /**< 0x0040: Request enable clear register */ | |
unsigned REQDS; /**< 0x0044: Request destination select register */ | |
unsigned : 32U; /**< 0x0048: Reserved */ | |
unsigned DIR; /**< 0x004C: Direction register */ | |
unsigned DIN; /**< 0x0050: Data input register */ | |
unsigned DOUT; /**< 0x0054: Data output register */ | |
unsigned DSET; /**< 0x0058: Data output set register */ | |
unsigned DCLR; /**< 0x005C: Data output clear register */ | |
unsigned PDR; /**< 0x0060: Open drain register */ | |
unsigned PULDIS; /**< 0x0064: Pull disable register */ | |
unsigned PSL; /**< 0x0068: Pull select register */ | |
unsigned : 32U; /**< 0x006C: Reserved */ | |
unsigned : 32U; /**< 0x0070: Reserved */ | |
unsigned PCREG; /**< 0x0074: Parity control register */ | |
unsigned PAR; /**< 0x0078: Parity address register */ | |
unsigned PPR; /**< 0x007C: Parity pin select register */ | |
unsigned SFPRLD; /**< 0x0080: Suppression filter preload register */ | |
unsigned SFENA; /**< 0x0084: Suppression filter enable register */ | |
unsigned : 32U; /**< 0x0088: Reserved */ | |
unsigned LBPSEL; /**< 0x008C: Loop back pair select register */ | |
unsigned LBPDIR; /**< 0x0090: Loop back pair direction register */ | |
} hetBASE_t; | |
/** @def hetREG | |
* @brief HET Register Frame Pointer | |
* | |
* This pointer is used by the HET driver to access the het module registers. | |
*/ | |
#define hetREG ((hetBASE_t *)0xFFF7B800U) | |
/** @def hetPORT | |
* @brief HET GIO Port Register Pointer | |
* | |
* Pointer used by the GIO driver to access I/O PORT of HET | |
* (use the GIO drivers to access the port pins). | |
*/ | |
#define hetPORT ((gioPORT_t *)0xFFF7B84CU) | |
#endif |