diff --git a/SUPPORTED_CHIP_LIST.md b/SUPPORTED_CHIP_LIST.md index c72dd902b..13645b688 100644 --- a/SUPPORTED_CHIP_LIST.md +++ b/SUPPORTED_CHIP_LIST.md @@ -6,6 +6,7 @@ - [List of supported chips](#list-of-supported-chips) - [CONTENT](#content) + - [SAM](#sam) - [DSPIC](#dspic) - [AVR](#avr) - [GIGADEVICE](#gigadevice) @@ -17,6 +18,79 @@ --- +### SAM + +| CHIP NAME | ARCHITECTURE | REQUIREMENTS | SUPPORTED IN VERSION | GPIO | ADC | I2C | PWM | SPI | UART | ONE WIRE | +| :------------: | :----------: | :-------------: | :------------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | :----------------: | +| ATSAME70J19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70J19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70J20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70J20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70J21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70J21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70N21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAME70Q21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70J21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70N21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMS70Q21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70J19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70J19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70J20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70J20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70N19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70N19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70N20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70N20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70Q19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70Q19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70Q20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV70Q20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71J21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71N21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q19A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q19B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q20A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q20B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q21A | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| ATSAMV71Q21B | ARM | `FLASH1`;`RAM1` | `2.13.0+` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | + +--- + ### DSPIC | CHIP NAME | ARCHITECTURE | REQUIREMENTS | SUPPORTED IN VERSION | GPIO | ADC | I2C | PWM | SPI | UART | ONE WIRE | CAN | diff --git a/changelog.md b/changelog.md index d988de85c..ec864624b 100644 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,7 @@ **VERSIONS:** ++ **[v2.13.0](./changelog/v2.13.0/changelog.md)** + **[v2.12.2](./changelog/v2.12.2/changelog.md)** + **[v2.12.1](./changelog/v2.12.1/changelog.md)** + **[v2.12.0](./changelog/v2.12.0/changelog.md)** diff --git a/changelog/v2.13.0/changelog.md b/changelog/v2.13.0/changelog.md new file mode 100644 index 000000000..a8d84facd --- /dev/null +++ b/changelog/v2.13.0/changelog.md @@ -0,0 +1,127 @@ +

+ MikroElektronika +

+ +--- + +**[BACK TO MAIN FILE](../../changelog.md)** + +--- + +# `v2.13.0` + ++ released: 2024-12-20 + +## Changes + ++ [`v2.13.0`](#v2130) + + [Changes](#changes) + + [SAM](#sam) + + [NEW HARDWARE](#new-hardware) + +### SAM + +**SAM MCUs supported!** + +| MCU | MCU | MCU | +| :------------: | :------------: | :------------: | +| ATSAME70J19A | ATSAMS70J21A | ATSAMV70Q19A | +| ATSAME70J19B | ATSAMS70J21B | ATSAMV70Q19B | +| ATSAME70J20A | ATSAMS70N19A | ATSAMV70Q20A | +| ATSAME70J20B | ATSAMS70N19B | ATSAMV70Q20B | +| ATSAME70J21A | ATSAMS70N20A | ATSAMV71J19A | +| ATSAME70J21B | ATSAMS70N20B | ATSAMV71J19B | +| ATSAME70N19A | ATSAMS70N21A | ATSAMV71J20A | +| ATSAME70N19B | ATSAMS70N21B | ATSAMV71J20B | +| ATSAME70N20A | ATSAMS70Q19A | ATSAMV71J21A | +| ATSAME70N20B | ATSAMS70Q19B | ATSAMV71J21B | +| ATSAME70N21A | ATSAMS70Q20A | ATSAMV71N19A | +| ATSAME70N21B | ATSAMS70Q20B | ATSAMV71N19B | +| ATSAME70Q19A | ATSAMS70Q21A | ATSAMV71N20A | +| ATSAME70Q19B | ATSAMS70Q21B | ATSAMV71N20A | +| ATSAME70Q20A | ATSAMV70J19A | ATSAMV71N21A | +| ATSAME70Q20B | ATSAMV70J19B | ATSAMV71N21B | +| ATSAME70Q21A | ATSAMV70J20A | ATSAMV71Q19A | +| ATSAME70Q21B | ATSAMV70J20B | ATSAMV71Q19B | +| ATSAMS70J19A | ATSAMV70N19A | ATSAMV71Q20A | +| ATSAMS70J19B | ATSAMV70N19B | ATSAMV71Q20B | +| ATSAMS70J20A | ATSAMV70N20A | ATSAMV71Q21A | +| ATSAMS70J20B | ATSAMV70N20B | ATSAMV71Q21B | + + +**Supported modules:** + ++ ADC (Full module support) ++ SPI (Full module support) ++ UART (Full module support) ++ I2C (Full module support) ++ PWM (Full module support) ++ GPIO (Full module support) ++ OW (Full module support) + +**Files updated:** ++ Updated due to SAM inclusion in all ARM-related CMake files + + [utils.cmake](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/cmake/utils.cmake) + + [interface/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/hal/interface/CMakeLists.txt) + + [CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/CMakeLists.txt) + + [common/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/CMakeLists.txt) + + [core/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/core/CMakeLists.txt) ++ Updated with more register handling macros for ARM architectures + + [hal_ll_bit_control.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/hal_ll_bit_control.h) ++ Updated with IRQ handling macros and regicters for SAM MCUs + + [hal_ll_core_defines.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/core/include/hal_ll_core_defines.h) + +**Files added:** + ++ [hal_ll_adc.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/adc/hal_ll_adc.h) ++ [hal_ll_adc_pin_map.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/adc/hal_ll_adc_pin_map/implementations/implementation_1/hal_ll_adc_pin_map.h) ++ [hal_ll_gpio.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio.h) ++ [hal_ll_gpio_port.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio_port.h) ++ [hal_ll_gpio_struct_type.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/gpio/implementations/implementation_1/hal_ll_gpio_struct_type.h) ++ [hal_ll_pin_names.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/hal_ll_pin_names.h) ++ [hal_ll_target.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/hal_ll_target.h) ++ [hal_ll_target_names.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/hal_ll_target_names.h) ++ [hal_ll_i2c_master.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_master.h) ++ [hal_ll_i2c_pin_map.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_pin_map/implementations/implementation_1/hal_ll_i2c_pin_map.h) ++ [hal_ll_one_wire.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/one_wire/implementations/implementation_1/hal_ll_one_wire.h) ++ [hal_ll_spi_master.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master.h) ++ [hal_ll_spi_master_pin_map.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master_pin_map/implementations/implementation_1/hal_ll_spi_master_pin_map.h) ++ [hal_ll_tim.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/tim/hal_ll_tim.h) ++ [hal_ll_tim_pin_map.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/tim/hal_ll_tim_pin_map/implementations/implementation_1/hal_ll_tim_pin_map.h) ++ [hal_ll_uart.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/uart/hal_ll_uart.h) ++ [hal_ll_uart_pin_map.h](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/include/uart/hal_ll_uart_pin_map/implementations/implementation_1/hal_ll_uart_pin_map.h) ++ [hal_ll_adc.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/adc/implementations/implementation_1/hal_ll_adc.c) ++ [hal_ll_gpio.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/gpio/hal_ll_gpio.c) ++ [hal_ll_gpio_port.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/gpio/implementations/implementation_1/hal_ll_gpio_port.c) ++ [hal_ll_i2c_master.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/i2c/implementations/implementation_1/hal_ll_i2c_master.c) ++ [hal_ll_one_wire.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/one_wire/implementations/implementation_1/hal_ll_one_wire.c) ++ [hal_ll_spi_master.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/spi_master/implementations/implementation_1/hal_ll_spi_master.c) ++ [hal_ll_tim.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/tim/implementations/implementation_1/hal_ll_tim.c) ++ [hal_ll_uart.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/uart/implementations/implementation_1/hal_ll_uart.c) ++ [hal_ll_core_port.c](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/core/src/sam/m7/hal_ll_core_port.c) ++ [CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/CMakeLists.txt) ++ [hal_ll/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/hal_ll/CMakeLists.txt) ++ [adc/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/adc/CMakeLists.txt) ++ [gpio/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/gpio/CMakeLists.txt) ++ [i2c/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/i2c/CMakeLists.txt) ++ [one_wire/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/one_wire/CMakeLists.txt) ++ [spi_master/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/spi_master/CMakeLists.txt) ++ [tim/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/tim/CMakeLists.txt) ++ [uart/CMakeLists.txt](https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/sam/src/uart/CMakeLists.txt) ++ `./mcu_name/mcu_package/mcu_definitions.h` - `https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/SAM/mcu_name/mcu_package/mcu_definitions.h` + + Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e. `ATSAME70Q21B` etc. and mcu_package is actual package, i.e. `LQFP64` etc. ++ `./mcu_name/mcu_package/mcu_reg_addresses.h` - `https://github.com/MikroElektronika/mikrosdk_v2/blob/master/targets/arm/mikroe/common/include/mcu_definitions/SAM/mcu_name/mcu_package/mcu_reg_addresses.h` + + Added for all MCUs in mikroSDK where mcu_name is actual chip full name, i.e. `ATSAME70Q21B` etc. and mcu_package is actual package, i.e. `LQFP64` etc. + +### NEW HARDWARE + +> NOTE: +>> If any new hardware was added to current version, it will be listed here. + +Support added for following hardware: + +--- + +**[BACK TO MAIN FILE](../../changelog.md)** + +--- diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 60825bcf0..cfa9bf31a 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -155,6 +155,9 @@ function(find_chip_vendor _chip_vendor) if(${MCU_NAME} MATCHES "^TM4C.*") set(${_chip_vendor} "tiva" PARENT_SCOPE) endif() + if(${MCU_NAME} MATCHES "^(AT)?SAM.*") + set(${_chip_vendor} "sam" PARENT_SCOPE) + endif() endfunction() ############################################################################# @@ -169,6 +172,8 @@ function(find_chip_architecture _chip_architecture) set(${_chip_architecture} "arm" PARENT_SCOPE) elseif(${MCU_NAME} MATCHES "^TM4C.*") set(${_chip_architecture} "arm" PARENT_SCOPE) + elseif(${MCU_NAME} MATCHES "^(AT)?SAM.*") + set(${_chip_architecture} "arm" PARENT_SCOPE) else() set(${_chip_architecture} "UNSUPPORTED_CHIP_SELECTED_FOR_FOLLOWING_IMPLEMENTATION" PARENT_SCOPE) endif() diff --git a/hal/interface/CMakeLists.txt b/hal/interface/CMakeLists.txt index ce8496bfd..6359a32a8 100644 --- a/hal/interface/CMakeLists.txt +++ b/hal/interface/CMakeLists.txt @@ -14,7 +14,12 @@ else() set(chip_architecture "__implementation_error__") endif() +set(mcu_defs_path ${MCU_NAME}) + if(${MCU_NAME} MATCHES "(^STM32(.+)$)") + if(AI_GENERATED_SDK) + set(mcu_defs_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + endif() set(vendor_id "stm32") elseif(${MCU_NAME} MATCHES "(^MK(.+)$)") set(vendor_id "nxp") @@ -26,6 +31,9 @@ elseif(${MCU_NAME} MATCHES "(^PIC18(.+)$)") set(vendor_id "pic18") elseif(${MCU_NAME} MATCHES "(^GD32VF(.+)$)") set(vendor_id "gigadevice") +elseif(${MCU_NAME} MATCHES "(^(AT)?SAM(.+)$)") + set(mcu_defs_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + set(vendor_id "sam") elseif(${MCU_NAME} MATCHES "AT") set(vendor_id "avr") elseif(${MCU_NAME} MATCHES "^(ds)?PIC(24|30|33).*") @@ -38,7 +46,7 @@ string(TOUPPER ${vendor_id} vendor_id_upper) target_include_directories(lib_hal_interface INTERFACE $ - $ + $ $ $ ) diff --git a/platform/mikrosdk_version/include/mikrosdk_version.h b/platform/mikrosdk_version/include/mikrosdk_version.h index 5aa22a382..1936cf577 100644 --- a/platform/mikrosdk_version/include/mikrosdk_version.h +++ b/platform/mikrosdk_version/include/mikrosdk_version.h @@ -60,14 +60,14 @@ extern "C"{ * @note changes in minor version indicate that there have been * significant improvements and/or features added */ -#define mikroSDK_MINOR_VERSION 12 +#define mikroSDK_MINOR_VERSION 13 /** * @brief mikroSDK_PATCH_VERSION * @note changes in patch version indicate smaller updates, * bug fixes and improvements */ -#define mikroSDK_PATCH_VERSION 2 +#define mikroSDK_PATCH_VERSION 0 /** * @brief mikroSDK_GET_VERSION diff --git a/targets/arm/mikroe/CMakeLists.txt b/targets/arm/mikroe/CMakeLists.txt index 155f46662..904a304b7 100644 --- a/targets/arm/mikroe/CMakeLists.txt +++ b/targets/arm/mikroe/CMakeLists.txt @@ -6,6 +6,8 @@ elseif(${MCU_NAME} MATCHES "(^MK(.+)$)") elseif(${MCU_NAME} MATCHES "(^TM4C1(.+)$)") ## TIVA has only the 71 MCUs already implemented set(vendor_id "tiva") +elseif(${MCU_NAME} MATCHES "(^(AT)?SAM(.+)$)") + set(vendor_id "sam") else() set(vendor_id "__implementation_error__") endif() diff --git a/targets/arm/mikroe/common/CMakeLists.txt b/targets/arm/mikroe/common/CMakeLists.txt index c91b41018..810529ad2 100644 --- a/targets/arm/mikroe/common/CMakeLists.txt +++ b/targets/arm/mikroe/common/CMakeLists.txt @@ -29,6 +29,15 @@ elseif(${MCU_NAME} MATCHES "(^MK(.+)$)") else() set(architecture "NXP") endif() +elseif(${MCU_NAME} MATCHES "(^ATSAM(.+)$)") + set(architecture_macro "SAM") + set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + set(mcu_regs_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + if(AI_GENERATED_SDK) + set(architecture "ai_generated/SAM") + else() + set(architecture "SAM") + endif() elseif(${MCU_NAME} MATCHES "(^TM4C1(.+)$)") set(architecture_macro "TIVA") set(architecture "TIVA") diff --git a/targets/arm/mikroe/common/include/hal_ll_bit_control.h b/targets/arm/mikroe/common/include/hal_ll_bit_control.h index dba7328d4..fbd4645db 100644 --- a/targets/arm/mikroe/common/include/hal_ll_bit_control.h +++ b/targets/arm/mikroe/common/include/hal_ll_bit_control.h @@ -51,6 +51,9 @@ extern "C"{ #include #include +/*!< @brief Mask used for register clearing */ +#define HAL_LL_CLEAR 0x00UL + #define selected_reg(__reg) (*__reg) /*!< @brief Low nibble macros */ @@ -63,6 +66,36 @@ extern "C"{ #define HAL_LL_NIBBLE_HIGH_16BIT (0xFF00U) #define HAL_LL_NIBBLE_HIGH_32BIT (0xFFFF0000UL) +/** + * @brief Writes specified value to + * specified register. + * + * @param[in] reg - register address. + * @param[in] _val - Value to be written. + */ +#define write_reg(reg,_val) (selected_reg(reg) = (_val)) + +/** + * @brief Returns value stored + * in a register. + * + * @param[in] reg - register address. + * + * @return Register(reg) value. + */ +#define read_reg(reg) (selected_reg(reg)) + +/** + * @brief Returns value of specified bit + * mask from a register. + * + * @param[in] reg - register address + * @param[in] bit_mask - bit mask. + * + * @return Register(reg) bits value. + */ +#define read_reg_bits(reg,bit_mask) (selected_reg(reg) & (bit_mask)) + /** * @brief Clears one bit in a register * @param reg - register address @@ -70,6 +103,15 @@ extern "C"{ */ #define clear_reg_bit(reg,_bit) (selected_reg(reg)&=~((1UL)<<(_bit))) +/** + * @brief Clears bits specified by bit_mask + * in the specified register. + * + * @param[in] reg - register address + * @param[in] bit_mask - bit mask. + */ +#define clear_reg_bits(reg,bit_mask) (selected_reg(reg) &= ~(bit_mask)) + /** * @brief Sets one bit in a register * @param reg - register address @@ -77,6 +119,15 @@ extern "C"{ */ #define set_reg_bit(reg,_bit) (selected_reg(reg)|=((1UL)<<(_bit))) +/** + * @brief Sets bits specified by bit_mask + * in the specified register. + * + * @param[in] reg - register address + * @param[in] bit_mask - bit mask. + */ +#define set_reg_bits(reg,bit_mask) (selected_reg(reg) |= (bit_mask)) + /** * @brief Returns value of one bit * in a register @@ -86,6 +137,13 @@ extern "C"{ */ #define check_reg_bit(reg,_bit) (selected_reg(reg)&((1UL)<<(_bit))) +/** + * @brief Clears all bits in a register. + * + * @param[in] reg - register address + */ +#define clear_reg(reg) write_reg(reg, HAL_LL_CLEAR) + #ifdef __cplusplus } #endif diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..ec1548e2e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J19A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..f0d536a33 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J19B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J19B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..f0269ed27 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J20A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..5657d575b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J20B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J20B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..6ca408a2e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J21A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..a9fa67f1d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70J21B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70J21B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..b279dc31f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N19A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..d8b628ce9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N19A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..16f5dc502 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N19B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..e94d48e24 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N19B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N19B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..ffa5b6f26 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N20A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..fb2f3dda6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N20A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..1704d5da7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N20B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..5dc8ab3d3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N20B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N20B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..a57409a2f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N21A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..3affe694e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N21A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..9be7a4ec9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N21B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..4960a55d3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70N21B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70N21B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..091d6f357 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..f13a27c3d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..474480673 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..c45543b5d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..1365fb93a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..d18167d37 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q19B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q19B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..6f42b5051 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..b7c5d6811 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..57bdf8181 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..1fe7e632c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..ecf7674f1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..8c5a589e1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q20B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q20B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..cde0d793f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..193f3ddcf --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..996e451fd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..10bfb4523 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..14d91abb0 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..3e1407dae --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAME70Q21B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAME70Q21B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..3ada8d9ae --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J19A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/QFN64/mcu_definitions.h new file mode 100644 index 000000000..c1ae8445e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19A/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J19A_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..29d44a1e2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J19B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/QFN64/mcu_definitions.h new file mode 100644 index 000000000..ba7cda109 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J19B/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J19B_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..9c3fccf0a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J20A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/QFN64/mcu_definitions.h new file mode 100644 index 000000000..831556df5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20A/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J20A_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..aedde3f03 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J20B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/QFN64/mcu_definitions.h new file mode 100644 index 000000000..3183a631c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J20B/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J20B_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..d3713148a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J21A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/QFN64/mcu_definitions.h new file mode 100644 index 000000000..c38816913 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21A/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J21A_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..9fd868126 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J21B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/QFN64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/QFN64/mcu_definitions.h new file mode 100644 index 000000000..e626ffe3a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70J21B/QFN64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70J21B_QFN64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..d2233b7a0 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..48f53b9bb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..ef3bb789b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19A/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19A_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..e33bcdeb8 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..07a2be8b6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..068e154b1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N19B/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N19B_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..0818cbca2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..db41d766f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..f64e73ccb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20A/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20A_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..e00ea7d2e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..4cc574fc1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..90b211fd9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N20B/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N20B_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..374694824 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..ceb3dc804 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..442976389 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21A/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21A_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..179044bde --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..28c275a90 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/VFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/VFBGA100/mcu_definitions.h new file mode 100644 index 000000000..f807e16a1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70N21B/VFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70N21B_VFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..0768c93ef --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..0f66cceb2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..8a75adeed --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..72a40f4f2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..272dabf8f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..32390e8ed --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q19B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q19B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..d16e82433 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..b425e6aa9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..e9769db41 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..90b64efc5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..25a955e77 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..0369d5ec3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q20B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q20B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..61cbfc357 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21A_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..1d83e9f3d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..b837ebe5c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21A/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21A_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LFBGA144/mcu_definitions.h new file mode 100644 index 000000000..9024f3c6a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21B_LFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..eb2ea5314 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/UFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/UFBGA144/mcu_definitions.h new file mode 100644 index 000000000..c9607a20b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMS70Q21B/UFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMS70Q21B_UFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..737abd81b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70J19A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..f23fafd0d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J19B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70J19B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..286594edc --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70J20A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..9d8d8da80 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70J20B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70J20B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..8c73c036e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N19A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..eb396504a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N19A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..02b4c92df --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N19B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..d9f4eac0b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N19B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N19B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..351affe87 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N20A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..9797ae133 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N20A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..2d7356265 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N20B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..059853f11 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70N20B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70N20B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..1a3bc9390 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q19A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..5cab48a5c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19A/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q19A_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..6d1692198 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q19B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..6847cb172 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q19B/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q19B_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..2a1c240d1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q20A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..983c1e18b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20A/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q20A_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..c5301f0a9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q20B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..8771ad53c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV70Q20B/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV70Q20B_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..96d84d8a5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J19A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..7b6afbfa2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J19B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J19B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..eaea0cd5c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J20A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..0eb5d5934 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J20B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J20B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21A/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21A/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..3961a9013 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21A/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J21A_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21B/LQFP64/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21B/LQFP64/mcu_definitions.h new file mode 100644 index 000000000..d87f01bda --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71J21B/LQFP64/mcu_definitions.h @@ -0,0 +1,236 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71J21B_LQFP64. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) + +#define I2C_MODULE_COUNT (2) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) + +#define USART_MODULE_COUNT (2) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) + +#define UART_MODULE_COUNT (3) +// EOF UART + +// SPI +#define SPI0_MOSI_PA13_AFA +#define SPI0_MISO_PA12_AFA +#define SPI0_SCK_PA14_AFA + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define UART2_NVIC (44) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..f0efb6359 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N19A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..2b98d9ee5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N19A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..5988a6f3e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N19B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..f711275ab --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N19B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N19B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..3555386e7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N20A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..2169d0d22 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N20A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..393a6dc1b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N20B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..a71c8f48e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N20B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N20B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..5e0bf1010 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N21A_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..cd31ed054 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21A/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N21A_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/LQFP100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/LQFP100/mcu_definitions.h new file mode 100644 index 000000000..e44563d5d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/LQFP100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N21B_LQFP100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/TFBGA100/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/TFBGA100/mcu_definitions.h new file mode 100644 index 000000000..0efdb7151 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71N21B/TFBGA100/mcu_definitions.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71N21B_TFBGA100. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (2) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB + +#define SPI_MODULE_0 (0) + +#define SPI_MODULE_COUNT (1) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_D_CN + +#define PORT_COUNT (3) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..2b0490793 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q19A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..f8a0be7d1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19A/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q19A_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..8cfbd9a5e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q19B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..6fccc9e6f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q19B/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q19B_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..cffa0cdf4 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q20A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..a71a9034b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20A/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q20A_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..b42c8120d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q20B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..90a27ad94 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q20B/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q20B_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..8bc916063 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q21A_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..ea5e49377 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21A/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q21A_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/LQFP144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/LQFP144/mcu_definitions.h new file mode 100644 index 000000000..2b414b1f1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/LQFP144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q21B_LQFP144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/TFBGA144/mcu_definitions.h b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/TFBGA144/mcu_definitions.h new file mode 100644 index 000000000..3f0534a5a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_definitions/SAM/ATSAMV71Q21B/TFBGA144/mcu_definitions.h @@ -0,0 +1,328 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file mcu_definitions.h + * @brief MCU specific pin and module definitions for ATSAMV71Q21B_TFBGA144. + */ + +#ifndef _MCU_DEFINITIONS_H_ +#define _MCU_DEFINITIONS_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +// ADC +#define ADC0_PD30_CH0 +#define ADC0_PA21_CH1 +#define ADC0_PB3_CH2 +#define ADC0_PE5_CH3 +#define ADC0_PE4_CH4 +#define ADC0_PB2_CH5 +#define ADC0_PA17_CH6 +#define ADC0_PA18_CH7 +#define ADC0_PA19_CH8 +#define ADC0_PA20_CH9 +#define ADC0_PB0_CH10 +#define ADC1_PB1_CH0 +#define ADC1_PC13_CH1 +#define ADC1_PC15_CH2 +#define ADC1_PC12_CH3 +#define ADC1_PC29_CH4 +#define ADC1_PC30_CH5 +#define ADC1_PC31_CH6 +#define ADC1_PC26_CH7 +#define ADC1_PC27_CH8 +#define ADC1_PC0_CH9 +#define ADC1_PE3_CH10 +#define ADC1_PE0_CH11 + +#define ADC_MODULE_0 (0) +#define ADC_MODULE_1 (1) + +#define ADC_MODULE_COUNT (2) +// EOF ADC + +// I2C +#define I2C0_SCL_PA4_AFA +#define I2C0_SDA_PA3_AFA +#define I2C1_SCL_PB5_AFA +#define I2C1_SDA_PB4_AFA +#define I2C2_SCL_PD28_AFC +#define I2C2_SDA_PD27_AFC + +#define I2C_MODULE_0 (0) +#define I2C_MODULE_1 (1) +#define I2C_MODULE_2 (2) + +#define I2C_MODULE_COUNT (3) +// EOF I2C + +// TIM +#define TIM0_CH0_A_PA0_AFB +#define TIM0_CH1_A_PA15_AFB +#define TIM0_CH2_A_PA26_AFB +#define TIM0_CH0_B_PA1_AFB +#define TIM0_CH1_B_PA16_AFB +#define TIM0_CH2_B_PA27_AFB +#define TIM1_CH0_A_PC23_AFB +#define TIM1_CH1_A_PC26_AFB +#define TIM1_CH2_A_PC29_AFB +#define TIM1_CH0_B_PC24_AFB +#define TIM1_CH1_B_PC27_AFB +#define TIM1_CH2_B_PC30_AFB +#define TIM2_CH0_A_PC5_AFB +#define TIM2_CH1_A_PC8_AFB +#define TIM2_CH2_A_PC11_AFB +#define TIM2_CH0_B_PC6_AFB +#define TIM2_CH1_B_PC9_AFB +#define TIM2_CH2_B_PC12_AFB +#define TIM3_CH0_A_PE0_AFB +#define TIM3_CH1_A_PE3_AFB +#define TIM3_CH2_A_PD21_AFC +#define TIM3_CH0_B_PE1_AFB +#define TIM3_CH1_B_PE4_AFB +#define TIM3_CH2_B_PD22_AFC + +#define TIM_MODULE_0 (0) +#define TIM_MODULE_1 (1) +#define TIM_MODULE_2 (2) +#define TIM_MODULE_3 (3) + +#define TIM_CHANNEL_NUMBER (3) +#define TIM_MODULE_COUNT (4) +// EOF TIM + +// USART +#define USART0_RX_PB0_AFC +#define USART0_TX_PB1_AFC +#define USART1_RX_PA21_AFA +#define USART1_TX_PB4_AFD +#define USART2_RX_PD15_AFB +#define USART2_TX_PD16_AFB + +#define USART_MODULE_0 (0) +#define USART_MODULE_1 (1) +#define USART_MODULE_2 (2) + +#define USART_MODULE_COUNT (3) +// EOF USART + +// UART +#define UART0_RX_PA9_AFA +#define UART0_TX_PA10_AFA +#define UART1_RX_PA5_AFC +#define UART1_TX_PA4_AFC +#define UART1_TX_PA6_AFC +#define UART1_TX_PD26_AFD +#define UART2_RX_PD25_AFC +#define UART2_TX_PD26_AFC +#define UART3_RX_PD28_AFA +#define UART3_TX_PD30_AFA +#define UART3_TX_PD31_AFB +#define UART4_RX_PD18_AFC +#define UART4_TX_PD3_AFC +#define UART4_TX_PD19_AFC + +#define UART_MODULE_0 (0) +#define UART_MODULE_1 (1) +#define UART_MODULE_2 (2) +#define UART_MODULE_3 (3) +#define UART_MODULE_4 (4) + +#define UART_MODULE_COUNT (5) +// EOF UART + +// SPI +#define SPI0_MISO_PD20_AFB +#define SPI0_MOSI_PD21_AFB +#define SPI0_SCK_PD22_AFB +#define SPI1_MISO_PC26_AFC +#define SPI1_MOSI_PC27_AFC +#define SPI1_SCK_PC24_AFC + +#define SPI_MODULE_0 (0) +#define SPI_MODULE_1 (1) + +#define SPI_MODULE_COUNT (2) +// EOF SPI + +// GPIO +#define __PA0_CN +#define __PA1_CN +#define __PA2_CN +#define __PA3_CN +#define __PA4_CN +#define __PA5_CN +#define __PA6_CN +#define __PA7_CN +#define __PA8_CN +#define __PA9_CN +#define __PA10_CN +#define __PA11_CN +#define __PA12_CN +#define __PA13_CN +#define __PA14_CN +#define __PA15_CN +#define __PA16_CN +#define __PA17_CN +#define __PA18_CN +#define __PA19_CN +#define __PA20_CN +#define __PA21_CN +#define __PA22_CN +#define __PA23_CN +#define __PA24_CN +#define __PA25_CN +#define __PA26_CN +#define __PA27_CN +#define __PA28_CN +#define __PA29_CN +#define __PA30_CN +#define __PA31_CN +#define __PB0_CN +#define __PB1_CN +#define __PB2_CN +#define __PB3_CN +#define __PB4_CN +#define __PB5_CN +#define __PB6_CN +#define __PB7_CN +#define __PB8_CN +#define __PB9_CN +#define __PB12_CN +#define __PB13_CN +#define __PC0_CN +#define __PC1_CN +#define __PC2_CN +#define __PC3_CN +#define __PC4_CN +#define __PC5_CN +#define __PC6_CN +#define __PC7_CN +#define __PC8_CN +#define __PC9_CN +#define __PC10_CN +#define __PC11_CN +#define __PC12_CN +#define __PC13_CN +#define __PC14_CN +#define __PC15_CN +#define __PC16_CN +#define __PC17_CN +#define __PC18_CN +#define __PC19_CN +#define __PC20_CN +#define __PC21_CN +#define __PC22_CN +#define __PC23_CN +#define __PC24_CN +#define __PC25_CN +#define __PC26_CN +#define __PC27_CN +#define __PC28_CN +#define __PC29_CN +#define __PC30_CN +#define __PC31_CN +#define __PD0_CN +#define __PD1_CN +#define __PD2_CN +#define __PD3_CN +#define __PD4_CN +#define __PD5_CN +#define __PD6_CN +#define __PD7_CN +#define __PD8_CN +#define __PD9_CN +#define __PD10_CN +#define __PD11_CN +#define __PD12_CN +#define __PD13_CN +#define __PD14_CN +#define __PD15_CN +#define __PD16_CN +#define __PD17_CN +#define __PD18_CN +#define __PD19_CN +#define __PD20_CN +#define __PD21_CN +#define __PD22_CN +#define __PD23_CN +#define __PD24_CN +#define __PD25_CN +#define __PD26_CN +#define __PD27_CN +#define __PD28_CN +#define __PD29_CN +#define __PD30_CN +#define __PD31_CN +#define __PE0_CN +#define __PE1_CN +#define __PE2_CN +#define __PE3_CN +#define __PE4_CN +#define __PE5_CN + +#define __PORT_A_CN +#define __PORT_B_CN +#define __PORT_C_CN +#define __PORT_D_CN +#define __PORT_E_CN + +#define PORT_COUNT (5) +#define PORT_SIZE (32) +// EOF GPIO + +// IVT Table +#define UART0_NVIC (7) +#define UART1_NVIC (8) +#define USART0_NVIC (13) +#define USART1_NVIC (14) +#define USART2_NVIC (15) +#define UART2_NVIC (44) +#define UART3_NVIC (45) +#define UART4_NVIC (46) +// EOF IVT Table + +#ifdef __cplusplus +} +#endif + +#endif // _MCU_DEFINITIONS_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..64528f940 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J19A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J19A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..73cc7939d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J19B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J19B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J19B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..2d896dad5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J20A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J20A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..c6c8994e3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J20B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J20B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J20B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..7d08ad177 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J21A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J21A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..aa9bbabe2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70J21B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70J21B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70J21B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..30f042c5e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N19A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N19A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..7093e1a9f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N19A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N19A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..3bbbd3339 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N19B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N19B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..67825b9bd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N19B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N19B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N19B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..e0adb75cd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N20A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N20A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..0ab04378e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N20A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N20A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..80009add9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N20B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N20B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..eddc45452 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N20B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N20B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N20B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..0449f43fb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N21A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N21A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..d0c6a831a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N21A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N21A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..1372f5d66 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N21B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N21B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..8d31d2eeb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70N21B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70N21B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70N21B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..ad2969c28 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..40ce3389c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..1c7001479 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..3782a7231 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..f5d1952db --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..4e5bbaead --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q19B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q19B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q19B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..edbb7b6da --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..a72296cff --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..787a973b9 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..afa7fb25a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..ac400ee62 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..75fb7c55f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q20B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q20B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q20B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..69f7ce669 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..69e8c2ed6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..fe336e0d5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..aa96df2b5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..815526027 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..a7cb9aaf1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAME70Q21B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAME70Q21B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAME70Q21B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..84fbd7cbb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J19A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J19A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..c4a2096f7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19A/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J19A_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J19A_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..b5df904b2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J19B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J19B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..0e6a6bece --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J19B/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J19B_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J19B_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..130acadca --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J20A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J20A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..82931cf2d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20A/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J20A_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J20A_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..21445aece --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J20B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J20B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..5d7d2098a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J20B/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J20B_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J20B_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..1ee291bc6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J21A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J21A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..1535d83c7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21A/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J21A_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J21A_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..e12ff7c73 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J21B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J21B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/QFN64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/QFN64/mcu_reg_addresses.h new file mode 100644 index 000000000..7dd2ce78c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70J21B/QFN64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70J21B_QFN64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70J21B_QFN64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..9c34180e5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..cd5930e1d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..7b9385bc2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19A/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19A_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19A_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..54a3ddab4 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..e7bb42af4 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..dc344227c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N19B/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N19B_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N19B_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..9c8466ad1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..bf9d4dbd6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..fffa688a1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20A/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20A_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20A_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..2a1e3a79e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..2e5d28b0f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..a78760def --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N20B/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N20B_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N20B_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..5068cf7dd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..1b11ccd3f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..d7cca125c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21A/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21A_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21A_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..daac50623 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..63466b120 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/VFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/VFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..05fb9ef76 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70N21B/VFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70N21B_VFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70N21B_VFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..2f60ff077 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..0b034b893 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..8e64be02c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..9c592a5fa --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..caaac30a6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..4dabb7e7f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q19B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q19B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q19B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..f4c5274f5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..47899f1d4 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..b5dc1c2b2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..90bb782d3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..da9c11f1d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..dc0e72a55 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q20B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q20B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q20B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..123c2b4ae --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21A_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21A_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..cd0505cc5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..7e75871d8 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21A/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21A_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21A_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..76164c50d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21B_LFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21B_LFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..7b7bb0601 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/UFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/UFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..5a6f4409f --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMS70Q21B/UFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMS70Q21B_UFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMS70Q21B_UFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..98e15b5cd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70J19A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70J19A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..fa7ea848b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J19B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70J19B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70J19B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..68e5ce85a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70J20A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70J20A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..c80bd2f9c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70J20B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70J20B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70J20B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..cbcc6b281 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N19A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N19A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..aec887cf7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N19A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N19A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..c2a495356 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N19B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N19B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..c6fe70b69 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N19B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N19B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N19B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..0ba0346f0 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N20A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N20A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..a541e8e71 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N20A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N20A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..eb7b5fcb7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N20B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N20B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..bfbcc118d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70N20B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70N20B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70N20B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..29c9d67a3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q19A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q19A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..d3043dbdd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19A/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q19A_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q19A_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..33113814a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q19B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q19B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..f71bf4077 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q19B/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q19B_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q19B_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..cbb240d93 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q20A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q20A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..4081c52c3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20A/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q20A_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q20A_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..88935db53 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q20B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q20B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..7cbeb1b0c --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV70Q20B/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV70Q20B_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV70Q20B_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..fb75daff8 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J19A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J19A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..61c3d5119 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J19B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J19B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J19B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..d6df45f79 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J20A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J20A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..5b643a276 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J20B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J20B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J20B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21A/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21A/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..cb23efe9a --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21A/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J21A_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J21A_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21B/LQFP64/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21B/LQFP64/mcu_reg_addresses.h new file mode 100644 index 000000000..7ca462ff5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71J21B/LQFP64/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71J21B_LQFP64 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71J21B_LQFP64 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..d4c9ed4d3 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N19A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N19A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..ada5902dd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N19A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N19A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..5dee400b1 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N19B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N19B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..6ce1c1fd5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N19B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N19B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N19B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..f666eca2d --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N20A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N20A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..c9fcb56f8 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N20A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N20A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..be894ce7e --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N20B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N20B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..8ef21fcee --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N20B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N20B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N20B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..032336e0b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N21A_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N21A_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..0bb8704ce --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21A/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N21A_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N21A_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/LQFP100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/LQFP100/mcu_reg_addresses.h new file mode 100644 index 000000000..74d233873 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/LQFP100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N21B_LQFP100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N21B_LQFP100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/TFBGA100/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/TFBGA100/mcu_reg_addresses.h new file mode 100644 index 000000000..d6d601499 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71N21B/TFBGA100/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71N21B_TFBGA100 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71N21B_TFBGA100 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..282e78dcb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q19A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q19A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..2bb8f8fb6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19A/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q19A_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q19A_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..26d30f3c5 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q19B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q19B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..a76ccaa64 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q19B/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q19B_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q19B_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..b268f64cb --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q20A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q20A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..fd3999db6 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20A/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q20A_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q20A_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..f560ae08b --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q20B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q20B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..69ad3febd --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q20B/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q20B_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q20B_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..896902ff7 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q21A_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q21A_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..eecdced18 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21A/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q21A_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q21A_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/LQFP144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/LQFP144/mcu_reg_addresses.h new file mode 100644 index 000000000..1e110a3f2 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/LQFP144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q21B_LQFP144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q21B_LQFP144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/TFBGA144/mcu_reg_addresses.h b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/TFBGA144/mcu_reg_addresses.h new file mode 100644 index 000000000..b15608684 --- /dev/null +++ b/targets/arm/mikroe/common/include/mcu_reg_addresses/SAM/ATSAMV71Q21B/TFBGA144/mcu_reg_addresses.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! +* @file mcu_reg_addresses.h +* @brief MCU specific register address definitions. +* @details ATSAMV71Q21B_TFBGA144 register address definitions. +*/ + +#ifndef _MCU_REG_ADDRESSES_H_ +#define _MCU_REG_ADDRESSES_H_ + +// ATSAMV71Q21B_TFBGA144 REGISTER DEFINITIONS +// TODO - add if any +// EOF REGISTER DEFINITIONS + +#endif // _MCU_REG_ADDRESSES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/core/CMakeLists.txt b/targets/arm/mikroe/core/CMakeLists.txt index f03d20394..ffd1bf435 100644 --- a/targets/arm/mikroe/core/CMakeLists.txt +++ b/targets/arm/mikroe/core/CMakeLists.txt @@ -37,6 +37,13 @@ elseif(${MCU_NAME} MATCHES "^TM4C.*") set(chip_vendor "tiva") list(APPEND hal_ll_core_def_list ${chip_vendor}) set(hal_ll_core_source "m4") +elseif(${MCU_NAME} MATCHES "^(AT)?SAM.*") + set(chip_vendor "sam") + list(APPEND hal_ll_core_def_list ${chip_vendor}) + if(${CORE_NAME} MATCHES "M7") + set(hal_ll_core_source "m7") + list(APPEND hal_ll_core_def_list __cortex_m7__) + endif() else() list(hal_ll_core_def_list __vendor_not_supported__) endif() diff --git a/targets/arm/mikroe/core/include/hal_ll_core_defines.h b/targets/arm/mikroe/core/include/hal_ll_core_defines.h index c800a5ac1..bb03e3d70 100644 --- a/targets/arm/mikroe/core/include/hal_ll_core_defines.h +++ b/targets/arm/mikroe/core/include/hal_ll_core_defines.h @@ -359,6 +359,48 @@ extern "C"{ #define HAL_LL_CORE_NVIC_SYS_PRI_1 (( uint32_t * )0xE000ED18) #define HAL_LL_CORE_NVIC_SYS_PRI_2 (( uint32_t * )0xE000ED1C) #define HAL_LL_CORE_NVIC_SYS_PRI_3 (( uint32_t * )0xE000ED20) +#elif defined (sam) +#if defined(__cortex_m7__) + typedef enum + { + HAL_LL_IVT_PRIORITY_LEVEL_0 = 0, + HAL_LL_IVT_PRIORITY_LEVEL_1, + HAL_LL_IVT_PRIORITY_LEVEL_2, + HAL_LL_IVT_PRIORITY_LEVEL_3, + HAL_LL_IVT_PRIORITY_LEVEL_4, + HAL_LL_IVT_PRIORITY_LEVEL_5, + HAL_LL_IVT_PRIORITY_LEVEL_6, + HAL_LL_IVT_PRIORITY_LEVEL_7 + } hal_ll_core_irq_priority_levels; + + #define hal_ll_core_irq(irq_val) (irq_val-16) + + #define HAL_LL_CORE_IRQ_MASK 0x1F + #define HAL_LL_CORE_LOW_NIBBLE 0xFUL + #define HAL_LL_CORE_HIGH_NIBBLE 0xF0UL + #define HAL_LL_CORE_IVT_INT_MEM_MANAGE 4 + #define HAL_LL_CORE_IVT_INT_BUS_FAULT 5 + #define HAL_LL_CORE_IVT_INT_USAGE_FAULT 6 + #define HAL_LL_CORE_IVT_INT_SYS_TICK 15 + #define HAL_LL_CORE_IVT_TICKINT_BIT 1 + #define HAL_LL_CORE_IVT_MEMFAULTENA_BIT 16 + #define HAL_LL_CORE_IVT_BUSFAULTENA_BIT 17 + #define HAL_LL_CORE_IVT_USGFAULTENA_BIT 18 + #define HAL_LL_CORE_SCB_SHCRS (( uint32_t * )0xE000ED24) + #define HAL_LL_CORE_STK_CTRL (( uint32_t * )0xE000E010) + #define HAL_LL_CORE_NVIC_ISER_0 (( uint32_t * )0xE000E100) + #define HAL_LL_CORE_NVIC_ISER_1 (( uint32_t * )0xE000E104) + #define HAL_LL_CORE_NVIC_ISER_2 (( uint32_t * )0xE000E108) + #define HAL_LL_CORE_NVIC_ISER_3 (( uint32_t * )0xE000E10C) + #define HAL_LL_CORE_NVIC_ICER_0 (( uint32_t * )0xE000E180) + #define HAL_LL_CORE_NVIC_ICER_1 (( uint32_t * )0xE000E184) + #define HAL_LL_CORE_NVIC_ICER_2 (( uint32_t * )0xE000E188) + #define HAL_LL_CORE_NVIC_ICER_3 (( uint32_t * )0xE000E18C) + #define HAL_LL_CORE_NVIC_IPR_0 (( uint32_t * )0xE000E400) + #define HAL_LL_CORE_NVIC_SCB_SHPR1 (( uint32_t * )0xE000ED18) + #define HAL_LL_CORE_NVIC_SCB_SHPR2 (( uint32_t * )0xE000ED1C) + #define HAL_LL_CORE_NVIC_SCB_SHPR3 (( uint32_t * )0xE000ED20) +#endif #endif #ifdef __cplusplus diff --git a/targets/arm/mikroe/core/src/sam/m7/hal_ll_core_port.c b/targets/arm/mikroe/core/src/sam/m7/hal_ll_core_port.c new file mode 100644 index 000000000..2fb90ba2d --- /dev/null +++ b/targets/arm/mikroe/core/src/sam/m7/hal_ll_core_port.c @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_core_port.c + * @brief This file contains all low level function definitions for chip specific core functionality. + * @note Refers to all M7 cortex chips. + */ + +#include "hal_ll_core_defines.h" +#include "hal_ll_bit_control.h" + +void hal_ll_core_port_nvic_enable_irq( uint8_t IRQn ) +{ + // General exceptions + if ( IRQn >= 64 ) + set_reg_bit( HAL_LL_CORE_NVIC_ISER_2, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); + else if ( IRQn >= 32) + set_reg_bit( HAL_LL_CORE_NVIC_ISER_1, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); + else if ( IRQn >= 0 ) + set_reg_bit( HAL_LL_CORE_NVIC_ISER_0, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); +} + +void hal_ll_core_port_nvic_disable_irq( uint8_t IRQn ) +{ + // General exceptions + if ( IRQn >= 64 ) + set_reg_bit( HAL_LL_CORE_NVIC_ICER_2, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); + else if ( IRQn >= 32) + set_reg_bit( HAL_LL_CORE_NVIC_ICER_1, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); + else if ( IRQn >= 0 ) + set_reg_bit( HAL_LL_CORE_NVIC_ICER_0, ( IRQn & HAL_LL_CORE_IRQ_MASK ) ); +} + +void hal_ll_core_port_nvic_set_priority_irq( uint8_t IRQn, uint8_t IRQn_priority ) +{ + uintptr_t *reg; + uint8_t tmp_shift; + + if ( IRQn > 15 ) + { + reg = HAL_LL_CORE_NVIC_IPR_0 + ( ( hal_ll_core_irq( IRQn ) ) >> 2 ); + tmp_shift = ( ( ( hal_ll_core_irq( IRQn ) ) % 4 ) << 3 ) + 4; + } else if ( ( IRQn > 3 ) & ( IRQn <= 15 ) ) { + reg = HAL_LL_CORE_NVIC_SCB_SHPR1 + ( IRQn / 4 ) - 1; + tmp_shift = ( ( IRQn % 4 ) << 3 ) + 4; + } else { + return; + } + + if ( IRQn_priority & HAL_LL_CORE_LOW_NIBBLE ) { + *reg &= ~( HAL_LL_CORE_LOW_NIBBLE << tmp_shift ); + *reg |= ( uint32_t )IRQn_priority << tmp_shift; + } else { + *reg &= ~( HAL_LL_CORE_LOW_NIBBLE << tmp_shift ); + *reg |= ( uint32_t )IRQn_priority << ( tmp_shift - 4 ); + } +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/CMakeLists.txt b/targets/arm/mikroe/sam/CMakeLists.txt new file mode 100644 index 000000000..fb947d30b --- /dev/null +++ b/targets/arm/mikroe/sam/CMakeLists.txt @@ -0,0 +1,39 @@ +## ./targets/arm/mikroe/sam/CMakeLists.txt +# ALL MODULES +add_subdirectory(src/hal_ll) + +# SEPARATE MODULES +set(module_list "") +set(module_list_supported "") +set_module_support(module_list module_list_supported ${MCU_NAME} "hal_ll_layer") + +if (msdk_adc IN_LIST module_list_supported) + add_subdirectory(src/adc) +endif() +if (msdk_gpio_in IN_LIST module_list_supported) + add_subdirectory(src/gpio) +endif() +if (msdk_i2c_master IN_LIST module_list_supported) + add_subdirectory(src/i2c) +endif() +if (msdk_pwm IN_LIST module_list_supported) + add_subdirectory(src/tim) +endif() +if (msdk_spi_master IN_LIST module_list_supported) + add_subdirectory(src/spi_master) +endif() +if (msdk_uart IN_LIST module_list_supported) + add_subdirectory(src/uart) +endif() +if (msdk_onewire IN_LIST module_list_supported) + add_subdirectory(src/one_wire) +endif() +if (msdk_can IN_LIST module_list_supported) + add_subdirectory(src/can) +endif() +if (msdk_dma IN_LIST module_list_supported) + add_subdirectory(src/dma) +endif() +if (msdk_rtc IN_LIST module_list_supported) + add_subdirectory(src/rtc) +endif() diff --git a/targets/arm/mikroe/sam/include/adc/hal_ll_adc.h b/targets/arm/mikroe/sam/include/adc/hal_ll_adc.h new file mode 100644 index 000000000..28f63e282 --- /dev/null +++ b/targets/arm/mikroe/sam/include/adc/hal_ll_adc.h @@ -0,0 +1,227 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_adc.h + * @brief This file contains all the functions prototypes for the ADC library. + */ + +#ifndef _HAL_LL_ADC_H_ +#define _HAL_LL_ADC_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_target.h" +#include "hal_ll_pmc.h" + +#define HAL_ADC_6BIT_RES_VAL 0x003FU +#define HAL_ADC_8BIT_RES_VAL 0x00FFU +#define HAL_ADC_10BIT_RES_VAL 0x03FFU +#define HAL_ADC_12BIT_RES_VAL 0x0FFFU +#define HAL_ADC_14BIT_RES_VAL 0x3FFFU +#define HAL_ADC_16BIT_RES_VAL 0xFFFFU + +/** + * @brief ADC low level handle. + * + * The context for storing low level object handler. + * User is not to change these values or unexpected behaviour + * may occur. + */ +typedef struct +{ + handle_t *hal_ll_adc_handle; + handle_t *hal_drv_adc_handle; + bool init_ll_state; +} hal_ll_adc_handle_register_t; + +/** + * ADC VREF. + */ +typedef enum +{ + HAL_LL_ADC_VREF_EXTERNAL = 0, + HAL_LL_ADC_VREF_DEFAULT = HAL_LL_ADC_VREF_EXTERNAL +} hal_ll_adc_voltage_reference_t; + +/** + * ADC resolution. + */ +typedef enum +{ + HAL_LL_ADC_RESOLUTION_NOT_SET = 0, + HAL_LL_ADC_RESOLUTION_6_BIT, /**< 6 bit resolution */ + HAL_LL_ADC_RESOLUTION_8_BIT, /**< 8 bit resolution */ + HAL_LL_ADC_RESOLUTION_10_BIT, /**< 10 bit resolution */ + HAL_LL_ADC_RESOLUTION_12_BIT, /**< 12 bit resolution */ + HAL_LL_ADC_RESOLUTION_14_BIT, /**< 14 bit resolution */ + HAL_LL_ADC_RESOLUTION_16_BIT, /**< 16 bit resolution */ + + /*!< Default resolution. */ + HAL_LL_ADC_RESOLUTION_DEFAULT = HAL_LL_ADC_RESOLUTION_CMAKE +} hal_ll_adc_resolution_t; + +/** + * @brief ADC low level specific structure. + * + * User is not to change these values or unexpected behaviour + * may occur. + */ +typedef struct +{ + hal_ll_base_addr_t base; + uint8_t module_index; + hal_ll_pin_name_t pin; + hal_ll_adc_voltage_reference_t vref_input; + float vref_value; + uint32_t resolution; + uint8_t channel; +} hal_ll_adc_hw_specifics_map_t; + +/** + * @brief Configures specified module. + * + * Performs module configuration on the hardware + * level. + * + * @param[in] *handle HAL context object handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_module_configure_adc( handle_t *handle ); + +/** + * @brief Registers handler for future use. + * + * Registers low level and hal level handlers + * for use with appropriate functions. + * + * @param[in] *handle HAL context object handle. + * @param[in] pin Analog input pin. + * @param[in] vref_input Voltage reference source. + * @param[in] resolution Analog data resolution. + * @param[in] *handle_map HAL layer local handle map. + * @param[in] *hal_module_id HAL layer module number. + + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_adc_register_handle(hal_ll_pin_name_t pin, hal_ll_adc_voltage_reference_t vref_input, hal_ll_adc_resolution_t resolution, hal_ll_adc_handle_register_t *handle_map, uint8_t *hal_module_id); + +/** + * @brief Sets ADC resolution. + * + * Sets specified ADC resolution for module. + * Take into consideration that the module + * will be re-initialized on the hardware level. + * + * @param[in] *handle HAL context object handle. + * @param[in] resolution ADC resolution. + * + * @return hal_ll_err_t Module specific error or success. + */ +hal_ll_err_t hal_ll_adc_set_resolution(handle_t *handle, hal_ll_adc_resolution_t resolution); + +/** + * @brief Sets ADC reference voltage source. + * + * Sets ADC reference voltage source for specified + * object. Take into consideration that the module + * will be re-initialized on the hardware level. + * + * @param[in] *handle HAL context object handle. + * @param[in] vref_input ADC reference voltage source. + * + * @return hal_ll_err_t Module specific error or success. + */ +hal_ll_err_t hal_ll_adc_set_vref_input(handle_t *handle, hal_ll_adc_voltage_reference_t vref_input); + +/** + * @brief Sets ADC reference voltage value. + * + * Sets ADC reference voltage value for specified + * object. + * + * @param[in] *handle HAL context object handle. + * @param[in] vref_input ADC reference voltage value. + * + * @return void None. + */ +void hal_ll_adc_set_vref_value(handle_t *handle, float vref_value); + +/** + * @brief Executes data read via ADC module. + * + * Function shall read raw unsigned analog value. + * + * @param handle ADC handle. + * @param *readDatabuf Data buffer where read data + * shall be placed. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_adc_read(handle_t *handle, uint16_t *readDatabuf ); + +/** + * @brief Closes ADC HAL and HAL_LOW_LEVEL context object. + * + * De-allocates hardware resources for specific driver object and + * de-initializes the module on a hardware level. + * + * @param[in] *handle HAL context object handle. + * + * @return void None. + */ +void hal_ll_adc_close( handle_t *handle ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_ADC_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/adc/hal_ll_adc_pin_map/implementations/implementation_1/hal_ll_adc_pin_map.h b/targets/arm/mikroe/sam/include/adc/hal_ll_adc_pin_map/implementations/implementation_1/hal_ll_adc_pin_map.h new file mode 100644 index 000000000..30c41c055 --- /dev/null +++ b/targets/arm/mikroe/sam/include/adc/hal_ll_adc_pin_map/implementations/implementation_1/hal_ll_adc_pin_map.h @@ -0,0 +1,175 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_adc_pin_map.h + * @brief Header file containing symbolic pin name definitions. + */ + +#ifndef _HAL_LL_ADC_PIN_MAP_H_ +#define _HAL_LL_ADC_PIN_MAP_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_adc_module_num(_module_num) (_module_num) + +/** + * ADC channels. + */ +typedef enum +{ + HAL_LL_ADC_CHANNEL_0 = 0, + HAL_LL_ADC_CHANNEL_1, + HAL_LL_ADC_CHANNEL_2, + HAL_LL_ADC_CHANNEL_3, + HAL_LL_ADC_CHANNEL_4, + HAL_LL_ADC_CHANNEL_5, + HAL_LL_ADC_CHANNEL_6, + HAL_LL_ADC_CHANNEL_7, + HAL_LL_ADC_CHANNEL_8, + HAL_LL_ADC_CHANNEL_9, + HAL_LL_ADC_CHANNEL_10, + HAL_LL_ADC_CHANNEL_11, + + HAL_LL_ADC_CHANNEL_NC = 0xFFFF +} hal_ll_adc_channel_t; + +/*!< @brief ADC pin structure. */ +typedef struct +{ + hal_ll_pin_name_t pin; + hal_ll_base_addr_t base; + hal_ll_pin_name_t module_index; + hal_ll_adc_channel_t channel; +} hal_ll_adc_pin_map_t; + +/*!< ADC module base addresses. */ +#ifdef ADC_MODULE_0 +static const hal_ll_base_addr_t HAL_LL_ADC0_BASE_ADDR = 0x4003C000; +#endif +#ifdef ADC_MODULE_1 +static const hal_ll_base_addr_t HAL_LL_ADC1_BASE_ADDR = 0x40064000; +#endif + +/*!< ADC input pins. */ +static const hal_ll_adc_pin_map_t _adc_map[] = +{ + #ifdef ADC0_PD30_CH0 + {GPIO_PD30, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_0}, + #endif + #ifdef ADC0_PA21_CH1 + {GPIO_PA21, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_1}, + #endif + #ifdef ADC0_PB3_CH2 + {GPIO_PB3, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_2}, + #endif + #ifdef ADC0_PB2_CH5 + {GPIO_PB2, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_5}, + #endif + #ifdef ADC0_PA17_CH6 + {GPIO_PA17, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_6}, + #endif + #ifdef ADC0_PA18_CH7 + {GPIO_PA18, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_7}, + #endif + #ifdef ADC0_PA19_CH8 + {GPIO_PA19, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_8}, + #endif + #ifdef ADC0_PA20_CH9 + {GPIO_PA20, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_9}, + #endif + #ifdef ADC0_PB0_CH10 + {GPIO_PB0, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_10}, + #endif + #ifdef ADC1_PB1_CH0 + {GPIO_PB1, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_0}, + #endif + #ifdef ADC0_PE5_CH3 + {GPIO_PE5, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_3}, + #endif + #ifdef ADC0_PE4_CH4 + {GPIO_PE4, HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_ADC_CHANNEL_4}, + #endif + #ifdef ADC1_PC13_CH1 + {GPIO_PC13, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_1}, + #endif + #ifdef ADC1_PC15_CH2 + {GPIO_PC15, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_2}, + #endif + #ifdef ADC1_PC12_CH3 + {GPIO_PC12, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_3}, + #endif + #ifdef ADC1_PC29_CH4 + {GPIO_PC29, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_4}, + #endif + #ifdef ADC1_PC30_CH5 + {GPIO_PC30, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_5}, + #endif + #ifdef ADC1_PC31_CH6 + {GPIO_PC31, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_6}, + #endif + #ifdef ADC1_PC26_CH7 + {GPIO_PC26, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_7}, + #endif + #ifdef ADC1_PC27_CH8 + {GPIO_PC27, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_8}, + #endif + #ifdef ADC1_PC0_CH9 + {GPIO_PC0, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_9}, + #endif + #ifdef ADC1_PE3_CH10 + {GPIO_PE3, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_10}, + #endif + #ifdef ADC1_PE0_CH11 + {GPIO_PE0, HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_ADC_CHANNEL_11}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_CHANNEL_ERROR} +}; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_ADC_PIN_MAP_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio.h b/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio.h new file mode 100644 index 000000000..f80371db5 --- /dev/null +++ b/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio.h @@ -0,0 +1,279 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_gpio.h + * @brief This file contains all the functions prototypes for the GPIO library. + */ + +#ifndef _HAL_LL_GPIO_H_ +#define _HAL_LL_GPIO_H_ + +#include "hal_ll_gpio_port.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +/** + * @brief Function configures pin. + * + * Configures pin to digital output or digital input. + * Sets only the pin defined by pin mask in + * hal_ll_gpio_pin_t structure. + * + * @param *pin Pin object context. + * Configured during this functions process. + * @param name Pin name -- PA0, PA1... + * @param direction Pin direction. + * HAL_LL_GPIO_DIGITAL_INPUT + * HAL_LL_GPIO_DIGITAL_OUTPUT + * + * @return None. + */ +void hal_ll_gpio_configure_pin(hal_ll_gpio_pin_t *pin, hal_ll_pin_name_t name, hal_ll_gpio_direction_t direction); + +/** + * @brief Read pin input. + * + * Checks pin data input register value and + * returns logical state. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * + * @return uint8_t Pin logical state. + * 1/true -- pin high state -- 1.8V or more detected + * 0/false -- pin low state -- 1.8V or less detected + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_read_pin_input(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) == 0) ? \ + (0) : (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.pin_status & ((hal_ll_gpio_pin_t *)_handle)->mask) ? \ + (1) : (0)) +#else +uint8_t hal_ll_gpio_read_pin_input(hal_ll_gpio_pin_t *pin); +#endif + +/** + * @brief Read pin output. + * + * Checks pin data output register value and + * returns logical state. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * + * @return uint8_t Pin logical state. + * 1/true -- pin high state -- 1.8V or more detected + * 0/false -- pin low state -- 1.8V or less detected + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_read_pin_output(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) == 0) ? \ + (0) : (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.pin_status & ((hal_ll_gpio_pin_t *)_handle)->mask) ? \ + (1) : (0)) +#else +uint8_t hal_ll_gpio_read_pin_output(hal_ll_gpio_pin_t *pin); +#endif + +/** + * @brief Writes pin output state. + * + * Sets single pin logical state. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * @param value Pin logical state. + * 1/true -- sets pin high state -- over 1.8V + * 0/false -- sets pin low state -- less than 1.8V + * + * @return None + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_write_pin_output(_handle,_value) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) != NULL) ? \ + ((_value > 0) ? \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.enable = ((hal_ll_gpio_pin_t *)_handle)->mask) : \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.disable = ((hal_ll_gpio_pin_t *)_handle)->mask)) : \ + (0)) +#else +void hal_ll_gpio_write_pin_output(hal_ll_gpio_pin_t *pin, uint8_t value); +#endif + +/** + * @brief Toggles pin logical state. + * + * Checks current state of pin + * and toggles it. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * + * @return None + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_toggle_pin_output(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) != NULL) ? \ + ((((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.pin_status & ((hal_ll_gpio_pin_t *)_handle)->mask))) ? \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.disable = ((hal_ll_gpio_pin_t *)_handle)->mask) : \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.enable = ((hal_ll_gpio_pin_t *)_handle)->mask)) : \ + (0)) +#else +void hal_ll_gpio_toggle_pin_output(hal_ll_gpio_pin_t *pin); +#endif + +/** + * @brief Sets pin logical state. + * + * Sets pin logical state to high. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * + * @return None + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_set_pin_output(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) != NULL) ? \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.enable = ((hal_ll_gpio_pin_t *)_handle)->mask) : \ + (0)) +#else +void hal_ll_gpio_set_pin_output(hal_ll_gpio_pin_t *pin); +#endif + +/** + * @brief Sets pin logical state. + * + * Sets pin logical state to low. + * + * @param *pin Pin object context. + * Configured during hal_ll_gpio_configure_pin. + * + * @return None + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_clear_pin_output(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base) != NULL) ? \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_pin_t *)_handle)->base)->signal.disable = ((hal_ll_gpio_pin_t *)_handle)->mask) : \ + (0)) +#else +void hal_ll_gpio_clear_pin_output(hal_ll_gpio_pin_t *pin); +#endif + +/** + * @brief Configures port. + * + * Configures port according to specified + * direction. Takes into consideration only + * pins defined by mask. + * + * @param *port Port object context. + * Configured during this functions process. + * @param name Port name. + * @param mask Port pin mask. + * @param direction Port pin direction. + * HAL_LL_GPIO_DIGITAL_INPUT + * HAL_LL_GPIO_DIGITAL_OUTPUT + * + * @return None + */ +void hal_ll_gpio_configure_port(hal_ll_gpio_port_t *port, hal_ll_port_name_t name, hal_ll_gpio_mask_t mask, hal_ll_gpio_direction_t direction); + +/** + * @brief Read port input value. + * + * Checks port data input register value and + * returns it. + * + * @param *port Port object context. + * Configured during hal_ll_gpio_configure_port. + * + * @return hal_ll_port_size_t Port input data register value. + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_read_port_input(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base) != NULL) ? \ + ((hal_ll_port_size_t)((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base)->signal.pin_status & ((hal_ll_gpio_port_t *)_handle)->mask) : \ + (0)) +#else +hal_ll_port_size_t hal_ll_gpio_read_port_input(hal_ll_gpio_port_t *port); +#endif + +/** + * @brief Read port output value. + * + * Checks port data output register value and + * returns it. + * + * @param *port Port object context. + * Configured during hal_ll_gpio_configure_port. + * @return hal_ll_port_size_t Port output data register value. + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_read_port_output(_handle) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base) != NULL) ? \ + ((hal_ll_port_size_t)(((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base)->signal.pin_status) & (((hal_ll_gpio_port_t *)_handle)->mask)) : \ + (0)) +#else +hal_ll_port_size_t hal_ll_gpio_read_port_output(hal_ll_gpio_port_t *port); +#endif + +/** + * @brief Set port state. + * + * Sets port output state. + * Will take into consideration only + * port pins defined by mask in + * port object context. + * + * @param *port Port object context. + * Configured during hal_ll_gpio_configure_port. + * @param value Port output value + * + * @return None + */ +#if defined(FLATTEN_ME) && (FLATTEN_ME_LEVEL >= FLATTEN_ME_LEVEL_LOW) +#define hal_ll_gpio_write_port_output(_handle,_value) ((((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base) != NULL) ? \ + (((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base)->signal.enable = \ + ((hal_ll_port_size_t)_value & ((hal_ll_gpio_port_t *)_handle)->mask), \ + ((hal_ll_gpio_base_handle_t *)((hal_ll_gpio_port_t *)_handle)->base)->signal.disable = \ + (~(hal_ll_port_size_t)_value & ((hal_ll_gpio_port_t *)_handle)->mask)) : \ + (0)) +#else +void hal_ll_gpio_write_port_output(hal_ll_gpio_port_t *port, hal_ll_port_size_t value); +#endif + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_GPIO_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio_port.h b/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio_port.h new file mode 100644 index 000000000..ee06a9859 --- /dev/null +++ b/targets/arm/mikroe/sam/include/gpio/hal_ll_gpio_port.h @@ -0,0 +1,156 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_gpio.h + * @brief This file contains all the functions prototypes for the GPIO library. + */ + +#ifndef _HAL_LL_GPIO_PORT_H_ +#define _HAL_LL_GPIO_PORT_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_target.h" +#include "hal_ll_gpio_struct_type.h" + +#define RESET_PINS_OFFSET 32 + +/** + * Helper macros for GPIO HAL + */ +#define GPIO_MODULE_STRUCT_END -1 + +/** + * GPIO module struct defining pins and proprietary functions + */ +typedef struct +{ + uint32_t pins[13]; + uint8_t configs[13]; +} module_struct; + +/** + * Handle and mask types. + */ +typedef handle_t hal_ll_gpio_base_t; + +/** + * Enum used for pin direction selection. + */ +typedef enum +{ + HAL_LL_GPIO_DIGITAL_INPUT = 0, + HAL_LL_GPIO_DIGITAL_OUTPUT = 1 +} hal_ll_gpio_direction_t; + +/** + * Enum used for pin direction selection. + */ +typedef struct hal_ll_gpio_t +{ + hal_ll_gpio_base_t base; + hal_ll_gpio_mask_t mask; +}; + +/** + * Pin and port data types. + */ +typedef struct hal_ll_gpio_t hal_ll_gpio_pin_t; +typedef struct hal_ll_gpio_t hal_ll_gpio_port_t; + +/** + * @brief Get pins port index within a list of available ports + * @param name - desired pin + * @return uint8_t value from 0 to PORT_COUNT-1 + */ +uint8_t hal_ll_gpio_port_index( hal_ll_pin_name_t name ); + +/** + * @brief Get pin mask of provided pin within proprietery port + * @param name - desired pin + * @return uint32_t + */ +uint32_t hal_ll_gpio_pin_mask( hal_ll_pin_name_t name ); + +/** + * @brief Get base address of ports registers + * @param name - desired port + * @return uint32_t address of first regsiter + */ +uint32_t hal_ll_gpio_port_base( hal_ll_port_name_t name ); + +/** + * @brief Set pin as analog input + * @param port - port base address acquired from hal_gpio_ll_port_base + * @param pin_mask - pin mask acquired from hal_gpio_ll_pin_mask + * @return none + */ +void hal_ll_gpio_analog_input( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ); + +/** + * @brief Set pin as digital input + * @param port - port base address acquired from hal_gpio_ll_port_base + * @param pin_mask - pin mask acquired from hal_gpio_ll_pin_mask + * @return none + */ +void hal_ll_gpio_digital_input( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ); + +/** + * @brief Set pin as digital output + * @param port - port base address acquired from hal_gpio_ll_port_base + * @param pin_mask - pin mask acquired from hal_gpio_ll_pin_mask + * @return none + */ +void hal_ll_gpio_digital_output( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ); + +/** + * @brief Initialize structure of pins associated to specific peripheral + * @param module - desired module pins structure + * @return none + */ +void hal_ll_gpio_module_struct_init( module_struct const *module, bool state ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_GPIO_PORT_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/gpio/implementations/implementation_1/hal_ll_gpio_struct_type.h b/targets/arm/mikroe/sam/include/gpio/implementations/implementation_1/hal_ll_gpio_struct_type.h new file mode 100644 index 000000000..ff3eddd93 --- /dev/null +++ b/targets/arm/mikroe/sam/include/gpio/implementations/implementation_1/hal_ll_gpio_struct_type.h @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_gpio_struct_type.h + * @brief GPIO HAL LL register structure typedef. + */ + +#ifndef _HAL_LL_GPIO_STRUCT_TYPE_H_ +#define _HAL_LL_GPIO_STRUCT_TYPE_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include + +/** + * GPIO module interrupt registers control structure + **/ +typedef struct hal_ll_gpio_interrupt_register_handle +{ + uint32_t enable; + uint32_t disable; + uint32_t mask; + uint32_t status; +} hal_ll_gpio_interrupt_register_handle_t; + +/** + * GPIO module signal register control structure + **/ +typedef struct hal_ll_gpio_signal_register_handle +{ + uint32_t enable; + uint32_t disable; + uint32_t status; + uint32_t pin_status; +} hal_ll_gpio_signal_register_handle_t; + +/** + * GPIO module registers control structure + **/ +typedef struct hal_ll_gpio_register_handle +{ + uint32_t enable; + uint32_t disable; + uint32_t status; + uint32_t unused; +} hal_ll_gpio_register_handle_t; + +/** + * GPIO module registers access structure + */ +typedef struct hal_ll_gpio_base_handle +{ + hal_ll_gpio_register_handle_t pio; /* Parallel input-output controller */ + hal_ll_gpio_register_handle_t output; /* Output configuration controller */ + hal_ll_gpio_register_handle_t filter; /* Input filter controller */ + hal_ll_gpio_signal_register_handle_t signal; /* Output signal controller */ + hal_ll_gpio_interrupt_register_handle_t interrupt; /* IO interrupt controller */ + hal_ll_gpio_register_handle_t multi_driver; /* Multi-driver controller */ + hal_ll_gpio_register_handle_t pullup_off; /* Pull-up resistor disabling controller */ + uint32_t abcdsr0; /* Peripheral ABCD Select Register 0 */ + uint32_t abcdsr1; /* Peripheral ABCD Select Register 1 */ +} hal_ll_gpio_base_handle_t; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_GPIO_STRUCT_TYPE_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/hal_ll_pin_names.h b/targets/arm/mikroe/sam/include/hal_ll_pin_names.h new file mode 100644 index 000000000..691e16381 --- /dev/null +++ b/targets/arm/mikroe/sam/include/hal_ll_pin_names.h @@ -0,0 +1,808 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_pin_names.h + * @brief Header file containing symbolic pin name definitions. + */ + +#ifndef _HAL_LL_PIN_NAMES_H_ +#define _HAL_LL_PIN_NAMES_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "mcu_definitions.h" +#include "hal_ll_target_names.h" + +#define GPIO_FEATURE_32BIT_PORT + +#ifdef __PORT_A_CN +#define GPIO_FEATURE_GROUP_1 +#endif +#ifdef __PORT_B_CN +#define GPIO_FEATURE_GROUP_2 +#endif +#ifdef __PORT_C_CN +#define GPIO_FEATURE_GROUP_3 +#endif +#ifdef __PORT_D_CN +#define GPIO_FEATURE_GROUP_4 +#endif +#ifdef __PORT_E_CN +#define GPIO_FEATURE_GROUP_5 +#endif + +#ifdef __PA0_CN +#define GPIO_PA0 (0x00) +#define PA0 GPIO_PA0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA0! +#endif +#ifdef __PA1_CN +#define GPIO_PA1 (0x01) +#define PA1 GPIO_PA1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA1! +#endif +#ifdef __PA2_CN +#define GPIO_PA2 (0x02) +#define PA2 GPIO_PA2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA2! +#endif +#ifdef __PA3_CN +#define GPIO_PA3 (0x03) +#define PA3 GPIO_PA3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA3! +#endif +#ifdef __PA4_CN +#define GPIO_PA4 (0x04) +#define PA4 GPIO_PA4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA4! +#endif +#ifdef __PA5_CN +#define GPIO_PA5 (0x05) +#define PA5 GPIO_PA5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA5! +#endif +#ifdef __PA6_CN +#define GPIO_PA6 (0x06) +#define PA6 GPIO_PA6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA6! +#endif +#ifdef __PA7_CN +#define GPIO_PA7 (0x07) +#define PA7 GPIO_PA7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA7! +#endif +#ifdef __PA8_CN +#define GPIO_PA8 (0x08) +#define PA8 GPIO_PA8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA8! +#endif +#ifdef __PA9_CN +#define GPIO_PA9 (0x09) +#define PA9 GPIO_PA9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA9! +#endif +#ifdef __PA10_CN +#define GPIO_PA10 (0x0A) +#define PA10 GPIO_PA10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA10! +#endif +#ifdef __PA11_CN +#define GPIO_PA11 (0x0B) +#define PA11 GPIO_PA11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA11! +#endif +#ifdef __PA12_CN +#define GPIO_PA12 (0x0C) +#define PA12 GPIO_PA12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA12! +#endif +#ifdef __PA13_CN +#define GPIO_PA13 (0x0D) +#define PA13 GPIO_PA13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA13! +#endif +#ifdef __PA14_CN +#define GPIO_PA14 (0x0E) +#define PA14 GPIO_PA14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA14! +#endif +#ifdef __PA15_CN +#define GPIO_PA15 (0x0F) +#define PA15 GPIO_PA15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA15! +#endif +#ifdef __PA16_CN +#define GPIO_PA16 (0x10) +#define PA16 GPIO_PA16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA16! +#endif +#ifdef __PA17_CN +#define GPIO_PA17 (0x11) +#define PA17 GPIO_PA17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA17! +#endif +#ifdef __PA18_CN +#define GPIO_PA18 (0x12) +#define PA18 GPIO_PA18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA18! +#endif +#ifdef __PA19_CN +#define GPIO_PA19 (0x13) +#define PA19 GPIO_PA19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA19! +#endif +#ifdef __PA20_CN +#define GPIO_PA20 (0x14) +#define PA20 GPIO_PA20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA20! +#endif +#ifdef __PA21_CN +#define GPIO_PA21 (0x15) +#define PA21 GPIO_PA21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA21! +#endif +#ifdef __PA22_CN +#define GPIO_PA22 (0x16) +#define PA22 GPIO_PA22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA22! +#endif +#ifdef __PA23_CN +#define GPIO_PA23 (0x17) +#define PA23 GPIO_PA23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA23! +#endif +#ifdef __PA24_CN +#define GPIO_PA24 (0x18) +#define PA24 GPIO_PA24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA24! +#endif +#ifdef __PA25_CN +#define GPIO_PA25 (0x19) +#define PA25 GPIO_PA25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA25! +#endif +#ifdef __PA26_CN +#define GPIO_PA26 (0x1A) +#define PA26 GPIO_PA26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA26! +#endif +#ifdef __PA27_CN +#define GPIO_PA27 (0x1B) +#define PA27 GPIO_PA27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA27! +#endif +#ifdef __PA28_CN +#define GPIO_PA28 (0x1C) +#define PA28 GPIO_PA28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA28! +#endif +#ifdef __PA29_CN +#define GPIO_PA29 (0x1D) +#define PA29 GPIO_PA29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA29! +#endif +#ifdef __PA30_CN +#define GPIO_PA30 (0x1E) +#define PA30 GPIO_PA30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA30! +#endif +#ifdef __PA31_CN +#define GPIO_PA31 (0x1F) +#define PA31 GPIO_PA31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PA31! +#endif + +#ifdef __PB0_CN +#define GPIO_PB0 (0x20) +#define PB0 GPIO_PB0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB0! +#endif +#ifdef __PB1_CN +#define GPIO_PB1 (0x21) +#define PB1 GPIO_PB1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB1! +#endif +#ifdef __PB2_CN +#define GPIO_PB2 (0x22) +#define PB2 GPIO_PB2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB2! +#endif +#ifdef __PB3_CN +#define GPIO_PB3 (0x23) +#define PB3 GPIO_PB3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB3! +#endif +#ifdef __PB4_CN +#define GPIO_PB4 (0x24) +#define PB4 GPIO_PB4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB4! +#endif +#ifdef __PB5_CN +#define GPIO_PB5 (0x25) +#define PB5 GPIO_PB5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB5! +#endif +#ifdef __PB6_CN +#define GPIO_PB6 (0x26) +#define PB6 GPIO_PB6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB6! +#endif +#ifdef __PB7_CN +#define GPIO_PB7 (0x27) +#define PB7 GPIO_PB7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB7! +#endif +#ifdef __PB8_CN +#define GPIO_PB8 (0x28) +#define PB8 GPIO_PB8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB8! +#endif +#ifdef __PB9_CN +#define GPIO_PB9 (0x29) +#define PB9 GPIO_PB9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB9! +#endif +#ifdef __PB10_CN +#define GPIO_PB10 (0x2A) +#define PB10 GPIO_PB10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB10! +#endif +#ifdef __PB11_CN +#define GPIO_PB11 (0x2B) +#define PB11 GPIO_PB11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB11! +#endif +#ifdef __PB12_CN +#define GPIO_PB12 (0x2C) +#define PB12 GPIO_PB12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB12! +#endif +#ifdef __PB13_CN +#define GPIO_PB13 (0x2D) +#define PB13 GPIO_PB13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB13! +#endif +#ifdef __PB14_CN +#define GPIO_PB14 (0x2E) +#define PB14 GPIO_PB14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB14! +#endif +#ifdef __PB15_CN +#define GPIO_PB15 (0x2F) +#define PB15 GPIO_PB15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB15! +#endif +#ifdef __PB16_CN +#define GPIO_PB16 (0x30) +#define PB16 GPIO_PB16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB16! +#endif +#ifdef __PB17_CN +#define GPIO_PB17 (0x31) +#define PB17 GPIO_PB17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB17! +#endif +#ifdef __PB18_CN +#define GPIO_PB18 (0x32) +#define PB18 GPIO_PB18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB18! +#endif +#ifdef __PB19_CN +#define GPIO_PB19 (0x33) +#define PB19 GPIO_PB19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB19! +#endif +#ifdef __PB20_CN +#define GPIO_PB20 (0x34) +#define PB20 GPIO_PB20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB20! +#endif +#ifdef __PB21_CN +#define GPIO_PB21 (0x35) +#define PB21 GPIO_PB21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB21! +#endif +#ifdef __PB22_CN +#define GPIO_PB22 (0x36) +#define PB22 GPIO_PB22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB22! +#endif +#ifdef __PB23_CN +#define GPIO_PB23 (0x37) +#define PB23 GPIO_PB23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB23! +#endif +#ifdef __PB24_CN +#define GPIO_PB24 (0x38) +#define PB24 GPIO_PB24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB24! +#endif +#ifdef __PB25_CN +#define GPIO_PB25 (0x39) +#define PB25 GPIO_PB25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB25! +#endif +#ifdef __PB26_CN +#define GPIO_PB26 (0x3A) +#define PB26 GPIO_PB26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB26! +#endif +#ifdef __PB27_CN +#define GPIO_PB27 (0x3B) +#define PB27 GPIO_PB27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB27! +#endif +#ifdef __PB28_CN +#define GPIO_PB28 (0x3C) +#define PB28 GPIO_PB28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB28! +#endif +#ifdef __PB29_CN +#define GPIO_PB29 (0x3D) +#define PB29 GPIO_PB29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB29! +#endif +#ifdef __PB30_CN +#define GPIO_PB30 (0x3E) +#define PB30 GPIO_PB30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB30! +#endif +#ifdef __PB31_CN +#define GPIO_PB31 (0x3F) +#define PB31 GPIO_PB31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PB31! +#endif + +#ifdef __PC0_CN +#define GPIO_PC0 (0x40) +#define PC0 GPIO_PC0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC0! +#endif +#ifdef __PC1_CN +#define GPIO_PC1 (0x41) +#define PC1 GPIO_PC1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC1! +#endif +#ifdef __PC2_CN +#define GPIO_PC2 (0x42) +#define PC2 GPIO_PC2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC2! +#endif +#ifdef __PC3_CN +#define GPIO_PC3 (0x43) +#define PC3 GPIO_PC3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC3! +#endif +#ifdef __PC4_CN +#define GPIO_PC4 (0x44) +#define PC4 GPIO_PC4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC4! +#endif +#ifdef __PC5_CN +#define GPIO_PC5 (0x45) +#define PC5 GPIO_PC5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC5! +#endif +#ifdef __PC6_CN +#define GPIO_PC6 (0x46) +#define PC6 GPIO_PC6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC6! +#endif +#ifdef __PC7_CN +#define GPIO_PC7 (0x47) +#define PC7 GPIO_PC7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC7! +#endif +#ifdef __PC8_CN +#define GPIO_PC8 (0x48) +#define PC8 GPIO_PC8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC8! +#endif +#ifdef __PC9_CN +#define GPIO_PC9 (0x49) +#define PC9 GPIO_PC9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC9! +#endif +#ifdef __PC10_CN +#define GPIO_PC10 (0x4A) +#define PC10 GPIO_PC10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC10! +#endif +#ifdef __PC11_CN +#define GPIO_PC11 (0x4B) +#define PC11 GPIO_PC11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC11! +#endif +#ifdef __PC12_CN +#define GPIO_PC12 (0x4C) +#define PC12 GPIO_PC12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC12! +#endif +#ifdef __PC13_CN +#define GPIO_PC13 (0x4D) +#define PC13 GPIO_PC13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC13! +#endif +#ifdef __PC14_CN +#define GPIO_PC14 (0x4E) +#define PC14 GPIO_PC14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC14! +#endif +#ifdef __PC15_CN +#define GPIO_PC15 (0x4F) +#define PC15 GPIO_PC15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC15! +#endif +#ifdef __PC16_CN +#define GPIO_PC16 (0x50) +#define PC16 GPIO_PC16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC16! +#endif +#ifdef __PC17_CN +#define GPIO_PC17 (0x51) +#define PC17 GPIO_PC17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC17! +#endif +#ifdef __PC18_CN +#define GPIO_PC18 (0x52) +#define PC18 GPIO_PC18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC18! +#endif +#ifdef __PC19_CN +#define GPIO_PC19 (0x53) +#define PC19 GPIO_PC19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC19! +#endif +#ifdef __PC20_CN +#define GPIO_PC20 (0x54) +#define PC20 GPIO_PC20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC20! +#endif +#ifdef __PC21_CN +#define GPIO_PC21 (0x55) +#define PC21 GPIO_PC21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC21! +#endif +#ifdef __PC22_CN +#define GPIO_PC22 (0x56) +#define PC22 GPIO_PC22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC22! +#endif +#ifdef __PC23_CN +#define GPIO_PC23 (0x57) +#define PC23 GPIO_PC23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC23! +#endif +#ifdef __PC24_CN +#define GPIO_PC24 (0x58) +#define PC24 GPIO_PC24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC24! +#endif +#ifdef __PC25_CN +#define GPIO_PC25 (0x59) +#define PC25 GPIO_PC25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC25! +#endif +#ifdef __PC26_CN +#define GPIO_PC26 (0x5A) +#define PC26 GPIO_PC26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC26! +#endif +#ifdef __PC27_CN +#define GPIO_PC27 (0x5B) +#define PC27 GPIO_PC27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC27! +#endif +#ifdef __PC28_CN +#define GPIO_PC28 (0x5C) +#define PC28 GPIO_PC28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC28! +#endif +#ifdef __PC29_CN +#define GPIO_PC29 (0x5D) +#define PC29 GPIO_PC29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC29! +#endif +#ifdef __PC30_CN +#define GPIO_PC30 (0x5E) +#define PC30 GPIO_PC30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC30! +#endif +#ifdef __PC31_CN +#define GPIO_PC31 (0x5F) +#define PC31 GPIO_PC31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PC31! +#endif + +#ifdef __PD0_CN +#define GPIO_PD0 (0x60) +#define PD0 GPIO_PD0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD0! +#endif +#ifdef __PD1_CN +#define GPIO_PD1 (0x61) +#define PD1 GPIO_PD1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD1! +#endif +#ifdef __PD2_CN +#define GPIO_PD2 (0x62) +#define PD2 GPIO_PD2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD2! +#endif +#ifdef __PD3_CN +#define GPIO_PD3 (0x63) +#define PD3 GPIO_PD3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD3! +#endif +#ifdef __PD4_CN +#define GPIO_PD4 (0x64) +#define PD4 GPIO_PD4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD4! +#endif +#ifdef __PD5_CN +#define GPIO_PD5 (0x65) +#define PD5 GPIO_PD5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD5! +#endif +#ifdef __PD6_CN +#define GPIO_PD6 (0x66) +#define PD6 GPIO_PD6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD6! +#endif +#ifdef __PD7_CN +#define GPIO_PD7 (0x67) +#define PD7 GPIO_PD7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD7! +#endif +#ifdef __PD8_CN +#define GPIO_PD8 (0x68) +#define PD8 GPIO_PD8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD8! +#endif +#ifdef __PD9_CN +#define GPIO_PD9 (0x69) +#define PD9 GPIO_PD9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD9! +#endif +#ifdef __PD10_CN +#define GPIO_PD10 (0x6A) +#define PD10 GPIO_PD10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD10! +#endif +#ifdef __PD11_CN +#define GPIO_PD11 (0x6B) +#define PD11 GPIO_PD11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD11! +#endif +#ifdef __PD12_CN +#define GPIO_PD12 (0x6C) +#define PD12 GPIO_PD12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD12! +#endif +#ifdef __PD13_CN +#define GPIO_PD13 (0x6D) +#define PD13 GPIO_PD13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD13! +#endif +#ifdef __PD14_CN +#define GPIO_PD14 (0x6E) +#define PD14 GPIO_PD14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD14! +#endif +#ifdef __PD15_CN +#define GPIO_PD15 (0x6F) +#define PD15 GPIO_PD15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD15! +#endif +#ifdef __PD16_CN +#define GPIO_PD16 (0x70) +#define PD16 GPIO_PD16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD16! +#endif +#ifdef __PD17_CN +#define GPIO_PD17 (0x71) +#define PD17 GPIO_PD17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD17! +#endif +#ifdef __PD18_CN +#define GPIO_PD18 (0x72) +#define PD18 GPIO_PD18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD18! +#endif +#ifdef __PD19_CN +#define GPIO_PD19 (0x73) +#define PD19 GPIO_PD19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD19! +#endif +#ifdef __PD20_CN +#define GPIO_PD20 (0x74) +#define PD20 GPIO_PD20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD20! +#endif +#ifdef __PD21_CN +#define GPIO_PD21 (0x75) +#define PD21 GPIO_PD21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD21! +#endif +#ifdef __PD22_CN +#define GPIO_PD22 (0x76) +#define PD22 GPIO_PD22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD22! +#endif +#ifdef __PD23_CN +#define GPIO_PD23 (0x77) +#define PD23 GPIO_PD23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD23! +#endif +#ifdef __PD24_CN +#define GPIO_PD24 (0x78) +#define PD24 GPIO_PD24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD24! +#endif +#ifdef __PD25_CN +#define GPIO_PD25 (0x79) +#define PD25 GPIO_PD25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD25! +#endif +#ifdef __PD26_CN +#define GPIO_PD26 (0x7A) +#define PD26 GPIO_PD26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD26! +#endif +#ifdef __PD27_CN +#define GPIO_PD27 (0x7B) +#define PD27 GPIO_PD27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD27! +#endif +#ifdef __PD28_CN +#define GPIO_PD28 (0x7C) +#define PD28 GPIO_PD28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD28! +#endif +#ifdef __PD29_CN +#define GPIO_PD29 (0x7D) +#define PD29 GPIO_PD29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD29! +#endif +#ifdef __PD30_CN +#define GPIO_PD30 (0x7E) +#define PD30 GPIO_PD30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD30! +#endif +#ifdef __PD31_CN +#define GPIO_PD31 (0x7F) +#define PD31 GPIO_PD31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PD31! +#endif + +#ifdef __PE0_CN +#define GPIO_PE0 (0x80) +#define PE0 GPIO_PE0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE0! +#endif +#ifdef __PE1_CN +#define GPIO_PE1 (0x81) +#define PE1 GPIO_PE1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE1! +#endif +#ifdef __PE2_CN +#define GPIO_PE2 (0x82) +#define PE2 GPIO_PE2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE2! +#endif +#ifdef __PE3_CN +#define GPIO_PE3 (0x83) +#define PE3 GPIO_PE3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE3! +#endif +#ifdef __PE4_CN +#define GPIO_PE4 (0x84) +#define PE4 GPIO_PE4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE4! +#endif +#ifdef __PE5_CN +#define GPIO_PE5 (0x85) +#define PE5 GPIO_PE5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE5! +#endif +#ifdef __PE6_CN +#define GPIO_PE6 (0x86) +#define PE6 GPIO_PE6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE6! +#endif +#ifdef __PE7_CN +#define GPIO_PE7 (0x87) +#define PE7 GPIO_PE7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE7! +#endif +#ifdef __PE8_CN +#define GPIO_PE8 (0x88) +#define PE8 GPIO_PE8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE8! +#endif +#ifdef __PE9_CN +#define GPIO_PE9 (0x89) +#define PE9 GPIO_PE9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE9! +#endif +#ifdef __PE10_CN +#define GPIO_PE10 (0x8A) +#define PE10 GPIO_PE10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE10! +#endif +#ifdef __PE11_CN +#define GPIO_PE11 (0x8B) +#define PE11 GPIO_PE11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE11! +#endif +#ifdef __PE12_CN +#define GPIO_PE12 (0x8C) +#define PE12 GPIO_PE12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE12! +#endif +#ifdef __PE13_CN +#define GPIO_PE13 (0x8D) +#define PE13 GPIO_PE13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE13! +#endif +#ifdef __PE14_CN +#define GPIO_PE14 (0x8E) +#define PE14 GPIO_PE14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE14! +#endif +#ifdef __PE15_CN +#define GPIO_PE15 (0x8F) +#define PE15 GPIO_PE15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE15! +#endif +#ifdef __PE16_CN +#define GPIO_PE16 (0x90) +#define PE16 GPIO_PE16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE16! +#endif +#ifdef __PE17_CN +#define GPIO_PE17 (0x91) +#define PE17 GPIO_PE17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE17! +#endif +#ifdef __PE18_CN +#define GPIO_PE18 (0x92) +#define PE18 GPIO_PE18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE18! +#endif +#ifdef __PE19_CN +#define GPIO_PE19 (0x93) +#define PE19 GPIO_PE19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE19! +#endif +#ifdef __PE20_CN +#define GPIO_PE20 (0x94) +#define PE20 GPIO_PE20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE20! +#endif +#ifdef __PE21_CN +#define GPIO_PE21 (0x95) +#define PE21 GPIO_PE21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE21! +#endif +#ifdef __PE22_CN +#define GPIO_PE22 (0x96) +#define PE22 GPIO_PE22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE22! +#endif +#ifdef __PE23_CN +#define GPIO_PE23 (0x97) +#define PE23 GPIO_PE23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE23! +#endif +#ifdef __PE24_CN +#define GPIO_PE24 (0x98) +#define PE24 GPIO_PE24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE24! +#endif +#ifdef __PE25_CN +#define GPIO_PE25 (0x99) +#define PE25 GPIO_PE25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE25! +#endif +#ifdef __PE26_CN +#define GPIO_PE26 (0x9A) +#define PE26 GPIO_PE26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE26! +#endif +#ifdef __PE27_CN +#define GPIO_PE27 (0x9B) +#define PE27 GPIO_PE27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE27! +#endif +#ifdef __PE28_CN +#define GPIO_PE28 (0x9C) +#define PE28 GPIO_PE28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE28! +#endif +#ifdef __PE29_CN +#define GPIO_PE29 (0x9D) +#define PE29 GPIO_PE29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE29! +#endif +#ifdef __PE30_CN +#define GPIO_PE30 (0x9E) +#define PE30 GPIO_PE30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE30! +#endif +#ifdef __PE31_CN +#define GPIO_PE31 (0x9F) +#define PE31 GPIO_PE31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PE31! +#endif + +#define GPIO_PIN_0 (0x00) +#define PIN_0 GPIO_PIN_0 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_0! +#define GPIO_PIN_1 (0x01) +#define PIN_1 GPIO_PIN_1 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_1! +#define GPIO_PIN_2 (0x02) +#define PIN_2 GPIO_PIN_2 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_2! +#define GPIO_PIN_3 (0x03) +#define PIN_3 GPIO_PIN_3 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_3! +#define GPIO_PIN_4 (0x04) +#define PIN_4 GPIO_PIN_4 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_4! +#define GPIO_PIN_5 (0x05) +#define PIN_5 GPIO_PIN_5 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_5! +#define GPIO_PIN_6 (0x06) +#define PIN_6 GPIO_PIN_6 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_6! +#define GPIO_PIN_7 (0x07) +#define PIN_7 GPIO_PIN_7 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_7! +#define GPIO_PIN_8 (0x08) +#define PIN_8 GPIO_PIN_8 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_8! +#define GPIO_PIN_9 (0x09) +#define PIN_9 GPIO_PIN_9 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_9! +#define GPIO_PIN_10 (0x0A) +#define PIN_10 GPIO_PIN_10 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_10! +#define GPIO_PIN_11 (0x0B) +#define PIN_11 GPIO_PIN_11 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_11! +#define GPIO_PIN_12 (0x0C) +#define PIN_12 GPIO_PIN_12 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_12! +#define GPIO_PIN_13 (0x0D) +#define PIN_13 GPIO_PIN_13 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_13! +#define GPIO_PIN_14 (0x0E) +#define PIN_14 GPIO_PIN_14 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_14! +#define GPIO_PIN_15 (0x0F) +#define PIN_15 GPIO_PIN_15 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_15! +#define GPIO_PIN_16 (0x10) +#define PIN_16 GPIO_PIN_16 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_16! +#define GPIO_PIN_17 (0x11) +#define PIN_17 GPIO_PIN_17 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_17! +#define GPIO_PIN_18 (0x12) +#define PIN_18 GPIO_PIN_18 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_18! +#define GPIO_PIN_19 (0x13) +#define PIN_19 GPIO_PIN_19 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_19! +#define GPIO_PIN_20 (0x14) +#define PIN_20 GPIO_PIN_20 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_20! +#define GPIO_PIN_21 (0x15) +#define PIN_21 GPIO_PIN_21 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_21! +#define GPIO_PIN_22 (0x16) +#define PIN_22 GPIO_PIN_22 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_22! +#define GPIO_PIN_23 (0x17) +#define PIN_23 GPIO_PIN_23 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_23! +#define GPIO_PIN_24 (0x18) +#define PIN_24 GPIO_PIN_24 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_24! +#define GPIO_PIN_25 (0x19) +#define PIN_25 GPIO_PIN_25 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_25! +#define GPIO_PIN_26 (0x1A) +#define PIN_26 GPIO_PIN_26 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_26! +#define GPIO_PIN_27 (0x1B) +#define PIN_27 GPIO_PIN_27 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_27! +#define GPIO_PIN_28 (0x1C) +#define PIN_28 GPIO_PIN_28 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_28! +#define GPIO_PIN_29 (0x1D) +#define PIN_29 GPIO_PIN_29 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_29! +#define GPIO_PIN_30 (0x1E) +#define PIN_30 GPIO_PIN_30 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_30! +#define GPIO_PIN_31 (0x1F) +#define PIN_31 GPIO_PIN_31 // Notice: Will be removed in one of the upcoming releases. Use GPIO_PIN_31! + +#ifdef __PORT_A_CN +#define GPIO_PORT_A (0x00) +#define PORT_A GPIO_PORT_A // Notice: Will be removed in one of the upcoming releases. Use GPIO_PORT_A! +#endif +#ifdef __PORT_B_CN +#define GPIO_PORT_B (0x01) +#define PORT_B GPIO_PORT_B // Notice: Will be removed in one of the upcoming releases. Use GPIO_PORT_B! +#endif +#ifdef __PORT_C_CN +#define GPIO_PORT_C (0x02) +#define PORT_C GPIO_PORT_C // Notice: Will be removed in one of the upcoming releases. Use GPIO_PORT_C! +#endif +#ifdef __PORT_D_CN +#define GPIO_PORT_D (0x03) +#define PORT_D GPIO_PORT_D // Notice: Will be removed in one of the upcoming releases. Use GPIO_PORT_D! +#endif +#ifdef __PORT_E_CN +#define GPIO_PORT_E (0x04) +#define PORT_E GPIO_PORT_E // Notice: Will be removed in one of the upcoming releases. Use GPIO_PORT_E! +#endif + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_PIN_NAMES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/hal_ll_pmc.h b/targets/arm/mikroe/sam/include/hal_ll_pmc.h new file mode 100644 index 000000000..e13d296b6 --- /dev/null +++ b/targets/arm/mikroe/sam/include/hal_ll_pmc.h @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_pmc.h + * @brief Reset and Clock control defines necessary for HAL. + */ + +#ifndef _HAL_LL_PMC_H_ +#define _HAL_LL_PMC_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include + +/** + * Core register addresses used in source + */ +#define _PMC_BASE (0x400E0600UL) /* PMC Base Address */ +#define _PMC_SCER ((uint32_t *)(_PMC_BASE + 0x00)) /* System Clock Enable Register */ +#define _PMC_SCDR ((uint32_t *)(_PMC_BASE + 0x04)) /* System Clock Disable Register */ +#define _PMC_SCSR ((uint32_t *)(_PMC_BASE + 0x08)) /* System Clock Status Register */ +#define _PMC_PCER0 ((uint32_t *)(_PMC_BASE + 0x10)) /* Peripheral Clock Enable Register 0 */ +#define _PMC_PCDR0 ((uint32_t *)(_PMC_BASE + 0x14)) /* Peripheral Clock Disable Register 0 */ +#define _PMC_PCSR0 ((uint32_t *)(_PMC_BASE + 0x18)) /* Peripheral Clock Status Register 0 */ +#define _CKGR_UCKR ((uint32_t *)(_PMC_BASE + 0x1C)) /* UTMI Clock Register */ +#define _CKGR_MOR ((uint32_t *)(_PMC_BASE + 0x20)) /* Main Oscillator Register */ +#define _CKGR_MCFR ((uint32_t *)(_PMC_BASE + 0x24)) /* Main Clock Frequency Register */ +#define _CKGR_PLLAR ((uint32_t *)(_PMC_BASE + 0x28)) /* PLLA Register */ +#define _PMC_MCKR ((uint32_t *)(_PMC_BASE + 0x30)) /* Master Clock Register */ +#define _PMC_USB ((uint32_t *)(_PMC_BASE + 0x38)) /* USB Clock Register */ +#define _PMC_PCK0 ((uint32_t *)(_PMC_BASE + 0x40)) /* Programmable Clock Register 0 */ +#define _PMC_PCK1 ((uint32_t *)(_PMC_BASE + 0x44)) /* Programmable Clock Register 1 */ +#define _PMC_PCK2 ((uint32_t *)(_PMC_BASE + 0x48)) /* Programmable Clock Register 2 */ +#define _PMC_PCK3 ((uint32_t *)(_PMC_BASE + 0x4C)) /* Programmable Clock Register 3 */ +#define _PMC_PCK4 ((uint32_t *)(_PMC_BASE + 0x50)) /* Programmable Clock Register 4 */ +#define _PMC_PCK5 ((uint32_t *)(_PMC_BASE + 0x54)) /* Programmable Clock Register 5 */ +#define _PMC_PCK6 ((uint32_t *)(_PMC_BASE + 0x58)) /* Programmable Clock Register 6 */ +#define _PMC_PCK7 ((uint32_t *)(_PMC_BASE + 0x5C)) /* Programmable Clock Register 7 */ +#define _PMC_IER ((uint32_t *)(_PMC_BASE + 0x60)) /* Interrupt Enable Register */ +#define _PMC_IDR ((uint32_t *)(_PMC_BASE + 0x64)) /* Interrupt Disable Register */ +#define _PMC_SR ((uint32_t *)(_PMC_BASE + 0x68)) /* Status Register */ +#define _PMC_IMR ((uint32_t *)(_PMC_BASE + 0x6C)) /* Interrupt Mask Register */ +#define _PMC_FSMR ((uint32_t *)(_PMC_BASE + 0x70)) /* Fast Startup Mode Register */ +#define _PMC_FSPR ((uint32_t *)(_PMC_BASE + 0x74)) /* Fast Startup Polarity Register */ +#define _PMC_FOCR ((uint32_t *)(_PMC_BASE + 0x78)) /* Fault Output Clear Register */ +#define _PMC_WPMR ((uint32_t *)(_PMC_BASE + 0xE4)) /* Write Protection Mode Register */ +#define _PMC_WPSR ((uint32_t *)(_PMC_BASE + 0xE8)) /* Write Protection Status Register */ +#define _PMC_PCER1 ((uint32_t *)(_PMC_BASE + 0x100)) /* Peripheral Clock Enable Register 1 */ +#define _PMC_PCDR1 ((uint32_t *)(_PMC_BASE + 0x104)) /* Peripheral Clock Disable Register 1 */ +#define _PMC_PCSR1 ((uint32_t *)(_PMC_BASE + 0x108)) /* Peripheral Clock Status Register 1 */ +#define _PMC_PCR ((uint32_t *)(_PMC_BASE + 0x10C)) /* Peripheral Control Register */ +#define _PMC_OCR ((uint32_t *)(_PMC_BASE + 0x110)) /* Oscillator Calibration Register */ +#define _PMC_SLPWK_ER0 ((uint32_t *)(_PMC_BASE + 0x114)) /* SleepWalking Enable Register 0 */ +#define _PMC_SLPWK_DR0 ((uint32_t *)(_PMC_BASE + 0x118)) /* SleepWalking Disable Register 0 */ +#define _PMC_SLPWK_SR0 ((uint32_t *)(_PMC_BASE + 0x11C)) /* SleepWalking Status Register 0 */ +#define _PMC_SLPWK_ASR0 ((uint32_t *)(_PMC_BASE + 0x120)) /* SleepWalking Activity Status Register 0 */ +#define _PMC_PMMR ((uint32_t *)(_PMC_BASE + 0x130)) /* PLL Maximum Multiplier Value Register */ +#define _PMC_SLPWK_ER1 ((uint32_t *)(_PMC_BASE + 0x134)) /* SleepWalking Enable Register 1 */ +#define _PMC_SLPWK_DR1 ((uint32_t *)(_PMC_BASE + 0x138)) /* SleepWalking Disable Register 1 */ +#define _PMC_SLPWK_SR1 ((uint32_t *)(_PMC_BASE + 0x13C)) /* SleepWalking Status Register 1 */ +#define _PMC_SLPWK_ASR1 ((uint32_t *)(_PMC_BASE + 0x140)) /* SleepWalking Activity Status Register 1 */ +#define _PMC_SLPWK_AIPR ((uint32_t *)(_PMC_BASE + 0x144)) /* SleepWalking Activity In Progress Register */ + +/** + * RCC Structs used in source + */ +typedef struct pmc_clocks +{ + uint32_t mck; // Master clock frequency in Hz + uint32_t pck[8]; // Peripheral clock frequency in Hz +} pmc_clocks_t; + +/** + * @brief Gets clock values. + * + * @param pmc_clocks_t[OUT] RCC clocks structure. + * + * @return *pmc_clocks_t Structure containing clock values. + */ +void RCC_GetClocksFrequency(pmc_clocks_t *PMC_Clocks); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_PMC_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/hal_ll_target.h b/targets/arm/mikroe/sam/include/hal_ll_target.h new file mode 100644 index 000000000..9066a6c9f --- /dev/null +++ b/targets/arm/mikroe/sam/include/hal_ll_target.h @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_target.h + * @brief Header file containing symbolic pin name definitions. + */ + +#ifndef _HAL_LL_TARGET_H_ +#define _HAL_LL_TARGET_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" +#include "hal_ll_bit_control.h" +#include "assembly.h" +#include "common_macros.h" +#include "common_types.h" + +#define HAL_LL_MODULE_ERROR (hal_ll_base_addr_t)(0xFFFFFFFF) +#define HAL_LL_CHANNEL_ERROR (hal_ll_base_addr_t)(0xFFFFFF) +#define HAL_LL_PIN_NC (hal_ll_pin_name_t)(0xFFFF) +#define HAL_LL_PORT_NC (hal_ll_port_name_t)(0xFF) + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_TARGET_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/hal_ll_target_names.h b/targets/arm/mikroe/sam/include/hal_ll_target_names.h new file mode 100644 index 000000000..a6d3cd6bf --- /dev/null +++ b/targets/arm/mikroe/sam/include/hal_ll_target_names.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_target_names.h + * @brief Header file containing symbolic pin name definitions. + */ + +#ifndef _HAL_LL_TARGET_NAMES_H_ +#define _HAL_LL_TARGET_NAMES_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include +#include +#include +#include +#include + +typedef uintptr_t handle_t; +typedef uint32_t hal_ll_gpio_mask_t; +typedef uint32_t hal_ll_pin_name_t; +typedef uint8_t hal_ll_port_name_t; +typedef uint32_t hal_ll_port_size_t; +typedef uint32_t hal_ll_base_addr_t; +typedef uint8_t hal_ll_channel_t; + +typedef int32_t hal_ll_err_t; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_TARGET_NAMES_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_master.h b/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_master.h new file mode 100644 index 000000000..86cae29fa --- /dev/null +++ b/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_master.h @@ -0,0 +1,241 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_i2c_master.h + * @brief API for I2C master HAL LOW LEVEL layer. + */ + +#ifndef _HAL_LL_I2C_MASTER_H_ +#define _HAL_LL_I2C_MASTER_H_ + +#include "hal_ll_target.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +/** + * @brief I2C master low level pins config structure. + * + * The context structure for storing low level pin configuration + * for both SCL and SDA pins. + * + */ +typedef struct +{ + hal_ll_pin_af_t pin_scl; + hal_ll_pin_af_t pin_sda; +} hal_ll_i2c_pins_t; + +/** + * @brief I2C master low level handle. + * + * The context for storing low level object handler. + * User is not to change these values or unexpected behaviour + * may occur. + */ +typedef struct +{ + handle_t *hal_ll_i2c_master_handle; + handle_t *hal_drv_i2c_master_handle; + bool init_ll_state; +} hal_ll_i2c_master_handle_register_t; + +/** + * @brief Registers handler for future use. + * + * Registers low level and hal level handlers + * for use with appropriate functions. + * + * @param[in] scl I2C SCL pin. + * @param[in] sda I2C SDA pin. + * @param[in] *handle_map HAL layer local handle map. + * @param[in] *hal_module_id HAL layer module number. + + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_i2c_master_register_handle( hal_ll_pin_name_t scl, hal_ll_pin_name_t sda, hal_ll_i2c_master_handle_register_t *handle_map, uint8_t *hal_module_id ); + +/** + * @brief Configures specified module. + * + * Performs module configuration on the hardware + * level. Enables module specific clock gate and + * sets adequate alternate function values. + * + * @param[in] *handle HAL context object handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_module_configure_i2c( handle_t *handle ); + +/** + * @brief Sets I2C slave address. + * + * Registers I2C slave address for specified + * object. + * + * @param[in] *handle HAL context object handle. + * @param[in] addr I2C slave address. + * + * @return void None. + */ +void hal_ll_i2c_master_set_slave_address( handle_t *handle, uint8_t addr ); + +/** + * @brief Sets I2C module speed. + * + * Sets specified speed for module. + * Take into consideration that the module + * will be re-initialized on the hardware level. + * + * @param[in] *handle HAL context object handle. + * @param[in] speed Desired speed value. + * + * @return hal_ll_err_t Module specific error. + * + * Returns value of speed the module was + * initialized to, or module specific error if + * initialization failed. + * When using from low level directly, + * speed can be set to any desired value, + * but take into consideration that not all values + * will work, as this is chip specific. + * Speed value is declared in kbit/s. + */ +hal_ll_err_t hal_ll_i2c_master_set_speed( handle_t *handle, uint32_t speed ); + +/** + * @brief Sets I2C timeout value. + * + * Registers I2C timeout value in number of retries. + * Module shall retry any given operation + * `timeout` number of times before aborting operation. + * + * @param[in] *handle HAL context object handle. + * @param[in] timeout I2C timeout value. + * + * @return void None. + */ +void hal_ll_i2c_master_set_timeout( handle_t *handle, uint16_t timeout ); + +/** + * @brief Executes low level data read on I2C bus. + * + * Function shall generate a START signal, + * followed by lenReadData number of reads + * on the bus. Ends with a STOP signal. + * + * @param handle I2C handle. + * @param *readDatabuf Data buffer where read data + * shall be placed. + * @param lenReadData Number of bytes to read. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_i2c_master_read( handle_t *handle, uint8_t *read_data_buf, size_t len_read_data ); + +/** + * @brief Executes low level data write on I2C bus. + * + * Function shall generate a START signal, + * followed by lenWriteData number of writes + * on the bus. Ends with a STOP signal. + * + * @param handle I2C handle. + * @param *WriteDatabuf Data buffer where data to + * be written is located. + * @param lenWriteData Number of bytes to send. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_i2c_master_write( handle_t *handle, uint8_t *write_data_buf, size_t len_write_data ); + +/** + * @brief Perform a low level write followed by a low level read on the I2C bus. + * + * Initializes I2C module on hardware level, if not initialized beforehand + * and continues to perform a write operation followed by a + * read operation on the bus. + * The operation consists of a start signal followed by lenWriteData number + * of write operations, a restart signal followed by lenReadData number + * of read operations finishing with a stop signal. + * + * @param handle I2C handle. + * @param[in] *writeDatabuf - Pointer to write data buffer. + * @param[in] lenWriteData - Number of data to be written. + * @param[in] *readDatabuf - Pointer to read data buffer. + * @param[in] lenReadData - Number of data to be read. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_i2c_master_write_then_read( handle_t *handle, uint8_t *write_data_buf, size_t len_write_data, uint8_t *read_data_buf, size_t len_read_data ); + +/** + * @brief Closes I2C master HAL and HAL_LOW_LEVEL context object. + * + * De-allocates hardware resources for specific driver object and + * de-initializes the module on a hardware level. + * + * @param[in] *handle HAL context object handle. + * + * @return void None. + */ +void hal_ll_i2c_master_close( handle_t *handle ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_I2C_MASTER_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_pin_map/implementations/implementation_1/hal_ll_i2c_pin_map.h b/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_pin_map/implementations/implementation_1/hal_ll_i2c_pin_map.h new file mode 100644 index 000000000..ebb82948e --- /dev/null +++ b/targets/arm/mikroe/sam/include/i2c/hal_ll_i2c_pin_map/implementations/implementation_1/hal_ll_i2c_pin_map.h @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_i2c_pin_map.h + * @brief I2C HAL LOW LEVEL PIN MAP. + */ + +#ifndef _HAL_LL_I2C_PIN_MAP_H_ +#define _HAL_LL_I2C_PIN_MAP_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_i2c_module_num(_module_num) (_module_num) + +/*!< @brief Pin function structure */ +typedef struct +{ + hal_ll_pin_name_t pin; + hal_ll_base_addr_t base; + hal_ll_pin_name_t module_index; + uint8_t af; +} hal_ll_i2c_pin_map_t; + +#ifdef I2C_MODULE_0 +#define HAL_LL_I2C0_BASE_ADDRESS (0x40018000UL) +#endif +#ifdef I2C_MODULE_1 +#define HAL_LL_I2C1_BASE_ADDRESS (0x4001C000UL) +#endif +#ifdef I2C_MODULE_2 +#define HAL_LL_I2C2_BASE_ADDRESS (0x40060000UL) +#endif + +/*!< @brief I2C SCL pins */ +static const hal_ll_i2c_pin_map_t hal_ll_i2c_scl_map[] = +{ + #ifdef I2C0_SCL_PA4_AFA + {GPIO_PA4, HAL_LL_I2C0_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_0), 0}, + #endif + #ifdef I2C1_SCL_PB5_AFA + {GPIO_PB5, HAL_LL_I2C1_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_1), 0}, + #endif + #ifdef I2C2_SCL_PD28_AFC + {GPIO_PD28, HAL_LL_I2C2_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_2), 2}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC} + //------------ END SCL +}; + +/*!< @brief I2C SDA pins */ +static const hal_ll_i2c_pin_map_t hal_ll_i2c_sda_map[] = +{ + #ifdef I2C0_SDA_PA3_AFA + {GPIO_PA3, HAL_LL_I2C0_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_0), 0}, + #endif + #ifdef I2C1_SDA_PB4_AFA + {GPIO_PB4, HAL_LL_I2C1_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_1), 0}, + #endif + #ifdef I2C2_SDA_PD27_AFC + {GPIO_PD27, HAL_LL_I2C2_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_2), 2}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC} + //------------ END SDA +}; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_I2C_PIN_MAP_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/one_wire/implementations/implementation_1/hal_ll_one_wire.h b/targets/arm/mikroe/sam/include/one_wire/implementations/implementation_1/hal_ll_one_wire.h new file mode 100644 index 000000000..9290d3467 --- /dev/null +++ b/targets/arm/mikroe/sam/include/one_wire/implementations/implementation_1/hal_ll_one_wire.h @@ -0,0 +1,231 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_one_wire.h + * @brief API for One Wire HAL LOW LEVEL layer. + */ + +#ifndef _HAL_LL_ONE_WIRE_H_ +#define _HAL_LL_ONE_WIRE_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_gpio.h" + +/** + * @brief Structure for storing One Wire device address. + * @details Unique One Wire address used for device addressing. + */ +typedef struct { + uint8_t address[8]; /*!< One Wire address buffer. */ +} hal_ll_one_wire_rom_address_t; + +/** + * @brief One Wire HAL Low Level context structure. + * @details The context structure for storing driver internal state. The contents of the + * context structure are used by the module and must not be altered. Reading or + * writing data directly from a control structure by user should be avoided. + */ +typedef struct { + hal_ll_pin_name_t data_pin; // One Wire data pin. + volatile uint32_t pio_oer; // Register for setting GPIO as Output. + volatile uint32_t pio_odr; // Register for setting GPIO as Input. + volatile uint32_t disable; // Register for setting GPIO signal. + volatile uint32_t status; // Register for reading current GPIO pin state. +} hal_ll_one_wire_local_t; + +/** + * @brief One Wire HAL Low Level initialization configuration structure. + * + * @details + * - data_pin value - to be configured as desired. + * - state value - NOTE must not be altered (it is supposed to be set automatically in Low Level Layer). + */ +typedef struct { + hal_ll_pin_name_t data_pin; /*!< One Wire pin - user is to configure it as desired. */ + bool state; /*!< State of a pin. NOTE must not be altered. */ +} hal_ll_one_wire_t; + +/** + * @details Enum containing predefined module return values. + */ +typedef enum { + HAL_LL_ONE_WIRE_SUCCESS = 0, /*!< Success. */ + HAL_LL_ONE_WIRE_ERROR = (-1) /*!< Error. */ +} hal_ll_one_wire_err_t; + +/** + * @brief Opens One Wire HAL Low Level object. + * @details Opens One Wire HAL Low Level object on selected pin. + * Enables appropriate PORT clock, configures pin to have digital output functionality, + * makes sure that HIGH voltage state is applied on pin before any One Wire actions. + * @param[in,out] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @return None. + * @pre Make sure that \p LowLevel structure has been adequately + * populated beforehand. + * @note It is recommended to check return value for error. + */ +void hal_ll_one_wire_open( hal_ll_one_wire_t *obj ); + +/** + * @brief Reset One Wire bus. + * @details Host shall send reset sequence and devices shall go into reset state. + * @param[in,out] *handle One Wire HAL Low Level object. + * See #hal_one_wire_t structure definition for detailed explanation. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + * @pre Before calling this function, + * the user is expected to call #hal_ll_one_wire_open function. + */ +hal_ll_err_t hal_ll_one_wire_reset( hal_ll_one_wire_t *obj ); + +/** + * @brief Reads device's ROM information. + * @details Allows the host to read eight-bit family code, + * 48-bit serial number, and eight-bit CRC. + * + * @important THIS FUNCTION IS TO BE ISSUED ONLY IF WE ARE DEALING WITH + * ONE DEVICE ONLY. THIS FUNCTION AUTOMATICALLY RESETS ONE WIRE BUS. + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_one_wire_t structure definition for detailed explanation. + * @param[out] *device_rom_address Buffer for One Wire device ROM information. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + */ +hal_ll_err_t hal_ll_one_wire_read_rom( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *device_rom_address ); + +/** + * @brief Access device's level functions without transmitting ROM information. + * @details Allows the host to access device functions without + * providing the 64-bit ROM identification number. + * + * @important THIS FUNCTION IS TO BE ISSUED ONLY IF WE ARE DEALING WITH + * ONE DEVICE ONLY. THIS FUNCTION AUTOMATICALLY RESETS ONE WIRE BUS. + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_one_wire_t structure definition for detailed explanation. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + */ +hal_ll_err_t hal_ll_one_wire_skip_rom( hal_ll_one_wire_t *obj ); + +/** + * @brief Selects a specific One Wire capable device on bus. + * @details Select a One Wire device with specific ID. + * + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @param[in] device_rom_address Buffer for One Wire device ROM information. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + * @pre Before calling this function, + * the user is expected to call #hal_one_wire_open function. + */ +hal_ll_err_t hal_ll_one_wire_match_rom( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *device_rom_address ); + +/** + * @brief Search One Wire capable device on bus. + * @details Search and list 1st device that is One Wire capable. + * + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @param[out] *one_wire_device_list Buffer for One Wire device ROM information. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + * @pre Before calling this function, + * the user is expected to call #hal_ll_one_wire_open function. + */ +hal_ll_err_t hal_ll_one_wire_search_first_device( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ); + +/** + * @brief Search One Wire capable devices on bus. + * @details Search devices that is One Wire capable. + * + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @param[out] *one_wire_device_list Buffer for One Wire device ROM information. + * @return The function can return one of the values defined by + * #hal_ll_one_wire_err_t, which is size dependant on the architecture. + * @pre Before calling this function, + * the user is expected to call #hal_ll_one_wire_open function. + */ +hal_ll_err_t hal_ll_one_wire_search_next_device( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ); + +/** + * @brief Writes byte to One Wire bus. + * @details Writes byte to One Wire bus. + * @param[in] *write_data_buffer Data transmit buffer. + * @param[in] write_data_length Number of bytes to write from data transmit buffer. + * @return None. + * @pre Before calling this function, + * the user is expected to call #hal_ll_one_wire_open function. + */ +void hal_ll_one_wire_write_byte( uint8_t *write_data_buffer, size_t write_data_length ); + +/** + * @brief Reads byte from One Wire bus. + * @details Reads byte from One Wire bus. + * @param[out] *read_data_buffer Data receive buffer. + * @param[in] read_data_length Number of bytes to be read. + * @return None. + * @pre Before calling this function, + * the user is expected to call #hal_ll_one_wire_open function. + */ +void hal_ll_one_wire_read_byte( uint8_t *read_data_buffer, size_t read_data_length ); + +/** + * @brief Reconfigures One Wire pin settings. + * @details Enables appropriate PORT clock, configures pin to have digital output functionality, + * makes sure that HIGH voltage state is applied on pin before any One Wire actions. + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @return None. + * @pre Before calling this function, + * the user is expected to call #hal_one_wire_open function. + */ +void hal_ll_one_wire_reconfigure( hal_ll_one_wire_t *obj ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_ONE_WIRE_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master.h b/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master.h new file mode 100644 index 000000000..978045c5b --- /dev/null +++ b/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master.h @@ -0,0 +1,232 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_spi_master.h + * @brief API for SPI master HAL LOW LEVEL layer. + */ + +#ifndef _HAL_LL_SPI_MASTER_H_ +#define _HAL_LL_SPI_MASTER_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_target.h" +#include "hal_ll_gpio.h" + +/** + * @brief SPI configuration pins structure. + */ +typedef struct +{ + hal_ll_pin_af_t sck; + hal_ll_pin_af_t miso; + hal_ll_pin_af_t mosi; +} hal_ll_spi_master_pins_t; + +/** + * @brief SPI master HAL low lever configuration structure. + */ +typedef struct +{ + uint8_t default_write_data; + hal_ll_pin_name_t sck; + hal_ll_pin_name_t miso; + hal_ll_pin_name_t mosi; + uint32_t speed; +} hal_ll_spi_master_config_t; + +/** + * @brief Enum containing predefined module mode values. + * + * Enum values: + * + * HAL_LL_SPI_MASTER_MODE_0 -- CPOL = 0, CPHA = 0 + * HAL_LL_SPI_MASTER_MODE_1 -- CPOL = 0, CPHA = 1 + * HAL_LL_SPI_MASTER_MODE_2 -- CPOL = 1, CPHA = 0 + * HAL_LL_SPI_MASTER_MODE_3 -- CPOL = 1, CPHA = 1 + */ +typedef enum +{ + HAL_LL_SPI_MASTER_MODE_0 = 0, + HAL_LL_SPI_MASTER_MODE_1, + HAL_LL_SPI_MASTER_MODE_2, + HAL_LL_SPI_MASTER_MODE_3, + + HAL_LL_SPI_MASTER_MODE_DEFAULT = HAL_LL_SPI_MASTER_MODE_0 +} hal_ll_spi_master_mode_t; + +/** + * @brief SPI master HAL low lever handle register. + */ +typedef struct +{ + handle_t *hal_ll_spi_master_handle; + handle_t *hal_drv_spi_master_handle; + bool init_ll_state; +} hal_ll_spi_master_handle_register_t; + +/** + * @brief Registers handler for future use. + * + * Registers low level and hal level handlers + * for use with appropriate functions. + * + * @param[in] *handle HAL context object handle. + * @param[in] sck SPI sck pin. + * @param[in] miso SPI miso pin. + * @param[in] mosi SPI mosi pin. + * @param[in] *handle_map HAL layer local handle map. + * @param[in] *hal_module_id HAL layer module number. + + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_spi_master_register_handle( hal_ll_pin_name_t sck, hal_ll_pin_name_t miso, + hal_ll_pin_name_t mosi, hal_ll_spi_master_handle_register_t *handle_map, uint8_t *hal_module_id ); + +/** + * @brief Configures specified module. + * + * Performs module configuration on the hardware + * level. Enables module specific clock gate and + * sets adequate alternate function values. + * + * @param[in] *handle HAL context object handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_module_configure_spi( handle_t *handle ); + +/** + * @brief Sets SPI Master configuration dummy data. + * @param config[IN] SPI Master module configuration. + * @param config[IN] user-defined dummy data. + */ +void hal_ll_spi_master_set_default_write_data( handle_t *handle, uint8_t dummy_data ); + +/** + * @brief Sets SPI Master configuration dummy data. + * @param config[IN] SPI Master module configuration. + * @param config[IN] user-defined SPI Master baud rate value. + */ +uint32_t hal_ll_spi_master_set_speed( handle_t *handle, uint32_t speed ); + +/** + * @brief Sets SPI Master configuration dummy data. + * @param[in] *handle HAL context object handle. + * @param[in] mode SPI Master de-facto mode selection. + */ +hal_ll_err_t hal_ll_spi_master_set_mode( handle_t *handle, hal_ll_spi_master_mode_t mode ); + +/** + * @brief Executes low level data write on SPI bus. + * + * Function shall generate a START signal, + * followed by write_data_buffer number of writes + * on the bus. + * + * @param *handle HAL context object handle. + * @param *write_data_buffer Data buffer where data to be written is located. + * @param length_data Number of bytes to send. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_spi_master_write( handle_t *handle, uint8_t *write_data_buffer, size_t length_data); + +/** + * @brief Executes low level data read on SPI bus. + * + * @param handle I2C handle. + * @param *read_data_buffer Data buffer where read data shall be placed. + * @param length_data Number of bytes to read. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_spi_master_read( handle_t *handle, uint8_t *read_data_buffer, size_t length_data); + +/** + * @brief Perform a low level write followed by a low level read on the SPI bus. + * + * Initializes SPI Master module on hardware level, if not initialized beforehand + * and continues to perform a write operation followed by a + * read operation on the bus. + * + * @param[in] *handle - Object specific context handler. + * @param[in] *write_data_buffer - Pointer to write data buffer. + * @param[in] length_write_data - Number of data to be written. + * @param[in] *read_data_buffer - Pointer to read data buffer. + * @param[in] length_read_data - Number of data to be read. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_spi_master_write_then_read( handle_t *handle, uint8_t *write_data_buffer, size_t length_write_data, uint8_t *read_data_buffer, size_t length_read_data ); + +/** + * @brief Closes SPI Master HAL and HAL_LOW_LEVEL context object. + * + * De-allocates hardware resources for specific driver object and + * de-initializes the module on a hardware level. + * + * @param[in] *handle HAL context object handle. + * + * @return void None. + */ +void hal_ll_spi_master_close( handle_t *handle ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_SPI_MASTER_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master_pin_map/implementations/implementation_1/hal_ll_spi_master_pin_map.h b/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master_pin_map/implementations/implementation_1/hal_ll_spi_master_pin_map.h new file mode 100644 index 000000000..02685190c --- /dev/null +++ b/targets/arm/mikroe/sam/include/spi_master/hal_ll_spi_master_pin_map/implementations/implementation_1/hal_ll_spi_master_pin_map.h @@ -0,0 +1,133 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_spi_master_pin_map.h + * @brief SPI HAL LOW LEVEL MASTER PIN MAP. + */ + +#ifndef _HAL_LL_SPI_MASTER_PIN_MAP_H_ +#define _HAL_LL_SPI_MASTER_PIN_MAP_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_spi_master_module_num(_module_num) (_module_num) + +/*!< @brief Macro defining `weak` attribute */ +#define __weak __attribute__((weak)) + +/*!< SPI module base addresses. */ +#ifdef QSPI_SPI +static const hal_ll_base_addr_t HAL_LL_SPI0_MASTER_BASE_ADDR = 0x4007C000; +#else +#ifdef SPI_MODULE_0 +static const hal_ll_base_addr_t HAL_LL_SPI0_MASTER_BASE_ADDR = 0x40008000; +#endif +#ifdef SPI_MODULE_1 +static const hal_ll_base_addr_t HAL_LL_SPI1_MASTER_BASE_ADDR = 0x40058000; +#endif +#endif + +/*!< @brief Pin function structure. */ +typedef struct +{ + hal_ll_pin_name_t pin; + hal_ll_base_addr_t base; + uint8_t module_index; + uint32_t af; +} hal_ll_spi_master_pin_map_t; + +/*!< @brief SPI SCK pins. */ +static const hal_ll_spi_master_pin_map_t _spi_sck_map[] = +{ + #ifdef SPI0_SCK_PA14_AFA + {GPIO_PA14, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 0}, + #endif + #ifdef SPI0_SCK_PD22_AFB + {GPIO_PD22, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 1}, + #endif + #ifdef SPI1_SCK_PC24_AFC + {GPIO_PC24, HAL_LL_SPI1_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_1), 2}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC} +}; + +/*!< @brief SPI MISO pins. */ +static const hal_ll_spi_master_pin_map_t _spi_miso_map[] = +{ + #ifdef SPI0_MISO_PA12_AFA + {GPIO_PA12, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 0}, + #endif + #ifdef SPI0_MISO_PD20_AFB + {GPIO_PD20, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 1}, + #endif + #ifdef SPI1_MISO_PC26_AFC + {GPIO_PC26, HAL_LL_SPI1_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_1), 2}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC} +}; + +/*!< @brief SPI MOSI pins. */ +static const hal_ll_spi_master_pin_map_t _spi_mosi_map[] = +{ + #ifdef SPI0_MOSI_PA13_AFA + {GPIO_PA13, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 0}, + #endif + #ifdef SPI0_MOSI_PD21_AFB + {GPIO_PD21, HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_0), 1}, + #endif + #ifdef SPI1_MOSI_PC27_AFC + {GPIO_PC27, HAL_LL_SPI1_MASTER_BASE_ADDR, hal_ll_spi_master_module_num(SPI_MODULE_1), 2}, + #endif + + {HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC} +}; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_SPI_MASTER_PIN_MAP_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/tim/hal_ll_tim.h b/targets/arm/mikroe/sam/include/tim/hal_ll_tim.h new file mode 100644 index 000000000..41669a1b2 --- /dev/null +++ b/targets/arm/mikroe/sam/include/tim/hal_ll_tim.h @@ -0,0 +1,253 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_tim.h + * @brief Brief file description. + */ + +#ifndef _HAL_LL_TIM_H_ +#define _HAL_LL_TIM_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_target.h" + +/** + * TIM modules + */ +typedef enum +{ + HAL_LL_TIM_MODULE_DEFAULT = 0xFF, + #if defined(TIM_MODULE_1) + HAL_LL_TIM_MODULE_1 = 1, + #endif + #if defined(TIM_MODULE_2) + HAL_LL_TIM_MODULE_2 = 2, + #endif + #if defined(TIM_MODULE_3) + HAL_LL_TIM_MODULE_3 = 3, + #endif + #if defined(TIM_MODULE_4) + HAL_LL_TIM_MODULE_4 = 4, + #endif + #if defined(TIM_MODULE_5) + HAL_LL_TIM_MODULE_5 = 5, + #endif + #if defined(TIM_MODULE_6) + HAL_LL_TIM_MODULE_6 = 6, + #endif + #if defined(TIM_MODULE_7) + HAL_LL_TIM_MODULE_7 = 7, + #endif + #if defined(TIM_MODULE_8) + HAL_LL_TIM_MODULE_8 = 8, + #endif + #if defined(TIM_MODULE_9) + HAL_LL_TIM_MODULE_9 = 9, + #endif + #if defined(TIM_MODULE_10) + HAL_LL_TIM_MODULE_10 = 10, + #endif + #if defined(TIM_MODULE_11) + HAL_LL_TIM_MODULE_11 = 11, + #endif + #if defined(TIM_MODULE_12) + HAL_LL_TIM_MODULE_12 = 12, + #endif + #if defined(TIM_MODULE_13) + HAL_LL_TIM_MODULE_13 = 13, + #endif + #if defined(TIM_MODULE_14) + HAL_LL_TIM_MODULE_14 = 14, + #endif + #if defined(TIM_MODULE_15) + HAL_LL_TIM_MODULE_15 = 15, + #endif + #if defined(TIM_MODULE_16) + HAL_LL_TIM_MODULE_16 = 16, + #endif + #if defined(TIM_MODULE_17) + HAL_LL_TIM_MODULE_17 = 17, + #endif + #if defined(TIM_MODULE_18) + HAL_LL_TIM_MODULE_18 = 18, + #endif + #if defined(TIM_MODULE_19) + HAL_LL_TIM_MODULE_19 = 19, + #endif + #if defined(TIM_MODULE_20) + HAL_LL_TIM_MODULE_20 = 20, + #endif + #if defined(TIM_MODULE_21) + HAL_LL_TIM_MODULE_21 = 21, + #endif + #if defined(TIM_MODULE_22) + HAL_LL_TIM_MODULE_22 = 22, + #endif + + HAL_LL_TIM_MODULE_NONE +} hal_ll_tim_module_number_t; + +typedef struct +{ + handle_t *hal_ll_tim_handle; + handle_t *hal_drv_tim_handle; + bool init_ll_state; +} hal_ll_tim_handle_register_t; + +/** + * @brief Registers handler for future use. + * + * Registers low level and hal level handlers + * for use with appropriate functions. + * + * @param pin TIM pin. + * @param handle_map HAL layer local handle map. + * @param hal_module_id HAL layer module number. + + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_tim_register_handle( hal_ll_pin_name_t pin, + hal_ll_tim_handle_register_t *handle_map, uint8_t *hal_module_id ); + +/** + * @brief Configures specified module. + * + * Performs module configuration on the hardware + * level. Enables module specific clock gate and + * sets adequate alternate function values. + * + * @param[in] *handle HAL context object handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_module_configure_tim( handle_t *handle ); + +/** + * @brief Enables counter for TIM module. + * + * Initializes TIM module on hardware level, if not already initialized and + * starts TIM module. + * + * @param handle TIM handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_tim_start( handle_t *handle ); + +/** + * @brief Stops counter for TIM module. + * + * The TIM Module needs to be initialized so that + * the stop can be done. + * + * @param handle TIM handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_tim_stop( handle_t *handle ); + +/** + * @brief Set TIM frequency in Hertz. + * + * This function is used to set the TIM frequency, it + * stops TIM module and sets duty_cycle on 0. + * Take into consideration that the module + * will be re-initialized on the hardware level. + * + * @param handle TIM handle. + * @param freq_hz TIM frequency in hz. + * + * @return This function returns the frequency value in hz, + * to which the PWM module is set. + * + * @note If the frequency value is less than allowed, + * the frequency will be set to the lowest possible value for the specified TIM. + */ +uint32_t hal_ll_tim_set_freq( handle_t *handle, uint32_t freq_hz ); + +/** + * @brief Set TIM duty cycle in percentages. + * + * The user should enter the duty_ratio in percentages. + * The dut_ratio value should be between 0 and 1 + * (where 0 represents 0% and 1 represents 100%). + * + * @param handle TIM handle. + * @param duty_ratio TIM duty ratio in percentages. + * + * @return hal_ll_err_t Module specific error. + * + * @note Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_tim_set_duty( handle_t *handle, float duty_ratio ); + +/** + * @brief Closes TIM master HAL and HAL_LOW_LEVEL context object. + * + * De-allocates hardware resources for specific driver object and + * de-initializes the module on a hardware level. + * + * @param handle TIM handle. + * + * @return void None. + */ +void hal_ll_tim_close( handle_t *handle ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_TIM_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/tim/hal_ll_tim_pin_map/implementations/implementation_1/hal_ll_tim_pin_map.h b/targets/arm/mikroe/sam/include/tim/hal_ll_tim_pin_map/implementations/implementation_1/hal_ll_tim_pin_map.h new file mode 100644 index 000000000..4beb0a627 --- /dev/null +++ b/targets/arm/mikroe/sam/include/tim/hal_ll_tim_pin_map/implementations/implementation_1/hal_ll_tim_pin_map.h @@ -0,0 +1,172 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_tim_pin_map.h + * @brief TIM HAL LOW LEVEL PIN MAP. + */ + +#ifndef _HAL_LL_TIM_PIN_MAP_H_ +#define _HAL_LL_TIM_PIN_MAP_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_tim_module_num(_module_num) (_module_num) + +/*!< @brief Alternate pin function structure. */ +typedef struct +{ + hal_ll_pin_name_t pin; + hal_ll_base_addr_t base; + hal_ll_channel_t channel; + uint8_t af; + hal_ll_pin_name_t module_index; +} hal_ll_tim_pin_map_t; + +typedef enum +{ + HAL_LL_TIM_CHANNEL_0 = 0, + HAL_LL_TIM_CHANNEL_1, + HAL_LL_TIM_CHANNEL_2 +} hal_ll_tim_channel_t; + +#ifdef TIM_MODULE_0 +#define HAL_LL_TIM0_BASE_ADDRESS (0x4000C000UL) +#endif +#ifdef TIM_MODULE_1 +#define HAL_LL_TIM1_BASE_ADDRESS (0x40010000UL) +#endif +#ifdef TIM_MODULE_2 +#define HAL_LL_TIM2_BASE_ADDRESS (0x40014000UL) +#endif +#ifdef TIM_MODULE_3 +#define HAL_LL_TIM3_BASE_ADDRESS (0x40054000UL) +#endif + +#define HAL_LL_ALTERNATE_FUNCTION_MASK 0x0F +#define HAL_LL_SIGNAL_CHANNEL_AB_MASK 0xF0 + +/*!< @brief TIM pins. */ +static const hal_ll_tim_pin_map_t _tim_map[] = { + #ifdef TIM0_CH0_A_PA0_AFB + {GPIO_PA0, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x01, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM0_CH1_A_PA15_AFB + {GPIO_PA15, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x01, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM0_CH2_A_PA26_AFB + {GPIO_PA26, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x01, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM0_CH0_B_PA1_AFB + {GPIO_PA1, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x11, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM0_CH1_B_PA16_AFB + {GPIO_PA16, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x11, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM0_CH2_B_PA27_AFB + {GPIO_PA27, HAL_LL_TIM0_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x11, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM3_CH2_A_PD21_AFC + {GPIO_PD21, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x02, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + #ifdef TIM3_CH2_B_PD22_AFC + {GPIO_PD22, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x12, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + #ifdef TIM1_CH0_A_PC23_AFB + {GPIO_PC23, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x01, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM1_CH1_A_PC26_AFB + {GPIO_PC26, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x01, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM1_CH2_A_PC29_AFB + {GPIO_PC29, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x01, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM1_CH0_B_PC24_AFB + {GPIO_PC24, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x11, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM1_CH1_B_PC27_AFB + {GPIO_PC27, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x11, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM1_CH2_B_PC30_AFB + {GPIO_PC30, HAL_LL_TIM1_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x11, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM2_CH0_A_PC5_AFB + {GPIO_PC5, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x01, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM2_CH1_A_PC8_AFB + {GPIO_PC8, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x01, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM2_CH2_A_PC11_AFB + {GPIO_PC11, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x01, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM2_CH0_B_PC6_AFB + {GPIO_PC6, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x11, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM2_CH1_B_PC9_AFB + {GPIO_PC9, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x11, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM2_CH2_B_PC12_AFB + {GPIO_PC12, HAL_LL_TIM2_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_2, 0x11, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM3_CH0_A_PE0_AFB + {GPIO_PE0, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x01, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + #ifdef TIM3_CH1_A_PE3_AFB + {GPIO_PE3, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x01, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + #ifdef TIM3_CH0_B_PE1_AFB + {GPIO_PE1, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_0, 0x11, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + #ifdef TIM3_CH1_B_PE4_AFB + {GPIO_PE4, HAL_LL_TIM3_BASE_ADDRESS, HAL_LL_TIM_CHANNEL_1, 0x11, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + + { HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_CHANNEL_ERROR, HAL_LL_PIN_NC, HAL_LL_PIN_NC } +}; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_TIM_PIN_MAP_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/uart/hal_ll_uart.h b/targets/arm/mikroe/sam/include/uart/hal_ll_uart.h new file mode 100644 index 000000000..4ac093f2b --- /dev/null +++ b/targets/arm/mikroe/sam/include/uart/hal_ll_uart.h @@ -0,0 +1,299 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_uart.h + * @brief API for UART HAL LOW LEVEL layer. + */ + +#ifndef _HAL_LL_UART_H_ +#define _HAL_LL_UART_H_ + +#include "hal_ll_target.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +/** + * @brief Interrupt request type enum. + */ +typedef enum +{ + HAL_LL_UART_IRQ_RX, /**< RX INT */ + HAL_LL_UART_IRQ_TX /**< TX INT */ +} hal_ll_uart_irq_t; + +/** + * @brief Pointer to interrupt handler function. + */ +typedef void ( *hal_ll_uart_isr_t )( handle_t handle, hal_ll_uart_irq_t event ); + +/** + * @brief Predefined enum values for parity selection. + */ +typedef enum +{ + HAL_LL_UART_PARITY_NONE = 0, + HAL_LL_UART_PARITY_EVEN, + HAL_LL_UART_PARITY_ODD, + + HAL_LL_UART_PARITY_DEFAULT = HAL_LL_UART_PARITY_NONE +} hal_ll_uart_parity_t; + +/** + * @brief Predefined enum values for stop bit selection. + */ +typedef enum +{ + HAL_LL_UART_STOP_BITS_HALF = 0, + HAL_LL_UART_STOP_BITS_ONE, + HAL_LL_UART_STOP_BITS_ONE_AND_A_HALF, + HAL_LL_UART_STOP_BITS_TWO, + + HAL_LL_UART_STOP_BITS_DEFAULT = HAL_LL_UART_STOP_BITS_ONE +} hal_ll_uart_stop_bits_t; + +/** + * @brief Predefined enum values for data bit selection. + */ +typedef enum +{ + HAL_LL_UART_DATA_BITS_7 = 0, + HAL_LL_UART_DATA_BITS_8, + + HAL_LL_UART_DATA_BITS_DEFAULT = HAL_LL_UART_DATA_BITS_8 +} hal_ll_uart_data_bits_t; + +/** + * @brief I2C master low level pins config structure. + * + * The context structure for storing low level pin configuration + * for both SCL and SDA pins. + * + */ +typedef struct +{ + hal_ll_pin_af_t tx_pin; + hal_ll_pin_af_t rx_pin; +} hal_ll_uart_pins_t; + +/** + * @brief I2C master low level handle. + * + * The context for storing low level object handler. + * User is not to change these values or unexpected behaviour + * may occur. + */ +typedef struct +{ + handle_t *hal_ll_uart_handle; + handle_t *hal_drv_uart_handle; + bool init_ll_state; +} hal_ll_uart_handle_register_t; + +/** + * @brief Registers handler for future use. + * + * Registers low level and hal level handlers + * for use with appropriate functions. + * + * @param[in] tx_pin UART TX pin. + * @param[in] rx_pin UART RX pin. + * @param[in] *handle_map HAL layer local handle map. + * @param[in] *hal_module_id HAL layer module number. + + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_uart_register_handle( hal_ll_pin_name_t tx_pin, hal_ll_pin_name_t rx_pin, hal_ll_uart_handle_register_t *handle_map, uint8_t *hal_module_id ); + +/** + * @brief Configures specified module. + * + * Performs module configuration on the hardware + * level. Enables module specific clock gate and + * sets adequate alternate function values. + * + * @param[in] *handle HAL context object handle. + * + * @return hal_ll_err_t Module specific error. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +hal_ll_err_t hal_ll_module_configure_uart( handle_t *handle ); + +/** + * @brief Registers interrupt handlers for future use. + * + * Registers low level interrupt handlers + * for use with appropriate functions. + * + * @param[in] handle HAL context object handle. + * @param[in] handler Predefined pointer function. + * @param[in] obj HAL context handle address. + + * @return None. + */ +void hal_ll_uart_register_irq_handler( handle_t *handle, hal_ll_uart_isr_t handler, handle_t obj ); + +/** + * @brief Sets desired baud rate. + * + * Initializes module with specified baud rate value. + * Take into consideration that if the difference + * between desired baud rate and actual baud + * rate the hw was initialized to is greater than + * 1%, baud rate shall not be set. + * If this occurs, return value shall be + * the error percentage. + * + * @param[in] handle HAL context object handle. + * @param[in] baud Desired baud rate value in Bits/s. + * + * @return Actual baud rate value the hw module was initialized to, + * or module specific error value if init failed. + */ +hal_ll_err_t hal_ll_uart_set_baud( handle_t *handle, uint32_t baud ); + +/** + * @brief Sets desired parity. + * + * Initializes module with specified parity value. + * + * @param[in] handle HAL context object handle. + * @param[in] parity One of pre-defined values. + * + * @return Re-init module state. If neccessary. + */ +hal_ll_err_t hal_ll_uart_set_parity( handle_t *handle, hal_ll_uart_parity_t parity ); + +/** + * @brief Sets desired stop bits. + * + * Initializes module with specified stop bits value. + * + * @param[in] handle HAL context object handle. + * @param[in] stop_bit One of pre-defined values. + * + * @return Re-init module state. If neccessary. + */ +hal_ll_err_t hal_ll_uart_set_stop_bits( handle_t *handle, hal_ll_uart_stop_bits_t stop_bit ); + +/** + * @brief Sets desired data bits. + * + * Initializes module with specified data bits value. + * + * @param[in] handle HAL context object handle. + * @param[in] data_bit One of pre-defined values. + * + * @return Re-init module state. If neccessary. + */ +hal_ll_err_t hal_ll_uart_set_data_bits( handle_t *handle, hal_ll_uart_data_bits_t data_bit ); + +/** + * @brief Enables module specific interrupt. + * + * Enables module specific interrupt and registers + * interrupt on hardware level and enables it. + * + * @param[in] handle HAL context object handle. + * @param[in] irq Chip interrupt IRQ value. + * + * @return void None. + */ +void hal_ll_uart_irq_enable( handle_t *handle, hal_ll_uart_irq_t irq ); + +/** + * @brief Disables module specific interrupt. + * + * Disables module specific interrupt. + * + * @param[in] handle HAL context object handle. + * @param[in] irq Chip interrupt IRQ value. + * + * @return void None. + */ +void hal_ll_uart_irq_disable( handle_t *handle, hal_ll_uart_irq_t irq ); + +/** + * @brief Performs read operation. + * + * Reads one byte on a hardware level. + * + * @param[in] handle HAL context object handle. + * + * @return uint8_t Data read from hw register. + */ +uint8_t hal_ll_uart_read( handle_t *handle ); + +/** + * @brief Performs write operation. + * + * Accesses hardware data registers and + * writes data directly to it. + * + * @param[in] handle HAL context object handle. + * @param[in] wr_data Data to be written. + * + * @return void None. + */ +void hal_ll_uart_write( handle_t *handle, uint8_t wr_data); + +/** + * @brief Closes UART HAL and HAL_LOW_LEVEL context object. + * + * De-allocates hardware resources for specific driver object and + * de-initializes the module on a hardware level. + * + * @param[in] *handle HAL context object handle. + * + * @return void None. + */ +void hal_ll_uart_close( handle_t *handle ); + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_UART_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/include/uart/hal_ll_uart_pin_map/implementations/implementation_1/hal_ll_uart_pin_map.h b/targets/arm/mikroe/sam/include/uart/hal_ll_uart_pin_map/implementations/implementation_1/hal_ll_uart_pin_map.h new file mode 100644 index 000000000..fb293ca59 --- /dev/null +++ b/targets/arm/mikroe/sam/include/uart/hal_ll_uart_pin_map/implementations/implementation_1/hal_ll_uart_pin_map.h @@ -0,0 +1,170 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_uart_pin_map.h + * @brief UART HAL LOW LEVEL PIN MAPS. + */ + +#ifndef _HAL_LL_UART_PIN_MAP_H_ +#define _HAL_LL_UART_PIN_MAP_H_ + +#ifdef __cplusplus +extern "C"{ +#endif + +#include "hal_ll_pin_names.h" + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_usart_module_num(_module_num) (_module_num) +#define hal_ll_uart_module_num(_module_num) (_module_num + USART_MODULE_COUNT) + +/*!< @brief Pin structure */ +typedef struct +{ + uint8_t module_index; + hal_ll_pin_name_t pin; + hal_ll_base_addr_t base; + uint8_t af; +} hal_ll_uart_pin_map_t; + +#ifdef USART_MODULE_0 +#define HAL_LL_USART0_BASE_ADDRESS 0x40024000UL +#endif +#ifdef USART_MODULE_1 +#define HAL_LL_USART1_BASE_ADDRESS 0x40028000UL +#endif +#ifdef USART_MODULE_2 +#define HAL_LL_USART2_BASE_ADDRESS 0x4002C000UL +#endif +#ifdef UART_MODULE_0 +#define HAL_LL_UART0_BASE_ADDRESS 0x400E0800UL +#endif +#ifdef UART_MODULE_1 +#define HAL_LL_UART1_BASE_ADDRESS 0x400E0A00UL +#endif +#ifdef UART_MODULE_2 +#define HAL_LL_UART2_BASE_ADDRESS 0x400E1A00UL +#endif +#ifdef UART_MODULE_3 +#define HAL_LL_UART3_BASE_ADDRESS 0x400E1C00UL +#endif +#ifdef UART_MODULE_4 +#define HAL_LL_UART4_BASE_ADDRESS 0x400E1E00UL +#endif + +/*!< @brief UART TX pins */ +static const hal_ll_uart_pin_map_t hal_ll_uart_tx_map[] = +{ + #ifdef USART0_TX_PB1_AFC + {hal_ll_usart_module_num(USART_MODULE_0), GPIO_PB1, HAL_LL_USART0_BASE_ADDRESS, 2}, + #endif + #ifdef USART1_TX_PB4_AFD + {hal_ll_usart_module_num(USART_MODULE_1), GPIO_PB4, HAL_LL_USART1_BASE_ADDRESS, 3}, + #endif + #ifdef USART2_TX_PD16_AFB + {hal_ll_usart_module_num(USART_MODULE_2), GPIO_PD16, HAL_LL_USART2_BASE_ADDRESS, 1}, + #endif + #ifdef UART0_TX_PA10_AFA + {hal_ll_uart_module_num(UART_MODULE_0), GPIO_PA10, HAL_LL_UART0_BASE_ADDRESS, 0}, + #endif + #ifdef UART1_TX_PA4_AFC + {hal_ll_uart_module_num(UART_MODULE_1), GPIO_PA4, HAL_LL_UART1_BASE_ADDRESS, 2}, + #endif + #ifdef UART1_TX_PA6_AFC + {hal_ll_uart_module_num(UART_MODULE_1), GPIO_PA6, HAL_LL_UART1_BASE_ADDRESS, 2}, + #endif + #ifdef UART1_TX_PD26_AFD + {hal_ll_uart_module_num(UART_MODULE_1), GPIO_PD26, HAL_LL_UART1_BASE_ADDRESS, 3}, + #endif + #ifdef UART2_TX_PD26_AFC + {hal_ll_uart_module_num(UART_MODULE_2), GPIO_PD26, HAL_LL_UART2_BASE_ADDRESS, 2}, + #endif + #ifdef UART3_TX_PD30_AFA + {hal_ll_uart_module_num(UART_MODULE_3), GPIO_PD30, HAL_LL_UART3_BASE_ADDRESS, 0}, + #endif + #ifdef UART3_TX_PD31_AFB + {hal_ll_uart_module_num(UART_MODULE_3), GPIO_PD31, HAL_LL_UART3_BASE_ADDRESS, 1}, + #endif + #ifdef UART4_TX_PD3_AFC + {hal_ll_uart_module_num(UART_MODULE_4), GPIO_PD3, HAL_LL_UART4_BASE_ADDRESS, 2}, + #endif + #ifdef UART4_TX_PD19_AFC + {hal_ll_uart_module_num(UART_MODULE_4), GPIO_PD19, HAL_LL_UART4_BASE_ADDRESS, 2}, + #endif + + {HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC} +}; + +/*!< @brief UART RX pins */ +static const hal_ll_uart_pin_map_t hal_ll_uart_rx_map[] = +{ + #ifdef USART0_RX_PB0_AFC + {hal_ll_usart_module_num(USART_MODULE_0), GPIO_PB0, HAL_LL_USART0_BASE_ADDRESS, 2}, + #endif + #ifdef USART1_RX_PA21_AFA + {hal_ll_usart_module_num(USART_MODULE_1), GPIO_PA21, HAL_LL_USART1_BASE_ADDRESS, 0}, + #endif + #ifdef USART2_RX_PD15_AFB + {hal_ll_usart_module_num(USART_MODULE_2), GPIO_PD15, HAL_LL_USART2_BASE_ADDRESS, 1}, + #endif + #ifdef UART0_RX_PA9_AFA + {hal_ll_uart_module_num(UART_MODULE_0), GPIO_PA9, HAL_LL_UART0_BASE_ADDRESS, 0}, + #endif + #ifdef UART1_RX_PA5_AFC + {hal_ll_uart_module_num(UART_MODULE_1), GPIO_PA5, HAL_LL_UART1_BASE_ADDRESS, 2}, + #endif + #ifdef UART2_RX_PD25_AFC + {hal_ll_uart_module_num(UART_MODULE_2), GPIO_PD25, HAL_LL_UART2_BASE_ADDRESS, 2}, + #endif + #ifdef UART3_RX_PD28_AFA + {hal_ll_uart_module_num(UART_MODULE_3), GPIO_PD28, HAL_LL_UART3_BASE_ADDRESS, 0}, + #endif + #ifdef UART4_RX_PD18_AFC + {hal_ll_uart_module_num(UART_MODULE_4), GPIO_PD18, HAL_LL_UART4_BASE_ADDRESS, 2}, + #endif + + {HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC} +}; + +#ifdef __cplusplus +} +#endif + +#endif // _HAL_LL_UART_PIN_MAP_H_ +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/adc/CMakeLists.txt b/targets/arm/mikroe/sam/src/adc/CMakeLists.txt new file mode 100644 index 000000000..fa26a3159 --- /dev/null +++ b/targets/arm/mikroe/sam/src/adc/CMakeLists.txt @@ -0,0 +1,60 @@ +## ./targets/arm/mikroe/sam/src/adc/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_ADC") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +##BEGIN ADC +list(APPEND hal_ll_def_list "HAL_LL_ADC_RESOLUTION_CMAKE=HAL_LL_ADC_RESOLUTION_12_BIT") + +if (${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(adc_subimplementation "implementations/implementation_1") +endif() +##END ADC + +mikrosdk_add_library(lib_hal_ll_adc MikroSDK.HalLowLevel.ADC + ${adc_subimplementation}/hal_ll_adc.c + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + #BEGIN ADC + ../../include/adc/hal_ll_adc.h + ../../include/adc/hal_ll_adc_pin_map/${adc_subimplementation}/hal_ll_adc_pin_map.h + #END ADC +) + +target_compile_definitions(lib_hal_ll_adc PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_adc PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_adc + PRIVATE + ../../include + ../../include/gpio + ../../include/gpio/${adc_subimplementation} + #BEGIN ADC + ../../include/adc + ../../include/adc/hal_ll_adc_pin_map/${adc_subimplementation} + #END ADC + INTERFACE + $ + $ + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.ADC) + +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.ADC ../../include/adc/hal_ll_adc.h) diff --git a/targets/arm/mikroe/sam/src/adc/implementations/implementation_1/hal_ll_adc.c b/targets/arm/mikroe/sam/src/adc/implementations/implementation_1/hal_ll_adc.c new file mode 100644 index 000000000..28894a797 --- /dev/null +++ b/targets/arm/mikroe/sam/src/adc/implementations/implementation_1/hal_ll_adc.c @@ -0,0 +1,551 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_adc.c + * @brief Low level HAL ADC source file. + */ + +#include "hal_ll_adc.h" +#include "hal_ll_gpio.h" +#include "hal_ll_adc_pin_map.h" +#include "delays.h" + +// ------------------------------------------------------------- PRIVATE MACROS +/*!< @brief Helper macro for getting hal_ll_module_state address */ +#define hal_ll_adc_get_module_state_address ((hal_ll_adc_handle_register_t *)*handle) +/*!< @brief Helper macro for getting module specific control register structure base address // first register address */ +#define hal_ll_adc_get_handle (hal_ll_adc_handle_register_t *)hal_ll_adc_get_module_state_address->hal_ll_adc_handle +/*!< @brief Helper macro for getting module specific control register structure */ +#define hal_ll_adc_get_base_struct(_handle) ((hal_ll_adc_base_handle_t *)_handle) +/*!< @brief Helper macro for getting module specific base address directly from HAL layer handle */ +#define hal_ll_adc_get_base_from_hal_handle ((hal_ll_adc_hw_specifics_map_t *)((hal_ll_adc_handle_register_t *)\ + (((hal_ll_adc_handle_register_t *)(handle))->hal_ll_adc_handle))->hal_ll_adc_handle)->base + +/*!< @brief Helper macro for getting adequate module index number */ +#define hal_ll_adc_module_num(_module_num) (_module_num) + +#define HAL_LL_PID_AFEC1_BIT 8 +#define HAL_LL_PID_AFEC0_BIT 29 + +#define HAL_LL_AFEC_CR_SWRST_BIT 0 +#define HAL_LL_AFEC_CR_START_BIT 1 + +#define HAL_LL_AFEC_EMR_CMPSEL_BIT 3 +#define HAL_LL_AFEC_MR_ONE_BIT 23 +#define HAL_LL_AFEC_EMR_STM_BIT 25 + +#define HAL_LL_AFEC_EMR_NO_AVERAGE_MASK 0x00000000ul +#define HAL_LL_AFEC_ACR_PGAEN12_MASK 0x0000000Cul +#define HAL_LL_AFEC_COCR_OFFSET_MASK 0x00000200ul +#define HAL_LL_AFEC_EMR_LOW_RES_MASK 0x00010000ul +#define HAL_LL_AFEC_EMR_OSR16 0x00030000ul +#define HAL_LL_AFEC_EMR_OSR256 0x00050000ul + +// -------------------------------------------------------------- PRIVATE TYPES +/*!< @brief Local handle list */ +static hal_ll_adc_handle_register_t hal_ll_module_state[ADC_MODULE_COUNT] = { (handle_t *) NULL, (handle_t *) NULL, false }; + +/** + * ADC modules + */ +typedef enum +{ + HAL_LL_MODULE_ADC_DEFAULT = 0xFF, + HAL_LL_MODULE_ADC_0 = 0, + HAL_LL_MODULE_ADC_1 = 1, + + HAL_LL_MODULE_ADC_NONE +} hal_ll_adc_module_number_t; + +/** + * Return values + */ +typedef enum +{ + HAL_LL_ADC_SUCCESS = 0, + HAL_LL_ADC_WRONG_PIN, + + HAL_LL_ADC_UNSUPPORTED_RESOLUTION = 1100, + HAL_LL_ADC_UNSUPPORTED_VREF, + HAL_LL_ADC_WRONG_CHANNEL, + HAL_LL_ADC_ERROR = (-1) +} hal_ll_adc_err_t; + +/*!< @brief AFEC register structure. */ +typedef struct +{ + hal_ll_base_addr_t cr; /**< (AFEC Offset: 0x00) AFEC Control Register */ + hal_ll_base_addr_t mr; /**< (AFEC Offset: 0x04) AFEC Mode Register */ + hal_ll_base_addr_t emr; /**< (AFEC Offset: 0x08) AFEC Extended Mode Register */ + hal_ll_base_addr_t seq1r; /**< (AFEC Offset: 0x0C) AFEC Channel Sequence 1 Register */ + hal_ll_base_addr_t seq2r; /**< (AFEC Offset: 0x10) AFEC Channel Sequence 2 Register */ + hal_ll_base_addr_t cher; /**< (AFEC Offset: 0x14) AFEC Channel Enable Register */ + hal_ll_base_addr_t chdr; /**< (AFEC Offset: 0x18) AFEC Channel Disable Register */ + hal_ll_base_addr_t chsr; /**< (AFEC Offset: 0x1C) AFEC Channel Status Register */ + hal_ll_base_addr_t lcdr; /**< (AFEC Offset: 0x20) AFEC Last Converted Data Register */ + hal_ll_base_addr_t ier; /**< (AFEC Offset: 0x24) AFEC Interrupt Enable Register */ + hal_ll_base_addr_t idr; /**< (AFEC Offset: 0x28) AFEC Interrupt Disable Register */ + hal_ll_base_addr_t imr; /**< (AFEC Offset: 0x2C) AFEC Interrupt Mask Register */ + hal_ll_base_addr_t isr; /**< (AFEC Offset: 0x30) AFEC Interrupt Status Register */ + hal_ll_base_addr_t _unused1[6]; /** Reserved 0x34 - 0x4B **/ + hal_ll_base_addr_t over; /**< (AFEC Offset: 0x4C) AFEC Overrun Status Register */ + hal_ll_base_addr_t cwr; /**< (AFEC Offset: 0x50) AFEC Compare Window Register */ + hal_ll_base_addr_t cgr; /**< (AFEC Offset: 0x54) AFEC Channel Gain Register */ + hal_ll_base_addr_t _unused2[2]; /** Reserved 0x58 - 0x5F **/ + hal_ll_base_addr_t diffr; /**< (AFEC Offset: 0x60) AFEC Channel Differential Register */ + hal_ll_base_addr_t cselr; /**< (AFEC Offset: 0x64) AFEC Channel Selection Register */ + hal_ll_base_addr_t cdr; /**< (AFEC Offset: 0x68) AFEC Channel Data Register */ + hal_ll_base_addr_t cocr; /**< (AFEC Offset: 0x6C) AFEC Channel Offset Compensation Register */ + hal_ll_base_addr_t tempmr; /**< (AFEC Offset: 0x70) AFEC Temperature Sensor Mode Register */ + hal_ll_base_addr_t tempcwr; /**< (AFEC Offset: 0x74) AFEC Temperature Compare Window Register */ + hal_ll_base_addr_t _unused3[7]; /** Reserved 0x78 - 0x93 **/ + hal_ll_base_addr_t acr; /**< (AFEC Offset: 0x94) AFEC Analog Control Register */ +} hal_ll_adc_base_handle_t; + +/*!< @brief ADC hw specific module values */ +typedef struct +{ + hal_ll_pin_name_t pin_an[ADC_MODULE_COUNT]; +} hal_ll_adc_pin_id; + +static hal_ll_adc_hw_specifics_map_t hal_ll_adc_hw_specifics_map[] = +{ + #ifdef ADC_MODULE_0 + {HAL_LL_ADC0_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_0), HAL_LL_PIN_NC, HAL_LL_ADC_VREF_DEFAULT, 0, HAL_LL_ADC_RESOLUTION_12_BIT, 0xFF}, + #endif + #ifdef ADC_MODULE_1 + {HAL_LL_ADC1_BASE_ADDR, hal_ll_adc_module_num(ADC_MODULE_1), HAL_LL_PIN_NC, HAL_LL_ADC_VREF_DEFAULT, 0, HAL_LL_ADC_RESOLUTION_12_BIT, 0xFF}, + #endif + + {HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR, HAL_LL_PIN_NC, HAL_LL_ADC_VREF_DEFAULT, 0, HAL_LL_ADC_RESOLUTION_12_BIT, 0xFF} +}; + +// ------------------------------------------------------------------ VARIABLES + +/*!< @brief Global handle variables used in functions */ +static volatile hal_ll_adc_handle_register_t *low_level_handle; +static volatile hal_ll_adc_hw_specifics_map_t *hal_ll_adc_hw_specifics_map_local; + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Enable ADC module 0 clock. + * @param none + * @return none + */ +static inline void adc0_enable_clock(); + +/** + * @brief Enable ADC module 1 clock. + * @param none + * @return none + */ +static inline void adc1_enable_clock(); + +/** + * @brief Initialize ADC module. + * @param *map - ADC module local map. + * @return None + */ +static void hal_ll_adc_init( hal_ll_adc_hw_specifics_map_t *map ); + +/** + * @brief Check if pins are adequate. + * + * Checks analog pin the user has passed with pre-defined + * pins in ADC pin map. + * + * @param[in] pin - ADC pre-defined pin name. + * @param[in] *index - ADC map index value. + * @return hal_ll_pin_name_t Module index based on pin. + * + * Returns pre-defined module index from pin maps, if pin + * is adequate. + */ +static hal_ll_pin_name_t hal_ll_adc_check_pins( hal_ll_pin_name_t pin, hal_ll_adc_pin_id *index, hal_ll_adc_handle_register_t *handle_map ); + +/** + * @brief Maps new-found module specific values. + * + * Maps pin name and channel. + * + * @param[in] module_index ADC HW module index -- 0,1,2... + * @param[in] *index Pointer with ADC pin map index value + * + * @return None + */ +static void hal_ll_adc_map_pin( uint8_t module_index, hal_ll_adc_pin_id *index ); + +/** + * @brief Get local hardware specific map. + * + * Checks handle value and returns address of adequate + * hal_ll_adc_hw_specifics_map array index. + * + * @param[in] handle - Object specific context handler. + * @return hal_ll_adc_hw_specifics_map_t Map address. + * + * Returns pre-defined map index address based on handle value, + * if handle is adequate. + */ +static hal_ll_adc_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ); + +/** + * @brief Enable ADC module gate clock. + * @param *base - ADC module base address. + * @return None + */ +static void _hal_ll_adc_enable_clock( uint8_t base ); + +/** + * @brief Initialize ADC module. + * @param *base - ADC module base address. + * @param resolution - ADC module resolution. + * @return None + */ +static void _hal_ll_adc_hw_init( hal_ll_adc_base_handle_t *base, uint32_t resolution ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS +hal_ll_err_t hal_ll_adc_register_handle( hal_ll_pin_name_t pin, hal_ll_adc_voltage_reference_t vref_input, hal_ll_adc_resolution_t resolution, hal_ll_adc_handle_register_t *handle_map, uint8_t *hal_module_id ) +{ + hal_ll_pin_name_t pin_check_result; + hal_ll_adc_pin_id index = {HAL_LL_PIN_NC}; + + if ( ( pin_check_result = hal_ll_adc_check_pins( pin, &index, handle_map ) ) == HAL_LL_PIN_NC ) { + return HAL_LL_ADC_WRONG_PIN; + }; + + switch ( resolution ) + { + case HAL_LL_ADC_RESOLUTION_10_BIT: + hal_ll_adc_hw_specifics_map[pin_check_result].resolution = HAL_LL_AFEC_EMR_LOW_RES_MASK; + break; + case HAL_LL_ADC_RESOLUTION_12_BIT: + hal_ll_adc_hw_specifics_map[pin_check_result].resolution = HAL_LL_AFEC_EMR_NO_AVERAGE_MASK; + break; + case HAL_LL_ADC_RESOLUTION_14_BIT: + hal_ll_adc_hw_specifics_map[pin_check_result].resolution = HAL_LL_AFEC_EMR_OSR16; + break; + case HAL_LL_ADC_RESOLUTION_16_BIT: + hal_ll_adc_hw_specifics_map[pin_check_result].resolution = HAL_LL_AFEC_EMR_OSR256; + break; + + default: + return HAL_LL_ADC_UNSUPPORTED_RESOLUTION; + } + + switch ( vref_input ) + { + case HAL_LL_ADC_VREF_EXTERNAL: + break; + + default: + return HAL_LL_ADC_UNSUPPORTED_VREF; + } + + if ( hal_ll_adc_hw_specifics_map[pin_check_result].pin != pin ) + { + hal_ll_adc_map_pin( pin_check_result, &index ); + + handle_map[pin_check_result].init_ll_state = false; + } + + *hal_module_id = pin_check_result; + + hal_ll_module_state[pin_check_result].hal_ll_adc_handle = (handle_t *)&hal_ll_adc_hw_specifics_map[pin_check_result].base; + + handle_map[pin_check_result].hal_ll_adc_handle = (handle_t *)&hal_ll_module_state[pin_check_result].hal_ll_adc_handle; + + return HAL_LL_ADC_SUCCESS; +} + +hal_ll_err_t hal_ll_module_configure_adc( handle_t *handle ) +{ + hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_adc_get_module_state_address ); + hal_ll_adc_handle_register_t *hal_handle = ( hal_ll_adc_handle_register_t *)*handle; + uint8_t pin_check_result = hal_ll_adc_hw_specifics_map_local->module_index; + + hal_ll_adc_init( hal_ll_adc_hw_specifics_map_local ); + + hal_ll_module_state[pin_check_result].hal_ll_adc_handle = ( handle_t *)&hal_ll_adc_hw_specifics_map[pin_check_result].base; + hal_ll_module_state[pin_check_result].init_ll_state = true; + hal_handle->init_ll_state = true; + + return HAL_LL_ADC_SUCCESS; +} + +hal_ll_err_t hal_ll_adc_set_resolution( handle_t *handle, hal_ll_adc_resolution_t resolution ) +{ + low_level_handle = hal_ll_adc_get_handle; + hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_adc_get_module_state_address ); + + low_level_handle->init_ll_state = false; + + switch ( resolution ) + { + case HAL_LL_ADC_RESOLUTION_10_BIT: + hal_ll_adc_hw_specifics_map_local->resolution = HAL_LL_AFEC_EMR_LOW_RES_MASK; + break; + case HAL_LL_ADC_RESOLUTION_12_BIT: + hal_ll_adc_hw_specifics_map_local->resolution = HAL_LL_AFEC_EMR_NO_AVERAGE_MASK; + break; + case HAL_LL_ADC_RESOLUTION_14_BIT: + hal_ll_adc_hw_specifics_map_local->resolution = HAL_LL_AFEC_EMR_OSR16; + break; + case HAL_LL_ADC_RESOLUTION_16_BIT: + hal_ll_adc_hw_specifics_map_local->resolution = HAL_LL_AFEC_EMR_OSR256; + break; + + default: + return HAL_LL_ADC_UNSUPPORTED_RESOLUTION; + } + + hal_ll_adc_init( hal_ll_adc_hw_specifics_map_local ); + + low_level_handle->init_ll_state = true; + + return HAL_LL_ADC_SUCCESS; +} + +hal_ll_err_t hal_ll_adc_set_vref_input( handle_t *handle, hal_ll_adc_voltage_reference_t vref_input ) +{ + hal_ll_adc_handle_register_t *low_level_handle = hal_ll_adc_get_handle; + hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_adc_get_module_state_address ); + + low_level_handle->init_ll_state = false; + + switch( vref_input ) { + case HAL_LL_ADC_VREF_EXTERNAL: + break; + + default: + return HAL_LL_ADC_UNSUPPORTED_VREF; + } + + hal_ll_adc_init( hal_ll_adc_hw_specifics_map_local ); + + low_level_handle->init_ll_state = true; + + return HAL_LL_ADC_SUCCESS; +} + +void hal_ll_adc_set_vref_value( handle_t *handle, float vref_value ) +{ + low_level_handle = hal_ll_adc_get_handle; + hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_adc_get_module_state_address ); + + hal_ll_adc_hw_specifics_map_local->vref_value = vref_value; +} + +hal_ll_err_t hal_ll_adc_read( handle_t *handle, uint16_t *readDatabuf ) +{ + hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_adc_get_module_state_address ); + low_level_handle = hal_ll_adc_get_handle; + hal_ll_adc_base_handle_t *afec_regs = ( hal_ll_adc_base_handle_t * )hal_ll_adc_hw_specifics_map_local->base ; + + // Select the desired channel. + write_reg( &afec_regs->cselr, hal_ll_adc_hw_specifics_map_local->channel ); + + // Select default offset for the converted data. + write_reg( &afec_regs->cocr, HAL_LL_AFEC_COCR_OFFSET_MASK ); + + // Start conversion. + set_reg_bit( &afec_regs->cr, HAL_LL_AFEC_CR_START_BIT ); + + // Wait till data is converted. + while ( !( check_reg_bit( &afec_regs->isr, hal_ll_adc_hw_specifics_map_local->channel ) ) ); + + // Read the conversion result from converted data register. + *readDatabuf = read_reg( &afec_regs->cdr ); + + return HAL_LL_ADC_SUCCESS; +} + +void hal_ll_adc_close( handle_t *handle ) +{ + hal_ll_adc_hw_specifics_map_t *hal_ll_adc_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_adc_get_module_state_address); + low_level_handle = hal_ll_adc_get_handle; + + if ( hal_ll_adc_hw_specifics_map_local->base != HAL_LL_MODULE_ERROR ) { + + hal_ll_adc_hw_specifics_map_local->vref_input = HAL_LL_ADC_VREF_DEFAULT; + hal_ll_adc_hw_specifics_map_local->vref_value = 0; + hal_ll_adc_hw_specifics_map_local->resolution = HAL_LL_AFEC_EMR_NO_AVERAGE_MASK; + + low_level_handle->hal_ll_adc_handle = NULL; + low_level_handle->hal_drv_adc_handle = NULL; + + low_level_handle->init_ll_state = false; + + hal_ll_adc_hw_specifics_map_local->pin = HAL_LL_PIN_NC; + } +} + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS +static hal_ll_pin_name_t hal_ll_adc_check_pins( hal_ll_pin_name_t pin, hal_ll_adc_pin_id *index, hal_ll_adc_handle_register_t *handle_map ) +{ + static const uint16_t adc_map_size = ( sizeof( _adc_map ) / sizeof( hal_ll_adc_pin_map_t ) ); + uint16_t pin_index = 0; + uint8_t index_counter = 0; + uint8_t hal_ll_module_id = 0; + + if ( HAL_LL_PIN_NC == pin ) { + return HAL_LL_PIN_NC; + } + + for ( pin_index = 0; pin_index < adc_map_size; pin_index++ ) + { + if ( pin == _adc_map[pin_index].pin ) + { + // Get module number + hal_ll_module_id = _adc_map[pin_index].module_index; + // Map pin name + index->pin_an[hal_ll_module_id] = pin_index; + + // Check if module is taken + if ( NULL == handle_map[ hal_ll_module_id ].hal_drv_adc_handle ) { + return hal_ll_module_id; + } else if ( ADC_MODULE_COUNT == ++index_counter ) { + return --index_counter; + } + } + } + + if ( index_counter ) { + return hal_ll_module_id; + } else { + return HAL_LL_PIN_NC; + } +} + +static void hal_ll_adc_map_pin( uint8_t module_index, hal_ll_adc_pin_id *index ) { + // Map new pins + hal_ll_adc_hw_specifics_map[module_index].pin = _adc_map[ index->pin_an[module_index] ].pin; + hal_ll_adc_hw_specifics_map[module_index].channel = _adc_map[ index->pin_an[module_index] ].channel; +} + +static hal_ll_adc_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ) { + uint8_t hal_ll_module_count = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_adc_handle_register_t ) ); + static uint8_t hal_ll_module_error = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_adc_handle_register_t ) ); + + while( hal_ll_module_count-- ) { + if ( hal_ll_adc_get_base_from_hal_handle == hal_ll_adc_hw_specifics_map[hal_ll_module_count].base ) { + return &hal_ll_adc_hw_specifics_map[hal_ll_module_count]; + } + } + + return &hal_ll_adc_hw_specifics_map[hal_ll_module_error]; +} + +static inline void adc0_enable_clock() +{ + set_reg_bit( _PMC_PCER0, HAL_LL_PID_AFEC0_BIT ); +} + +static inline void adc1_enable_clock() +{ + set_reg_bit( _PMC_PCER1, HAL_LL_PID_AFEC1_BIT ); +} + +static void _hal_ll_adc_enable_clock( uint8_t module_index ) +{ + switch ( module_index ) + { + #ifdef ADC_MODULE_0 + case ( hal_ll_adc_module_num( ADC_MODULE_0 ) ): + adc0_enable_clock(); + break; + #endif + #ifdef ADC_MODULE_1 + case ( hal_ll_adc_module_num( ADC_MODULE_1 ) ): + adc1_enable_clock(); + break; + #endif + + default: + break; + } +} + +static void _hal_ll_adc_hw_init( hal_ll_adc_base_handle_t *afec_regs, uint32_t resolution ) +{ + // Reset the AFEC module. + set_reg_bit( &afec_regs->cr, HAL_LL_AFEC_CR_SWRST_BIT ); + + // This bit must be always written. + set_reg_bit( &afec_regs->mr, HAL_LL_AFEC_MR_ONE_BIT ); + + // Set requested resolution. + write_reg( &afec_regs->emr, resolution ); + + // Set the single trigger mode. + set_reg_bit( &afec_regs->emr, HAL_LL_AFEC_EMR_STM_BIT ); + + // Enable gain amplifier. + set_reg_bits( &afec_regs->acr, HAL_LL_AFEC_ACR_PGAEN12_MASK ); + + // Enable comparison for the desired channel. + set_reg_bits( &afec_regs->emr, hal_ll_adc_hw_specifics_map_local->channel << HAL_LL_AFEC_EMR_CMPSEL_BIT ); + + // Enable the desired channel. + set_reg_bit( &afec_regs->cher, hal_ll_adc_hw_specifics_map_local->channel ); + + // Select the desired channel. + write_reg( &afec_regs->cselr, hal_ll_adc_hw_specifics_map_local->channel ); + + // Select default offset for the converted data. + write_reg( &afec_regs->cocr, HAL_LL_AFEC_COCR_OFFSET_MASK ); + + // Start conversion for dummy data. + set_reg_bit( &afec_regs->cr, HAL_LL_AFEC_CR_START_BIT ); + + // Read dummy data from the converted data register to erase it. + read_reg( &afec_regs->cdr ); +} + +static void hal_ll_adc_init( hal_ll_adc_hw_specifics_map_t *map ) { + + hal_ll_gpio_analog_input( hal_ll_gpio_port_base( hal_ll_gpio_port_index( map->pin ) ), + hal_ll_gpio_pin_mask( map->pin ) ); + + _hal_ll_adc_enable_clock( map->module_index ); + + _hal_ll_adc_hw_init( ( hal_ll_adc_base_handle_t *)map->base, map->resolution ); + +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/gpio/CMakeLists.txt b/targets/arm/mikroe/sam/src/gpio/CMakeLists.txt new file mode 100644 index 000000000..a9fb08adc --- /dev/null +++ b/targets/arm/mikroe/sam/src/gpio/CMakeLists.txt @@ -0,0 +1,60 @@ +## ./targets/arm/mikroe/sam/src/gpio/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_GPIO") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +## BEGIN GPIO +if(${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(gpio_subimplementation "implementations/implementation_1") +endif() +## END GPIO + +mikrosdk_add_library(lib_hal_ll_gpio MikroSDK.HalLowLevel.GPIO + # BEGIN GPIO + hal_ll_gpio.c + ${gpio_subimplementation}/hal_ll_gpio_port.c + # END GPIO + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + # BEGIN GPIO + ../../include/gpio/hal_ll_gpio.h + ../../include/gpio/hal_ll_gpio_port.h + ../../include/gpio/${gpio_subimplementation}/hal_ll_gpio_struct_type.h + # END GPIO + +) + +target_compile_definitions(lib_hal_ll_gpio PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_gpio PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) + +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_gpio + PRIVATE + ../../include + # BEGIN GPIO + ../../include/gpio + ../../include/gpio/${gpio_subimplementation} + # END GPIO + + INTERFACE + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.GPIO) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.GPIO ../../include/gpio/hal_ll_gpio.h ../../include/gpio/${gpio_subimplementation}/hal_ll_gpio_struct_type.h ../../include/gpio/hal_ll_gpio_port.h) diff --git a/targets/arm/mikroe/sam/src/gpio/hal_ll_gpio.c b/targets/arm/mikroe/sam/src/gpio/hal_ll_gpio.c new file mode 100644 index 000000000..a3073f599 --- /dev/null +++ b/targets/arm/mikroe/sam/src/gpio/hal_ll_gpio.c @@ -0,0 +1,185 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_gpio.c + * @brief GPIO HAL LOW LEVEL layer implementation. + */ + +#include "hal_ll_gpio_port.h" + +/******************************************************************************* + * + */ +void hal_ll_gpio_configure_pin( hal_ll_gpio_pin_t *pin, hal_ll_pin_name_t name, hal_ll_gpio_direction_t direction ) +{ + pin->base = ( hal_ll_gpio_base_t )hal_ll_gpio_port_base( hal_ll_gpio_port_index( name ) ); + pin->mask = hal_ll_gpio_pin_mask( name ); + + if ( direction == HAL_LL_GPIO_DIGITAL_INPUT) + hal_ll_gpio_digital_input( pin->base, pin->mask ); + else + hal_ll_gpio_digital_output( pin->base, pin->mask ); +} + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +uint8_t hal_ll_gpio_read_pin_input( hal_ll_gpio_pin_t *pin ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * ) pin->base; + + return ( port_ptr->signal.pin_status & pin->mask ) ? 0x01 : 0x00; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +uint8_t hal_ll_gpio_read_pin_output( hal_ll_gpio_pin_t *pin ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * ) pin->base; + + return ( port_ptr->signal.pin_status & pin->mask ) ? 0x01 : 0x00; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +void hal_ll_gpio_write_pin_output( hal_ll_gpio_pin_t *pin, uint8_t value ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * ) pin->base; + + if ( value ) + port_ptr->signal.enable = pin->mask; + else + port_ptr->signal.disable = pin->mask; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +void hal_ll_gpio_toggle_pin_output( hal_ll_gpio_pin_t *pin ) +{ + uint8_t value = hal_ll_gpio_read_pin_output( pin ); + hal_ll_gpio_write_pin_output( pin, !value ); +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +void hal_ll_gpio_set_pin_output( hal_ll_gpio_pin_t *pin ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * ) pin->base; + + port_ptr->signal.enable = pin->mask; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +void hal_ll_gpio_clear_pin_output( hal_ll_gpio_pin_t *pin ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * ) pin->base; + + port_ptr->signal.disable = pin->mask; +} +#endif + +/******************************************************************************* + * + */ +void hal_ll_gpio_configure_port( hal_ll_gpio_port_t *port, hal_ll_port_name_t name, hal_ll_gpio_mask_t mask, hal_ll_gpio_direction_t direction ) +{ + port->base = hal_ll_gpio_port_base( name ); + port->mask = mask; + + if ( direction == HAL_LL_GPIO_DIGITAL_INPUT ) + hal_ll_gpio_digital_input( port->base, port->mask ); + else + hal_ll_gpio_digital_output( port->base, port->mask ); +} + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +hal_ll_port_size_t hal_ll_gpio_read_port_input( hal_ll_gpio_port_t *port ) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * )port->base; + + return port_ptr->signal.pin_status; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +hal_ll_port_size_t hal_ll_gpio_read_port_output(hal_ll_gpio_port_t *port) +{ + hal_ll_gpio_base_handle_t *port_ptr = ( hal_ll_gpio_base_handle_t * )port->base; + + return port_ptr->signal.pin_status; +} +#endif + +/******************************************************************************* + * + */ +#if (FLATTEN_ME_LEVEL < FLATTEN_ME_LEVEL_LOW) +void hal_ll_gpio_write_port_output(hal_ll_gpio_port_t *port, hal_ll_port_size_t value) +{ + hal_ll_gpio_base_handle_t *port_ptr = (hal_ll_gpio_base_handle_t *)port->base; + + port_ptr->signal.enable = value & port->mask; + port_ptr->signal.disable = ~value & port->mask; +} +#endif + +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/gpio/implementations/implementation_1/hal_ll_gpio_port.c b/targets/arm/mikroe/sam/src/gpio/implementations/implementation_1/hal_ll_gpio_port.c new file mode 100644 index 000000000..dcdb2fb75 --- /dev/null +++ b/targets/arm/mikroe/sam/src/gpio/implementations/implementation_1/hal_ll_gpio_port.c @@ -0,0 +1,299 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_gpio_port.c + * @brief GPIO HAL LOW LEVEL ported layer implementation. + */ + +#include "hal_ll_gpio_port.h" +#include "hal_ll_pmc.h" + +// ------------------------------------------------------------- PRIVATE MACROS + +/**< @brief Utility macro for geting pin name based on port and bit for that pin on that port. */ +#define HAL_LL_GET_PIN(port_name, pin_index) ( ( hal_ll_pin_name_t ) ( ( port_name << 0x04 ) + pin_index ) ) + +// -------------------------------------------------------------- PRIVATE TYPES + +/** + * Defines used in source + */ + // GPIO Register addresses and offsets +#ifdef __PORT_A_CN +#define HAL_LL_GPIOA_BASE_ADDR 0x400E0E00UL +#define HAL_LL_PMC_ID_PIOA_BIT 0x0A +#endif +#ifdef __PORT_B_CN +#define HAL_LL_GPIOB_BASE_ADDR 0x400E1000UL +#define HAL_LL_PMC_ID_PIOB_BIT 0x0B +#endif +#ifdef __PORT_C_CN +#define HAL_LL_GPIOC_BASE_ADDR 0x400E1200UL +#define HAL_LL_PMC_ID_PIOC_BIT 0x0C +#endif +#ifdef __PORT_D_CN +#define HAL_LL_GPIOD_BASE_ADDR 0x400E1400UL +#define HAL_LL_PMC_ID_PIOD_BIT 0x10 +#endif +#ifdef __PORT_E_CN +#define HAL_LL_GPIOE_BASE_ADDR 0x400E1600UL +#define HAL_LL_PMC_ID_PIOE_BIT 0x11 +#endif + + +#define HAL_LL_PERIPHERAL_A 0 +#define HAL_LL_PERIPHERAL_B 1 +#define HAL_LL_PERIPHERAL_C 2 +#define HAL_LL_PERIPHERAL_D 3 +// EOF GPIO Register addresses and offsets + + +/*!< @brief GPIO PORT array */ +static const hal_ll_base_addr_t _hal_ll_gpio_port_base [ PORT_COUNT ] = +{ + #ifdef __PORT_A_CN + HAL_LL_GPIOA_BASE_ADDR, + #endif + #ifdef __PORT_B_CN + HAL_LL_GPIOB_BASE_ADDR, + #endif + #ifdef __PORT_C_CN + HAL_LL_GPIOC_BASE_ADDR, + #endif + #ifdef __PORT_D_CN + HAL_LL_GPIOD_BASE_ADDR, + #endif + #ifdef __PORT_E_CN + HAL_LL_GPIOE_BASE_ADDR + #endif +}; + +// ----------------------------------------------- PRIVATE FUNCTION DECLARATIONS + +/** + * @brief Configure single port pins + * + * @param[in] port - port base address + * @param[in] pin_mask - desired pin + * @param[in] config - pin settings + * @return none + */ +static void hal_ll_gpio_config( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask, uint32_t config ); + +/** + * @brief Configure pin that has analog function. + * + * @param[in] pin - Desired pin. + * @param[in] is_digital - Pin configuration( true = digital, false = analog ). + * @return none + */ +static void hal_ll_gpio_port_configure_analog_pin( hal_ll_pin_name_t pin, bool is_digital ); + +/** + * @brief Configure port pins. + * + * @param[in] port - Port base address. + * @param[in] pin - Desired single pin. + * @param[in] config - Pin settings. + * @return none + */ +static void hal_ll_gpio_port_config( hal_ll_gpio_base_t *port, hal_ll_pin_name_t pin, uint32_t config ); + +/** + * @brief Configure port pins alternate + * functions + * @param module_pin - desired pin + * config - pin settings + * @return none + */ +static void hal_ll_gpio_config_pin_alternate_enable( uint8_t module_pin, uint8_t module_config, bool state ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFFINITIONS + +static uint8_t hal_ll_gpio_pin_index( hal_ll_pin_name_t name ) +{ + return ( hal_ll_port_name_t )name % PORT_SIZE; +} + +uint8_t hal_ll_gpio_port_index( hal_ll_pin_name_t name ) +{ + return ( hal_ll_port_name_t )name / PORT_SIZE; +} + +hal_ll_gpio_mask_t hal_ll_gpio_pin_mask( hal_ll_pin_name_t name ) +{ + return ( ( hal_ll_gpio_mask_t )0x01 << hal_ll_gpio_pin_index( name ) ); +} + +hal_ll_base_addr_t hal_ll_gpio_port_base( hal_ll_port_name_t name ) +{ + return _hal_ll_gpio_port_base[ name ]; +} + +void hal_ll_gpio_analog_input( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ) +{ + hal_ll_gpio_config( port, pin_mask, GPIO_CFG_ANALOG_INPUT ); +} + +void hal_ll_gpio_digital_input( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ) +{ + hal_ll_gpio_config( port, pin_mask, GPIO_CFG_DIGITAL_INPUT ); +} + +void hal_ll_gpio_digital_output( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask ) +{ + hal_ll_gpio_config( port, pin_mask, GPIO_CFG_DIGITAL_OUTPUT ); +} + +void hal_ll_gpio_module_struct_init( module_struct const *module, bool state ) +{ + int8_t index = 0; + + while ( module->pins[ index ] != GPIO_MODULE_STRUCT_END ) + { + hal_ll_gpio_config_pin_alternate_enable( module->pins[ index ], module->configs[ index ], state ); + + index++; + } +} + +/** + * @brief Enable gpio port clock + * @param port - port base address + * @return none + */ +static void hal_ll_gpio_clock_enable( hal_ll_gpio_base_t *port ) +{ + hal_ll_gpio_mask_t pos = 0; + + switch ( ( hal_ll_base_addr_t )port ) + { + #ifdef __PORT_A_CN + case HAL_LL_GPIOA_BASE_ADDR: pos = HAL_LL_PMC_ID_PIOA_BIT; break; + #endif + #ifdef __PORT_B_CN + case HAL_LL_GPIOB_BASE_ADDR: pos = HAL_LL_PMC_ID_PIOB_BIT; break; + #endif + #ifdef __PORT_C_CN + case HAL_LL_GPIOC_BASE_ADDR: pos = HAL_LL_PMC_ID_PIOC_BIT; break; + #endif + #ifdef __PORT_D_CN + case HAL_LL_GPIOD_BASE_ADDR: pos = HAL_LL_PMC_ID_PIOD_BIT; break; + #endif + #ifdef __PORT_E_CN + case HAL_LL_GPIOE_BASE_ADDR: pos = HAL_LL_PMC_ID_PIOE_BIT; break; + #endif + } + + set_reg_bit( _PMC_PCER0, pos ); +} + +static void hal_ll_gpio_config( hal_ll_gpio_base_t *port, hal_ll_gpio_mask_t pin_mask, uint32_t config ) +{ + uint8_t pin_num = 0; + hal_ll_gpio_mask_t pin_pos = 0; + hal_ll_gpio_mask_t current_pin = 0; + hal_ll_base_addr_t port_base = 0; + + hal_ll_gpio_base_handle_t *port_ptr; + + port_ptr = ( hal_ll_gpio_base_handle_t *)port; + + hal_ll_gpio_clock_enable( port ); + + // Check if it is a digital signal or alternate function + if ( ( config & GPIO_CFG_MODE_ANALOG ) != GPIO_CFG_MODE_ANALOG ) { + if ( config & GPIO_CFG_MODE_INPUT ) { + // Set gpio direction as input with filtering. + port_ptr->pio.enable |= pin_mask; + port_ptr->filter.enable |= pin_mask; + } else { + // Set gpio direction as output and enable Pull Up resistor. + port_ptr->pio.enable |= pin_mask; + port_ptr->output.enable |= pin_mask; + port_ptr->pullup_off.disable |= pin_mask; + } + } + else { + // Set pin to analog. + port_ptr->pio.disable = pin_mask; + } +} + +/** + * @brief Configure port pins alternate + * functions + * @param module_pin - desired pin + * config - pin settings + * @return none + */ +static void hal_ll_gpio_config_pin_alternate_enable( uint8_t module_pin, uint8_t module_config, bool state ) +{ + hal_ll_pin_name_t pin_index; + hal_ll_gpio_base_handle_t *port_ptr; + + // Get the port address. + port_ptr = ( hal_ll_gpio_base_handle_t *)hal_ll_gpio_port_base( hal_ll_gpio_port_index ( module_pin ) ); + + // Get the pin index. + pin_index = hal_ll_gpio_pin_index( module_pin ); + + // Disable PIO control over this pin. + port_ptr->pio.disable |= 1 << pin_index; + + switch ( module_config ) { + case HAL_LL_PERIPHERAL_A: + clear_reg_bit(&port_ptr->abcdsr0, pin_index); + clear_reg_bit(&port_ptr->abcdsr1, pin_index); + break; + case HAL_LL_PERIPHERAL_B: + set_reg_bit(&port_ptr->abcdsr0, pin_index); + clear_reg_bit(&port_ptr->abcdsr1, pin_index); + break; + case HAL_LL_PERIPHERAL_C: + clear_reg_bit(&port_ptr->abcdsr0, pin_index); + set_reg_bit(&port_ptr->abcdsr1, pin_index); + break; + case HAL_LL_PERIPHERAL_D: + set_reg_bit(&port_ptr->abcdsr0, pin_index); + set_reg_bit(&port_ptr->abcdsr1, pin_index); + break; + } +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/hal_ll/CMakeLists.txt b/targets/arm/mikroe/sam/src/hal_ll/CMakeLists.txt new file mode 100644 index 000000000..08e71add6 --- /dev/null +++ b/targets/arm/mikroe/sam/src/hal_ll/CMakeLists.txt @@ -0,0 +1,15 @@ +## ./targets/arm/mikroe/sam/src/hal_ll/CMakeLists.txt +add_library(lib_hal_ll INTERFACE) + +add_library(MikroSDK.HalLowLevel ALIAS lib_hal_ll) + +set(module_list "") +set(module_list_supported "") +set_module_support(module_list module_list_supported ${MCU_NAME} "hal_ll_layer") + +target_link_libraries(lib_hal_ll INTERFACE + ${module_list} +) + +mikrosdk_install(MikroSDK.HalLowLevel) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel ../../include/hal_ll_pmc.h ../../include/hal_ll_target.h ../../include/hal_ll_pin_names.h ../../include/hal_ll_target_names.h) diff --git a/targets/arm/mikroe/sam/src/i2c/CMakeLists.txt b/targets/arm/mikroe/sam/src/i2c/CMakeLists.txt new file mode 100644 index 000000000..92d0773fa --- /dev/null +++ b/targets/arm/mikroe/sam/src/i2c/CMakeLists.txt @@ -0,0 +1,68 @@ +## ./targets/arm/mikroe/sam/src/i2c/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_I2C") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +if(${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(i2c_subimplementation "implementations/implementation_1") +endif() + +if (NOT DEFINED _MSDK_TFT_TP_) + list(APPEND hal_ll_def_list "__TFT_NON_TSC2003__") +else() + if (${_MSDK_TFT_TP_} MATCHES "__TP_TSC2003__") + list(APPEND hal_ll_def_list "__TFT_RESISTIVE_TSC2003__") + else() + list(APPEND hal_ll_def_list "__TFT_NON_TSC2003__") + endif() +endif() + +mikrosdk_add_library(lib_hal_ll_i2c_master MikroSDK.HalLowLevel.I2C.Master + ${i2c_subimplementation}/hal_ll_i2c_master.c + + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + # BEGIN I2C + ../../include/i2c/hal_ll_i2c_master.h + ../../include/i2c/hal_ll_i2c_pin_map/${i2c_subimplementation}/hal_ll_i2c_pin_map.h + # END I2C +) + +target_compile_definitions(lib_hal_ll_i2c_master PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_i2c_master PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) + +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_i2c_master + PRIVATE + ../../include + ../../include/gpio + ../../include/gpio/${i2c_subimplementation} + # BEGIN I2C + ../../include/i2c + ../../include/i2c/hal_ll_i2c_pin_map/${i2c_subimplementation} + # END I2C + + INTERFACE + $ + $ + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.I2C.Master) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.I2C.Master ../../include/i2c/hal_ll_i2c_master.h) diff --git a/targets/arm/mikroe/sam/src/i2c/implementations/implementation_1/hal_ll_i2c_master.c b/targets/arm/mikroe/sam/src/i2c/implementations/implementation_1/hal_ll_i2c_master.c new file mode 100644 index 000000000..3a2b48c34 --- /dev/null +++ b/targets/arm/mikroe/sam/src/i2c/implementations/implementation_1/hal_ll_i2c_master.c @@ -0,0 +1,855 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_i2c_master.c + * @brief I2C master HAL LOW LEVEL layer implementation. + */ + +#include "hal_ll_pmc.h" +#include "hal_ll_gpio.h" +#include "hal_ll_i2c_master.h" +#include "hal_ll_i2c_pin_map.h" + +/*!< @brief Local handle list */ +static volatile hal_ll_i2c_master_handle_register_t hal_ll_module_state[I2C_MODULE_COUNT] = { (handle_t *)NULL, (handle_t *)NULL, false }; + +// ------------------------------------------------------------- PRIVATE MACROS +/*!< @brief Macros used for calculating speed value and configuring the clock register */ +#define hal_ll_get_system_clock (Get_Fosc_kHz() * 1000) +#define hal_ll_i2c_get_divider(temp_div,speed) (hal_ll_get_system_clock / (2 * temp_div * speed)) - 3U +/*!< @brief Helper macro for getting hal_ll_module_state address */ +#define hal_ll_i2c_get_module_state_address ((hal_ll_i2c_master_handle_register_t *)*handle) +/*!< @brief Helper macro for getting module specific control register structure base address // first register address */ +#define hal_ll_i2c_get_handle (hal_ll_i2c_master_handle_register_t *)hal_ll_i2c_get_module_state_address->hal_ll_i2c_master_handle +/*!< @brief Helper macro for getting module specific control register structure */ +#define hal_ll_i2c_get_base_struct(_handle) ((hal_ll_i2c_base_handle_t *)_handle) +/*!< @brief Helper macro for getting module specific base address directly from HAL layer handle */ +#define hal_ll_i2c_get_base_from_hal_handle ((hal_ll_i2c_hw_specifics_map_t *)((hal_ll_i2c_master_handle_register_t *)\ + (((hal_ll_i2c_master_handle_register_t *)(handle))->hal_ll_i2c_master_handle))->hal_ll_i2c_master_handle)->base + +/*!< @brief Default I2C bit-rate if no speed is set */ +#define HAL_LL_I2C_MASTER_SPEED_100K 100000UL +#define HAL_LL_I2C_MASTER_LOW_DIVIDER_SPEED_LIMIT 384000UL +#define HAL_LL_I2C_MASTER_SPEED_400K 400000UL + +/*!< @brief Default pass count value upon reset */ +#define HAL_LL_I2C_DEFAULT_PASS_COUNT 0xFFFFU + +/*!< @brief Macro used for timeout */ +#define HAL_LL_I2C_LOOP_INDEX 10000U + +/*!< @brief Macros defining register bit location */ +#define HAL_LL_TWIHS_SR_TXCOMP_BIT 0 +#define HAL_LL_TWIHS_SR_RXRDY_BIT 1 +#define HAL_LL_TWIHS_SR_TXRDY_BIT 2 +#define HAL_LL_TWIHS_SR_ARBLST_BIT 9 + +#define HAL_LL_TWIHS_CR_START_BIT 0 +#define HAL_LL_TWIHS_CR_STOP_BIT 1 +#define HAL_LL_TWIHS_CR_MSEN_BIT 2 +#define HAL_LL_TWIHS_CR_SVDIS_BIT 5 +#define HAL_LL_TWIHS_CR_SWRST_BIT 7 + +#define HAL_LL_TWIHS_MMR_MREAD_BIT 12 +#define HAL_LL_TWIHS_MMR_DADR_START_BIT 16 + +#define HAL_LL_PID_TWIHS2_BIT 9 +#define HAL_LL_PID_TWIHS0_BIT 19 +#define HAL_LL_PID_TWIHS1_BIT 20 + +/*!< @brief Macros for speed calculation */ +#define HAL_LL_TWIHS_CWGR_CLKDIV_MAX 7 + +// -------------------------------------------------------------- PRIVATE TYPES +/*!< @brief I2C register structure */ +typedef struct +{ + hal_ll_base_addr_t cr; + hal_ll_base_addr_t mmr; + hal_ll_base_addr_t smr; + hal_ll_base_addr_t iadr; + hal_ll_base_addr_t cwgr; + hal_ll_base_addr_t _unused[3]; + hal_ll_base_addr_t sr; + hal_ll_base_addr_t ier; + hal_ll_base_addr_t idr; + hal_ll_base_addr_t imr; + hal_ll_base_addr_t rhr; + hal_ll_base_addr_t thr; + hal_ll_base_addr_t smbtr; +} hal_ll_i2c_base_handle_t; + +/*!< @brief I2C hw specific structure */ +typedef struct +{ + hal_ll_base_addr_t base; + hal_ll_pin_name_t module_index; + hal_ll_i2c_pins_t pins; + uint32_t speed; + uint8_t address; + uint16_t timeout; +} hal_ll_i2c_hw_specifics_map_t; + +/*!< @brief I2C hw specific module values */ +typedef struct +{ + hal_ll_pin_name_t pin_scl; + hal_ll_pin_name_t pin_sda; +} hal_ll_i2c_pin_id; + +/*!< @brief I2C hw specific error values */ +typedef enum +{ + HAL_LL_I2C_MASTER_SUCCESS = 0, + HAL_LL_I2C_MASTER_WRONG_PINS, + HAL_LL_I2C_MASTER_MODULE_ERROR, + + HAL_LL_I2C_MASTER_ERROR = (-1) +} hal_ll_i2c_master_err_t; + +/*!< @brief I2C end mode selection values */ +typedef enum +{ + HAL_LL_I2C_MASTER_END_MODE_RESTART = 0, + HAL_LL_I2C_MASTER_END_MODE_STOP, + HAL_LL_I2C_MASTER_WRITE_THEN_READ +} hal_ll_i2c_master_end_mode_t; + +/*!< @brief I2C timeout error values */ +typedef enum +{ + HAL_LL_I2C_MASTER_TIMEOUT_START = 1300, + HAL_LL_I2C_MASTER_TIMEOUT_STOP, + HAL_LL_I2C_MASTER_TIMEOUT_WRITE, + HAL_LL_I2C_MASTER_TIMEOUT_READ, + HAL_LL_I2C_MASTER_ARBITRATION_LOST, + HAL_LL_I2C_MASTER_TIMEOUT_INIT +} hal_ll_i2c_master_timeout_t; + +/** + * @brief Enum containing predefined module standard speed values. + * + * Enum values: + * HAL_LL_I2C_MASTER_SPEED_STANDARD -- Speed set at 100K + * HAL_LL_I2C_MASTER_SPEED_FULL -- Speed set at 400K + * HAL_LL_I2C_MASTER_SPEED_FAST -- Speed set at 1M + */ +typedef enum +{ + HAL_LL_I2C_MASTER_SPEED_STANDARD = 0, + HAL_LL_I2C_MASTER_SPEED_FULL, + HAL_LL_I2C_MASTER_SPEED_FAST +} hal_ll_i2c_master_speed_t; + +// ------------------------------------------------------------------ VARIABLES +/*!< @brief I2C hardware specific info */ +static hal_ll_i2c_hw_specifics_map_t hal_ll_i2c_hw_specifics_map[] = +{ + #ifdef I2C_MODULE_0 + {HAL_LL_I2C0_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_0), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, HAL_LL_I2C_MASTER_SPEED_100K , 0, HAL_LL_I2C_DEFAULT_PASS_COUNT}, + #endif + #ifdef I2C_MODULE_1 + {HAL_LL_I2C1_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_1), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, HAL_LL_I2C_MASTER_SPEED_100K , 0, HAL_LL_I2C_DEFAULT_PASS_COUNT}, + #endif + #ifdef I2C_MODULE_2 + {HAL_LL_I2C2_BASE_ADDRESS, hal_ll_i2c_module_num(I2C_MODULE_2), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, HAL_LL_I2C_MASTER_SPEED_100K , 0, HAL_LL_I2C_DEFAULT_PASS_COUNT}, + #endif + + {HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR, {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, 0, 0, 0} +}; + +/*!< @brief Global handle variables used in functions */ +static volatile hal_ll_i2c_master_handle_register_t *low_level_handle; +static volatile hal_ll_i2c_hw_specifics_map_t *hal_ll_i2c_hw_specifics_map_local; + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Check if pins are adequate. + * + * Checks scl and sda pins the user has passed with pre-defined + * pins in scl and sda maps. Take into consideration that module + * index numbers have to be the same for both pins. + * + * @param[in] scl - SCL pre-defined pin name. + * @param[in] sda - SDA pre-defined pin name. + * @param[in] *index_list - Index list address + * @return hal_ll_pin_name_t Module index based on pins. + * + * Returns pre-defined module index from pin maps, if pins + * are adequate. + */ +static hal_ll_pin_name_t hal_ll_i2c_master_check_pins( hal_ll_pin_name_t scl, hal_ll_pin_name_t sda, hal_ll_i2c_pin_id *index_list, hal_ll_i2c_master_handle_register_t *handle_map ); + +/** + * @brief Get local hardware specific map. + * + * Checks handle value and returns address of adequate + * hal_ll_i2c_hw_specifics_map array index. + * + * @param[in] handle - Object specific context handler. + * @return hal_ll_i2c_hw_specifics_map_t Map address. + * + * Returns pre-defined map index address based on handle value, + * if handle is adequate. + */ +static hal_ll_i2c_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ); + +/** + * @brief Get adequate I2C bit-rate value. + * + * Returns one of pre-defined bit-rate values, + * or the closest bit-rate based on bit_rate + * value passed to the function. + * + * @param[in] bit_rate - I2C bit rate. + * @return uint32_t Adequate bit-rate value. + * + * Returns adequate value to be latter written into bare metal register address. + * Take into consideration that this returns a predefined value. + * + * HAL_LL_I2C_MASTER_SPEED_100K -- 100Kbit/s + * HAL_LL_I2C_MASTER_SPEED_400K -- 400Kbit/s + * HAL_LL_I2C_MASTER_SPEED_1M -- 1Mbit/s + * HAL_LL_I2C_MASTER_SPEED_3M2 -- 3.2Mbit/s + */ +static uint32_t hal_ll_i2c_get_speed( hal_ll_i2c_hw_specifics_map_t *map ); + +/** + * @brief Enable clock for I2C module on hardware level. + * + * Initializes I2C module clock on hardware level, based on beforehand + * set configuration and module handler. + * + * @param[in] map - Object specific context handler. + * @param[in] hal_ll_stat - True(enable clock)/False(disable clock). + * + * @return None + */ +static void hal_ll_i2c_master_set_clock( hal_ll_i2c_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Initialize I2C module on hardware level. + * + * Initializes I2C module on hardware level, based on beforehand + * set configuration and module handler. + * + * @param[in] map - Object specific context handler. + * @return hal_ll_err_t Module specific return values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_hw_init( hal_ll_i2c_hw_specifics_map_t *map ); + +/** + * @brief Maps new-found module specific values. + * + * Maps pin names and alternate function values for + * I2C SCL and SDA pins. + * + * @param[in] module_index I2C HW module index -- 0,1,2... + * @param[in] *index_list Array with SCL and SDA map index values + * and module number + * + * @return None + */ +static void hal_ll_i2c_master_map_pins( uint8_t module_index, hal_ll_i2c_pin_id *index_list ); + +/** + * @brief Sets I2C pin alternate function state. + * + * Sets adequate value for alternate function settings. + * This function must be called if I2C is to work. + * Based on value of hal_ll_state, alternate functions can be + * set or cleared. + * + * @param[in] map - Object specific context handler. + * @param[in] hal_ll_state - Init/De-init + * + * @return None + */ +static void hal_ll_i2c_master_alternate_functions_set_state( hal_ll_i2c_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Full I2C module initialization procedure. + * + * Initializes I2C module on hardware level, based on beforehand + * set configuration and module handler. Sets adequate pin alternate functions. + * Initializes module clock. + * + * @param[in] map - Object specific context handler. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_init( hal_ll_i2c_hw_specifics_map_t *map ); + +/** + * @brief Configure I2C module for data transfer. + * + * @param[in] hal_ll_hw_reg - I2C module base address. + * @param[in] slave_address - client address. + * @param[in] read - defines either it is read operation or write. + * @return void None. + */ +static void hal_ll_i2c_master_configure_transfer( hal_ll_i2c_base_handle_t *hal_ll_hw_reg, uint8_t slave_address, bool read ); + +/** + * @brief Generates start signal on I2C bus. + * + * Generates a start signal on the I2C bus. + * + * @param[in] map - Object specific context handler. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_master_start( hal_ll_i2c_hw_specifics_map_t *map ); + +/** + * @brief Generates stop signal on I2C bus. + * + * Generates a stop signal on the I2C bus. + * + * @param[in] map - Object specific context handler. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_master_stop( hal_ll_i2c_hw_specifics_map_t *map ); + +/** + * @brief Perform a read on the I2C bus. + * + * Initializes I2C module on hardware level, if not initialized beforehand + * and continues to perform a read operation on the bus. + * + * @param[in] map - Object specific context handler. + * @param[in] readDatabuf - Pointer to data buffer. + * @param[in] lenReadData - Number of data to be read. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_master_read_bare_metal( hal_ll_i2c_hw_specifics_map_t *map, uint8_t *read_data_buf, size_t len_read_data, hal_ll_i2c_master_end_mode_t mode ); + +/** + * @brief Perform a write on the I2C bus. + * + * Initializes I2C module on hardware level, if not initialized beforehand + * and continues to perform a write operation on the bus. + * + * @param[in] map - Object specific context handler. + * @param[in] writeDatabuf - Pointer to data buffer. + * @param[in] lenWriteData - Number of data to be written. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static hal_ll_err_t hal_ll_i2c_master_write_bare_metal( hal_ll_i2c_hw_specifics_map_t *map, uint8_t *write_data_buf, size_t len_write_data, hal_ll_i2c_master_end_mode_t mode ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS +hal_ll_err_t hal_ll_i2c_master_register_handle( hal_ll_pin_name_t scl, hal_ll_pin_name_t sda, hal_ll_i2c_master_handle_register_t *handle_map, uint8_t *hal_module_id ) { + + hal_ll_i2c_pin_id index_list[ I2C_MODULE_COUNT ] = { HAL_LL_PIN_NC, HAL_LL_PIN_NC }; + uint16_t pin_check_result; + + // Check if pins are valid + if ( ( pin_check_result = hal_ll_i2c_master_check_pins( scl, sda, &index_list, handle_map ) ) == HAL_LL_PIN_NC ) { + return HAL_LL_I2C_MASTER_WRONG_PINS; + }; + + if ( ( hal_ll_i2c_hw_specifics_map[ pin_check_result ].pins.pin_scl.pin_name != scl ) || + ( hal_ll_i2c_hw_specifics_map[ pin_check_result ].pins.pin_sda.pin_name != sda ) ) + { + hal_ll_i2c_master_alternate_functions_set_state( &hal_ll_i2c_hw_specifics_map[ pin_check_result ], false ); + + hal_ll_i2c_master_map_pins( pin_check_result, &index_list ); + + hal_ll_i2c_master_alternate_functions_set_state( &hal_ll_i2c_hw_specifics_map[ pin_check_result ], true ); + + handle_map[ pin_check_result ].init_ll_state = false; + } + + *hal_module_id = pin_check_result; + + hal_ll_module_state[ pin_check_result ].hal_ll_i2c_master_handle = ( handle_t *)&hal_ll_i2c_hw_specifics_map[ pin_check_result ].base; + + handle_map[ pin_check_result ].hal_ll_i2c_master_handle = ( handle_t *)&hal_ll_module_state[ pin_check_result ].hal_ll_i2c_master_handle; + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +hal_ll_err_t hal_ll_module_configure_i2c( handle_t *handle ) { + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + hal_ll_i2c_master_handle_register_t *hal_handle = ( hal_ll_i2c_master_handle_register_t *)*handle; + uint8_t pin_check_result = hal_ll_i2c_hw_specifics_map_local->module_index; + + hal_ll_i2c_init( hal_ll_i2c_hw_specifics_map_local ); + + hal_ll_module_state[ pin_check_result ].hal_ll_i2c_master_handle = ( handle_t *)&hal_ll_i2c_hw_specifics_map[pin_check_result].base; + hal_ll_module_state[ pin_check_result ].init_ll_state = true; + hal_handle->init_ll_state = true; + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +hal_ll_err_t hal_ll_i2c_master_set_speed( handle_t *handle, uint32_t speed ) { + low_level_handle = hal_ll_i2c_get_handle; + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + low_level_handle->init_ll_state = false; + + hal_ll_i2c_hw_specifics_map_local->speed = speed; + + if ( hal_ll_i2c_init( hal_ll_i2c_hw_specifics_map_local ) != HAL_LL_I2C_MASTER_SUCCESS ) { + return HAL_LL_I2C_MASTER_TIMEOUT_INIT; + } + + low_level_handle->init_ll_state = true; + + return hal_ll_i2c_hw_specifics_map_local->speed; +} + +void hal_ll_i2c_master_set_timeout( handle_t *handle, uint16_t timeout ) { + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + if( hal_ll_i2c_hw_specifics_map_local->base != HAL_LL_MODULE_ERROR ) { + hal_ll_i2c_hw_specifics_map_local->timeout = timeout; + } +} + +void hal_ll_i2c_master_set_slave_address( handle_t *handle, uint8_t addr ) { + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + if( hal_ll_i2c_hw_specifics_map_local->base != HAL_LL_MODULE_ERROR ) { + hal_ll_i2c_hw_specifics_map_local->address = addr; + } +} + +hal_ll_err_t hal_ll_i2c_master_read( handle_t *handle, uint8_t *read_data_buf, size_t len_read_data ) { + low_level_handle = hal_ll_i2c_get_handle; + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + return hal_ll_i2c_master_read_bare_metal( hal_ll_i2c_hw_specifics_map_local, read_data_buf, len_read_data, HAL_LL_I2C_MASTER_END_MODE_STOP ); +} + +hal_ll_err_t hal_ll_i2c_master_write( handle_t *handle, uint8_t *write_data_buf, size_t len_write_data ) { + low_level_handle = hal_ll_i2c_get_handle; + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + return hal_ll_i2c_master_write_bare_metal( hal_ll_i2c_hw_specifics_map_local, write_data_buf, len_write_data, HAL_LL_I2C_MASTER_END_MODE_STOP ); +} + +hal_ll_err_t hal_ll_i2c_master_write_then_read( handle_t *handle, uint8_t *write_data_buf, size_t len_write_data, uint8_t *read_data_buf, size_t len_read_data ) { + low_level_handle = hal_ll_i2c_get_handle; + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + if ( hal_ll_i2c_master_write_bare_metal( hal_ll_i2c_hw_specifics_map_local, write_data_buf, len_write_data, HAL_LL_I2C_MASTER_WRITE_THEN_READ ) != NULL ) { + return HAL_LL_I2C_MASTER_TIMEOUT_WRITE; + } + + /** + * @note Wait for drivers to set-up + * correctly. + **/ + #ifdef __TFT_RESISTIVE_TSC2003__ + Delay_22us(); + #endif + + if( hal_ll_i2c_master_read_bare_metal( hal_ll_i2c_hw_specifics_map_local, read_data_buf, len_read_data, HAL_LL_I2C_MASTER_WRITE_THEN_READ ) != NULL ) { + return HAL_LL_I2C_MASTER_TIMEOUT_READ; + } + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +void hal_ll_i2c_master_close( handle_t *handle ) { + low_level_handle = hal_ll_i2c_get_handle; + hal_ll_i2c_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_i2c_get_module_state_address ); + + if( low_level_handle->hal_ll_i2c_master_handle != NULL ) { + low_level_handle->hal_ll_i2c_master_handle = NULL; + low_level_handle->hal_drv_i2c_master_handle = NULL; + + low_level_handle->init_ll_state = false; + + hal_ll_i2c_hw_specifics_map_local->address = 0; + hal_ll_i2c_hw_specifics_map_local->timeout = HAL_LL_I2C_DEFAULT_PASS_COUNT; + hal_ll_i2c_hw_specifics_map_local->speed = HAL_LL_I2C_MASTER_SPEED_100K; + + hal_ll_i2c_master_set_clock( hal_ll_i2c_hw_specifics_map_local, true ); + hal_ll_i2c_master_alternate_functions_set_state( hal_ll_i2c_hw_specifics_map_local, false ); + hal_ll_i2c_master_set_clock( hal_ll_i2c_hw_specifics_map_local, false ); + + hal_ll_i2c_hw_specifics_map_local->pins.pin_scl.pin_name = HAL_LL_PIN_NC; + hal_ll_i2c_hw_specifics_map_local->pins.pin_sda.pin_name = HAL_LL_PIN_NC; + hal_ll_i2c_hw_specifics_map_local->pins.pin_scl.pin_af = 0; + hal_ll_i2c_hw_specifics_map_local->pins.pin_sda.pin_af = 0; + } +} + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS +static hal_ll_err_t hal_ll_i2c_master_read_bare_metal( hal_ll_i2c_hw_specifics_map_t *map, uint8_t *read_data_buf, size_t len_read_data, hal_ll_i2c_master_end_mode_t mode ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint16_t time_counter = map->timeout; + size_t transfer_counter = NULL; + uint8_t status = NULL; + uint8_t dummy_data; + + #ifdef __TFT_RESISTIVE_TSC2003__ + Delay_1ms(); + #endif + + hal_ll_i2c_master_configure_transfer( hal_ll_hw_reg, map->address, true ); + + status = hal_ll_i2c_master_start( map ); + + for ( transfer_counter; transfer_counter < len_read_data - 1; transfer_counter++ ) { + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_RXRDY_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_READ; + } + } + read_data_buf[ transfer_counter ] = read_reg( &hal_ll_hw_reg->rhr ); + } + + if ( ( mode == HAL_LL_I2C_MASTER_END_MODE_STOP ) || ( mode == HAL_LL_I2C_MASTER_WRITE_THEN_READ ) ) { + status = hal_ll_i2c_master_stop( map ); + + // For ATSAM MCUs last data byte should be read after stop bit has beed sent to end the receiving. + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_RXRDY_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_READ; + } + } + read_data_buf[ transfer_counter ] = read_reg( &hal_ll_hw_reg->rhr ); + + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_TXCOMP_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_STOP; + } + } + } + + /* + * Clear the receive register because ATSAM MCUs with TWIHS + * registers keep strething the clock line till TXCOMP flag + * is not set that causes the garbage readings although + * receiving is finished. + */ + dummy_data = read_reg( &hal_ll_hw_reg->rhr ); + + if( status != HAL_LL_I2C_MASTER_SUCCESS ) { + return status; + } + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +static hal_ll_err_t hal_ll_i2c_master_write_bare_metal( hal_ll_i2c_hw_specifics_map_t *map, uint8_t *write_data_buf, size_t len_write_data, hal_ll_i2c_master_end_mode_t mode ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint16_t time_counter = map->timeout; + size_t transfer_counter = NULL; + uint8_t status = NULL; + + hal_ll_i2c_master_configure_transfer( hal_ll_hw_reg, map->address, false ); + + for ( transfer_counter; transfer_counter < len_write_data; transfer_counter++ ) + { + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_TXRDY_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_WRITE; + } + } + write_reg( &hal_ll_hw_reg->thr, write_data_buf[ transfer_counter ] ); + } + + time_counter = map->timeout; + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_TXRDY_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_WRITE; + } + } + + if ( ( mode == HAL_LL_I2C_MASTER_END_MODE_STOP ) || ( mode == HAL_LL_I2C_MASTER_WRITE_THEN_READ ) ) + { + hal_ll_i2c_master_stop( map ); + + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_TXCOMP_BIT ) ) ) { + if ( map->timeout ) { + if ( !time_counter-- ) + return HAL_LL_I2C_MASTER_TIMEOUT_STOP; + } + } + } + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +static void hal_ll_i2c_master_configure_transfer( hal_ll_i2c_base_handle_t *hal_ll_hw_reg, uint8_t slave_address, bool read ) { + + write_reg( &hal_ll_hw_reg->mmr, ( slave_address << HAL_LL_TWIHS_MMR_DADR_START_BIT ) ); + + if ( read ) + set_reg_bit( &hal_ll_hw_reg->mmr, HAL_LL_TWIHS_MMR_MREAD_BIT ); +} + +static hal_ll_err_t hal_ll_i2c_master_start( hal_ll_i2c_hw_specifics_map_t *map ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint16_t loop_index = HAL_LL_I2C_LOOP_INDEX; + + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_TWIHS_CR_START_BIT ); + + if ( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_TWIHS_SR_ARBLST_BIT ) ) + return HAL_LL_I2C_MASTER_ARBITRATION_LOST; + + while ( loop_index-- ) + assembly( nop ); + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +static hal_ll_err_t hal_ll_i2c_master_stop( hal_ll_i2c_hw_specifics_map_t *map ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint16_t time_counter = map->timeout; + uint32_t loop_index = HAL_LL_I2C_LOOP_INDEX; + + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_TWIHS_CR_STOP_BIT ); + + while ( loop_index-- ) + assembly(nop); + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +static hal_ll_pin_name_t hal_ll_i2c_master_check_pins( hal_ll_pin_name_t scl, hal_ll_pin_name_t sda, hal_ll_i2c_pin_id *index_list, hal_ll_i2c_master_handle_register_t *handle_map ) { + static const uint16_t scl_map_size = ( sizeof( hal_ll_i2c_scl_map ) / sizeof( hal_ll_i2c_pin_map_t ) ); + static const uint16_t sda_map_size = ( sizeof( hal_ll_i2c_sda_map ) / sizeof( hal_ll_i2c_pin_map_t ) ); + uint8_t hal_ll_module_id = 0; + uint8_t index_counter = 0; + uint16_t scl_index; + uint16_t sda_index; + + if ( (HAL_LL_PIN_NC == scl) || (HAL_LL_PIN_NC == sda) ) { + return HAL_LL_PIN_NC; + } + + for ( scl_index = 0; scl_index < scl_map_size; scl_index++ ) { + if ( hal_ll_i2c_scl_map[ scl_index ].pin == scl ) { + for ( sda_index = 0; sda_index < sda_map_size; sda_index++ ) { + if ( hal_ll_i2c_sda_map[ sda_index ].pin == sda ) { + if ( hal_ll_i2c_scl_map[ scl_index ].module_index == hal_ll_i2c_sda_map[ sda_index ].module_index ) { + // Get module number. + hal_ll_module_id = hal_ll_i2c_scl_map[ scl_index ].module_index; + // Map pin names. + index_list[hal_ll_module_id].pin_scl = scl_index; + index_list[hal_ll_module_id].pin_sda = sda_index; + + // Check if module is taken. + if ( NULL == handle_map[ hal_ll_module_id ].hal_drv_i2c_master_handle ) { + return hal_ll_module_id; + } else if ( I2C_MODULE_COUNT == ++index_counter ) { + return --index_counter; + } + } + } + } + } + } + + if ( index_counter ) { + return hal_ll_module_id; + } else { + return HAL_LL_PIN_NC; + } +} + +static hal_ll_i2c_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ) { + uint8_t hal_ll_module_count = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_i2c_master_handle_register_t ) ); + static uint8_t hal_ll_module_error = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_i2c_master_handle_register_t )); + + while( hal_ll_module_count-- ) { + if (hal_ll_i2c_get_base_from_hal_handle == hal_ll_i2c_hw_specifics_map[ hal_ll_module_count ].base) { + return &hal_ll_i2c_hw_specifics_map[ hal_ll_module_count ]; + } + } + + return &hal_ll_i2c_hw_specifics_map[ hal_ll_module_error ]; +} + +static void hal_ll_i2c_master_set_clock( hal_ll_i2c_hw_specifics_map_t *map, bool hal_ll_state ) { + switch ( map->module_index ) + { + #ifdef I2C_MODULE_0 + case ( hal_ll_i2c_module_num( I2C_MODULE_0 ) ): + if ( hal_ll_state ) { + set_reg_bit( _PMC_PCER0, HAL_LL_PID_TWIHS0_BIT ); + } else { + set_reg_bit( _PMC_PCDR0, HAL_LL_PID_TWIHS0_BIT ); + } + break; + #endif + #ifdef I2C_MODULE_1 + case ( hal_ll_i2c_module_num( I2C_MODULE_1 ) ): + if ( hal_ll_state ) { + set_reg_bit( _PMC_PCER0, HAL_LL_PID_TWIHS1_BIT ); + } else { + set_reg_bit( _PMC_PCDR0, HAL_LL_PID_TWIHS1_BIT ); + } + break; + #endif + #ifdef I2C_MODULE_2 + case ( hal_ll_i2c_module_num( I2C_MODULE_2 ) ): + if ( hal_ll_state ) { + set_reg_bit( _PMC_PCER1, HAL_LL_PID_TWIHS2_BIT ); + } else { + set_reg_bit( _PMC_PCDR1, HAL_LL_PID_TWIHS2_BIT ); + } + break; + #endif + + default: + break; + } +} + +static void hal_ll_i2c_master_map_pins( uint8_t module_index, hal_ll_i2c_pin_id *index_list ) { + // Map new pins + hal_ll_i2c_hw_specifics_map[module_index].pins.pin_scl.pin_name = hal_ll_i2c_scl_map[ index_list[module_index].pin_scl ].pin; + hal_ll_i2c_hw_specifics_map[module_index].pins.pin_sda.pin_name = hal_ll_i2c_sda_map[ index_list[module_index].pin_sda ].pin; + // SCL and SDA could have different alternate function settings, hence save both AF values. + hal_ll_i2c_hw_specifics_map[module_index].pins.pin_scl.pin_af = hal_ll_i2c_scl_map[ index_list[module_index].pin_scl ].af; + hal_ll_i2c_hw_specifics_map[module_index].pins.pin_sda.pin_af = hal_ll_i2c_sda_map[ index_list[module_index].pin_sda ].af; +} + +static void hal_ll_i2c_master_alternate_functions_set_state( hal_ll_i2c_hw_specifics_map_t *map, bool hal_ll_state ) { + module_struct module; + + if( (map->pins.pin_scl.pin_name != HAL_LL_PIN_NC) && (map->pins.pin_sda.pin_name != HAL_LL_PIN_NC) ) { + module.pins[0] = map->pins.pin_scl.pin_name; + module.pins[1] = map->pins.pin_sda.pin_name; + module.pins[2] = GPIO_MODULE_STRUCT_END; + + module.configs[0] = map->pins.pin_scl.pin_af; + module.configs[1] = map->pins.pin_sda.pin_af; + module.configs[2] = GPIO_MODULE_STRUCT_END; + + hal_ll_gpio_module_struct_init( &module, hal_ll_state ); + } +} + +static uint32_t hal_ll_i2c_get_speed( hal_ll_i2c_hw_specifics_map_t *map ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint8_t ckdiv = 0; + uint8_t temp_div; + uint32_t i2c_speed, twihs_cwgr; + + // High-Speed can be only used in slave mode, 400k is the max speed allowed for master. + switch ( map->speed ) { + case HAL_LL_I2C_MASTER_SPEED_STANDARD: + i2c_speed = HAL_LL_I2C_MASTER_SPEED_100K; + break; + case HAL_LL_I2C_MASTER_SPEED_FULL: + i2c_speed = HAL_LL_I2C_MASTER_LOW_DIVIDER_SPEED_LIMIT; + break; + + default: + return HAL_LL_I2C_MASTER_ERROR; + } + + /* Formula for calculating baud value involves two unknowns. Fix one unknown and calculate the other. + Fix the CKDIV value and see if CLDIV (or CHDIV) fits into the 8-bit register. */ + + /* Calculate CLDIV with CKDIV set to 0 */ + while ( ckdiv <= HAL_LL_TWIHS_CWGR_CLKDIV_MAX ) { + temp_div = 1; + for ( uint8_t i = 1; i <= ckdiv; i++) + temp_div *= 2; + twihs_cwgr = hal_ll_i2c_get_divider( temp_div, i2c_speed ); + if ( twihs_cwgr <= HAL_LL_NIBBLE_LOW_16BIT ) + break; + ckdiv++; + } + + if ( twihs_cwgr > HAL_LL_NIBBLE_LOW_16BIT ) + /* Could not generate CLDIV and CKDIV register values for the requested baud rate */ + return HAL_LL_I2C_MASTER_ERROR; + else + write_reg( &hal_ll_hw_reg->cwgr, ( twihs_cwgr << 8 ) | twihs_cwgr | ckdiv << 16 ); + + return HAL_LL_I2C_MASTER_SUCCESS; +} + +static hal_ll_err_t hal_ll_i2c_hw_init( hal_ll_i2c_hw_specifics_map_t *map ) { + hal_ll_i2c_base_handle_t *hal_ll_hw_reg = hal_ll_i2c_get_base_struct( map->base ); + uint16_t time_counter = map->timeout; + int8_t status = HAL_LL_I2C_MASTER_SUCCESS; + + // Reset TWIHS control register. + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_TWIHS_CR_SWRST_BIT ); + + // Get the actual speed and set the dividers for clock. + status = hal_ll_i2c_get_speed( map ); + + // Make sure I2C is not in Slave Mode. + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_TWIHS_CR_SVDIS_BIT ); + + // Enable I2C in Master Mode. + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_TWIHS_CR_MSEN_BIT ); + + return status; +} + +static hal_ll_err_t hal_ll_i2c_init( hal_ll_i2c_hw_specifics_map_t *map ) { + hal_ll_i2c_master_set_clock( map, true ); + + return hal_ll_i2c_hw_init( map ); +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/one_wire/CMakeLists.txt b/targets/arm/mikroe/sam/src/one_wire/CMakeLists.txt new file mode 100644 index 000000000..ac96bc0fd --- /dev/null +++ b/targets/arm/mikroe/sam/src/one_wire/CMakeLists.txt @@ -0,0 +1,42 @@ +## ./targets/arm/mikroe/sam/src/one_wire/CMakeLists.txt +set(hal_ll_def_list) +set(mcu_header_path "") + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_ONE_WIRE") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +if(${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(ow_subimplementation "implementations/implementation_1") +endif() + +mikrosdk_add_library(lib_hal_ll_one_wire MikroSDK.HalLowLevel.OneWire + ${ow_subimplementation}/hal_ll_one_wire.c + + ../../include/one_wire/${ow_subimplementation}/hal_ll_one_wire.h +) + +target_compile_definitions(lib_hal_ll_one_wire PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_one_wire PUBLIC + MikroC.Core + MikroSDK.HalLowLevel.GPIO + MikroSDK.HalLowLevelCommon +) +target_include_directories(lib_hal_ll_one_wire + PRIVATE + ../../include/gpio + ../../include/gpio/${ow_subimplementation} + ../../include/one_wire/${ow_subimplementation} + INTERFACE + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.OneWire) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.OneWire ../../include/one_wire/${ow_subimplementation}/hal_ll_one_wire.h) diff --git a/targets/arm/mikroe/sam/src/one_wire/implementations/implementation_1/hal_ll_one_wire.c b/targets/arm/mikroe/sam/src/one_wire/implementations/implementation_1/hal_ll_one_wire.c new file mode 100644 index 000000000..72efd09cb --- /dev/null +++ b/targets/arm/mikroe/sam/src/one_wire/implementations/implementation_1/hal_ll_one_wire.c @@ -0,0 +1,545 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_one_wire.c + * @brief One Wire HAL LOW LEVEL layer implementation. + */ +#include "hal_ll_one_wire.h" +#include "delays.h" + +// ------------------------------------------------------------- PRIVATE MACROS +/*!< @brief Helper macro getting minimum bits per transfer. */ +#define HAL_LL_ONE_WIRE_MINIMUM_BITS_PER_TRANSFER (8) + +// ------------------------------------------------------------------ VARIABLES +/*!< @brief Helper macro for starting to enumerate device ID(s). */ +static uint8_t hal_ll_one_wire_search_rom_command = ONE_WIRE_CMD_ROM_SEARCH; + +/*!< @brief Helper macro for reading a device ID. */ +static uint8_t hal_ll_one_wire_read_rom_command_legacy = ONE_WIRE_CMD_ROM_READ_LEGACY; +static uint8_t hal_ll_one_wire_read_rom_command = ONE_WIRE_CMD_ROM_READ; + +/*!< @brief Helper macro for ignoring a device ID. */ +static uint8_t hal_ll_one_wire_skip_rom_command = ONE_WIRE_CMD_ROM_SKIP; + +/*!< @brief Helper macro for selecting a device with specific ID. */ +static uint8_t hal_ll_one_wire_match_rom_command = ONE_WIRE_CMD_ROM_MATCH; + +/*!< @brief Helper flag if One Wire device is the last one left on the bus. */ +static uint8_t last_device_flag = 0; + +/*!< @brief Helper flag for last discrepancy. */ +static uint8_t last_discrepancy = 0; + +/*!< @brief Helper flag for last family discrepancy. */ +static uint8_t last_family_discrepancy = 0; + +/*!< @brief Helper instance consisting of hardware specifics. */ +static hal_ll_one_wire_local_t one_wire_handle; + +__weak void one_wire_timing_value_a( void ) { + Delay_5us(); +} + +__weak void one_wire_timing_value_b( void ) { + Delay_64us(); +} + +__weak void one_wire_timing_value_c( void ) { + Delay_60us(); +} + +__weak void one_wire_timing_value_d( void ) { + Delay_6us(); +} + +__weak void one_wire_timing_value_e( void ) { + Delay_6us(); +} + +__weak void one_wire_timing_value_f( void ) { + Delay_50us(); +} + +__weak void one_wire_timing_value_h( void ) { + Delay_480us(); +} + +__weak void one_wire_timing_value_i( void ) { + Delay_70us(); +} + +__weak void one_wire_timing_value_j( void ) { + Delay_410us(); +} + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Writes bit to One Wire bus. + * @details Writes bit to One Wire bus. + * @param[in] write_data_buffer Data transmit buffer. + */ +static void hal_ll_one_wire_write_bit( uint8_t write_data_buffer ); + +/** + * @brief Reads bit from One Wire bus. + * @details Reads bit from One Wire bus. + * @param[in] write_data_buffer Data receive buffer. + */ +static void hal_ll_one_wire_read_bit( uint8_t *read_data_buffer ); + +/** + * @brief Search One Wire capable device on bus. + * @details Search One Wire capable device on bus. + * + * @param[in] *obj One Wire HAL Low Level object. + * See #hal_ll_one_wire_t structure definition for detailed explanation. + * @param[out] *one_wire_device_list Buffer for One Wire device ROM information. + */ +static hal_ll_err_t hal_ll_one_wire_search( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS +void hal_ll_one_wire_open( hal_ll_one_wire_t *obj ) { + // Local instance of One Wire pin. + hal_ll_gpio_pin_t one_wire_pin; + + // Enable appropriate PORT clock, set pin to be digital input. + hal_ll_gpio_configure_pin( &one_wire_pin, obj->data_pin, HAL_LL_GPIO_DIGITAL_OUTPUT ); + + /* Register One Wire handle (memorize appropriate GPIO registers and bit positions). */ + hal_ll_one_wire_reconfigure( obj ); +} + +hal_ll_err_t hal_ll_one_wire_reset( hal_ll_one_wire_t *obj ) { + /* Variable for checking whether there are device(s) on + * One Wire data pin (0) or there aren't any devices at all (1). */ + uint8_t device_response = 1; + + // Make sure that pin has output capability. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value for reset of One Wire bus - LOW voltage level. + one_wire_timing_value_h(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + + // Timing value for reset of One Wire bus - Master sample pulse. + one_wire_timing_value_i(); + + // Check whether there are devices on One Wire data pin. + device_response = *(uint32_t *)one_wire_handle.status & one_wire_handle.data_pin; + + // Provide enough time for power injection into internal power logic of devices that are present. + one_wire_timing_value_j(); + + // Return final result of device response. + return device_response; +} + +hal_ll_err_t hal_ll_one_wire_read_rom( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *device_rom_address ) { + // Initiate Reset sequence. + if ( hal_ll_one_wire_reset( obj ) ) { + return HAL_LL_ONE_WIRE_ERROR; + } + + // Initiate "Read ROM" command. + hal_ll_one_wire_write_byte( &hal_ll_one_wire_read_rom_command, 1 ); + + // Read ROM address. + hal_ll_one_wire_read_byte( &device_rom_address->address[0], 8 ); + + return HAL_LL_ONE_WIRE_SUCCESS; +} + +hal_ll_err_t hal_ll_one_wire_skip_rom( hal_ll_one_wire_t *obj ) { + // Initiate Reset sequence. + if ( hal_ll_one_wire_reset( obj ) ) { + return HAL_LL_ONE_WIRE_ERROR; + } + + // Initiate "Skip ROM" command. + hal_ll_one_wire_write_byte( &hal_ll_one_wire_skip_rom_command, 1 ); + + return HAL_LL_ONE_WIRE_SUCCESS; +} + +hal_ll_err_t hal_ll_one_wire_match_rom( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *device_rom_address ) { + // Initiate Reset sequence. + if ( hal_ll_one_wire_reset( obj ) ) { + return HAL_LL_ONE_WIRE_ERROR; + } + + // Initiate "Match" command. + hal_ll_one_wire_write_byte( &hal_ll_one_wire_match_rom_command, 1 ); + + // Send ROM address. + hal_ll_one_wire_write_byte( (uint32_t)device_rom_address, 8 ); + + return HAL_LL_ONE_WIRE_SUCCESS; +} + +hal_ll_err_t hal_ll_one_wire_search_first_device( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ) { + // Reset the search state. + last_discrepancy = 0; + last_device_flag = 0; + last_family_discrepancy = 0; + + // Initiate search algorithm, in order to get first device on One Wire grid. + hal_ll_one_wire_search( obj, one_wire_device_list ); + + return HAL_LL_ONE_WIRE_SUCCESS; +} + +hal_ll_err_t hal_ll_one_wire_search_next_device( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ) { + // Initiate search algorithm, in order to get first device on One Wire grid. + hal_ll_one_wire_search( obj, one_wire_device_list ); + + return HAL_LL_ONE_WIRE_SUCCESS; +} + +static hal_ll_err_t hal_ll_one_wire_search( hal_ll_one_wire_t *obj, hal_ll_one_wire_rom_address_t *one_wire_device_list ) { + // Final search result variable. + uint8_t search_result = 0; + + // Initialize variables for search method. + uint8_t rom_byte_number = 0; + uint8_t rom_byte_mask = 1; + uint8_t id_bit_number = 1; + uint8_t last_zero = 0; + + // The first bit read in a bit search sequence. + // ( logical AND of all of the id_bit_number bits of the devices that are still participating in the search ). + uint8_t id_bit = 0; + + // The complement of id_bit. + // ( logical AND of the complement of all id_bit_number bits of the devices that are still participating in the search ). + uint8_t cmp_id_bit = 0; + + // Search direction ( bit-per-bit search ). + uint8_t search_direction = 0; + + // If the last call was not the last one... + if ( !last_device_flag ) { + + // If there were no any device while executing One Wire reset sequence... + if ( hal_ll_one_wire_reset( obj ) ) { + + // Reset all the important variables. + last_device_flag = 0; + last_discrepancy = 0; + last_family_discrepancy = 0; + + // Stop searching because there are no any One Wire capable devices. + return HAL_LL_ONE_WIRE_ERROR; + } + + // If device(s) has(have) been found, initiate "Search" command. + hal_ll_one_wire_write_byte( &hal_ll_one_wire_search_rom_command, 1 ); + + // Iterate until all 64 bits (8 bytes) of unique ROM 'registration' numbers have not been found. + do { + // Read a bit. + hal_ll_one_wire_read_bit( &id_bit ); + + // Then, read its complement. + hal_ll_one_wire_read_bit( &cmp_id_bit ); + + // Check whether no devices participating in current search. + if ( ( id_bit == 1 ) && ( cmp_id_bit == 1 ) ) { + break; + // Proceed, because we have found some device(s). + } else { + // We are going to check once again whether read bit and + // its complement of all the devices on the One Wire grid are not the same. + // If they are not the same, we are going to start our search with non-complement bit. + if ( id_bit != cmp_id_bit ) { + search_direction = id_bit; // Bit write value for search. + + // Otherwise, there are both binary zeros and ones in the current + // bit position of the participating ROM numbers. This is a discrepancy. + } else { + if ( id_bit_number < last_discrepancy ) { + search_direction = ( ( one_wire_device_list->address[ rom_byte_number ] & rom_byte_mask ) > 0 ); + } else { + search_direction = ( id_bit_number == last_discrepancy ); + } + + // If 0 is picked, save its position. + if ( search_direction == 0) { + last_zero = id_bit_number; + + // Check for last discrepancy in family. + if ( last_zero < 9 ) { + last_family_discrepancy = last_zero; + } + } + } + + // Set or clear bit in the ROM byte rom_byte_number with mask rom_byte_mask. + if ( search_direction == 1 ) { + one_wire_device_list->address[ rom_byte_number ] |= rom_byte_mask; + } else { + one_wire_device_list->address[ rom_byte_number ] &= ~rom_byte_mask; + } + + // Search number search direction write bit. + hal_ll_one_wire_write_bit( search_direction ); + + // Increment the byte counter "id_bit_number", and shift the mask "rom_byte_mask". + id_bit_number++; + rom_byte_mask <<= 1; + + // If the mask is zero, then go to new "serial_num" byte, "rom_byte_number" and "reset_mask". + if ( rom_byte_mask == 0 ) { + rom_byte_number++; + rom_byte_mask = 1; + } + } + } while ( rom_byte_number < HAL_LL_ONE_WIRE_MINIMUM_BITS_PER_TRANSFER ); + + // If the search was successful then... + if ( !( id_bit_number < 65 ) ) { + + last_discrepancy = last_zero; + + // Check for last device. + if ( last_discrepancy == 0 ) { + last_device_flag = 1; + } + search_result = 1; + } + } + // If no device found then reset counters so next "search" will be like a first. + if ( !search_result || !one_wire_device_list->address[0] ) { + last_discrepancy = 0; + last_family_discrepancy = 0; + last_device_flag = 0; + search_result = 0; + } + + // Return info whether we have found some device ID or not. + return search_result; +} + +void hal_ll_one_wire_write_byte( uint8_t *write_data_buffer, size_t write_data_length ) { + size_t local_byte_checker = 0; + uint8_t local_bit_checker = 0; + uint8_t local_byte = 0; + uint8_t bit_state = 0; + + // For every byte to be sent... + while ( local_byte_checker != write_data_length ) { + + // ...restart bit checker... + local_bit_checker = 0; + + // ...get current byte... + local_byte = write_data_buffer[local_byte_checker++]; + + // For every bit in byte to be sent... + while ( local_bit_checker != HAL_LL_ONE_WIRE_MINIMUM_BITS_PER_TRANSFER ) { + bit_state = ( local_byte >> local_bit_checker++ ) & 1; + + if( bit_state ) { + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "a" for writing logical '1' - LOW voltage level. + one_wire_timing_value_a(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + // Timing value "b" for writing logical '1' - LOW voltage level. + one_wire_timing_value_b(); + } else { + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "c" for writing logical '0' - LOW voltage level. + one_wire_timing_value_c(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + // Timing value "d" for writing logical '0' - HIGH voltage level. + one_wire_timing_value_d(); + } + } + } +} + +void hal_ll_one_wire_read_byte( uint8_t *read_data_buffer, size_t read_data_length ) { + size_t local_byte_checker = 0; + uint8_t local_bit_checker = 0; + uint8_t local_buffer = 0; + + // For every byte to be read... + while ( local_byte_checker != read_data_length ) { + + // ...restart bit checker and buffer... + local_bit_checker = 0; + local_buffer = 0; + + // For every bit in byte to be read... + while ( local_bit_checker != HAL_LL_ONE_WIRE_MINIMUM_BITS_PER_TRANSFER ) { + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "a" for bit reading - LOW voltage level. + one_wire_timing_value_a(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *( uint32_t* )one_wire_handle.pio_odr = one_wire_handle.data_pin; + // Hold the data line for 6us more. + one_wire_timing_value_e(); + + // Read bit. + local_buffer += ( *(uint32_t *)one_wire_handle.status & one_wire_handle.data_pin ) << local_bit_checker++; + + // Timing value "f" for the rest of the read operation. + one_wire_timing_value_f(); + } + + // Send back one logical level up a byte of data that has been just read. + read_data_buffer[local_byte_checker++] = local_buffer; + } +} + +void hal_ll_one_wire_reconfigure( hal_ll_one_wire_t *obj ) { + // Local instance of One Wire pin. + hal_ll_gpio_pin_t one_wire_pin; + + // Get pin base address and mask. + one_wire_pin.base = (hal_ll_gpio_base_t)hal_ll_gpio_port_base(hal_ll_gpio_port_index(obj->data_pin)); + one_wire_pin.mask = hal_ll_gpio_pin_mask(obj->data_pin); + + // Memorize info about pin number (for future use). + one_wire_handle.data_pin = one_wire_pin.mask; + + // Get all the GPIO register addresses for appropriate One Wire pin. + hal_ll_gpio_base_handle_t *gpio_ptr = (hal_ll_gpio_base_handle_t *)one_wire_pin.base; + + // Memorize appropriate pin Direction Register (PIO_OER for output and PIO_ODR for input). + one_wire_handle.pio_oer = (uint32_t)&gpio_ptr->output.enable; + one_wire_handle.pio_odr = (uint32_t)&gpio_ptr->output.disable; + + // Memorize appropriate pin Status Register (PIO_PDSR register). + one_wire_handle.status = (uint32_t)&gpio_ptr->signal.pin_status; + + // Memorize appropriate Bit Clear Output Direction Register (PIO_CODR register). + one_wire_handle.disable = (uint32_t)&gpio_ptr->signal.disable; + + // Set object state to true. + obj->state = true; +} + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS + +static void hal_ll_one_wire_write_bit( uint8_t write_data_buffer ) { + uint8_t bit_state = 0; + size_t local_byte_checker = 0; + uint8_t local_bit_checker = 7; + bit_state = write_data_buffer & 0x1; + + if ( bit_state ) { + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "a" for writing logical '1' - LOW voltage level. + one_wire_timing_value_a(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + + // Timing value "b" for writing logical '1' - LOW voltage level. + one_wire_timing_value_b(); + } else { + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "c" for writing logical '0' - LOW voltage level. + one_wire_timing_value_c(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + + // Timing value "d" for writing logical '0' - HIGH voltage level. + one_wire_timing_value_d(); + } +} + +static void hal_ll_one_wire_read_bit( uint8_t *read_data_buffer ) { + uint8_t local_bit_checker = 0; + + // Set pin to be digital output. + *(uint32_t *)one_wire_handle.pio_oer = one_wire_handle.data_pin; + // Set pin to LOW voltage level. + *(uint32_t *)one_wire_handle.disable = one_wire_handle.data_pin; + + // Timing value "a" for bit reading - LOW voltage level. + one_wire_timing_value_a(); + + // Release One Wire data line ( pull-up resistor will pull the data line up ). + *(uint32_t *)one_wire_handle.pio_odr = one_wire_handle.data_pin; + // Timing value "e" for sampling read information. + one_wire_timing_value_e(); + + // Read bit. + *read_data_buffer = ( *(uint32_t *)one_wire_handle.status & one_wire_handle.data_pin ); + + // Timing value "f" for the rest of the read operation. + one_wire_timing_value_f(); +} + +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/spi_master/CMakeLists.txt b/targets/arm/mikroe/sam/src/spi_master/CMakeLists.txt new file mode 100644 index 000000000..2c5932551 --- /dev/null +++ b/targets/arm/mikroe/sam/src/spi_master/CMakeLists.txt @@ -0,0 +1,62 @@ +## ./targets/arm/mikroe/sam/src/spi_master/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_SPI") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +if (${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + string(SUBSTRING ${MCU_NAME} 8 10 CMAKE_MCU_NAME_LAST_3) + if (${CMAKE_MCU_NAME_LAST_3} MATCHES "J[19|2[01]") + list(APPEND hal_ll_def_list "QSPI_SPI") + endif() + set(spi_subimplementation "implementations/implementation_1") +endif() + +mikrosdk_add_library(lib_hal_ll_spi_master MikroSDK.HalLowLevel.SPI.Master + ${spi_subimplementation}/hal_ll_spi_master.c + + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + # BEGIN SPI + ../../include/spi_master/hal_ll_spi_master.h + ../../include/spi_master/hal_ll_spi_master_pin_map/${spi_subimplementation}/hal_ll_spi_master_pin_map.h + # END SPI +) + +target_compile_definitions(lib_hal_ll_spi_master PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_spi_master PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) + +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_spi_master + PRIVATE + ../../include + ../../include/gpio + ../../include/gpio/${spi_subimplementation} + # BEGIN SPI + ../../include/spi_master + ../../include/spi_master/hal_ll_spi_master_pin_map/${spi_subimplementation} + # END SPI + + INTERFACE + $ + $ + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.SPI.Master) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.SPI.Master ../../include/spi_master/hal_ll_spi_master.h) diff --git a/targets/arm/mikroe/sam/src/spi_master/implementations/implementation_1/hal_ll_spi_master.c b/targets/arm/mikroe/sam/src/spi_master/implementations/implementation_1/hal_ll_spi_master.c new file mode 100644 index 000000000..1c2bb14b9 --- /dev/null +++ b/targets/arm/mikroe/sam/src/spi_master/implementations/implementation_1/hal_ll_spi_master.c @@ -0,0 +1,663 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_spi_master.c + * @brief SPI Master HAL LOW LEVEL layer implementation. + */ + +#include "hal_ll_pmc.h" +#include "hal_ll_spi_master.h" +#include "hal_ll_spi_master_pin_map.h" + +/*!< @brief Local handle list */ +static volatile hal_ll_spi_master_handle_register_t hal_ll_module_state[SPI_MODULE_COUNT] = {(handle_t *)NULL, (handle_t *)NULL, false}; + +// ------------------------------------------------------------- PRIVATE MACROS + +/*!< @brief Helper macro for getting system clock */ +#define hal_ll_get_system_clock (Get_Fosc_kHz() * 1000) + +/*!< @brief Helper macro for getting hal_ll_module_state address */ +#define hal_ll_spi_master_get_module_state_address ((hal_ll_spi_master_handle_register_t *)*handle) +/*!< @brief Helper macro for getting module specific control register structure base address // first register address */ +#define hal_ll_spi_master_get_handle (hal_ll_spi_master_handle_register_t *)hal_ll_spi_master_get_module_state_address->hal_ll_spi_master_handle +/*!< @brief Helper macro for getting module specific base address directly from HAL layer handle */ +#define hal_ll_spi_master_get_base_from_hal_handle ((hal_ll_spi_master_hw_specifics_map_t *)((hal_ll_spi_master_handle_register_t *)\ + (((hal_ll_spi_master_handle_register_t *)(handle))->hal_ll_spi_master_handle))->hal_ll_spi_master_handle)->base + +/*!< @brief Macros defining bit location */ +#define HAL_LL_SPI_CSR_CPOL_BIT 0 +#define HAL_LL_SPI_CR_SPIEN_BIT 0 +#define HAL_LL_SPI_MR_MSTR_BIT 0 +#define HAL_LL_SPI_SR_RDRF_BIT 0 +#define HAL_LL_SPI_SR_TDRE_BIT 1 +#define HAL_LL_SPI_CSR_NCPHA_BIT 1 +#define HAL_LL_SPI_CR_SPIDIS_BIT 1 +#define HAL_LL_SPI_MR_PS_BIT 1 +#define HAL_LL_SPI_MR_PCSDEC_BIT 2 +#define HAL_LL_SPI_CR_SWRST_BIT 7 +#define HAL_LL_SPI_CSR_SCBR_START_BIT 8 +#define HAL_LL_PID_SPI1_BIT 10 +#define HAL_LL_PID_SPI0_BIT 21 + +/*!< @#brief Macros defining register masks */ +#define HAL_LL_CSR_BITS_MASK 0xF0 +#define HAL_LL_SPI_MR_PCS_MASK 0xE0000 + +/*!< @brief Macros used for calculating baud rate value */ +#define hal_ll_spi_master_get_divider(_fosc,_speed) (_fosc/_speed) +#define hal_ll_spi_master_get_actual_speed(_fosc,_divider) (_fosc/_divider) + +/*!< @brief Default SPI Master bit-rate if no speed is set */ +#define HAL_LL_SPI_MASTER_SPEED_100K 100000 + +// -------------------------------------------------------------- PRIVATE TYPES + +/*!< @brief SPI register structure. */ +typedef struct { + hal_ll_base_addr_t cr; + hal_ll_base_addr_t mr; + hal_ll_base_addr_t rdr; + hal_ll_base_addr_t tdr; + hal_ll_base_addr_t sr; + hal_ll_base_addr_t ier; + hal_ll_base_addr_t idr; + hal_ll_base_addr_t imr; + #ifndef QSPI_SPI + hal_ll_base_addr_t _unused[4]; + #endif + hal_ll_base_addr_t csr; +} hal_ll_spi_master_base_handle_t; + +/*!< @brief SPI Master hardware specific structure */ +typedef struct { + hal_ll_base_addr_t base; + uint8_t module_index; + hal_ll_spi_master_pins_t pins; + uint8_t dummy_data; + uint32_t speed; + uint32_t hw_actual_speed; + hal_ll_spi_master_mode_t mode; +} hal_ll_spi_master_hw_specifics_map_t; + +/*!< @brief SPI hw specific module values */ +typedef struct +{ + hal_ll_pin_name_t pin_sck; + hal_ll_pin_name_t pin_miso; + hal_ll_pin_name_t pin_mosi; +} hal_ll_spi_pin_id; + +/*!< @brief SPI Master hw specific error values */ +typedef enum { + HAL_LL_SPI_MASTER_SUCCESS = 0, + HAL_LL_SPI_MASTER_WRONG_PINS, + HAL_LL_SPI_MASTER_MODULE_ERROR, + + HAL_LL_SPI_MASTER_ERROR = (-1) +} hal_ll_spi_master_err_t; + +// ------------------------------------------------------------------ VARIABLES + +/*!< @brief SPI Master hardware specific info */ +static hal_ll_spi_master_hw_specifics_map_t hal_ll_spi_master_hw_specifics_map[] = { + #ifdef SPI_MODULE_0 + { HAL_LL_SPI0_MASTER_BASE_ADDR, hal_ll_spi_master_module_num( SPI_MODULE_0 ), { HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0 }, 0, HAL_LL_SPI_MASTER_SPEED_100K, 0, HAL_LL_SPI_MASTER_MODE_DEFAULT }, + #endif + #ifdef SPI_MODULE_1 + { HAL_LL_SPI1_MASTER_BASE_ADDR, hal_ll_spi_master_module_num( SPI_MODULE_1 ), { HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0 }, 0, HAL_LL_SPI_MASTER_SPEED_100K, 0, HAL_LL_SPI_MASTER_MODE_DEFAULT }, + #endif + + { HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR, { HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0 }, 0, 0, 0, 0 } +}; + +/*!< @brief Global handle variables used in functions */ +static volatile hal_ll_spi_master_handle_register_t *low_level_handle; +static volatile hal_ll_spi_master_hw_specifics_map_t *hal_ll_spi_master_hw_specifics_map_local; + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Check if pins are adequate. + * + * Checks SCK, MISO and MOSI pins the user has passed with pre-defined + * pins in SCK, MISO and MOSI maps. Take into consideration that module + * index numbers have to be the same for both pins. + * + * @param[in] sck - SCK pre-defined pin name. + * @param[in] miso - MISO pre-defined pin name. + * @param[in] mosi - MOSI pre-defined pin name. + * @param[in] *index_list - Index list address + * @return hal_ll_pin_name_t Module index based on pins. + * + * Returns pre-defined module index from pin maps, if pins + * are adequate. + */ +static hal_ll_pin_name_t hal_ll_spi_master_check_pins( hal_ll_pin_name_t sck, hal_ll_pin_name_t miso, hal_ll_pin_name_t mosi, hal_ll_spi_pin_id *index_list, hal_ll_spi_master_handle_register_t *handle_map ); + +/** + * @brief Get local hardware specific map. + * + * Checks handle value and returns address of adequate + * hal_ll_spi_master_hw_specifics_map array index. + * + * @param[in] handle - Object specific context handler. + * @return hal_ll_spi_master_hw_specifics_map_t Map address. + * + * Returns pre-defined map index address based on handle value, + * if handle is adequate. + */ +static hal_ll_spi_master_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ); + +/** + * @brief Enable clock for SPI Master module on hardware level. + * + * Initializes SPI Master module clock on hardware level, based on beforehand + * set configuration and module handler. + * + * @param[in] *map - Object specific context handler. + * @param[in] hal_ll_state - True(enable clock)/False(disable clock). + * @param[in] *clock_value - SPI Master baud rate value taken from a specific peripheral clock bus. + * @return None + */ +static void hal_ll_spi_master_set_clock( hal_ll_spi_master_hw_specifics_map_t *map, bool hal_ll_state, uint32_t *clock_value ); + +/** + * @brief Sets SPI Master pin alternate function state. + * + * Sets adequate value for alternate function settings. + * This function must be called if SPI is to work. + * Based on value of hal_ll_state, alternate functions can be + * set or cleared. + * + * @param[in] *map - Object specific context handler. + * @param[in] hal_ll_state - Init/De-init + */ +static void hal_ll_spi_master_alternate_functions_set_state( hal_ll_spi_master_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Full SPI Master module initialization procedure. + * + * Initializes SPI Master module on hardware level, based on beforehand + * set configuration and module handler. Sets adequate pin alternate functions. + * Initializes module clock. + * + * @param[in] *map - Object specific context handler. + * @return hal_ll_err_t Module specific values. + * + * Returns one of pre-defined values. + * Take into consideration that this is hardware specific. + */ +static void hal_ll_spi_master_init( hal_ll_spi_master_hw_specifics_map_t *map ); + +/** + * @brief Perform a read on the SPI Master bus. + * + * Initializes SPI Master module on hardware level, if not initialized beforehand + * and continues to perform a read operation on the bus. + * + * @param[in] *map - Object specific context handler. + * @param[in] *read_data_buffer - Pointer to data buffer. + * @param[in] read_data_length - Number of data to be read. + * @param[in] dummy_data - Data required for read procedure. + * @return hal_ll_err_t Module specific error values. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +static void hal_ll_spi_master_read_bare_metal( hal_ll_spi_master_base_handle_t *hal_ll_hw_reg, uint8_t *read_data_buffer, size_t read_data_length, uint8_t dummy_data ); + +/** + * @brief Perform a write on the SPI Master bus. + * + * Initializes SPI Master module on hardware level, if not initialized beforehand + * and continues to perform a write operation on the bus. + * + * @param[in] map - Object specific context handler. + * @param[in] *write_data_buffer - Pointer to data buffer. + * @param[in] write_data_length - Number of data to be written. + * @return hal_ll_err_t Module specific error values. + * + * Returns one of pre-defined error values. + * Take into consideration that this is hardware specific. + */ +static void hal_ll_spi_master_write_bare_metal( hal_ll_spi_master_base_handle_t *hal_ll_hw_reg, uint8_t *write_data_buffer, size_t write_data_length ); + +/** + * @brief Maps new-found module specific values. + * + * Maps pin names and alternate function values for + * SPI SCK, MISO and MOSI pins. + * + * @param[in] module_index SPI HW module index -- 0,1,2... + * @param[in] *index_list Array with SCK, MISO and MOSI map index values + * and module number + * + * @return None + */ +static void hal_ll_spi_master_map_pins( uint8_t module_index, hal_ll_spi_pin_id *index_list ); + + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS + +hal_ll_err_t hal_ll_spi_master_register_handle( hal_ll_pin_name_t sck, hal_ll_pin_name_t miso, hal_ll_pin_name_t mosi, hal_ll_spi_master_handle_register_t *handle_map, uint8_t *hal_module_id ) { + hal_ll_spi_pin_id index_list[ SPI_MODULE_COUNT ] = { HAL_LL_PIN_NC, HAL_LL_PIN_NC, HAL_LL_PIN_NC }; + uint16_t pin_check_result; + + // Check user-defined pins. + if ( ( pin_check_result = hal_ll_spi_master_check_pins( sck, miso, mosi, &index_list, handle_map ) ) == HAL_LL_PIN_NC ) { + return HAL_LL_SPI_MASTER_WRONG_PINS; + }; + + // If user has come with the same SPI hardware module, and with the same pair of the pins, the pin mapping procedure + // will not have to take a place; otherwise, clear af-s, map new pins, set af-s, and set init state to false. + if (( hal_ll_spi_master_hw_specifics_map[ pin_check_result ].pins.sck.pin_name != sck ) || + ( hal_ll_spi_master_hw_specifics_map[ pin_check_result ].pins.miso.pin_name != miso ) || + ( hal_ll_spi_master_hw_specifics_map[ pin_check_result ].pins.mosi.pin_name != mosi ) ) { + + hal_ll_spi_master_alternate_functions_set_state( &hal_ll_spi_master_hw_specifics_map[ pin_check_result ], false ); + + hal_ll_spi_master_map_pins( pin_check_result, &index_list ); + + hal_ll_spi_master_alternate_functions_set_state( &hal_ll_spi_master_hw_specifics_map[ pin_check_result ], true ); + + handle_map[ pin_check_result ].init_ll_state = false; + } + + // Return id of the SPI module that is going to be used. + *hal_module_id = pin_check_result; + + // Insert current module into hal_ll_module_state map. + hal_ll_module_state[ pin_check_result ].hal_ll_spi_master_handle = ( handle_t *)&hal_ll_spi_master_hw_specifics_map[ pin_check_result ].base; + + // Return the same info about module one level up ( into the HAL level ). + handle_map[ pin_check_result ].hal_ll_spi_master_handle = ( handle_t *)&hal_ll_module_state[ pin_check_result ].hal_ll_spi_master_handle; + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +hal_ll_err_t hal_ll_module_configure_spi( handle_t *handle ) { + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + hal_ll_spi_master_handle_register_t *hal_handle = ( hal_ll_spi_master_handle_register_t *) *handle; + uint8_t pin_check_result = hal_ll_spi_master_hw_specifics_map_local->module_index; + + hal_ll_spi_master_init(hal_ll_spi_master_hw_specifics_map_local); + + hal_ll_module_state[ pin_check_result ].hal_ll_spi_master_handle = ( handle_t *)&hal_ll_spi_master_hw_specifics_map[ pin_check_result ].base; + hal_ll_module_state[ pin_check_result ].init_ll_state = true; + hal_handle->init_ll_state = true; + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +void hal_ll_spi_master_set_default_write_data( handle_t *handle, uint8_t dummy_data ) { + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + if ( hal_ll_spi_master_hw_specifics_map_local->base != HAL_LL_MODULE_ERROR ) { + hal_ll_spi_master_hw_specifics_map_local->dummy_data = dummy_data; + } +} + +hal_ll_err_t hal_ll_spi_master_write( handle_t *handle, uint8_t *write_data_buffer, size_t length_data ) { + // Get low level HAL handle. + low_level_handle = hal_ll_spi_master_get_handle; + + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + hal_ll_spi_master_write_bare_metal( hal_ll_spi_master_hw_specifics_map_local->base, write_data_buffer, length_data ); + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +hal_ll_err_t hal_ll_spi_master_read( handle_t *handle, uint8_t *read_data_buffer, size_t length_data ) { + // Get low level HAL handle. + low_level_handle = hal_ll_spi_master_get_handle; + + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + hal_ll_spi_master_read_bare_metal( hal_ll_spi_master_hw_specifics_map_local->base, read_data_buffer, length_data, hal_ll_spi_master_hw_specifics_map_local->dummy_data ); + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +hal_ll_err_t hal_ll_spi_master_write_then_read( handle_t *handle, uint8_t *write_data_buffer, size_t length_write_data, uint8_t *read_data_buffer, size_t length_read_data ) { + // Get low level HAL handle. + low_level_handle = hal_ll_spi_master_get_handle; + + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + hal_ll_spi_master_write_bare_metal( hal_ll_spi_master_hw_specifics_map_local->base, write_data_buffer, length_write_data ); + + hal_ll_spi_master_read_bare_metal( hal_ll_spi_master_hw_specifics_map_local->base, read_data_buffer, length_read_data, hal_ll_spi_master_hw_specifics_map_local->dummy_data ); + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +uint32_t hal_ll_spi_master_set_speed( handle_t *handle, uint32_t speed ) { + // Get low level HAL handle. + low_level_handle = hal_ll_spi_master_get_handle; + + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + low_level_handle->init_ll_state = false; + + // Insert user-defined baud rate into local map. + hal_ll_spi_master_hw_specifics_map_local->speed = speed; + + // Init once again, but with updated SPI Master baud rate value. + hal_ll_spi_master_init( hal_ll_spi_master_hw_specifics_map_local ); + + low_level_handle->init_ll_state = true; + + // Return value of the SPI Master baud rate value. + return hal_ll_spi_master_hw_specifics_map_local->hw_actual_speed; +} + +hal_ll_err_t hal_ll_spi_master_set_mode( handle_t *handle, hal_ll_spi_master_mode_t mode ) { + // Get low level HAL handle. + low_level_handle = hal_ll_spi_master_get_handle; + // Get appropriate hw specifics map. + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + low_level_handle->init_ll_state = false; + + // Insert user-defined mode into local map. + hal_ll_spi_master_hw_specifics_map_local->mode = mode; + + // Init once again, but with updated SPI Master mode value. + hal_ll_spi_master_init( hal_ll_spi_master_hw_specifics_map_local ); + + low_level_handle->init_ll_state = true; + + return HAL_LL_SPI_MASTER_SUCCESS; +} + +void hal_ll_spi_master_close( handle_t* handle ) { + uint32_t dummy; + low_level_handle = hal_ll_spi_master_get_handle; + hal_ll_spi_master_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_spi_master_get_module_state_address ); + + if ( low_level_handle->hal_ll_spi_master_handle != NULL ) { + low_level_handle->hal_ll_spi_master_handle = NULL; + low_level_handle->hal_drv_spi_master_handle = NULL; + + low_level_handle->init_ll_state = false; + + hal_ll_spi_master_hw_specifics_map_local->mode = HAL_LL_SPI_MASTER_MODE_DEFAULT; + hal_ll_spi_master_hw_specifics_map_local->speed = HAL_LL_SPI_MASTER_SPEED_100K; + hal_ll_spi_master_hw_specifics_map_local->dummy_data = 0; + hal_ll_spi_master_hw_specifics_map_local->hw_actual_speed = 0; + + hal_ll_spi_master_set_clock( hal_ll_spi_master_hw_specifics_map_local, true, &dummy ); + hal_ll_spi_master_alternate_functions_set_state( hal_ll_spi_master_hw_specifics_map_local, false ); + hal_ll_spi_master_set_clock( hal_ll_spi_master_hw_specifics_map_local, false, &dummy ); + + hal_ll_spi_master_hw_specifics_map_local->pins.sck.pin_name = HAL_LL_PIN_NC; + hal_ll_spi_master_hw_specifics_map_local->pins.miso.pin_name = HAL_LL_PIN_NC; + hal_ll_spi_master_hw_specifics_map_local->pins.mosi.pin_name = HAL_LL_PIN_NC; + hal_ll_spi_master_hw_specifics_map_local->pins.sck.pin_af = 0; + hal_ll_spi_master_hw_specifics_map_local->pins.miso.pin_af = 0; + hal_ll_spi_master_hw_specifics_map_local->pins.mosi.pin_af = 0; + } +} + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS + +uint8_t hal_ll_spi_master_transfer_bare_metal( hal_ll_spi_master_base_handle_t *hal_ll_hw_reg, uint8_t data_buffer ) { + // Wait for the Transmit Data Register to be empty. + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_SPI_SR_TDRE_BIT ) ) ); + + // Write data to the Transmit Data Register. + write_reg( &hal_ll_hw_reg->tdr, data_buffer ); + + // Wait for the transmission to complete. + while ( !( check_reg_bit( &hal_ll_hw_reg->sr, HAL_LL_SPI_SR_RDRF_BIT ) ) ); + + // Return read data. + return *( ( volatile uint8_t *)&hal_ll_hw_reg->rdr ); +} + +static void hal_ll_spi_master_write_bare_metal( hal_ll_spi_master_base_handle_t *hal_ll_hw_reg, uint8_t *write_data_buffer, size_t write_data_length ) { + size_t transfer_counter = 0; + + // Write the first data to be transmitted into the SPI_DR register. + for( transfer_counter = 0; transfer_counter < write_data_length; transfer_counter++ ) { + // If we are good to go ( if the tx buffer value has been shifted to the shift register ), write the data. + hal_ll_spi_master_transfer_bare_metal( hal_ll_hw_reg, write_data_buffer[ transfer_counter ] ); + } +} + +static void hal_ll_spi_master_read_bare_metal( hal_ll_spi_master_base_handle_t *hal_ll_hw_reg, uint8_t *read_data_buffer, size_t read_data_length, uint8_t dummy_data ) { + size_t transfer_counter = 0; + + // Read the first data to be transmitted into the SPI_DR register. + for( transfer_counter = 0; transfer_counter < read_data_length; transfer_counter++ ) { + // If we are good to go ( if the value from shift register has been shifted to the rx register ), read the data. + read_data_buffer[ transfer_counter ] = hal_ll_spi_master_transfer_bare_metal( hal_ll_hw_reg, dummy_data ); + } +} + +static hal_ll_pin_name_t hal_ll_spi_master_check_pins( hal_ll_pin_name_t sck_pin, hal_ll_pin_name_t miso_pin, hal_ll_pin_name_t mosi_pin, hal_ll_spi_pin_id *index_list, hal_ll_spi_master_handle_register_t *handle_map ) { + static const uint16_t sck_map_size = ( sizeof( _spi_sck_map ) ) / ( sizeof( hal_ll_spi_master_pin_map_t ) ); + static const uint16_t miso_map_size = ( sizeof( _spi_miso_map ) ) / ( sizeof( hal_ll_spi_master_pin_map_t ) ); + static const uint16_t mosi_map_size = ( sizeof( _spi_mosi_map ) ) / ( sizeof( hal_ll_spi_master_pin_map_t ) ); + uint8_t hal_ll_module_id = 0; + uint8_t index_counter = 0; + uint16_t miso_index; + uint16_t mosi_index; + uint16_t sck_index; + + if ( ( HAL_LL_PIN_NC == sck_pin ) || ( HAL_LL_PIN_NC == miso_pin ) || ( HAL_LL_PIN_NC == mosi_pin ) ) { + return HAL_LL_PIN_NC; + } + + // Check pins from the specific pin maps with the user defined pins. + for ( sck_index = 0; sck_index < sck_map_size; sck_index++ ) { + if ( _spi_sck_map[ sck_index ].pin == sck_pin ) { + for ( miso_index = 0; miso_index < miso_map_size; miso_index++ ) { + if ( _spi_miso_map[ miso_index ].pin == miso_pin ) { + if ( _spi_sck_map[ sck_index ].module_index ==_spi_miso_map[ miso_index ].module_index ) { + for ( mosi_index = 0; mosi_index < mosi_map_size; mosi_index++ ) { + if ( _spi_mosi_map[mosi_index ].pin == mosi_pin ) { + if ( _spi_sck_map[sck_index].module_index ==_spi_mosi_map[ mosi_index ].module_index ) { + // Get module number + hal_ll_module_id = _spi_sck_map[ sck_index ].module_index; + + // Map pin names + index_list[ hal_ll_module_id ].pin_sck = sck_index; + index_list[ hal_ll_module_id ].pin_miso = miso_index; + index_list[ hal_ll_module_id ].pin_mosi = mosi_index; + + // Check if module is taken + if ( NULL == handle_map[hal_ll_module_id].hal_drv_spi_master_handle ) { + return hal_ll_module_id; + } else if ( SPI_MODULE_COUNT == ++index_counter ) { + return --index_counter; + } + } + } + } + } + } + } + } + } + + if ( index_counter ) { + return hal_ll_module_id; + } else { + return HAL_LL_PIN_NC; + } +} + +static void hal_ll_spi_master_map_pins( uint8_t module_index, hal_ll_spi_pin_id *index_list ) { + // if every single pin is OK, insert them into this new map, and use this map in all low level functions. + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.sck.pin_name = _spi_sck_map[ index_list[ module_index ].pin_sck ].pin; + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.miso.pin_name = _spi_miso_map[ index_list[ module_index ].pin_miso ].pin; + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.mosi.pin_name = _spi_mosi_map[ index_list[ module_index ].pin_mosi ].pin; + + // SCK, MISO and MOSI pins could have different alternate function settings, hence save all the AF-s. + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.sck.pin_af = _spi_sck_map[ index_list[ module_index ].pin_sck ].af; + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.miso.pin_af = _spi_miso_map[ index_list[ module_index ].pin_miso ].af; + hal_ll_spi_master_hw_specifics_map[ module_index ].pins.mosi.pin_af = _spi_mosi_map[ index_list[ module_index ].pin_mosi ].af; +} + +static hal_ll_spi_master_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ) { + uint8_t hal_ll_module_count = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_spi_master_handle_register_t ) ); + + static uint8_t hal_ll_module_error = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_spi_master_handle_register_t ) ); + + while ( hal_ll_module_count-- ) { + if ( hal_ll_spi_master_get_base_from_hal_handle == hal_ll_spi_master_hw_specifics_map[ hal_ll_module_count ].base ) { + return &hal_ll_spi_master_hw_specifics_map[ hal_ll_module_count ]; + } + } + + // If NOK, return pointer to the last row of this map ( point to null pointer ). + return &hal_ll_spi_master_hw_specifics_map[hal_ll_module_error]; +} + +static void hal_ll_spi_master_set_clock( hal_ll_spi_master_hw_specifics_map_t *map, bool hal_ll_state, uint32_t *clock_value ) { + switch ( map->module_index ) { + #ifdef SPI_MODULE_0 + case ( hal_ll_spi_master_module_num( SPI_MODULE_0 ) ): + ( hal_ll_state == true )?( set_reg_bit( _PMC_PCER0, HAL_LL_PID_SPI0_BIT ) ):( set_reg_bit( _PMC_PCDR0, HAL_LL_PID_SPI0_BIT ) ); + break; + #endif + #ifdef SPI_MODULE_1 + case ( hal_ll_spi_master_module_num( SPI_MODULE_1 ) ): + ( hal_ll_state == true )?( set_reg_bit( _PMC_PCER1, HAL_LL_PID_SPI1_BIT ) ):( set_reg_bit( _PMC_PCDR1, HAL_LL_PID_SPI1_BIT ) ); + break; + #endif + + default: + break; + } + + *clock_value = hal_ll_get_system_clock; +} + +static void hal_ll_spi_master_alternate_functions_set_state( hal_ll_spi_master_hw_specifics_map_t *map, bool hal_ll_state ) { + module_struct module; + + if((map->pins.sck.pin_name != HAL_LL_PIN_NC) && (map->pins.miso.pin_name != HAL_LL_PIN_NC) && (map->pins.miso.pin_name != HAL_LL_PIN_NC)) { + module.pins[0] = map->pins.sck.pin_name; + module.pins[1] = map->pins.miso.pin_name; + module.pins[2] = map->pins.mosi.pin_name; + module.pins[3] = GPIO_MODULE_STRUCT_END; + + module.configs[0] = map->pins.sck.pin_af; + module.configs[1] = map->pins.miso.pin_af; + module.configs[2] = map->pins.mosi.pin_af; + module.configs[3] = GPIO_MODULE_STRUCT_END; + + hal_ll_gpio_module_struct_init(&module, hal_ll_state); + } +} + +static uint32_t hal_ll_spi_master_hw_init( hal_ll_spi_master_hw_specifics_map_t *map, uint32_t clock_value ) { + uint8_t divider; + + hal_ll_spi_master_base_handle_t *hal_ll_hw_reg = (hal_ll_spi_master_base_handle_t *)map->base; + + // Reset and disable SPI before configuration. + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_SPI_CR_SWRST_BIT ); + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_SPI_CR_SPIDIS_BIT ); + + // Populate appropriate register values to get appropriate data transfer baud rate prescalers. + divider = hal_ll_spi_master_get_divider( clock_value, map->speed ); + write_reg( &hal_ll_hw_reg->csr, divider << HAL_LL_SPI_CSR_SCBR_START_BIT ); + + // Choose whether idle state for the clock is high level (1) or low level (0). + if ( map->mode <= HAL_LL_SPI_MASTER_MODE_1 ) { + clear_reg_bit( &hal_ll_hw_reg->csr, HAL_LL_SPI_CSR_CPOL_BIT ); + } else { + set_reg_bit( &hal_ll_hw_reg->csr, HAL_LL_SPI_CSR_CPOL_BIT ); + } + + // Choose whether transmit occurs on the transition from ACTIVE to IDLE (1), or vice versa (0). + if ( map->mode == HAL_LL_SPI_MASTER_MODE_0 || map->mode == HAL_LL_SPI_MASTER_MODE_2 ) { + set_reg_bit( &hal_ll_hw_reg->csr, HAL_LL_SPI_CSR_NCPHA_BIT ); + } else { + clear_reg_bit( &hal_ll_hw_reg->csr, HAL_LL_SPI_CSR_NCPHA_BIT ); + } + + // Enable variable peripheral select. + set_reg_bit( &hal_ll_hw_reg->mr, HAL_LL_SPI_MR_PS_BIT ); + + // Enable chip select decoding. + set_reg_bit( &hal_ll_hw_reg->mr, HAL_LL_SPI_MR_PCSDEC_BIT ); + + // Enable independant CS lines. + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_SPI_MR_PCS_MASK ); + + #ifdef QSPI_SPI + // Configure QSPI in SPI mode + clear_reg_bit( &hal_ll_hw_reg->mr, HAL_LL_SPI_MR_MSTR_BIT ); + #else + // Configure SPI in Host mode. + set_reg_bit( &hal_ll_hw_reg->mr, HAL_LL_SPI_MR_MSTR_BIT ); + #endif + + // Set FIFO reception threshold to 8-bit. + clear_reg_bits( &hal_ll_hw_reg->csr, HAL_LL_CSR_BITS_MASK ); + + // Enable SPI peripheral. + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_SPI_CR_SPIEN_BIT ); + + return ( hal_ll_spi_master_get_actual_speed( clock_value, divider ) ); +} + +static void hal_ll_spi_master_init( hal_ll_spi_master_hw_specifics_map_t *map ) { + uint32_t clock_value; + + // Enable specific clock module. + hal_ll_spi_master_set_clock( map, true, &clock_value ); + + // Enable specific alternate functions. + hal_ll_spi_master_alternate_functions_set_state( map, true ); + + // Finally, write user-defined settings into hardware registers. + hal_ll_spi_master_hw_init( map, clock_value ); +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/tim/CMakeLists.txt b/targets/arm/mikroe/sam/src/tim/CMakeLists.txt new file mode 100644 index 000000000..74490591c --- /dev/null +++ b/targets/arm/mikroe/sam/src/tim/CMakeLists.txt @@ -0,0 +1,59 @@ +## ./targets/arm/mikroe/sam/src/tim/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_TIM") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +## BEGIN TIM +if (${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(tim_subimplementation "implementations/implementation_1") +endif() +## END TIM + +mikrosdk_add_library(lib_hal_ll_tim MikroSDK.HalLowLevel.TIM + ${tim_subimplementation}/hal_ll_tim.c + + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + # BEGIN TIM + ../../include/tim/hal_ll_tim.h + ../../include/tim/hal_ll_tim_pin_map/${tim_subimplementation}/hal_ll_tim_pin_map.h + # END TIM +) + +target_compile_definitions(lib_hal_ll_tim PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_tim PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) + +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_tim + PRIVATE + ../../include + ../../include/gpio + ../../include/gpio/${tim_subimplementation} + # BEGIN TIM + ../../include/tim + ../../include/tim/hal_ll_tim_pin_map/${tim_subimplementation} + # END TIM + + INTERFACE + $ + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.TIM) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.TIM ../../include/tim/hal_ll_tim.h) diff --git a/targets/arm/mikroe/sam/src/tim/implementations/implementation_1/hal_ll_tim.c b/targets/arm/mikroe/sam/src/tim/implementations/implementation_1/hal_ll_tim.c new file mode 100644 index 000000000..21a938c31 --- /dev/null +++ b/targets/arm/mikroe/sam/src/tim/implementations/implementation_1/hal_ll_tim.c @@ -0,0 +1,756 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_tim.c + * @brief TIM HAL LOW LEVEL layer implementation. + */ + +#include "hal_ll_gpio.h" +#include "hal_ll_pmc.h" +#include "hal_ll_tim.h" +#include "hal_ll_tim_pin_map.h" + +/*!< @brief Local handle list */ +static volatile hal_ll_tim_handle_register_t hal_ll_module_state[ TIM_MODULE_COUNT ]; + +// ------------------------------------------------------------- PRIVATE MACROS +/*!< @brief Register bits macros. */ +#define HAL_LL_TC_CCR_CLKEN_BIT 0 +#define HAL_LL_TC_CCR_CLKDIS_BIT 1 +#define HAL_LL_TC_CCR_SWTRG_BIT 2 +#define HAL_LL_TC_EMR_NODIVCLK_BIT 8 +#define HAL_LL_TC_CMR_WAVE_BIT 15 +#define HAL_LL_PID_TC6_BIT 15 +#define HAL_LL_PID_TC7_BIT 16 +#define HAL_LL_PID_TC8_BIT 17 +#define HAL_LL_PID_TC9_BIT 18 +#define HAL_LL_PID_TC10_BIT 19 +#define HAL_LL_PID_TC11_BIT 20 +#define HAL_LL_PID_TC0_BIT 23 +#define HAL_LL_PID_TC1_BIT 24 +#define HAL_LL_PID_TC2_BIT 25 +#define HAL_LL_PID_TC3_BIT 26 +#define HAL_LL_PID_TC4_BIT 27 +#define HAL_LL_PID_TC5_BIT 28 + +/*!< @brief Register masks macros. */ +#define HAL_LL_TC_CMR_TIMER_CLOCK2_MASK 0x1 +#define HAL_LL_TC_CMR_TIMER_CLOCK3_MASK 0x2 +#define HAL_LL_TC_CMR_TIMER_CLOCK4_MASK 0x3 +#define HAL_LL_TC_CMR_EEVT_XC0_MASK 0x0400 +#define HAL_LL_TC_CMR_WAVSEL_UP_RC_MASK 0x4000 +#define HAL_LL_TC_CMR_ACPA_CLEAR_MASK 0x20000 +#define HAL_LL_TC_CMR_ACPC_SET_MASK 0x40000 +#define HAL_LL_TC_CMR_BCPB_CLEAR_MASK 0x2000000 +#define HAL_LL_TC_CMR_BCPC_SET_MASK 0x4000000 + +/*!< @brief Helper macro fpr getting clock speed */ +#define hal_ll_get_system_clock (Get_Fosc_kHz() * 1000) +#define hal_ll_tim_timer_clock_2 (hal_ll_get_system_clock / 8) +#define hal_ll_tim_timer_clock_3 (hal_ll_get_system_clock / 32) +#define hal_ll_tim_timer_clock_4 (hal_ll_get_system_clock / 128) + +/*!< @brief Helper macro for getting module specific control register structure */ +#define hal_ll_tim_get_base_struct(_handle) ((hal_ll_tim_base_handle_t *)_handle) + +/*!< @brief Helper macro for getting hal_ll_module_state address */ +#define hal_ll_tim_get_module_state_address ((hal_ll_tim_handle_register_t *)*handle) + +/*!< @brief Helper macro for getting module specific control register structure base address // first register address */ +#define hal_ll_tim_get_handle ( hal_ll_tim_handle_register_t * )hal_ll_tim_get_module_state_address->hal_ll_tim_handle + +/*!< @brief Helper macro for getting module specific base address directly from HAL layer handle */ +#define hal_ll_tim_get_base_from_hal_handle ((hal_ll_tim_hw_specifics_map_t *)((hal_ll_tim_handle_register_t *)\ + (((hal_ll_tim_handle_register_t *)(handle))->hal_ll_tim_handle))->hal_ll_tim_handle)->base + +// -------------------------------------------------------------- PRIVATE TYPES +/*!< @brief TIM channel register ctructure. */ +typedef struct +{ + hal_ll_base_addr_t ccr; + hal_ll_base_addr_t cmr; + hal_ll_base_addr_t smmr; + hal_ll_base_addr_t rab; + hal_ll_base_addr_t cv; + hal_ll_base_addr_t ra; + hal_ll_base_addr_t rb; + hal_ll_base_addr_t rc; + hal_ll_base_addr_t sr; + hal_ll_base_addr_t ier; + hal_ll_base_addr_t idr; + hal_ll_base_addr_t imr; + hal_ll_base_addr_t emr; + hal_ll_base_addr_t _unused[3]; +} hal_ll_tim_channel_handle_t; + +/*!< @brief TIM register structure. */ +typedef struct +{ + hal_ll_tim_channel_handle_t channel[3]; +} hal_ll_tim_base_handle_t; + +/*!< @brief TIM pin structure */ +typedef struct +{ + hal_ll_pin_name_t pin; + hal_ll_channel_t channel; + uint8_t af; +} hal_ll_tim_t; + +/*!< @brief TIM hw specific structure */ +typedef struct +{ + hal_ll_base_addr_t base; + hal_ll_tim_t config; + uint16_t max_period; + uint32_t freq_hz; + hal_ll_pin_name_t module_index; +} hal_ll_tim_hw_specifics_map_t; + +/*!< @brief TIM hw specific error values */ +typedef enum +{ + HAL_LL_TIM_SUCCESS = 0, + HAL_LL_TIM_MODULE_ERROR, + HAL_LL_TIM_WRONG_PIN, + + HAL_LL_TIM_ERROR = (-1) +} hal_ll_tim_err_t; + +// ------------------------------------------------------------------ VARIABLES +/*!< @brief TIM specific info */ +static hal_ll_tim_hw_specifics_map_t hal_ll_tim_hw_specifics_map[] = +{ + #ifdef TIM_MODULE_0 + {HAL_LL_TIM0_BASE_ADDRESS, {HAL_LL_PIN_NC, NULL, HAL_LL_PIN_NC}, 0, 0, hal_ll_tim_module_num(TIM_MODULE_0)}, + #endif + #ifdef TIM_MODULE_1 + {HAL_LL_TIM1_BASE_ADDRESS, {HAL_LL_PIN_NC, NULL, HAL_LL_PIN_NC}, 0, 0, hal_ll_tim_module_num(TIM_MODULE_1)}, + #endif + #ifdef TIM_MODULE_2 + {HAL_LL_TIM2_BASE_ADDRESS, {HAL_LL_PIN_NC, NULL, HAL_LL_PIN_NC}, 0, 0, hal_ll_tim_module_num(TIM_MODULE_2)}, + #endif + #ifdef TIM_MODULE_3 + {HAL_LL_TIM3_BASE_ADDRESS, {HAL_LL_PIN_NC, NULL, HAL_LL_PIN_NC}, 0, 0, hal_ll_tim_module_num(TIM_MODULE_3)}, + #endif + + {HAL_LL_MODULE_ERROR, {HAL_LL_PIN_NC, NULL, HAL_LL_PIN_NC}, 0, 0, HAL_LL_PIN_NC} +}; + +/*!< @brief Global handle variables used in functions */ +static volatile hal_ll_tim_handle_register_t *low_level_handle; +static volatile hal_ll_tim_hw_specifics_map_t *hal_ll_tim_hw_specifics_map_local; + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Enable TIM module 0 clock. + * @param hal_ll_stat - True(enable clock)/False(disable clock). + * @param channel - TIM0 channel. + * @return none + */ +static inline void _hal_ll_tim0_set_clock( hal_ll_channel_t channel, bool hal_ll_state ); + +/** + * @brief Enable TIM module 1 clock. + * @param hal_ll_stat - True(enable clock)/False(disable clock). + * @param channel - TIM1 channel. + * @return none + */ +static inline void _hal_ll_tim1_set_clock( hal_ll_channel_t channel, bool hal_ll_state ); + +/** + * @brief Enable TIM module 2 clock. + * @param hal_ll_stat - True(enable clock)/False(disable clock). + * @param channel - TIM2 channel. + * @return none + */ +static inline void _hal_ll_tim2_set_clock( hal_ll_channel_t channel, bool hal_ll_state ); + +/** + * @brief Enable TIM module 3 clock. + * @param hal_ll_stat - True(enable clock)/False(disable clock). + * @param channel - TIM3 channel. + * @return none + */ +static inline void _hal_ll_tim3_set_clock( hal_ll_channel_t channel, bool hal_ll_state ); + +/** + * @brief Enable TIM module gate clock. + * @param map - Object specific context handler. + * @return None + */ +static void _hal_ll_tim_set_clock( hal_ll_tim_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Based on selected TIM, + * return clock speed. + * @param map - Object specific context handler. + * @return uint32_t clock source. + */ +static uint32_t _hal_ll_tim_get_clock_speed( hal_ll_tim_hw_specifics_map_t *map ); + +/** + * @brief Initialize TIM module on hardware level. + * + * Initializes TIM module on hardware level, based on beforehand + * set configuration and module handler. + * + * @param map - Object specific context handler. + * @return none + * + */ +static void _hal_ll_tim_hw_init( hal_ll_tim_hw_specifics_map_t *map ); + +/** + * @brief Full TIM module initialization procedure. + * + * Initializes TIM module on hardware level, based on beforehand + * set configuration and module handler. Sets adequate pin alternate functions. + * Initializes module clock. + * + * @param map - Object specific context handler. + * @return none + * + */ +static void _hal_ll_tim_init( hal_ll_tim_hw_specifics_map_t *map ); + +/** + * @brief Get local hardware specific map. + * + * Checks handle value and returns address of adequate + * hal_ll_tim_hw_specifics_map array index. + * + * @param handle - Object specific context handler. + * @return hal_ll_tim_hw_specifics_map_t Map address. + * + * Returns pre-defined map index address based on handle value, + * if handle is adequate. + */ +static hal_ll_tim_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ); + +/** + * @brief Check if pin is adequate. + * + * Checks tim pin the user has passed with pre-defined + * pin in tim map. + * + * @param pin - TIM pre-defined pin name. + * @return hal_ll_pin_name_t Module index based on pin. + * + * Returns pre-defined module index from pin maps, if pin + * is adequate. + */ +static hal_ll_pin_name_t _hal_ll_tim_check_pin( hal_ll_pin_name_t pin, uint8_t *index, hal_ll_tim_handle_register_t *handle_map ); + +/** + * @brief Maps new-found module specific values. + * + * Maps pin names and alternate function values for + * TIM pin. + * + * @param[in] module_index TIM HW module index -- 0,1,2... + * @param[in] *index_list Array with TIM map index values + * + * @return None + */ +static void _hal_ll_tim_map_pin( uint8_t module_index, uint8_t index ); + +/** + * @brief Sets TIM pin alternate function state. + * + * Sets adequate value for alternate function settings. + * This function must be called if TIM is to work. + * Based on value of hal_ll_state, alternate functions can be + * set or cleared. + * + * @param map - Object specific context handler. + * + * @param hal_ll_state - Init/De-init + * @return none + * + */ +static void _hal_ll_tim_alternate_functions_set_state( hal_ll_tim_hw_specifics_map_t *map, bool hal_ll_state ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS +hal_ll_err_t hal_ll_tim_register_handle( hal_ll_pin_name_t pin, hal_ll_tim_handle_register_t *handle_map, + uint8_t *hal_module_id ) { + + uint8_t index; + uint16_t pin_check_result; + + if ( ( pin_check_result = _hal_ll_tim_check_pin( pin, &index, handle_map ) ) == HAL_LL_PIN_NC ) { + return HAL_LL_TIM_WRONG_PIN; + } + + if ( hal_ll_tim_hw_specifics_map[ pin_check_result ].config.pin != pin ){ + // Clear previous module alternate functions + _hal_ll_tim_alternate_functions_set_state( &hal_ll_tim_hw_specifics_map[ pin_check_result ], false ); + + _hal_ll_tim_map_pin( pin_check_result, index ); + + _hal_ll_tim_alternate_functions_set_state( &hal_ll_tim_hw_specifics_map[ pin_check_result ], true ); + + handle_map[ pin_check_result ].init_ll_state = false; + + hal_ll_module_state[ pin_check_result ].init_ll_state = false; + + } + + *hal_module_id = pin_check_result; + + hal_ll_module_state[ pin_check_result ].hal_ll_tim_handle = ( handle_t * )&hal_ll_tim_hw_specifics_map[ pin_check_result ].base; + + handle_map[ pin_check_result ].hal_ll_tim_handle = ( handle_t *)&hal_ll_module_state[ pin_check_result ].hal_ll_tim_handle; + + return HAL_LL_TIM_SUCCESS; +} + +hal_ll_err_t hal_ll_module_configure_tim( handle_t *handle ) { + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_tim_get_module_state_address ); + hal_ll_tim_handle_register_t *hal_handle = ( hal_ll_tim_handle_register_t *)*handle; + uint8_t pin_check_result = hal_ll_tim_hw_specifics_map_local->module_index; + + _hal_ll_tim_init( hal_ll_tim_hw_specifics_map_local ); + + if ( HAL_LL_TIM_MODULE_ERROR == hal_ll_tim_hw_specifics_map_local->max_period ) + return HAL_LL_TIM_MODULE_ERROR; + + hal_ll_module_state[ pin_check_result ].hal_ll_tim_handle = ( handle_t *)&hal_ll_tim_hw_specifics_map[ pin_check_result ].base; + hal_ll_module_state[ pin_check_result ].init_ll_state = true; + hal_handle->init_ll_state = true; + + return HAL_LL_TIM_SUCCESS; +} + +uint32_t hal_ll_tim_set_freq( handle_t *handle, uint32_t freq_hz ) { + + uint8_t channel_num; + uint32_t ck_psc; + uint32_t tmp_freq; + + low_level_handle = hal_ll_tim_get_handle; + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_tim_get_module_state_address ); + + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( hal_ll_tim_hw_specifics_map_local->base ); + + if( HAL_LL_MODULE_ERROR == hal_ll_tim_hw_specifics_map_local->base ) { + return HAL_LL_TIM_MODULE_ERROR; + } + + low_level_handle->init_ll_state = false; + + channel_num = hal_ll_tim_hw_specifics_map_local->config.channel; + + // Stop capture/compare. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].ccr, HAL_LL_TC_CCR_CLKDIS_BIT ); + + // Check if the pin uses channel signal A or B (0x00 for signal A and 0x10 for signal B). + if ( !( hal_ll_tim_hw_specifics_map_local->config.af & HAL_LL_SIGNAL_CHANNEL_AB_MASK ) ) + clear_reg( &hal_ll_hw_reg->channel[ channel_num ].ra ); + else + clear_reg( &hal_ll_hw_reg->channel[ channel_num ].rb ); + + hal_ll_tim_hw_specifics_map_local->freq_hz = freq_hz; + + _hal_ll_tim_init( hal_ll_tim_hw_specifics_map_local ); + + if ( HAL_LL_TIM_MODULE_ERROR == hal_ll_tim_hw_specifics_map_local->max_period ) + return HAL_LL_TIM_MODULE_ERROR; + + low_level_handle->init_ll_state = true; + + return tmp_freq; +} + +hal_ll_err_t hal_ll_tim_set_duty( handle_t *handle, float duty_ratio ) { + + float tmp_duty; + uint8_t channel_num = hal_ll_tim_hw_specifics_map_local->config.channel; + uint32_t max_duty = 0; + uint16_t max_period; + + low_level_handle = hal_ll_tim_get_handle; + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_tim_get_module_state_address ); + + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( hal_ll_tim_hw_specifics_map_local->base ); + + if ( low_level_handle->init_ll_state == false ) { + hal_ll_tim_start( handle ); + low_level_handle->init_ll_state = true; + } + + tmp_duty = duty_ratio * 100; + max_period = hal_ll_tim_hw_specifics_map_local->max_period; + + max_duty = ( ( float )max_period / 100 ) * tmp_duty; + + // Check if the pin uses channel signal A or B (0x00 for signal A and 0x10 for signal B). + if ( !( hal_ll_tim_hw_specifics_map_local->config.af & HAL_LL_SIGNAL_CHANNEL_AB_MASK ) ) { + // Set duty for TIOAx pin. + write_reg( &hal_ll_hw_reg->channel[ channel_num ].ra, max_duty ); + } else { + // Set duty for TIOBx pin. + write_reg( &hal_ll_hw_reg->channel[ channel_num ].rb, max_duty ); + } + + return HAL_LL_TIM_SUCCESS; +} + +hal_ll_err_t hal_ll_tim_start( handle_t *handle ) { + uint8_t channel_num = hal_ll_tim_hw_specifics_map_local->config.channel; + + low_level_handle = hal_ll_tim_get_handle; + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_tim_get_module_state_address ); + + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( hal_ll_tim_hw_specifics_map_local->base ); + + // Set UP mode with automatic trigger on RC Compare Position (go from 0 to RC value). + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_WAVSEL_UP_RC_MASK ); + + // Check if the pin uses channel signal A or B (0x00 for signal A and 0x10 for signal B). + if ( !( hal_ll_tim_hw_specifics_map_local->config.af & HAL_LL_SIGNAL_CHANNEL_AB_MASK ) ) { + // Clear TIOAx pin on RA compare and set on RC compare. + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_ACPA_CLEAR_MASK ); + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_ACPC_SET_MASK ); + } else { + // Clear TIOBx pin on RB compare and set on RC compare. Also set TIOBx as output. + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_BCPB_CLEAR_MASK ); + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_BCPC_SET_MASK ); + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_EEVT_XC0_MASK ); + } + + // Enable counter. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].ccr, HAL_LL_TC_CCR_CLKEN_BIT ); + + // Trigger the counter. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].ccr, HAL_LL_TC_CCR_SWTRG_BIT ); + + return HAL_LL_TIM_SUCCESS; +} + +hal_ll_err_t hal_ll_tim_stop( handle_t *handle ) { + uint8_t channel_num = hal_ll_tim_hw_specifics_map_local->config.channel; + + low_level_handle = hal_ll_tim_get_handle; + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics( hal_ll_tim_get_module_state_address ); + + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( hal_ll_tim_hw_specifics_map_local->base ); + + // Disable counter. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].ccr, HAL_LL_TC_CCR_CLKDIS_BIT ); + + return HAL_LL_TIM_SUCCESS; +} + +void hal_ll_tim_close( handle_t *handle ) { + + low_level_handle = hal_ll_tim_get_handle; + hal_ll_tim_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_tim_get_module_state_address); + + if( low_level_handle->hal_ll_tim_handle != NULL ) { + low_level_handle->hal_ll_tim_handle = NULL; + low_level_handle->hal_drv_tim_handle = NULL; + + low_level_handle->init_ll_state = false; + + hal_ll_tim_hw_specifics_map_local->max_period = 0; + hal_ll_tim_hw_specifics_map_local->freq_hz = 0; + + _hal_ll_tim_set_clock( hal_ll_tim_hw_specifics_map_local->base, true ); + _hal_ll_tim_alternate_functions_set_state( hal_ll_tim_hw_specifics_map_local, false ); + _hal_ll_tim_set_clock( hal_ll_tim_hw_specifics_map_local->base, false ); + + hal_ll_tim_hw_specifics_map_local->config.pin = HAL_LL_PIN_NC; + hal_ll_tim_hw_specifics_map_local->config.channel = HAL_LL_PIN_NC; + hal_ll_tim_hw_specifics_map_local->config.af = NULL; + } +} + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS +static inline void _hal_ll_tim0_set_clock( hal_ll_channel_t channel_num, bool hal_ll_state ) { + uint8_t id_pos; + + // Get the appropriate PID number. + switch ( channel_num ) + { + case HAL_LL_TIM_CHANNEL_0: + id_pos = HAL_LL_PID_TC0_BIT; + break; + case HAL_LL_TIM_CHANNEL_1: + id_pos = HAL_LL_PID_TC1_BIT; + break; + case HAL_LL_TIM_CHANNEL_2: + id_pos = HAL_LL_PID_TC2_BIT; + break; + } + + // Enable/disable clock for appropriate channel and timer. + if( hal_ll_state ) { + set_reg_bit( _PMC_PCER0, id_pos ); + } else { + set_reg_bit( _PMC_PCDR0, id_pos ); + } +} + +static inline void _hal_ll_tim1_set_clock( hal_ll_channel_t channel_num, bool hal_ll_state ) { + uint8_t id_pos; + + // Get the appropriate PID number. + switch ( channel_num ) + { + case HAL_LL_TIM_CHANNEL_0: + id_pos = HAL_LL_PID_TC3_BIT; + break; + case HAL_LL_TIM_CHANNEL_1: + id_pos = HAL_LL_PID_TC4_BIT; + break; + case HAL_LL_TIM_CHANNEL_2: + id_pos = HAL_LL_PID_TC5_BIT; + break; + } + + // Enable/disable clock for appropriate channel and timer. + if( hal_ll_state ) { + set_reg_bit( _PMC_PCER0, id_pos ); + } else { + set_reg_bit( _PMC_PCDR0, id_pos ); + } +} + +static inline void _hal_ll_tim2_set_clock( hal_ll_channel_t channel_num, bool hal_ll_state ) { + uint8_t id_pos; + + // Get the appropriate PID number. + switch ( channel_num ) + { + case HAL_LL_TIM_CHANNEL_0: + id_pos = HAL_LL_PID_TC6_BIT; + break; + case HAL_LL_TIM_CHANNEL_1: + id_pos = HAL_LL_PID_TC7_BIT; + break; + case HAL_LL_TIM_CHANNEL_2: + id_pos = HAL_LL_PID_TC8_BIT; + break; + } + + // Enable/disable clock for appropriate channel and timer. + if( hal_ll_state ) { + set_reg_bit( _PMC_PCER1, id_pos ); + } else { + set_reg_bit( _PMC_PCDR1, id_pos ); + } +} + +static inline void _hal_ll_tim3_set_clock( hal_ll_channel_t channel_num, bool hal_ll_state ) { + uint8_t id_pos; + + // Get the appropriate PID number. + switch ( channel_num ) + { + case HAL_LL_TIM_CHANNEL_0: + id_pos = HAL_LL_PID_TC9_BIT; + break; + case HAL_LL_TIM_CHANNEL_1: + id_pos = HAL_LL_PID_TC10_BIT; + break; + case HAL_LL_TIM_CHANNEL_2: + id_pos = HAL_LL_PID_TC11_BIT; + break; + } + + // Enable/disable clock for appropriate channel and timer. + if( hal_ll_state ) { + set_reg_bit( _PMC_PCER1, id_pos ); + } else { + set_reg_bit( _PMC_PCDR1, id_pos ); + } +} + +static hal_ll_pin_name_t _hal_ll_tim_check_pin( hal_ll_pin_name_t pin, uint8_t *index, hal_ll_tim_handle_register_t *handle_map ) { + + hal_ll_pin_name_t pin_num; + uint8_t index_counter = 0; + uint8_t hal_ll_module_id = 0; + uint16_t map_size = ( sizeof( _tim_map ) / sizeof( hal_ll_tim_pin_map_t ) ); + + if ( HAL_LL_PIN_NC == pin ) { + return HAL_LL_PIN_NC; + } + + // Check if the selected pin is valid. + for ( pin_num = 0; pin_num < map_size; pin_num++ ) { + if ( _tim_map[ pin_num ].pin == pin ) { + // Get module number + hal_ll_module_id = _tim_map[ pin_num ].module_index; + if ( NULL == handle_map[hal_ll_module_id].hal_drv_tim_handle ) { + *index = pin_num; + return hal_ll_module_id; + } else if ( TIM_MODULE_COUNT == ++index_counter ) { + return --index_counter; + } + } + } + // By default return last error msg. + if ( index_counter ) { + return hal_ll_module_id; + } else { + return HAL_LL_PIN_NC; + } +} + +static hal_ll_tim_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ) { + + uint8_t hal_ll_module_count = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_tim_handle_register_t ) ); + static uint8_t hal_ll_module_error = sizeof( hal_ll_module_state ) / ( sizeof( hal_ll_tim_handle_register_t ) ); + + while( hal_ll_module_count-- ) { + if ( hal_ll_tim_get_base_from_hal_handle == hal_ll_tim_hw_specifics_map [ hal_ll_module_count ].base) { + return &hal_ll_tim_hw_specifics_map[ hal_ll_module_count ]; + } + } + + return &hal_ll_tim_hw_specifics_map[ hal_ll_module_error ]; +} + +static void _hal_ll_tim_set_clock( hal_ll_tim_hw_specifics_map_t *map, bool hal_ll_state ) { + + switch ( map->base ) { + #ifdef TIM_MODULE_0 + case ( HAL_LL_TIM0_BASE_ADDRESS ): + _hal_ll_tim0_set_clock( map->config.channel, hal_ll_state ); + break; + #endif + #ifdef TIM_MODULE_1 + case ( HAL_LL_TIM1_BASE_ADDRESS ): + _hal_ll_tim1_set_clock( map->config.channel, hal_ll_state ); + break; + #endif + #ifdef TIM_MODULE_2 + case ( HAL_LL_TIM2_BASE_ADDRESS ): + _hal_ll_tim2_set_clock( map->config.channel, hal_ll_state ); + break; + #endif + #ifdef TIM_MODULE_3 + case ( HAL_LL_TIM3_BASE_ADDRESS ): + _hal_ll_tim3_set_clock( map->config.channel, hal_ll_state ); + break; + #endif + + default: + break; + } +} + +static void _hal_ll_tim_map_pin( uint8_t module_index, uint8_t index ) { + + // Map new pin. + hal_ll_tim_hw_specifics_map[ module_index ].config.pin = _tim_map[ index ].pin; + hal_ll_tim_hw_specifics_map[ module_index ].config.channel = _tim_map[ index ].channel; + hal_ll_tim_hw_specifics_map[ module_index ].config.af = _tim_map[ index ].af; +} + +static void _hal_ll_tim_alternate_functions_set_state( hal_ll_tim_hw_specifics_map_t *map, bool hal_ll_state ) { + module_struct module; + + if ( ( map->config.pin != HAL_LL_PIN_NC ) && map->config.pin != HAL_LL_PIN_NC ) { + module.pins[0] = map->config.pin; + module.pins[1] = GPIO_MODULE_STRUCT_END; + + module.configs[0] = map->config.af & HAL_LL_ALTERNATE_FUNCTION_MASK; + module.configs[1] = GPIO_MODULE_STRUCT_END; + + hal_ll_gpio_module_struct_init( &module, hal_ll_state ); + } +} + +static uint32_t _hal_ll_tim_get_clock_speed( hal_ll_tim_hw_specifics_map_t *map ) { + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( map->base ); + uint8_t channel_num = map->config.channel; + + if ( UINT16_MAX < hal_ll_get_system_clock / map->freq_hz ) { + if ( UINT16_MAX < hal_ll_tim_timer_clock_2 / map->freq_hz ) { + if ( UINT16_MAX < hal_ll_tim_timer_clock_3 / map->freq_hz ) { + if ( UINT16_MAX < hal_ll_tim_timer_clock_4 / map->freq_hz ) + // Clock divider can't be more than 16-bit field can handle. + return HAL_LL_TIM_MODULE_ERROR; + // Set TIM clock to be FOSC / 128. + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_TIMER_CLOCK4_MASK ); + return hal_ll_tim_timer_clock_4; + } + // Set TIM clock to be FOSC / 32. + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_TIMER_CLOCK3_MASK ); + return hal_ll_tim_timer_clock_3; + } + // Set TIM clock to be FOSC / 8. + set_reg_bits( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_TIMER_CLOCK2_MASK ); + return hal_ll_tim_timer_clock_2; + } + // Set TIM clock to be FOSC. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].emr, HAL_LL_TC_EMR_NODIVCLK_BIT ); + return hal_ll_get_system_clock; +} + +static void _hal_ll_tim_hw_init( hal_ll_tim_hw_specifics_map_t *map ) { + hal_ll_tim_base_handle_t *hal_ll_hw_reg = hal_ll_tim_get_base_struct( map->base ); + uint8_t channel_num = map->config.channel; + uint32_t ck_psc; + + // Get clock speed prescaler. + ck_psc = _hal_ll_tim_get_clock_speed( map ) / map->freq_hz; + + // Write the prescale value to set the desired frequency. + write_reg( &hal_ll_hw_reg->channel[ channel_num ].rc, ck_psc ); + + // Counter is used in waveform mode. + set_reg_bit( &hal_ll_hw_reg->channel[ channel_num ].cmr, HAL_LL_TC_CMR_WAVE_BIT ); + + // Write max period to global array. + map->max_period = ( uint16_t )ck_psc; +} + +static void _hal_ll_tim_init( hal_ll_tim_hw_specifics_map_t *map ) { + + _hal_ll_tim_set_clock( map, true ); + + _hal_ll_tim_alternate_functions_set_state( map, true ); + + _hal_ll_tim_hw_init( map ); +} +// ------------------------------------------------------------------------- END diff --git a/targets/arm/mikroe/sam/src/uart/CMakeLists.txt b/targets/arm/mikroe/sam/src/uart/CMakeLists.txt new file mode 100644 index 000000000..613c7a16b --- /dev/null +++ b/targets/arm/mikroe/sam/src/uart/CMakeLists.txt @@ -0,0 +1,60 @@ +## ./targets/arm/mikroe/sam/src/uart/CMakeLists.txt +set(hal_ll_def_list "") +set(mcu_header_path "") + +find_cortex(hal_ll_def_list) + +list(APPEND hal_ll_def_list ${MCU_NAME}) +list(APPEND hal_ll_def_list "MACRO_USAGE_UART") +set(mcu_header_path ${MCU_NAME}/${_MSDK_PACKAGE_NAME_}${_MSDK_PACKAGE_PIN_COUNT_}) + +## BEGIN UART +if (${MCU_NAME} MATCHES "^ATSAM[ESV]7.+") + set(uart_subimplementation "implementations/implementation_1") +endif() +## END UART + +mikrosdk_add_library(lib_hal_ll_uart MikroSDK.HalLowLevel.UART + ${uart_subimplementation}/hal_ll_uart.c + + ../../include/hal_ll_pmc.h + ../../include/hal_ll_target.h + # BEGIN UART + ../../include/uart/hal_ll_uart.h + ../../include/uart/hal_ll_uart_pin_map/${uart_subimplementation}/hal_ll_uart_pin_map.h + # END UART +) + +target_compile_definitions(lib_hal_ll_uart PUBLIC + ${hal_ll_def_list} +) + +target_link_libraries(lib_hal_ll_uart PUBLIC + MikroC.Core + MikroSDK.HalLowLevelCore + MikroSDK.HalLowLevelCommon +) + +string(TOLOWER ${mcu_header_path} MCU_HEADER_PATH_LOWER) +target_include_directories(lib_hal_ll_uart + PRIVATE + ../../include + ../../include/gpio + ../../include/gpio/${uart_subimplementation} + # BEGIN UART + ../../include/uart + ../../include/uart/hal_ll_uart_pin_map/${uart_subimplementation} + # END UART + + INTERFACE + $ + $ + $ + $ + $ + $ + $ +) + +mikrosdk_install(MikroSDK.HalLowLevel.UART) +install_headers(${CMAKE_INSTALL_PREFIX}/include/hal_ll_port MikroSDK.HalLowLevel.UART ../../include/uart/hal_ll_uart.h) diff --git a/targets/arm/mikroe/sam/src/uart/implementations/implementation_1/hal_ll_uart.c b/targets/arm/mikroe/sam/src/uart/implementations/implementation_1/hal_ll_uart.c new file mode 100644 index 000000000..4452a1f58 --- /dev/null +++ b/targets/arm/mikroe/sam/src/uart/implementations/implementation_1/hal_ll_uart.c @@ -0,0 +1,1161 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** 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, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES 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. +** +****************************************************************************/ +/*! + * @file hal_ll_uart.c + * @brief UART HAL LOW LEVEL layer implementation. + */ + +#include "hal_ll_pmc.h" +#include "hal_ll_uart.h" +#include "hal_ll_gpio.h" +#include "hal_ll_core.h" +#include "hal_ll_core_defines.h" +#include "hal_ll_uart_pin_map.h" + +/*!< @brief Local handle list */ +static volatile hal_ll_uart_handle_register_t hal_ll_module_state[UART_MODULE_COUNT + USART_MODULE_COUNT] = { (handle_t *)NULL, (handle_t *)NULL, false }; + +// ------------------------------------------------------------- PRIVATE MACROS + +/*!< @brief Helper macro for getting module specific base address directly from HAL layer handle */ +#define hal_ll_uart_get_base_from_hal_handle ((hal_ll_uart_hw_specifics_map_t *)((hal_ll_uart_handle_register_t *)\ + (((hal_ll_uart_handle_register_t *)(handle))->hal_ll_uart_handle))->hal_ll_uart_handle)->base + +/*!< @brief Helper macro for getting module specific control register structure base address // first register address */ +#define hal_ll_uart_get_handle (hal_ll_uart_handle_register_t *)hal_ll_uart_get_module_state_address->hal_ll_uart_handle + +/*!< @brief Helper macro for getting module specific control register structure */ +#define hal_ll_uart_get_base_struct(_handle) ((hal_ll_uart_base_handle_t *)_handle) + +/*!< @brief Macros used for calculating actual baud rate value and error value */ +#define HAL_LL_UART_ACCEPTABLE_ERROR (float)1.0 +#define hal_ll_get_system_clock (Get_Fosc_kHz() * 1000) +#define hal_ll_uart_real_baud_rate(_div) (hal_ll_get_system_clock / (16 * _div)) +#define hal_ll_baud_rate_register_divider(_baud) (hal_ll_get_system_clock / (16 * _baud)) +#define hal_ll_uart_get_baud_error(_baud_real,_baud) (((float)(abs(_baud_real - _baud)) / _baud) * 100) + +/*!< @brief Macros defining bit location */ +#define HAL_LL_PID_UART0_BIT 7 +#define HAL_LL_PID_UART1_BIT 8 +#define HAL_LL_PID_UART2_BIT 12 +#define HAL_LL_PID_UART3_BIT 13 +#define HAL_LL_PID_UART4_BIT 14 + +#define HAL_LL_PID_USART0_BIT 13 +#define HAL_LL_PID_USART1_BIT 14 +#define HAL_LL_PID_USART2_BIT 15 + +#define HAL_LL_CR_RXEN_BIT 4 +#define HAL_LL_CR_RXDIS_BIT 5 +#define HAL_LL_CR_TXEN_BIT 6 +#define HAL_LL_CR_TXDIS_BIT 7 + +#define HAL_LL_UART_IER_RXRDY_BIT 0 +#define HAL_LL_UART_IER_TXRDY_BIT 1 + +#define HAL_LL_UART_IMR_RXRDY_FLAG 0x1 +#define HAL_LL_UART_IMR_TXRDY_FLAG 0x2 + +#define HAL_LL_UART_SR_RXRDY_FLAG 0x1 +#define HAL_LL_UART_SR_TXRDY_FLAG 0x2 + +/*!< @#brief Macros defining register masks */ +#define HAL_LL_UART_MR_DATA_LENGTH_7_BIT_MASK 0x0080 +#define HAL_LL_UART_MR_DATA_LENGTH_8_BIT_MASK 0x00C0 +#define HAL_LL_UART_MR_PARITY_EVEN_MASK 0x0000 +#define HAL_LL_UART_MR_PARITY_ODD_MASK 0x0200 +#define HAL_LL_UART_MR_PARITY_NONE_MASK 0x0800 +#define HAL_LL_UART_MR_STOP_BITS_ONE_MASK 0x0000 +#define HAL_LL_UART_MR_STOP_BITS_ONE_AND_HALF_MASK 0x1000 +#define HAL_LL_UART_MR_STOP_BITS_TWO_MASK 0x2000 + +#define HAL_LL_UART_CR_DISABLE_MASK 0x00AC + +/*!< @brief Helper macro for getting hal_ll_module_state address */ +#define hal_ll_uart_get_module_state_address ((hal_ll_uart_handle_register_t *)*handle) + +/*!< @brief Macro used for interrupt status register flag check + * Used in interrupt handlers. + */ +#define hal_ll_uart_get_status_flags(_handle,_flag) (((hal_ll_uart_base_handle_t *)_handle)->imr & _flag) + +/*!< @brief Macro used for module interrupt source check. + * Used in interrupt handlers. + */ + #define hal_ll_uart_get_interrupt_source(_handle,_bit) (((hal_ll_uart_base_handle_t *)_handle)->sr & _bit) + +/*!< @brief UART HW register structure */ +typedef struct +{ + hal_ll_base_addr_t cr; + hal_ll_base_addr_t mr; + hal_ll_base_addr_t ier; + hal_ll_base_addr_t idr; + hal_ll_base_addr_t imr; + hal_ll_base_addr_t sr; + hal_ll_base_addr_t rhr; + hal_ll_base_addr_t thr; + hal_ll_base_addr_t brgr; + hal_ll_base_addr_t cmpr; +} hal_ll_uart_base_handle_t; + +/*!< @brief UART baud rate structure */ +typedef struct +{ + uint32_t baud; + uint32_t real_baud; +} hal_ll_uart_baud_t; + +/*!< @brief UART hw specific structure */ +typedef struct +{ + hal_ll_base_addr_t base; + hal_ll_pin_name_t module_index; + hal_ll_uart_pins_t pins; + hal_ll_uart_baud_t baud_rate; + hal_ll_uart_parity_t parity; + hal_ll_uart_stop_bits_t stop_bit; + hal_ll_uart_data_bits_t data_bit; +} hal_ll_uart_hw_specifics_map_t; + +/*!< @brief UART hw specific module values */ +typedef struct +{ + hal_ll_pin_name_t pin_tx; + hal_ll_pin_name_t pin_rx; +} hal_ll_uart_pin_id; + +/*!< @brief UART hw specific error values */ +typedef enum +{ + HAL_LL_UART_SUCCESS = 0, + HAL_LL_UART_WRONG_PINS, + HAL_LL_UART_MODULE_ERROR, + + HAL_LL_UART_ERROR = (-1) +} hal_ll_uart_err_t; + +/*!< @brief UART module state selection */ +typedef enum +{ + HAL_LL_UART_DISABLE = 0, + HAL_LL_UART_ENABLE +} hal_ll_uart_state_t; + +// ------------------------------------------------------------------ VARIABLES +/*!< @brief UART hardware specific info */ +static hal_ll_uart_hw_specifics_map_t hal_ll_uart_hw_specifics_map[] = +{ + #ifdef USART_MODULE_0 + {HAL_LL_USART0_BASE_ADDRESS, hal_ll_usart_module_num(USART_MODULE_0), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef USART_MODULE_1 + {HAL_LL_USART1_BASE_ADDRESS, hal_ll_usart_module_num(USART_MODULE_1), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef USART_MODULE_2 + {HAL_LL_USART2_BASE_ADDRESS, hal_ll_usart_module_num(USART_MODULE_2), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef UART_MODULE_0 + {HAL_LL_UART0_BASE_ADDRESS, hal_ll_uart_module_num(UART_MODULE_0), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef UART_MODULE_1 + {HAL_LL_UART1_BASE_ADDRESS, hal_ll_uart_module_num(UART_MODULE_1), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef UART_MODULE_2 + {HAL_LL_UART2_BASE_ADDRESS, hal_ll_uart_module_num(UART_MODULE_2), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef UART_MODULE_3 + {HAL_LL_UART3_BASE_ADDRESS, hal_ll_uart_module_num(UART_MODULE_3), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + #ifdef UART_MODULE_4 + {HAL_LL_UART4_BASE_ADDRESS, hal_ll_uart_module_num(UART_MODULE_4), {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {115200, 0}, HAL_LL_UART_PARITY_DEFAULT, HAL_LL_UART_STOP_BITS_DEFAULT, HAL_LL_UART_DATA_BITS_DEFAULT}, + #endif + + {HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR, {HAL_LL_PIN_NC, 0, HAL_LL_PIN_NC, 0}, {0, 0}, HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR, HAL_LL_MODULE_ERROR} +}; + +/*!< @brief Global handle variables used in functions */ +static volatile hal_ll_uart_handle_register_t *low_level_handle; +static volatile hal_ll_uart_hw_specifics_map_t *hal_ll_uart_hw_specifics_map_local; + +/*!< @brief Global interrupt handlers used in functions */ +static hal_ll_uart_isr_t irq_handler; +static handle_t objects[UART_MODULE_COUNT + USART_MODULE_COUNT]; + +// ---------------------------------------------- PRIVATE FUNCTION DECLARATIONS +/** + * @brief Check if pins are adequate. + * + * Checks tx and rx pins the user has passed with pre-defined + * pins in tx and rx maps. Take into consideration that module + * index numbers have to be the same for both pins. + * + * @param[in] tx_pin - TX pre-defined pin name. + * @param[in] rx_pin - RX pre-defined pin name. + * @param[in] *index_list - Array containing map index numbers. + * @return hal_ll_pin_name_t Module index based on pins. + * + * Returns pre-defined module index from pin maps, if pins + * are adequate. + */ +static hal_ll_pin_name_t hal_ll_uart_check_pins( hal_ll_pin_name_t tx_pin, hal_ll_pin_name_t rx_pin, hal_ll_uart_pin_id *index_list, hal_ll_uart_handle_register_t *handle_map ); + +/** + * @brief Maps new-found module specific values. + * + * Maps pin names and alternate function values for + * TX and RX pins. + * + * @param[in] module_index UART HW module index -- 0,1,2... + * @param[in] *index_list Array with TX and RX map index values + * and module number + * + * @return None + */ +static void hal_ll_uart_map_pins( uint8_t module_index, hal_ll_uart_pin_id *index_list ); + +/** + * @brief Sets UART pin alternate function state. + * + * Sets adequate value for alternate function settings. + * This function must be called if UART is to work. + * Based on value of hal_ll_state, alternate functions can be + * set or cleared. + * + * @param[in] map - Object specific context handler. + * @param[in] hal_ll_state - Init/De-init + * + * @return void None. + */ +static void hal_ll_uart_alternate_functions_set_state( hal_ll_uart_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Get local hardware specific map. + * + * Checks handle value and returns address of adequate + * hal_ll_uart_hw_specifics_map array index. + * + * @param[in] handle - Object specific context handler. + * @return hal_ll_uart_hw_specifics_map_t Map address. + * + * Returns pre-defined map index address based on handle value, + * if handle is adequate. + */ +static hal_ll_uart_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ); + +/** + * @brief Enable clock for UART module on hardware level. + * + * Initializes UART module clock on hardware level, based on beforehand + * set configuration and module handler. + * + * @param[in] map - Object specific context handler. + * @param[in] hal_ll_stat - True(enable clock)/False(disable clock). + * + * @return void None. + */ +static void hal_ll_uart_set_clock( hal_ll_uart_hw_specifics_map_t *map, bool hal_ll_state ); + +/** + * @brief Finds UART module index. + * + * Finds UART index(module number) based on + * handle value. + * + * @param[in] handle - Object specific context handler. + * + * @return uint8_t Module number. + * Returns values from 0 to 9. + */ +static uint8_t hal_ll_uart_find_index( handle_t *handle ); + +/** + * @brief Clears UART registers. + * + * Clears UART module configuration + * registers, effectively disabling the module itself. + * Take into consideration that any IRQ bits + * are not cleared. + * + * @param[in] hal_ll_hw_reg - UART HW register structure. + * + * @return void None. + */ +static void hal_ll_uart_clear_regs( hal_ll_uart_base_handle_t *hal_ll_hw_reg ); + +/** + * @brief Sets desired baud rate on hardware level. + * + * Initializes module with specified baud rate value. + * Take into consideration that if the difference + * between desired baud rate and actual baud + * rate the hw was initialized to is greater than + * 1%, baud rate shall not be set. + * If this occurs, return value shall be + * the error percentage. + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_set_baud_bare_metal( hal_ll_uart_hw_specifics_map_t *map ); + +/** + * @brief Sets desired stop bits. + * + * Initializes module on hardware level + * with specified stop bit value. + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_set_stop_bits_bare_metal( hal_ll_uart_hw_specifics_map_t *map ); + +/** + * @brief Sets desired data bits. + * + * Initializes module on hardware level + * with specified data bit bit value. + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_set_data_bits_bare_metal( hal_ll_uart_hw_specifics_map_t *map ); + +/** + * @brief Sets desired parity. + * + * Initializes module on hardware level + * with specified parity value. + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_set_parity_bare_metal( hal_ll_uart_hw_specifics_map_t *map ); + +/** + * @brief Sets module TX line state. + * + * Enables/disables specific UART module + * TX pin state + * + * @param[in] hal_ll_hw_reg - UART HW register structure. + * @param[in] pin_state - true(enable transmitter pin) / false(disable transmitter pin) + * + * @return void None. + */ +static void hal_ll_uart_set_transmitter( hal_ll_uart_base_handle_t *hal_ll_hw_reg, hal_ll_uart_state_t pin_state ); + +/** + * @brief Sets module RX line state. + * + * Enables/disables specific UART module + * RX pin state + * + * @param[in] hal_ll_hw_reg - UART HW register structure. + * @param[in] pin_state - true(enable receive pin) / false(disable receive pin) + * + * @return void None. + */ +static void hal_ll_uart_set_receiver( hal_ll_uart_base_handle_t *hal_ll_hw_reg, hal_ll_uart_state_t pin_state ); + +/** + * @brief Initialize UART module. + * + * Enables UART module clogk gate first. + * Sets pin alternate function state. + * Initializes specific UART module. + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_init( hal_ll_uart_hw_specifics_map_t *map ); + +/** + * @brief Initialize UART module on the hardware level. + * + * Performs UART module initialization on + * the hardware level. + * + * Procedure: + * 1. Clears control registers + * 2. Sets data bit value + * 3. Sets parity value + * 4. Sets stop bit value + * 5. Sets baud rate value + * 6. Enables transmit pin + * 7. Enables receive pin + * 8. Enables clock gate for specific module + * + * @param[in] map - Object specific context handler. + * + * @return void None. + */ +static void hal_ll_uart_hw_init( hal_ll_uart_hw_specifics_map_t *map ); + +// ------------------------------------------------ PUBLIC FUNCTION DEFINITIONS +hal_ll_err_t hal_ll_uart_register_handle( hal_ll_pin_name_t tx_pin, hal_ll_pin_name_t rx_pin, hal_ll_uart_handle_register_t *handle_map, uint8_t *hal_module_id ) { + hal_ll_uart_pin_id index_list[UART_MODULE_COUNT + USART_MODULE_COUNT] = {HAL_LL_PIN_NC,HAL_LL_PIN_NC}; + uint16_t pin_check_result; + + // Check if pins are valid + if ( (pin_check_result = hal_ll_uart_check_pins( tx_pin, rx_pin, &index_list, handle_map )) == HAL_LL_PIN_NC ) { + return HAL_LL_UART_WRONG_PINS; + }; + + if ( (hal_ll_uart_hw_specifics_map[pin_check_result].pins.tx_pin.pin_name != tx_pin) || + (hal_ll_uart_hw_specifics_map[pin_check_result].pins.rx_pin.pin_name != rx_pin) ) + { + hal_ll_uart_alternate_functions_set_state( &hal_ll_uart_hw_specifics_map[ pin_check_result ], false ); + + hal_ll_uart_map_pins( pin_check_result, &index_list ); + + hal_ll_uart_alternate_functions_set_state( &hal_ll_uart_hw_specifics_map[ pin_check_result ], true ); + + handle_map[pin_check_result].init_ll_state = false; + } + + *hal_module_id = pin_check_result; + + hal_ll_module_state[pin_check_result].hal_ll_uart_handle = (handle_t *)&hal_ll_uart_hw_specifics_map[pin_check_result].base; + + handle_map[pin_check_result].hal_ll_uart_handle = (handle_t *)&hal_ll_module_state[pin_check_result].hal_ll_uart_handle; + + return HAL_LL_UART_SUCCESS; +} + +hal_ll_err_t hal_ll_module_configure_uart( handle_t *handle ) { + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + hal_ll_uart_pin_id index_list[UART_MODULE_COUNT + USART_MODULE_COUNT] = {HAL_LL_PIN_NC,HAL_LL_PIN_NC}; + uint16_t pin_check_result; + + if ( (pin_check_result = hal_ll_uart_check_pins( hal_ll_uart_hw_specifics_map_local->pins.tx_pin.pin_name, + hal_ll_uart_hw_specifics_map_local->pins.rx_pin.pin_name, &index_list, (void *)0 ) ) == HAL_LL_PIN_NC ) { + return HAL_LL_UART_WRONG_PINS; + }; + + hal_ll_uart_init( hal_ll_uart_hw_specifics_map_local ); + + hal_ll_module_state[pin_check_result].hal_ll_uart_handle = (handle_t *)&hal_ll_uart_hw_specifics_map[pin_check_result].base; + hal_ll_module_state[pin_check_result].init_ll_state = true; + + return HAL_LL_UART_SUCCESS; +} + +hal_ll_err_t hal_ll_uart_set_baud( handle_t *handle, uint32_t baud ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + low_level_handle->init_ll_state = false; + + hal_ll_uart_hw_specifics_map_local->baud_rate.baud = baud; + + hal_ll_uart_init(hal_ll_uart_hw_specifics_map_local); + + low_level_handle->init_ll_state = true; + + return hal_ll_uart_hw_specifics_map_local->baud_rate.real_baud; +} + +hal_ll_err_t hal_ll_uart_set_parity( handle_t *handle, hal_ll_uart_parity_t parity ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + low_level_handle->init_ll_state = false; + + hal_ll_uart_hw_specifics_map_local->parity = parity; + + hal_ll_uart_init(hal_ll_uart_hw_specifics_map_local); + + low_level_handle->init_ll_state = true; + + return HAL_LL_UART_SUCCESS; +} + +hal_ll_err_t hal_ll_uart_set_stop_bits( handle_t *handle, hal_ll_uart_stop_bits_t stop_bit ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + low_level_handle->init_ll_state = false; + + hal_ll_uart_hw_specifics_map_local->stop_bit = stop_bit; + + hal_ll_uart_init(hal_ll_uart_hw_specifics_map_local); + + low_level_handle->init_ll_state = true; + + return HAL_LL_UART_SUCCESS; +} + +hal_ll_err_t hal_ll_uart_set_data_bits( handle_t *handle, hal_ll_uart_data_bits_t data_bit ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + // Chips using implementation 1 do not support 7 bit data + if( data_bit == HAL_LL_UART_DATA_BITS_7 ) { + return HAL_LL_UART_MODULE_ERROR; + } + + low_level_handle->init_ll_state = false; + + hal_ll_uart_hw_specifics_map_local->data_bit = data_bit; + + hal_ll_uart_init(hal_ll_uart_hw_specifics_map_local); + + low_level_handle->init_ll_state = true; + + return HAL_LL_UART_SUCCESS; +} + +void hal_ll_uart_close( handle_t *handle ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + if( low_level_handle->hal_ll_uart_handle != NULL ) { + hal_ll_uart_alternate_functions_set_state( hal_ll_uart_hw_specifics_map_local, false ); + + hal_ll_uart_irq_disable(handle, HAL_LL_UART_IRQ_RX); + hal_ll_uart_irq_disable(handle, HAL_LL_UART_IRQ_TX); + + hal_ll_uart_clear_regs(hal_ll_uart_hw_specifics_map_local->base); + hal_ll_uart_set_clock(hal_ll_uart_hw_specifics_map_local, false); + + hal_ll_uart_hw_specifics_map_local->pins.tx_pin.pin_name = HAL_LL_PIN_NC; + hal_ll_uart_hw_specifics_map_local->pins.tx_pin.pin_af = 0; + hal_ll_uart_hw_specifics_map_local->pins.rx_pin.pin_name = HAL_LL_PIN_NC; + hal_ll_uart_hw_specifics_map_local->pins.rx_pin.pin_af = 0; + + hal_ll_uart_hw_specifics_map_local->baud_rate.baud = 115200UL; + hal_ll_uart_hw_specifics_map_local->baud_rate.real_baud = 0; + + irq_handler = NULL; + objects[ hal_ll_uart_find_index( handle ) ] = NULL; + + low_level_handle->hal_ll_uart_handle = NULL; + low_level_handle->hal_drv_uart_handle = NULL; + + low_level_handle->init_ll_state = false; + } +} + +void hal_ll_uart_register_irq_handler( handle_t *handle, hal_ll_uart_isr_t handler, handle_t obj ) { + irq_handler = handler; + objects[ hal_ll_uart_find_index( handle ) ] = obj; +} + +void hal_ll_uart_irq_enable( handle_t *handle, hal_ll_uart_irq_t irq ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + hal_ll_uart_base_handle_t *hal_ll_hw_reg = ( hal_ll_uart_base_handle_t *)hal_ll_uart_hw_specifics_map_local->base; + + switch ( irq ) { + case HAL_LL_UART_IRQ_RX: + set_reg_bit( &hal_ll_hw_reg->ier, HAL_LL_UART_IER_RXRDY_BIT ); + break; + + case HAL_LL_UART_IRQ_TX: + set_reg_bit( &hal_ll_hw_reg->ier, HAL_LL_UART_IER_TXRDY_BIT ); + break; + + default: + break; + } + + switch ( hal_ll_uart_hw_specifics_map_local->module_index ) + { + #ifdef USART_MODULE_0 + case hal_ll_usart_module_num( USART_MODULE_0 ): + hal_ll_core_enable_irq( USART0_NVIC ); + break; + #endif + + #ifdef USART_MODULE_1 + case hal_ll_usart_module_num( USART_MODULE_1 ): + hal_ll_core_enable_irq( USART1_NVIC ); + break; + #endif + + #ifdef USART_MODULE_2 + case hal_ll_usart_module_num( USART_MODULE_2 ): + hal_ll_core_enable_irq( USART2_NVIC ); + break; + #endif + + #ifdef UART_MODULE_0 + case hal_ll_uart_module_num( UART_MODULE_0 ): + hal_ll_core_enable_irq( UART0_NVIC ); + break; + #endif + + #ifdef UART_MODULE_1 + case hal_ll_uart_module_num( UART_MODULE_1 ): + hal_ll_core_enable_irq( UART1_NVIC ); + break; + #endif + + #ifdef UART_MODULE_2 + case hal_ll_uart_module_num( UART_MODULE_2 ): + hal_ll_core_enable_irq( UART2_NVIC ); + break; + #endif + + #ifdef UART_MODULE_3 + case hal_ll_uart_module_num( UART_MODULE_3 ): + hal_ll_core_enable_irq( UART3_NVIC ); + break; + #endif + + #ifdef UART_MODULE_4 + case hal_ll_uart_module_num( UART_MODULE_4 ): + hal_ll_core_enable_irq( UART4_NVIC ); + break; + #endif + + default: + break; + } +} + +void hal_ll_uart_irq_disable( handle_t *handle, hal_ll_uart_irq_t irq ) { + low_level_handle = hal_ll_uart_get_handle; + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + hal_ll_uart_base_handle_t *hal_ll_hw_reg = ( hal_ll_uart_base_handle_t *)hal_ll_uart_hw_specifics_map_local->base; + + switch ( irq ) { + case HAL_LL_UART_IRQ_RX: + set_reg_bit( &hal_ll_hw_reg->idr, HAL_LL_UART_IER_RXRDY_BIT ); + break; + + case HAL_LL_UART_IRQ_TX: + set_reg_bit( &hal_ll_hw_reg->idr, HAL_LL_UART_IER_TXRDY_BIT ); + break; + + default: + break; + } + // Check if module interrupt flags are set or not + if ( ( !hal_ll_uart_get_status_flags( hal_ll_uart_hw_specifics_map_local->base , HAL_LL_UART_IMR_RXRDY_FLAG ) ) && + ( !hal_ll_uart_get_status_flags( hal_ll_uart_hw_specifics_map_local->base , HAL_LL_UART_IMR_TXRDY_FLAG ) ) ) + { + switch ( hal_ll_uart_hw_specifics_map_local->module_index ) + { + #ifdef USART_MODULE_0 + case hal_ll_usart_module_num( USART_MODULE_0 ): + hal_ll_core_disable_irq( USART0_NVIC ); + break; + #endif + + #ifdef USART_MODULE_1 + case hal_ll_usart_module_num( USART_MODULE_1 ): + hal_ll_core_disable_irq( USART1_NVIC ); + break; + #endif + + #ifdef USART_MODULE_2 + case hal_ll_usart_module_num( USART_MODULE_2 ): + hal_ll_core_disable_irq( USART2_NVIC ); + break; + #endif + + #ifdef UART_MODULE_0 + case hal_ll_uart_module_num( UART_MODULE_0 ): + hal_ll_core_disable_irq( UART0_NVIC ); + break; + #endif + + #ifdef UART_MODULE_1 + case hal_ll_uart_module_num( UART_MODULE_1 ): + hal_ll_core_disable_irq( UART1_NVIC ); + break; + #endif + + #ifdef UART_MODULE_2 + case hal_ll_uart_module_num( UART_MODULE_2 ): + hal_ll_core_disable_irq( UART2_NVIC ); + break; + #endif + + #ifdef UART_MODULE_3 + case hal_ll_uart_module_num( UART_MODULE_3 ): + hal_ll_core_disable_irq( UART3_NVIC ); + break; + #endif + + #ifdef UART_MODULE_4 + case hal_ll_uart_module_num( UART_MODULE_4 ): + hal_ll_core_disable_irq( UART4_NVIC ); + break; + #endif + + default: + break; + } + } +} + +void hal_ll_uart_write( handle_t *handle, uint8_t wr_data) { + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + hal_ll_uart_base_handle_t *hal_ll_hw_reg = ( hal_ll_uart_base_handle_t *)hal_ll_uart_hw_specifics_map_local->base; + + write_reg( &hal_ll_hw_reg->thr, wr_data ); +} + +uint8_t hal_ll_uart_read( handle_t *handle ) { + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + hal_ll_uart_base_handle_t *hal_ll_hw_reg = ( hal_ll_uart_base_handle_t *)hal_ll_uart_hw_specifics_map_local->base; + + return ( read_reg( &hal_ll_hw_reg->rhr ) ); +} + +// ------------------------------------------------------------- DEFAULT EXCEPTION HANDLERS + +#ifdef USART_MODULE_0 +void USART0_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_USART0_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART0_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_0 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_USART0_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART0_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_0 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef USART_MODULE_1 +void USART1_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_USART1_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART1_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_1 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_USART1_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART1_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_1 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef USART_MODULE_2 +void USART2_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_USART2_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART2_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_2 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_USART2_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_USART2_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_usart_module_num( USART_MODULE_2 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef UART_MODULE_0 +void UART0_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_UART0_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART0_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_0 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_UART0_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART0_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_0 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef UART_MODULE_1 +void UART1_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_UART1_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART1_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_1 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_UART1_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART1_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_1 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef UART_MODULE_2 +void UART2_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_UART2_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART2_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_2 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_UART2_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART2_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_2 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef UART_MODULE_3 +void UART3_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_UART3_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART3_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_3 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_UART3_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART3_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_3 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +#ifdef UART_MODULE_4 +void UART4_Handler(void) { + if( hal_ll_uart_get_status_flags( HAL_LL_UART4_BASE_ADDRESS , HAL_LL_UART_IMR_RXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART4_BASE_ADDRESS, HAL_LL_UART_SR_RXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_4 ) ], HAL_LL_UART_IRQ_RX ); + } + } + if( hal_ll_uart_get_status_flags( HAL_LL_UART4_BASE_ADDRESS , HAL_LL_UART_IMR_TXRDY_FLAG ) ) { + if( ( hal_ll_uart_get_interrupt_source( HAL_LL_UART4_BASE_ADDRESS, HAL_LL_UART_SR_TXRDY_FLAG ) ) ) { + irq_handler( objects[ hal_ll_uart_module_num( UART_MODULE_4 ) ], HAL_LL_UART_IRQ_TX ); + } + } +} +#endif + +// ----------------------------------------------- PRIVATE FUNCTION DEFINITIONS +static uint8_t hal_ll_uart_find_index( handle_t *handle ) { + hal_ll_uart_hw_specifics_map_local = hal_ll_get_specifics(hal_ll_uart_get_module_state_address); + + if( hal_ll_uart_hw_specifics_map_local->base != HAL_LL_MODULE_ERROR ) { + return hal_ll_uart_hw_specifics_map_local->module_index; + } else { + return NULL; + } +} + +static hal_ll_pin_name_t hal_ll_uart_check_pins( hal_ll_pin_name_t tx_pin, hal_ll_pin_name_t rx_pin, hal_ll_uart_pin_id *index_list, hal_ll_uart_handle_register_t *handle_map ) { + static const uint16_t tx_map_size = ( sizeof( hal_ll_uart_tx_map ) / sizeof( hal_ll_uart_pin_map_t ) ); + static const uint16_t rx_map_size = ( sizeof( hal_ll_uart_rx_map ) / sizeof( hal_ll_uart_pin_map_t ) ); + uint8_t hal_ll_module_id = 0; + uint8_t index_counter = 0; + uint16_t tx_index; + uint16_t rx_index; + + if ( ( HAL_LL_PIN_NC == tx_pin ) || ( HAL_LL_PIN_NC == rx_pin ) ) { + return HAL_LL_PIN_NC; + } + + for ( tx_index = 0; tx_index < tx_map_size; tx_index++ ) + { + if ( hal_ll_uart_tx_map[ tx_index ].pin == tx_pin ) + { + for ( rx_index = 0; rx_index < rx_map_size; rx_index++ ) + { + if ( hal_ll_uart_rx_map[ rx_index ].pin == rx_pin ) + { + if ( hal_ll_uart_tx_map[ tx_index ].base == hal_ll_uart_rx_map[ rx_index ].base ) { + // Get module number + hal_ll_module_id = hal_ll_uart_tx_map[ tx_index ].module_index; + + // Map pin names + index_list[hal_ll_module_id].pin_tx = tx_index; + index_list[hal_ll_module_id].pin_rx = rx_index; + + // Check if module is taken + if ( NULL == handle_map[ hal_ll_module_id ].hal_drv_uart_handle ) { + return hal_ll_module_id; + } else if ( ( UART_MODULE_COUNT + USART_MODULE_COUNT ) == ++index_counter ) { + return --index_counter; + } + } + } + } + } + } + + if ( index_counter ) { + return hal_ll_module_id; + } else { + return HAL_LL_PIN_NC; + } +} + +static hal_ll_uart_hw_specifics_map_t *hal_ll_get_specifics( handle_t handle ) { + uint8_t hal_ll_module_count = sizeof(hal_ll_module_state) / (sizeof(hal_ll_uart_handle_register_t)); + static uint8_t hal_ll_module_error = sizeof(hal_ll_module_state) / (sizeof(hal_ll_uart_handle_register_t)); + + while( hal_ll_module_count-- ) { + if (hal_ll_uart_get_base_from_hal_handle == hal_ll_uart_hw_specifics_map[hal_ll_module_count].base) { + return &hal_ll_uart_hw_specifics_map[hal_ll_module_count]; + } + } + + return &hal_ll_uart_hw_specifics_map[hal_ll_module_error]; +} + +static void hal_ll_uart_set_clock( hal_ll_uart_hw_specifics_map_t *map, bool hal_ll_state ) { + switch ( map->module_index ) + { + #ifdef USART_MODULE_0 + case ( hal_ll_usart_module_num(USART_MODULE_0) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER0, HAL_LL_PID_USART0_BIT )):(clear_reg_bit( _PMC_PCER0, HAL_LL_PID_USART0_BIT )); + break; + #endif + + #ifdef USART_MODULE_1 + case ( hal_ll_usart_module_num(USART_MODULE_1) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER0, HAL_LL_PID_USART1_BIT )):(clear_reg_bit( _PMC_PCER0, HAL_LL_PID_USART1_BIT )); + break; + #endif + + #ifdef USART_MODULE_2 + case ( hal_ll_usart_module_num(USART_MODULE_2) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER0, HAL_LL_PID_USART2_BIT )):(clear_reg_bit( _PMC_PCER0, HAL_LL_PID_USART2_BIT )); + break; + #endif + + #ifdef UART_MODULE_0 + case ( hal_ll_uart_module_num(UART_MODULE_0) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER0, HAL_LL_PID_UART0_BIT )):(clear_reg_bit( _PMC_PCER0, HAL_LL_PID_UART0_BIT )); + break; + #endif + + #ifdef UART_MODULE_1 + case ( hal_ll_uart_module_num(UART_MODULE_1) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER0, HAL_LL_PID_UART1_BIT )):(clear_reg_bit( _PMC_PCER0, HAL_LL_PID_UART1_BIT )); + break; + #endif + + #ifdef UART_MODULE_2 + case ( hal_ll_uart_module_num(UART_MODULE_2) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER1, HAL_LL_PID_UART2_BIT )):(clear_reg_bit( _PMC_PCER1, HAL_LL_PID_UART2_BIT )); + break; + #endif + + #ifdef UART_MODULE_3 + case ( hal_ll_uart_module_num(UART_MODULE_3) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER1, HAL_LL_PID_UART3_BIT )):(clear_reg_bit( _PMC_PCER1, HAL_LL_PID_UART3_BIT )); + break; + #endif + + #ifdef UART_MODULE_4 + case ( hal_ll_uart_module_num(UART_MODULE_4) ): + (hal_ll_state == true)?(set_reg_bit( _PMC_PCER1, HAL_LL_PID_UART4_BIT )):(clear_reg_bit( _PMC_PCER1, HAL_LL_PID_UART4_BIT )); + break; + #endif + + default: + break; + } +} + +static void hal_ll_uart_map_pins( uint8_t module_index, hal_ll_uart_pin_id *index_list ) { + // Map new pins + hal_ll_uart_hw_specifics_map[module_index].pins.tx_pin.pin_name = hal_ll_uart_tx_map[ index_list[module_index].pin_tx ].pin; + hal_ll_uart_hw_specifics_map[module_index].pins.rx_pin.pin_name = hal_ll_uart_rx_map[ index_list[module_index].pin_rx ].pin; + // TX and RX could have different alternate function settings, hence save both AF values + hal_ll_uart_hw_specifics_map[module_index].pins.tx_pin.pin_af = hal_ll_uart_tx_map[ index_list[module_index].pin_tx ].af; + hal_ll_uart_hw_specifics_map[module_index].pins.rx_pin.pin_af = hal_ll_uart_rx_map[ index_list[module_index].pin_rx ].af; +} + +static void hal_ll_uart_alternate_functions_set_state( hal_ll_uart_hw_specifics_map_t *map, bool hal_ll_state ) { + module_struct module; + + if ( ( map->pins.tx_pin.pin_name != HAL_LL_PIN_NC ) && map->pins.rx_pin.pin_name != HAL_LL_PIN_NC ) { + module.pins[0] = map->pins.tx_pin.pin_name; + module.pins[1] = map->pins.rx_pin.pin_name; + module.pins[2] = GPIO_MODULE_STRUCT_END; + + module.configs[0] = map->pins.tx_pin.pin_af; + module.configs[1] = map->pins.rx_pin.pin_af; + module.configs[2] = GPIO_MODULE_STRUCT_END; + + hal_ll_gpio_module_struct_init( &module, hal_ll_state ); + } +} + +static void hal_ll_uart_set_baud_bare_metal( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_base_handle_t *hal_ll_hw_reg = hal_ll_uart_get_base_struct(map->base); + uint16_t baud_rate_register_divider = hal_ll_baud_rate_register_divider( map->baud_rate.baud ); + uint32_t real_baud_rate = hal_ll_uart_real_baud_rate( baud_rate_register_divider ); + + // If error greater than specified, cancel setting baud rate. + if ( HAL_LL_UART_ACCEPTABLE_ERROR < hal_ll_uart_get_baud_error( real_baud_rate, map->baud_rate.baud )) { + map->baud_rate.real_baud = hal_ll_uart_get_baud_error( real_baud_rate, map->baud_rate.baud ); + } else { + map->baud_rate.real_baud = real_baud_rate; + + write_reg( &hal_ll_hw_reg->brgr, baud_rate_register_divider ); + } +} + +static void hal_ll_uart_set_stop_bits_bare_metal( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_base_handle_t *hal_ll_hw_reg = hal_ll_uart_get_base_struct(map->base); + + switch ( map->stop_bit ) + { + case HAL_LL_UART_STOP_BITS_ONE: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_STOP_BITS_ONE_MASK ); + break; + case HAL_LL_UART_STOP_BITS_ONE_AND_A_HALF: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_STOP_BITS_ONE_AND_HALF_MASK ); + break; + case HAL_LL_UART_STOP_BITS_TWO: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_STOP_BITS_TWO_MASK ); + break; + + default: + break; + } +} + +static void hal_ll_uart_set_data_bits_bare_metal( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_base_handle_t *hal_ll_hw_reg = hal_ll_uart_get_base_struct(map->base); + + switch ( map->data_bit ) + { + case HAL_LL_UART_DATA_BITS_7: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_DATA_LENGTH_7_BIT_MASK ); + break; + + case HAL_LL_UART_DATA_BITS_8: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_DATA_LENGTH_8_BIT_MASK ); + break; + + default: + break; + } +} + +static void hal_ll_uart_set_parity_bare_metal( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_base_handle_t *hal_ll_hw_reg = hal_ll_uart_get_base_struct(map->base); + + switch ( map->parity ) + { + case HAL_LL_UART_PARITY_NONE: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_PARITY_NONE_MASK ); + break; + case HAL_LL_UART_PARITY_EVEN: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_PARITY_EVEN_MASK ); + break; + case HAL_LL_UART_PARITY_ODD: + set_reg_bits( &hal_ll_hw_reg->mr, HAL_LL_UART_MR_PARITY_ODD_MASK ); + break; + + default: + break; + } +} + +static void hal_ll_uart_set_transmitter( hal_ll_uart_base_handle_t *hal_ll_hw_reg, hal_ll_uart_state_t pin_state ) { + switch ( pin_state ) + { + case HAL_LL_UART_DISABLE: + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_CR_TXDIS_BIT ); + break; + + case HAL_LL_UART_ENABLE: + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_CR_TXEN_BIT ); + break; + + default: + break; + } +} + +static void hal_ll_uart_set_receiver( hal_ll_uart_base_handle_t *hal_ll_hw_reg, hal_ll_uart_state_t pin_state ) { + switch ( pin_state ) + { + case HAL_LL_UART_DISABLE: + clear_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_CR_RXDIS_BIT ); + break; + + case HAL_LL_UART_ENABLE: + set_reg_bit( &hal_ll_hw_reg->cr, HAL_LL_CR_RXEN_BIT ); + break; + + default: + break; + } +} + +static void hal_ll_uart_clear_regs( hal_ll_uart_base_handle_t *hal_ll_hw_reg ) { + clear_reg( &hal_ll_hw_reg->cr ); + clear_reg( &hal_ll_hw_reg->mr ); + clear_reg( &hal_ll_hw_reg->ier ); + hal_ll_hw_reg->cr = HAL_LL_UART_CR_DISABLE_MASK; +} + +static void hal_ll_uart_hw_init( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_clear_regs( map->base ); + + hal_ll_uart_set_data_bits_bare_metal( map ); + + hal_ll_uart_set_parity_bare_metal( map ); + + hal_ll_uart_set_stop_bits_bare_metal( map ); + + hal_ll_uart_set_baud_bare_metal( map ); + + hal_ll_uart_set_transmitter( map->base, HAL_LL_UART_ENABLE ); + + hal_ll_uart_set_receiver( map->base, HAL_LL_UART_ENABLE ); +} + +static void hal_ll_uart_init( hal_ll_uart_hw_specifics_map_t *map ) { + hal_ll_uart_set_clock( map, true ); + + hal_ll_uart_alternate_functions_set_state( map, true ); + + hal_ll_uart_hw_init( map ); +} +// ------------------------------------------------------------------------- END