From 8858a87071debf4bbb2e5f987ce9b03eb1836ba6 Mon Sep 17 00:00:00 2001 From: MarceloSalazar Date: Tue, 7 Apr 2020 22:49:59 +0100 Subject: [PATCH 01/15] Remove Thundersoft targets --- .../TARGET_TT_M3HQ/PeripheralNames.h | 163 - targets/TARGET_TT/TARGET_TT_M3HQ/PinNames.h | 139 - targets/TARGET_TT/TARGET_TT_M3HQ/PortNames.h | 49 - .../TARGET_TT/TARGET_TT_M3HQ/analogin_api.c | 119 - .../TARGET_TT/TARGET_TT_M3HQ/analogout_api.c | 109 - targets/TARGET_TT/TARGET_TT_M3HQ/device.h | 23 - .../TARGET_TT/TARGET_TT_M3HQ/device/TMPM3HQ.h | 4539 ------------ .../TOOLCHAIN_ARM_STD/startup_TMPM3HQ.S | 614 -- .../device/TOOLCHAIN_ARM_STD/tmpm3hqfdfg.sct | 39 - .../TOOLCHAIN_GCC_ARM/startup_TMPM3HQ.S | 582 -- .../device/TOOLCHAIN_GCC_ARM/tmpm3hqfdfg.ld | 166 - .../device/TOOLCHAIN_IAR/startup_TMPM3HQ.S | 1107 --- .../device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf | 43 - .../TARGET_TT/TARGET_TT_M3HQ/device/cmsis.h | 12 - .../TARGET_TT_M3HQ/device/cmsis_nvic.h | 13 - .../TARGET_TT_M3HQ/device/system_TMPM3HQ.c | 342 - .../TARGET_TT_M3HQ/device/system_TMPM3HQ.h | 52 - targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c | 116 - .../TARGET_TT/TARGET_TT_M3HQ/gpio_include.h | 355 - .../TARGET_TT/TARGET_TT_M3HQ/gpio_irq_api.c | 466 -- .../TARGET_TT/TARGET_TT_M3HQ/gpio_object.h | 98 - targets/TARGET_TT/TARGET_TT_M3HQ/i2c_api.c | 400 -- targets/TARGET_TT/TARGET_TT_M3HQ/objects.h | 113 - targets/TARGET_TT/TARGET_TT_M3HQ/pinmap.c | 215 - targets/TARGET_TT/TARGET_TT_M3HQ/port_api.c | 150 - targets/TARGET_TT/TARGET_TT_M3HQ/pwmout_api.c | 200 - targets/TARGET_TT/TARGET_TT_M3HQ/serial_api.c | 471 -- targets/TARGET_TT/TARGET_TT_M3HQ/sleep.c | 75 - targets/TARGET_TT/TARGET_TT_M3HQ/spi_api.c | 329 - targets/TARGET_TT/TARGET_TT_M3HQ/us_ticker.c | 101 - .../TARGET_TT_M4G9/Periph_Driver/inc/adc.h | 499 -- .../TARGET_TT_M4G9/Periph_Driver/inc/adc_ch.h | 135 - .../Periph_Driver/inc/adc_include.h | 349 - .../Periph_Driver/inc/tmpm4g9_fc.h | 137 - .../Periph_Driver/inc/tmpm4g9_rtc.h | 386 -- .../TARGET_TT_M4G9/Periph_Driver/inc/txz_cg.h | 113 - .../Periph_Driver/inc/txz_driver_def.h | 96 - .../Periph_Driver/inc/txz_fuart.h | 552 -- .../Periph_Driver/inc/txz_fuart_ex.h | 110 - .../Periph_Driver/inc/txz_fuart_include.h | 390 -- .../Periph_Driver/inc/txz_gpio.h | 2406 ------- .../Periph_Driver/inc/txz_hal.h | 126 - .../Periph_Driver/inc/txz_i2c.h | 843 --- .../Periph_Driver/inc/txz_i2c_api.h | 311 - .../Periph_Driver/inc/txz_sample_def.h | 30 - .../Periph_Driver/inc/txz_t32a.h | 1024 --- .../Periph_Driver/inc/txz_tspi.h | 1322 ---- .../Periph_Driver/inc/txz_uart.h | 812 --- .../Periph_Driver/inc/txz_uart_include.h | 476 -- .../TARGET_TT_M4G9/Periph_Driver/src/adc.c | 1200 ---- .../TARGET_TT_M4G9/Periph_Driver/src/adc_ch.c | 351 - .../Periph_Driver/src/tmpm4g9_fc.c | 646 -- .../TARGET_TT_M4G9/Periph_Driver/src/txz_cg.c | 492 -- .../Periph_Driver/src/txz_fuart.c | 1438 ---- .../Periph_Driver/src/txz_fuart_ex.c | 206 - .../Periph_Driver/src/txz_gpio.c | 4751 ------------- .../Periph_Driver/src/txz_hal.c | 175 - .../Periph_Driver/src/txz_i2c.c | 415 -- .../Periph_Driver/src/txz_i2c_api.c | 1865 ----- .../Periph_Driver/src/txz_t32a.c | 2034 ------ .../Periph_Driver/src/txz_tspi.c | 2830 -------- .../Periph_Driver/src/txz_uart.c | 1910 ----- .../TARGET_TT_M4G9/PeripheralNames.h | 187 - targets/TARGET_TT/TARGET_TT_M4G9/PinNames.h | 139 - targets/TARGET_TT/TARGET_TT_M4G9/PortNames.h | 50 - .../TARGET_TT/TARGET_TT_M4G9/analogin_api.c | 138 - .../TARGET_TT/TARGET_TT_M4G9/analogout_api.c | 127 - targets/TARGET_TT/TARGET_TT_M4G9/device.h | 24 - .../TARGET_TT/TARGET_TT_M4G9/device/TMPM4G9.h | 6129 ----------------- .../TOOLCHAIN_ARM_STD/startup_TMPM4G9.S | 533 -- .../device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct | 50 - .../TOOLCHAIN_GCC_ARM/startup_TMPM4G9.S | 532 -- .../device/TOOLCHAIN_GCC_ARM/tmpm4g9f15fg.ld | 214 - .../device/TOOLCHAIN_IAR/startup_TMPM4G9.S | 952 --- .../device/TOOLCHAIN_IAR/tmpm4g9f15.icf | 45 - .../TARGET_TT/TARGET_TT_M4G9/device/cmsis.h | 12 - .../TARGET_TT_M4G9/device/cmsis_nvic.h | 28 - .../TARGET_TT_M4G9/device/system_TMPM4G9.c | 338 - .../TARGET_TT_M4G9/device/system_TMPM4G9.h | 54 - targets/TARGET_TT/TARGET_TT_M4G9/flash_api.c | 130 - targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c | 125 - .../TARGET_TT/TARGET_TT_M4G9/gpio_irq_api.c | 281 - .../TARGET_TT/TARGET_TT_M4G9/gpio_object.h | 70 - targets/TARGET_TT/TARGET_TT_M4G9/i2c_api.c | 216 - targets/TARGET_TT/TARGET_TT_M4G9/objects.h | 105 - targets/TARGET_TT/TARGET_TT_M4G9/pinmap.c | 98 - targets/TARGET_TT/TARGET_TT_M4G9/port_api.c | 140 - targets/TARGET_TT/TARGET_TT_M4G9/pwmout_api.c | 225 - targets/TARGET_TT/TARGET_TT_M4G9/serial_api.c | 420 -- targets/TARGET_TT/TARGET_TT_M4G9/sleep.c | 125 - targets/TARGET_TT/TARGET_TT_M4G9/spi_api.c | 341 - targets/TARGET_TT/TARGET_TT_M4G9/us_ticker.c | 106 - targets/TARGET_TT/mbed_rtx.h | 38 - targets/targets.json | 86 - 94 files changed, 51688 deletions(-) delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/PeripheralNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/PinNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/PortNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/analogin_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/analogout_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TMPM3HQ.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/startup_TMPM3HQ.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/tmpm3hqfdfg.sct delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/startup_TMPM3HQ.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/tmpm3hqfdfg.ld delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/startup_TMPM3HQ.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis_nvic.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/gpio_include.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/gpio_irq_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/gpio_object.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/i2c_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/objects.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/pinmap.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/port_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/pwmout_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/serial_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/sleep.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/spi_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M3HQ/us_ticker.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_ch.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_include.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_fc.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_rtc.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_cg.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_driver_def.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_ex.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_include.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_gpio.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_hal.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c_api.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_sample_def.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_t32a.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_tspi.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart_include.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc_ch.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/tmpm4g9_fc.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_cg.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart_ex.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_gpio.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_hal.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_t32a.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_tspi.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_uart.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/PeripheralNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/PinNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/PortNames.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/analogin_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/analogout_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TMPM4G9.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/startup_TMPM4G9.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/startup_TMPM4G9.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/tmpm4g9f15fg.ld delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/startup_TMPM4G9.S delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/tmpm4g9f15.icf delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis_nvic.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/flash_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/gpio_irq_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/gpio_object.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/i2c_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/objects.h delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/pinmap.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/port_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/pwmout_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/serial_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/sleep.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/spi_api.c delete mode 100644 targets/TARGET_TT/TARGET_TT_M4G9/us_ticker.c delete mode 100644 targets/TARGET_TT/mbed_rtx.h diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/PeripheralNames.h b/targets/TARGET_TT/TARGET_TT_M3HQ/PeripheralNames.h deleted file mode 100644 index f9c8c5377a1..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/PeripheralNames.h +++ /dev/null @@ -1,163 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PERIPHERALNAMES_H -#define MBED_PERIPHERALNAMES_H - -#include "PinNames.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SERIAL_0 = 0, - SERIAL_1, - SERIAL_2, - SERIAL_3, - SERIAL_4, - SERIAL_5, - INVALID_SERIAL = (int)NC -} UARTName; - -typedef enum { - ADC_AINA00 = 0, - ADC_AINA01, - ADC_AINA02, - ADC_AINA03, - ADC_AINA04, - ADC_AINA05, - ADC_AINA06, - ADC_AINA07, - ADC_AINA08, - ADC_AINA09, - ADC_AINA10, - ADC_AINA11, - ADC_AINA12, - ADC_AINA13, - ADC_AINA14, - ADC_AINA15, - ADC_AINA16, - ADC_AINA17, - ADC_AINA18, - ADC_AINA19, - ADC_AINA20, - INVALID_ADC = (int)NC -} ADCName; - -typedef enum { - DAC_A0 = 0, - DAC_A1, - INVALID_DAC = (int)NC -} DACName; - -typedef enum { - SPI_0 = 0, - SPI_1, - SPI_2, - SPI_3, - SPI_4, - INVALID_SPI = (int)NC -} SPIName; - -typedef enum { - I2C_0 = 0, - I2C_1, - I2C_2, - I2C_3, - INVALID_I2C = (int)NC -} I2CName; - -typedef enum { - PWM_0 = 0, - PWM_1, - PWM_2, - PWM_3, - PWM_4, - PWM_5, - PWM_6, - INVALID_PWM = (int)NC -} PWMName; - -typedef enum { - GPIO_IRQ_00 = 0, - GPIO_IRQ_01, - GPIO_IRQ_02, - GPIO_IRQ_03, - GPIO_IRQ_04, - GPIO_IRQ_05, - GPIO_IRQ_06, - GPIO_IRQ_07, - GPIO_IRQ_08, - GPIO_IRQ_09, - GPIO_IRQ_10, - GPIO_IRQ_11, - GPIO_IRQ_12, - GPIO_IRQ_13, - GPIO_IRQ_14, - GPIO_IRQ_15, - GPIO_IRQ_16, - GPIO_IRQ_17_18, - GPIO_IRQ_19_22, - GPIO_IRQ_23_26, - GPIO_IRQ_27_28, - GPIO_IRQ_29, - GPIO_IRQ_30_31, - INVALID_GPIO_IRQ = (int)NC -} gpio_irqname; - -#define STDIO_UART_TX USBTX -#define STDIO_UART_RX USBRX -#define STDIO_UART SERIAL_1 - -#define MBED_SPI0 PA1, PA2, PA0, PA4 -#define MBED_SPI1 PB3, PB4, PB2, PB5 -#define MBED_SPI2 PT3, PT4, PT2, PT1 -#define MBED_SPI3 PP4, PP3, PP5, PP6 -#define MBED_SPI4 PH5, PH6, PH4, PH0 - -#define MBED_UART0 PA1, PA2 -#define MBED_UART1 PJ1, PJ2 -#define MBED_UART2 PB2, PB3 -#define MBED_UART3 PA7, PA6 -#define MBED_UART4 PC4, PC5 -#define MBED_UART5 PN2, PN3 -#define MBED_UARTUSB USBTX, USBRX - -#define MBED_I2C0 PC1, PC0 -#define MBED_I2C1 PA5, PA4 -#define MBED_I2C2 PL1, PL0 -#define MBED_I2C3 PT0, PT1 - -#define MBED_ANALOGIN0 A0 -#define MBED_ANALOGIN1 A1 -#define MBED_ANALOGIN2 A2 -#define MBED_ANALOGIN3 A3 -#define MBED_ANALOGIN4 A4 -#define MBED_ANALOGIN5 A5 - -#define MBED_PWMOUT0 PB0 -#define MBED_PWMOUT1 PC0 -#define MBED_PWMOUT2 PJ0 -#define MBED_PWMOUT3 PK2 -#define MBED_PWMOUT4 PN0 -#define MBED_PWMOUT5 PL5 -#define MBED_PWMOUT6 PG2 - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/PinNames.h b/targets/TARGET_TT/TARGET_TT_M3HQ/PinNames.h deleted file mode 100644 index e966a4f5fd7..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/PinNames.h +++ /dev/null @@ -1,139 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PINNAMES_H -#define MBED_PINNAMES_H - -#include "cmsis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define PIN_PORT(X) (((uint32_t)(X) >> 3) & 0x1F) -#define PIN_POS(X) ((uint32_t)(X) & 0x7) - -// Pin data, bit 31..16: Pin Function, bit 15..0: Pin Direction -#define PIN_DATA(FUNC, DIR) (int)(((FUNC) << 16)| ((DIR) << 0)) -#define PIN_FUNC(X) (((X) & 0xffff0000) >> 16) -#define PIN_DIR(X) ((X) & 0xffff) - -#define GPIO_NUM (15U) // total number of gpio -#define FRMAX (7U) -#define RESER (8U - (FRMAX)) - -typedef enum { - PIN_INPUT, - PIN_OUTPUT, - PIN_INOUT -} PinDirection; - -typedef enum { - // TMPM3HQ Pin Names - PA0 = 0 << 3, PA1, PA2, PA3, PA4, PA5, PA6, PA7, - PB0 = 1 << 3, PB1, PB2, PB3, PB4, PB5, PB6, PB7, - PC0 = 2 << 3, PC1, PC2, PC3, PC4, PC5, PC6, - PD0 = 3 << 3, PD1, PD2, PD3, PD4, PD5, - PE0 = 4 << 3, PE1, PE2, PE3, PE4, PE5, PE6, - PF0 = 5 << 3, PF1, PF2, PF3, PF4, PF5, PF6, PF7, - PG0 = 6 << 3, PG1, PG2, PG3, PG4, PG5, PG6, PG7, - PH0 = 7 << 3, PH1, PH2, PH3, PH4, PH5, PH6, PH7, - PJ0 = 8 << 3, PJ1, PJ2, PJ3, PJ4, PJ5, - PK0 = 9 << 3, PK1, PK2, PK3, PK4, PK5, PK6, PK7, - PL0 = 10 << 3, PL1, PL2, PL3, PL4, PL5, PL6, PL7, - PM0 = 11 << 3, PM1, PM2, PM3, PM4, PM5, PM6, PM7, - PN0 = 12 << 3, PN1, PN2, PN3, PN4, PN5, - PP0 = 13 << 3, PP1, PP2, PP3, PP4, PP5, PP6, PP7, - PR0 = 14 << 3, PR1, PR2, PR3, PR4, PR5, PR6, PR7, - PT0 = 15 << 3, PT1, PT2, PT3, PT4, PT5, PT6, PT7, - PU0 = 16 << 3, PU1, PU2, PU3, PU4, PU5, - PV0 = 17 << 3, PV1, PV2, PV3, PV4, PV5, PV6, PV7, - - // Other mbed Pin Names - LED0 = PK4, - LED1 = PK5, - LED2 = PK6, - LED3 = PK7, - - // External data bus Pin Names - D0 = PG3, - D1 = PG4, - D2 = PG5, - D3 = PG2, - D4 = PG6, - D5 = PA0, - D6 = PL5, - D7 = PL6, - D8 = PT0, - D9 = PP0, - D10 = PT1, - D11 = PT3, - D12 = PT4, - D13 = PT2, - D14 = PA5, - D15 = PA4, - - DAC0 = PG0, - DAC1 = PG1, - // Analogue out pins - A0 = PF7, - A1 = PF6, - A2 = PF5, - A3 = PF4, - A4 = PF3, - A5 = PF2, - - // DAP_UART - USBTX = PJ1, - USBRX = PJ2, - MBEDIF_TXD = USBTX, - MBEDIF_RXD = USBRX, - - // Switches - SW1 = PP6, //DIP switch J7_1 - SW2 = PP7, //DIP switch J7_2 - SW3 = (int)0xFFFFFFFF, //Reset Button - SW4 = PV3, //Push button S2 - USER_BUTTON = PV3, - - // I2C pins - SDA = D14, - SCL = D15, - I2C_SDA = SDA, - I2C_SCL = SCL, - - // Not connected - NC = (int)0xFFFFFFFF, -} PinName; - -typedef enum { - PullUp = 0, - PullDown, - PullNone, - OpenDrain, - PullDefault -} PinMode; - -typedef enum { - DISABLE = 0, - ENABLE -} FunctionalState; - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/PortNames.h b/targets/TARGET_TT/TARGET_TT_M3HQ/PortNames.h deleted file mode 100644 index 84bcf0b3da8..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/PortNames.h +++ /dev/null @@ -1,49 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PORTNAMES_H -#define MBED_PORTNAMES_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - PortA = 0, - PortB, - PortC, - PortD, - PortE, - PortF, - PortG, - PortH, - PortJ, - PortK, - PortL, - PortM, - PortN, - PortP, - PortR, - PortT, - PortU, - PortV -} PortName; - -#define IS_GPIO_PORT(param) ((param) <= PortV) // parameter checking for port number - -#ifdef __cplusplus -} -#endif -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/analogin_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/analogin_api.c deleted file mode 100644 index e043e2611f0..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/analogin_api.c +++ /dev/null @@ -1,119 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "analogin_api.h" -#include "PeripheralNames.h" -#include "pinmap.h" -#include "mbed_wait_api.h" -#include "gpio_include.h" - -static const PinMap PinMap_ADC[] = { - {PD0, ADC_AINA00, PIN_DATA(0, 0)}, - {PD1, ADC_AINA01, PIN_DATA(0, 0)}, - {PD2, ADC_AINA02, PIN_DATA(0, 0)}, - {PD3, ADC_AINA03, PIN_DATA(0, 0)}, - {PE0, ADC_AINA04, PIN_DATA(0, 0)}, - {PE1, ADC_AINA05, PIN_DATA(0, 0)}, - {PE2, ADC_AINA06, PIN_DATA(0, 0)}, - {PE3, ADC_AINA07, PIN_DATA(0, 0)}, - {PE4, ADC_AINA08, PIN_DATA(0, 0)}, - {PE5, ADC_AINA09, PIN_DATA(0, 0)}, - {PE6, ADC_AINA10, PIN_DATA(0, 0)}, - {PF0, ADC_AINA11, PIN_DATA(0, 0)}, - {PF1, ADC_AINA12, PIN_DATA(0, 0)}, - {PF2, ADC_AINA13, PIN_DATA(0, 0)}, - {PF3, ADC_AINA14, PIN_DATA(0, 0)}, - {PF4, ADC_AINA15, PIN_DATA(0, 0)}, - {PF5, ADC_AINA16, PIN_DATA(0, 0)}, - {PF6, ADC_AINA17, PIN_DATA(0, 0)}, - {PF7, ADC_AINA18, PIN_DATA(0, 0)}, - {PD4, ADC_AINA19, PIN_DATA(0, 0)}, - {PD5, ADC_AINA20, PIN_DATA(0, 0)}, - {NC, NC, 0} -}; - -/** - * [analogin_init] - * @param obj - * @param pin - * @description Initialize analog input - */ -void analogin_init(analogin_t *obj, PinName pin) -{ - // Check that pin belong to ADC module - obj->adc = (ADCName)pinmap_peripheral(pin, PinMap_ADC); - // Assert that ADC channel is valid - MBED_ASSERT(obj->adc != (ADCName)NC); - obj->obj = TSB_ADA; - // ADC CG Fsys Enable - TSB_CG_FSYSENB_IPENB15 = ENABLE; - // ADC Clock Enable - TSB_CG_SPCLKEN_ADCKEN = ENABLE; - // Set pin function as ADC - pinmap_pinout(pin, PinMap_ADC); - // Set sample hold time and pre-scale clock - obj->obj->CLK = (ADC_SCLK_1 | ADC_SAMPLING_PERIOD_3V); - obj->obj->MOD0 = (ADxMOD0_RCUT_NORMAL | ADxMOD0_DACON_ON); - obj->obj->MOD1 = ADC_MOD1_AVDD5_3V; - obj->obj->MOD2 = ADC_MOD2_TMPM3Hx; -} - -/** - * [analogin_read_u16] - * @param obj - * @return An unsigned short in the range [0x00, 0x0FFF] - * @description Read the ADC input - */ -uint16_t analogin_read_u16(analogin_t *obj) -{ - uint16_t ADCResultValue = 0; - uint32_t ADCResultStored = 0; - - // Wait at least 3us to ensure the voltage is stable - wait_us(300); - // ADC configuration for data Conversion - obj->obj->CR0 = (ADxCR0_ADEN_DISABLE | ADxCR0_CNT_DISABLE); - obj->obj->TSET0 = (ADxTSETn_ENINT_DISABLE | ADxTSETn_TRGS_SGL | obj->adc); - obj->obj->CR1 = (ADxCR1_CNTDMEN_DISABLE | ADxCR1_SGLDMEN_DISABLE - | ADxCR1_TRGDMEN_DISABLE | ADxCR1_TRGEN_DISABLE); - obj->obj->CR0 = (ADxCR0_ADEN_ENABLE | ADxCR0_SGL_ENABLE | ADxCR0_CNT_DISABLE); - // Wait until AD conversion complete - while( (obj->obj->ST & ADxST_SNGF_RUN) != ADxST_SNGF_IDLE); - // Wait for register to update with convert value - wait_us(30); - // Convert result - ADCResultStored = (obj->obj->REG0 | obj->adc); - if ((ADCResultStored & ADxREGn_ADRFn_MASK) == ADxREGn_ADRFn_ON) { - ADCResultValue = (uint16_t)((ADCResultStored & ADxREGn_ADRn_MASK) >> 4); - } - return ADCResultValue; -} - -/** - * [analogin_read] - * @param obj - * @return A float in the range [0.0, 1.0] - * @description Read the ADC input - */ -float analogin_read(analogin_t *obj) -{ - uint16_t value = analogin_read_u16(obj); - return ((float)(value * (1.0f / (float)ADC_12BIT_RANGE))); -} - -const PinMap *analogin_pinmap() -{ - return PinMap_ADC; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/analogout_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/analogout_api.c deleted file mode 100644 index dbf4b385b99..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/analogout_api.c +++ /dev/null @@ -1,109 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "analogout_api.h" -#include "PeripheralNames.h" -#include "mbed_wait_api.h" -#include "pinmap.h" - -#define DAC_START ((uint32_t)0x00000001) -#define DAC_STOP ((uint32_t)0x00000000) - -static const PinMap PinMap_DAC[] = { - {DAC0, DAC_A0, PIN_DATA(0, 3)}, - {DAC1, DAC_A1, PIN_DATA(0, 3)}, - {NC, NC, 0} -}; - -static void analogout_start(dac_t *obj) -{ - obj->handler->CTL = DAC_START; // Supply Vref and enable DAC -} - -void analogout_init(dac_t *obj, PinName pin) -{ - obj->dac = (DACName)pinmap_peripheral(pin, PinMap_DAC); // Check that pin belong to DAC module - MBED_ASSERT(obj->dac != (DACName)NC); - - pinmap_pinout(pin, PinMap_DAC); // Set pin function as DAC - TSB_CG_FSYSENA_IPENA06 = ENABLE; - if (obj->dac == DAC_A0) { // Compute handler - obj->handler = TSB_DA0; - TSB_CG_FSYSENB_IPENB17 = ENABLE; - } else { - if (obj->dac == DAC_A1) { - obj->handler = TSB_DA1; - TSB_CG_FSYSENB_IPENB18 = ENABLE; - } else { - obj->handler = NULL; - } - } - obj->handler->CTL = DAC_STOP; -} - -void analogout_free(dac_t *obj) -{ - obj->handler->CTL = DAC_STOP; -} - -void analogout_write(dac_t *obj, float value) -{ - uint8_t outputcode; - - analogout_start(obj); - - if (value < 0.0f) { - value = 0.0f; - } else { - if (value >= 1.0f) { - value = 1.0f; - } - } - outputcode = (uint8_t)(value * 255.0f); - obj->handler->REG = outputcode; - wait_ms(3); -} - -void analogout_write_u16(dac_t *obj, uint16_t value) -{ - analogout_start(obj); - obj->handler->REG = (uint8_t)(value & 0xFF); - wait_ms(3); -} - -float analogout_read(dac_t *obj) -{ - float result; - uint32_t value = 0; - - value = ((obj->handler->REG) & (0xFF)); - result = ((float)value / 255.0f); - - return result; -} - -uint16_t analogout_read_u16(dac_t *obj) -{ - uint16_t value = 0; - - value = (uint16_t)((obj->handler->REG) & (0xFF)); - - return value; -} - -const PinMap *analogout_pinmap() -{ - return PinMap_DAC; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device.h b/targets/TARGET_TT/TARGET_TT_M3HQ/device.h deleted file mode 100644 index ff9910ab575..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device.h +++ /dev/null @@ -1,23 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_DEVICE_H -#define MBED_DEVICE_H - -#define DEVICE_ID_LENGTH 32 - -#include "objects.h" - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TMPM3HQ.h b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TMPM3HQ.h deleted file mode 100644 index 0aaef3e355f..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TMPM3HQ.h +++ /dev/null @@ -1,4539 +0,0 @@ -/** - ******************************************************************************* - * @file TMPM3HQ.h - * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for the - * TOSHIBA 'TMPM3HQ' Device Series - * @version V1.0.0.1 - * $Date:: 2017-12-27 #$ - * - * DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LICENSE AGREEMENT. - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -/** @addtogroup TOSHIBA_TXZ_MICROCONTROLLER - * @{ - */ - -/** @addtogroup TMPM3HQ - * @{ - */ - -#ifndef __TMPM3HQ_H__ -#define __TMPM3HQ_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** @addtogroup Configuration_of_CMSIS - * @{ - */ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M3 Processor Exceptions Numbers ***************************************************************/ - NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /*!< 3 Cortex-M3 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */ - BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */ - SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */ - SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */ - -/****** TMPM3HQ Specific Interrupt Numbers *******************************************************************/ - INT00_IRQn = 0, /*!< Interrupt Pin 00 */ - INT01_IRQn = 1, /*!< Interrupt Pin 01 */ - INT02_IRQn = 2, /*!< Interrupt Pin 02 */ - INT03_IRQn = 3, /*!< Interrupt Pin 03 */ - INT04_IRQn = 4, /*!< Interrupt Pin 04 */ - INT05_IRQn = 5, /*!< Interrupt Pin 05 */ - INT06_IRQn = 6, /*!< Interrupt Pin 06 */ - INT07_IRQn = 7, /*!< Interrupt Pin 07 */ - INT08_IRQn = 8, /*!< Interrupt Pin 08 */ - INT09_IRQn = 9, /*!< Interrupt Pin 09 */ - INT10_IRQn = 10, /*!< Interrupt Pin 10 */ - INT11_IRQn = 11, /*!< Interrupt Pin 11 */ - INT12_IRQn = 12, /*!< Interrupt Pin 12 */ - INT13_IRQn = 13, /*!< Interrupt Pin 13 */ - INT14_IRQn = 14, /*!< Interrupt Pin 14 */ - INT15_IRQn = 15, /*!< Interrupt Pin 15 */ - INT16_IRQn = 16, /*!< Interrupt Pin 16 */ - INT17_18_IRQn = 17, /*!< Interrupt Pin 17_18 */ - INT19_22_IRQn = 18, /*!< Interrupt Pin 19_22 */ - INT23_26_IRQn = 19, /*!< Interrupt Pin 23_26 */ - INT27_28_IRQn = 20, /*!< Interrupt Pin 27_28 */ - INT29_IRQn = 21, /*!< Interrupt Pin 29 */ - INT30_31_IRQn = 22, /*!< Interrupt Pin 30_31 */ - INTEMG0_IRQn = 23, /*!< PMD0 EMG interrupt */ - INTOVV0_IRQn = 24, /*!< PMD0 OVV interrupt */ - INTPMD0_IRQn = 25, /*!< PMD0 interrupt */ - INTENC00_IRQn = 26, /*!< Encoder 0 interrupt 0 */ - INTENC01_IRQn = 27, /*!< Encoder 0 interrupt 1 */ - INTADAPDA_IRQn = 28, /*!< ADC conversion triggered by PMD is finished A */ - INTADAPDB_IRQn = 29, /*!< ADC conversion triggered by PMD is finished B */ - INTADACP0_IRQn = 30, /*!< ADC conversion monitoring function interrupt 0 */ - INTADACP1_IRQn = 31, /*!< ADC conversion monitoring function interrupt 1 */ - INTADATRG_IRQn = 32, /*!< ADC conversion triggered by General purpose is finished */ - INTADASGL_IRQn = 33, /*!< ADC conversion triggered by Single program is finished */ - INTADACNT_IRQn = 34, /*!< ADC conversion triggered by Continuity program is finished */ - INTT0RX_IRQn = 35, /*!< TSPI/SIO reception (channel 0) */ - INTT0TX_IRQn = 36, /*!< TSPI/SIO transmit (channel 0) */ - INTT0ERR_IRQn = 37, /*!< TSPI/SIO error (channel 0) */ - INTT1RX_IRQn = 38, /*!< TSPI/SIO reception (channel 1) */ - INTT1TX_IRQn = 39, /*!< TSPI/SIO transmit (channel 1) */ - INTT1ERR_IRQn = 40, /*!< TSPI/SIO error (channel 1) */ - INTT2RX_IRQn = 41, /*!< TSPI/SIO reception (channel 2) */ - INTT2TX_IRQn = 42, /*!< TSPI/SIO transmit (channel 2) */ - INTT2ERR_IRQn = 43, /*!< TSPI/SIO error (channel 2) */ - INTT3RX_IRQn = 44, /*!< TSPI/SIO reception (channel 3) */ - INTT3TX_IRQn = 45, /*!< TSPI/SIO transmit (channel 3) */ - INTT3ERR_IRQn = 46, /*!< TSPI/SIO error (channel 3) */ - INTT4RX_IRQn = 47, /*!< TSPI/SIO reception (channel 4) */ - INTT4TX_IRQn = 48, /*!< TSPI/SIO transmit (channel 4) */ - INTT4ERR_IRQn = 49, /*!< TSPI/SIO error (channel 4) */ - INTI2CWUP_IRQn = 50, /*!< Serial bus interface (WakeUp) interrupt (channel 0) */ - INTI2C0_IRQn = 51, /*!< I2C0 transmission and reception interrupt */ - INTI2C0AL_IRQn = 52, /*!< I2C0 arbitration lost interrupt */ - INTI2C0BF_IRQn = 53, /*!< I2C0 bus free interrupt */ - INTI2C0NA_IRQn = 54, /*!< I2C0 no ack interrupt */ - INTI2C1_IRQn = 55, /*!< I2C1 transmission and reception interrupt */ - INTI2C1AL_IRQn = 56, /*!< I2C1 arbitration lost interrupt */ - INTI2C1BF_IRQn = 57, /*!< I2C1 bus free interrupt */ - INTI2C1NA_IRQn = 58, /*!< I2C1 no ack interrupt */ - INTI2C2_IRQn = 59, /*!< I2C2 transmission and reception interrupt */ - INTI2C2AL_IRQn = 60, /*!< I2C2 arbitration lost interrupt */ - INTI2C2BF_IRQn = 61, /*!< I2C2 bus free interrupt */ - INTI2C2NA_IRQn = 62, /*!< I2C2 no ack interrupt */ - INTI2C3_IRQn = 63, /*!< I2C3 transmission and reception interrupt */ - INTI2C3AL_IRQn = 64, /*!< I2C3 arbitration lost interrupt */ - INTI2C3BF_IRQn = 65, /*!< I2C3 bus free interrupt */ - INTI2C3NA_IRQn = 66, /*!< I2C3 no ack interrupt */ - INTUART0RX_IRQn = 67, /*!< UART reception (channel 0) */ - INTUART0TX_IRQn = 68, /*!< UART transmit (channel 0) */ - INTUART0ERR_IRQn = 69, /*!< UART error (channel 0) */ - INTUART1RX_IRQn = 70, /*!< UART reception (channel 1) */ - INTUART1TX_IRQn = 71, /*!< UART transmit (channel 1) */ - INTUART1ERR_IRQn = 72, /*!< UART error (channel 1) */ - INTUART2RX_IRQn = 73, /*!< UART reception (channel 2) */ - INTUART2TX_IRQn = 74, /*!< UART transmit (channel 2) */ - INTUART2ERR_IRQn = 75, /*!< UART error (channel 2) */ - INTUART3RX_IRQn = 76, /*!< UART reception (channel 3) */ - INTUART3TX_IRQn = 77, /*!< UART transmit (channel 3) */ - INTUART3ERR_IRQn = 78, /*!< UART error (channel 3) */ - INTUART4RX_IRQn = 79, /*!< UART reception (channel 4) */ - INTUART4TX_IRQn = 80, /*!< UART transmit (channel 4) */ - INTUART4ERR_IRQn = 81, /*!< UART error (channel 4) */ - INTUART5RX_IRQn = 82, /*!< UART reception (channel 5) */ - INTUART5TX_IRQn = 83, /*!< UART transmit (channel 5) */ - INTUART5ERR_IRQn = 84, /*!< UART error (channel 5) */ - INTT32A00A_IRQn = 85, /*!< 32bit T32A00A compare match detection 0 / Over flow / under flow*/ - INTT32A00ACAP0_IRQn = 86, /*!< 32bit T32A00A input capture 0 */ - INTT32A00ACAP1_IRQn = 87, /*!< 32bit T32A00A input capture 1 */ - INTT32A00B_IRQn = 88, /*!< 32bit T32A00B compare match detection 0 / Over flow / under flow*/ - INTT32A00BCAP0_IRQn = 89, /*!< 32bit T32A00B input capture 0 */ - INTT32A00BCAP1_IRQn = 90, /*!< 32bit T32A00B input capture 1 */ - INTT32A00C_IRQn = 91, /*!< 32bit T32A00C compare match detection 0 / Over flow / under flow*/ - INTT32A00CCAP0_IRQn = 92, /*!< 32bit T32A00C input capture 0 */ - INTT32A00CCAP1_IRQn = 93, /*!< 32bit T32A00C input capture 1 */ - INTT32A01A_IRQn = 94, /*!< 32bit T32A01A compare match detection 0 / Over flow / under flow*/ - INTT32A01ACAP0_IRQn = 95, /*!< 32bit T32A01A input capture 0 */ - INTT32A01ACAP1_IRQn = 96, /*!< 32bit T32A01A input capture 1 */ - INTT32A01B_IRQn = 97, /*!< 32bit T32A01B compare match detection 0 / Over flow / under flow*/ - INTT32A01BCAP0_IRQn = 98, /*!< 32bit T32A01B input capture 0 */ - INTT32A01BCAP1_IRQn = 99, /*!< 32bit T32A01B input capture 1 */ - INTT32A01C_IRQn = 100, /*!< 32bit T32A01C compare match detection 0 / Over flow / under flow*/ - INTT32A01CCAP0_IRQn = 101, /*!< 32bit T32A01C input capture 0 */ - INTT32A01CCAP1_IRQn = 102, /*!< 32bit T32A01C input capture 1 */ - INTT32A02A_IRQn = 103, /*!< 32bit T32A02A compare match detection 0 / Over flow / under flow*/ - INTT32A02ACAP0_IRQn = 104, /*!< 32bit T32A02A input capture 0 */ - INTT32A02ACAP1_IRQn = 105, /*!< 32bit T32A02A input capture 1 */ - INTT32A02B_IRQn = 106, /*!< 32bit T32A02B compare match detection 0 / Over flow / under flow*/ - INTT32A02BCAP0_IRQn = 107, /*!< 32bit T32A02B input capture 0 */ - INTT32A02BCAP1_IRQn = 108, /*!< 32bit T32A02B input capture 1 */ - INTT32A02C_IRQn = 109, /*!< 32bit T32A02C compare match detection 0 / Over flow / under flow*/ - INTT32A02CCAP0_IRQn = 110, /*!< 32bit T32A02C input capture 0 */ - INTT32A02CCAP1_IRQn = 111, /*!< 32bit T32A02C input capture 1 */ - INTT32A03A_IRQn = 112, /*!< 32bit T32A03A compare match detection 0 / Over flow / under flow*/ - INTT32A03ACAP0_IRQn = 113, /*!< 32bit T32A03A input capture 0 */ - INTT32A03ACAP1_IRQn = 114, /*!< 32bit T32A03A input capture 1 */ - INTT32A03B_IRQn = 115, /*!< 32bit T32A03B compare match detection 0 / Over flow / under flow*/ - INTT32A03BCAP0_IRQn = 116, /*!< 32bit T32A03B input capture 0 */ - INTT32A03BCAP1_IRQn = 117, /*!< 32bit T32A03B input capture 1 */ - INTT32A03C_IRQn = 118, /*!< 32bit T32A03C compare match detection 0 / Over flow / under flow*/ - INTT32A03CCAP0_IRQn = 119, /*!< 32bit T32A03C input capture 0 */ - INTT32A03CCAP1_IRQn = 120, /*!< 32bit T32A03C input capture 1 */ - INTT32A04A_IRQn = 121, /*!< 32bit T32A04A compare match detection 0 / Over flow / under flow*/ - INTT32A04ACAP0_IRQn = 122, /*!< 32bit T32A04A input capture 0 */ - INTT32A04ACAP1_IRQn = 123, /*!< 32bit T32A04A input capture 1 */ - INTT32A04B_IRQn = 124, /*!< 32bit T32A04B compare match detection 0 / Over flow / under flow*/ - INTT32A04BCAP0_IRQn = 125, /*!< 32bit T32A04B input capture 0 */ - INTT32A04BCAP1_IRQn = 126, /*!< 32bit T32A04B input capture 1 */ - INTT32A04C_IRQn = 127, /*!< 32bit T32A04C compare match detection 0 / Over flow / under flow*/ - INTT32A04CCAP0_IRQn = 128, /*!< 32bit T32A04C input capture 0 */ - INTT32A04CCAP1_IRQn = 129, /*!< 32bit T32A04C input capture 1 */ - INTT32A05A_IRQn = 130, /*!< 32bit T32A05A compare match detection 0 / Over flow / under flow*/ - INTT32A05ACAP0_IRQn = 131, /*!< 32bit T32A05A input capture 0 */ - INTT32A05ACAP1_IRQn = 132, /*!< 32bit T32A05A input capture 1 */ - INTT32A05B_IRQn = 133, /*!< 32bit T32A05B compare match detection 0 / Over flow / under flow*/ - INTT32A05BCAP0_IRQn = 134, /*!< 32bit T32A05B input capture 0 */ - INTT32A05BCAP1_IRQn = 135, /*!< 32bit T32A05B input capture 1 */ - INTT32A05C_IRQn = 136, /*!< 32bit T32A05C compare match detection 0 / Over flow / under flow*/ - INTT32A05CCAP0_IRQn = 137, /*!< 32bit T32A05C input capture 0 */ - INTT32A05CCAP1_IRQn = 138, /*!< 32bit T32A05C input capture 1 */ - INTT32A06A_IRQn = 139, /*!< 32bit T32A06A compare match detection 0 / Over flow / under flow*/ - INTT32A06ACAP0_IRQn = 140, /*!< 32bit T32A06A input capture 0 */ - INTT32A06ACAP1_IRQn = 141, /*!< 32bit T32A06A input capture 1 */ - INTT32A06B_IRQn = 142, /*!< 32bit T32A06B compare match detection 0 / Over flow / under flow*/ - INTT32A06BCAP0_IRQn = 143, /*!< 32bit T32A06B input capture 0 */ - INTT32A06BCAP1_IRQn = 144, /*!< 32bit T32A06B input capture 1 */ - INTT32A06C_IRQn = 145, /*!< 32bit T32A06C compare match detection 0 / Over flow / under flow*/ - INTT32A06CCAP0_IRQn = 146, /*!< 32bit T32A06C input capture 0 */ - INTT32A06CCAP1_IRQn = 147, /*!< 32bit T32A06C input capture 1 */ - INTT32A07A_IRQn = 148, /*!< 32bit T32A07A compare match detection 0 / Over flow / under flow*/ - INTT32A07ACAP0_IRQn = 149, /*!< 32bit T32A07A input capture 0 */ - INTT32A07ACAP1_IRQn = 150, /*!< 32bit T32A07A input capture 1 */ - INTT32A07B_IRQn = 151, /*!< 32bit T32A07B compare match detection 0 / Over flow / under flow*/ - INTT32A07BCAP0_IRQn = 152, /*!< 32bit T32A07B input capture 0 */ - INTT32A07BCAP1_IRQn = 153, /*!< 32bit T32A07B input capture 1 */ - INTT32A07C_IRQn = 154, /*!< 32bit T32A07C compare match detection 0 / Over flow / under flow*/ - INTT32A07CCAP0_IRQn = 155, /*!< 32bit T32A07C input capture 0 */ - INTT32A07CCAP1_IRQn = 156, /*!< 32bit T32A07C input capture 1 */ - INTPARI_IRQn = 157, /*!< RAM parity interrupt */ - INTDMAATC_IRQn = 158, /*!< DMAA end of transfer */ - INTDMAAERR_IRQn = 159, /*!< DMAA transfer error */ - INTDMABTC_IRQn = 160, /*!< DMAB end of transfer */ - INTDMABERR_IRQn = 161, /*!< DMAB transfer error */ - INTRTC_IRQn = 162, /*!< Real time clock interrupt */ - INTRMC0_IRQn = 163, /*!< Remote control reception interrupt */ - INTFLCRDY_IRQn = 164, /*!< Code FLASH Ready interrupt */ - INTFLDRDY_IRQn = 165 /*!< Data FLASH Ready interrupt */ -} IRQn_Type; - -/** Processor and Core Peripheral Section */ - -/* Configuration of the Cortex-M3 Processor and Core Peripherals */ -#define __CM3_REV 0x0201 /*!< Cortex-M3 Core Revision */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __NVIC_PRIO_BITS 4 /*!< Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** @} */ /* End of group Configuration_of_CMSIS */ - -#include "core_cm3.h" /* Cortex-M3 processor and core peripherals */ -#include "system_TMPM3HQ.h" /* TMPM3HQ System */ - -/** @addtogroup Device_Peripheral_registers - * @{ - */ - -/** Device Specific Peripheral registers structures */ - -/** - * @brief Interrupt control A Register - */ -typedef struct -{ - __IO uint8_t NIC00; /*!< Non makeable Interrupt Control(A) 00 */ - uint8_t RESERVED0[31]; - __IO uint8_t IMC00; /*!< Interrupu Mode Control Register(A) 00 */ - __IO uint8_t IMC01; /*!< Interrupu Mode Control Register(A) 01 */ - __IO uint8_t IMC02; /*!< Interrupu Mode Control Register(A) 02 */ - __IO uint8_t IMC03; /*!< Interrupu Mode Control Register(A) 03 */ - uint8_t RESERVED1[12]; - __IO uint8_t IMC16; /*!< Interrupu Mode Control Register(A) 16 */ - __IO uint8_t IMC17; /*!< Interrupu Mode Control Register(A) 17 */ -} TSB_IA_TypeDef; - -/** - * @brief Reset LOSC Management register - */ -typedef struct -{ - __IO uint8_t LOSCCR; /*!< Low OSC Control Register */ - __IO uint8_t SHTDNOP; /*!< Power Shut Down Control Register */ - __IO uint8_t RSTFLG0; /*!< Reset flag register 0 */ - __IO uint8_t RSTFLG1; /*!< Reset flag register 1 */ - uint8_t RESERVED0[11]; - __IO uint8_t PROTECT; /*!< Protect Register */ -} TSB_RLM_TypeDef; - -/** - * @brief I2C Wakeup control register - */ -typedef struct -{ - __IO uint8_t WUPCR1; /*!< I2C Wakeup control register1 */ - __IO uint8_t WUPCR2; /*!< I2C Wakeup control register2 */ - __IO uint8_t WUPCR3; /*!< I2C Wakeup control register3 */ - __I uint8_t WUPSL; /*!< I2C Wakeup Status register */ -} TSB_I2CS_TypeDef; - -/** - * @brief LVD0 - */ -typedef struct -{ - __IO uint8_t CR; /*!< LVD Control register */ -} TSB_LVD_TypeDef; - -/** - * @brief DMA Controller - */ -typedef struct -{ - __I uint32_t STATUS; /*!< DMA Status Register */ - __O uint32_t CFG; /*!< DMA Configuration Register */ - __IO uint32_t CTRLBASEPTR; /*!< DMA Control Data Base Pointer Register */ - __I uint32_t ALTCTRLBASEPTR; /*!< DMA Channel Alternate Control Data Base -Pointer Register*/ - uint32_t RESERVED0; - __O uint32_t CHNLSWREQUEST; /*!< DMA Channel Software Request Register */ - __IO uint32_t CHNLUSEBURSTSET; /*!< DMA Channel Useburst Set Register */ - __O uint32_t CHNLUSEBURSTCLR; /*!< DMA Channel Useburst Clear Register */ - __IO uint32_t CHNLREQMASKSET; /*!< DMA Channel Request Mask Set Register */ - __O uint32_t CHNLREQMASKCLR; /*!< DMA Channel Request Mask Clear Register */ - __IO uint32_t CHNLENABLESET; /*!< DMA Channel Enable Set Register */ - __O uint32_t CHNLENABLECLR; /*!< DMA Channel Enable Clear Register */ - __IO uint32_t CHNLPRIALTSET; /*!< DMA Channel Primary-Alternate Set Register */ - __O uint32_t CHNLPRIALTCLR; /*!< DMA Channel Primary-Alternate Clear Register */ - __IO uint32_t CHNLPRIORITYSET; /*!< DMA Channel Priority Set Register */ - __O uint32_t CHNLPRIORITYCLR; /*!< DMA Channel Priority Clear Register */ - uint32_t RESERVED1[3]; - __IO uint32_t ERRCLR; /*!< DMA Bus Error Clear Register */ -} TSB_DMA_TypeDef; - -/** - * @brief Digital analog converter (DAC) - */ -typedef struct -{ - __IO uint32_t CTL; /*!< DAC Control Register */ - __IO uint32_t REG; /*!< DAC output Register */ -} TSB_DA_TypeDef; - -/** - * @brief Serial Interface (TSPI) - */ -typedef struct -{ - __IO uint32_t CR0; /*!< TSPI Control Register 0 */ - __IO uint32_t CR1; /*!< TSPI Control Register 1 */ - __IO uint32_t CR2; /*!< TSPI Control Register 2 */ - __IO uint32_t CR3; /*!< TSPI Control Register 3 */ - __IO uint32_t BR; /*!< TSPI Baud Rate Generator Control Register */ - __IO uint32_t FMTR0; /*!< TSPI Format Control Register 0 */ - __IO uint32_t FMTR1; /*!< TSPI Format Control Register 1 */ - uint32_t RESERVED0[57]; - __IO uint32_t DR; /*!< TSPI Data Register */ - uint32_t RESERVED1[63]; - __IO uint32_t SR; /*!< TSPI Status Register */ - __IO uint32_t ERR; /*!< TSPI Parity Error Flag Register */ -} TSB_TSPI_TypeDef; - -#if defined ( __CC_ARM ) /* RealView Compiler */ -#pragma anon_unions -#elif (defined (__ICCARM__)) /* ICC Compiler */ -#pragma language=extended -#endif - -/** - * @brief I2C - */ -typedef struct -{ - __IO uint32_t CR1; /*!< I2C Control Register 1 */ - __IO uint32_t DBR; /*!< I2C Data Buffer Register */ - __IO uint32_t AR; /*!< I2C Bus address Register */ -union { - __O uint32_t CR2; /*!< I2C Control Register 2 */ - __I uint32_t SR; /*!< I2C Status Register */ - }; - __IO uint32_t PRS; /*!< I2C Prescaler clcok setting Register */ - __IO uint32_t IE; /*!< I2C Interrupt Enable Register */ - __IO uint32_t ST; /*!< I2C Interrupt Register */ - __IO uint32_t OP; /*!< I2C Optiononal Function register */ - __I uint32_t PM; /*!< I2C Bus Monitor register */ - __IO uint32_t AR2; /*!< I2C Second Slave address register */ -} TSB_I2C_TypeDef; - -/** - * @brief ADC - */ -typedef struct -{ - __IO uint32_t CR0; /*!< AD Control Register 0 */ - __IO uint32_t CR1; /*!< AD Control Register 1 */ - __I uint32_t ST; /*!< AD Status Register */ - __IO uint32_t CLK; /*!< AD Conversion Clock Setting Register */ - __IO uint32_t MOD0; /*!< AD Mode Control Register 0 */ - __IO uint32_t MOD1; /*!< AD Mode Control Register 1 */ - __IO uint32_t MOD2; /*!< AD Mode Control Register 2 */ - __IO uint32_t MOD3; /*!< AD Mode Control Register 3 */ - __IO uint32_t CMPEN; /*!< AD Monitoring interrupt permission register */ - __IO uint32_t CMPCR0; /*!< AD Monitoring Setting Register 0 */ - __IO uint32_t CMPCR1; /*!< AD Monitoring Setting Register 1 */ - __IO uint32_t CMP0; /*!< AD Conversion Result Comparison Register 0 */ - __IO uint32_t CMP1; /*!< AD Conversion Result Comparison Register 1 */ - uint32_t RESERVED0[3]; - __IO uint32_t PSEL0; /*!< AD PMD Trigger Program Number Select Register 0*/ - __IO uint32_t PSEL1; /*!< AD PMD Trigger Program Number Select Register 1*/ - __IO uint32_t PSEL2; /*!< AD PMD Trigger Program Number Select Register 2*/ - __IO uint32_t PSEL3; /*!< AD PMD Trigger Program Number Select Register 3*/ - __IO uint32_t PSEL4; /*!< AD PMD Trigger Program Number Select Register 4*/ - __IO uint32_t PSEL5; /*!< AD PMD Trigger Program Number Select Register 5*/ - __IO uint32_t PSEL6; /*!< AD PMD Trigger Program Number Select Register 6*/ - __IO uint32_t PSEL7; /*!< AD PMD Trigger Program Number Select Register 7*/ - __IO uint32_t PSEL8; /*!< AD PMD Trigger Program Number Select Register 8*/ - __IO uint32_t PSEL9; /*!< AD PMD Trigger Program Number Select Register 9*/ - __IO uint32_t PSEL10; /*!< AD PMD Trigger Program Number Select Register 10*/ - __IO uint32_t PSEL11; /*!< AD PMD Trigger Program Number Select Register 11*/ - __IO uint32_t PINTS0; /*!< AD PMD Trigger Interrupt Select Register 0 */ - __IO uint32_t PINTS1; /*!< AD PMD Trigger Interrupt Select Register 1 */ - __IO uint32_t PINTS2; /*!< AD PMD Trigger Interrupt Select Register 2 */ - __IO uint32_t PINTS3; /*!< AD PMD Trigger Interrupt Select Register 3 */ - __IO uint32_t PINTS4; /*!< AD PMD Trigger Interrupt Select Register 4 */ - __IO uint32_t PINTS5; /*!< AD PMD Trigger Interrupt Select Register 5 */ - __IO uint32_t PINTS6; /*!< AD PMD Trigger Interrupt Select Register 6 */ - __IO uint32_t PINTS7; /*!< AD PMD Trigger Interrupt Select Register 7 */ - __IO uint32_t PREGS; /*!< AD PMD Trigger Conversion Result Storage Select Register*/ - uint32_t RESERVED1[3]; - __IO uint32_t PSET0; /*!< AD PMD Trigger Program Register 0 */ - __IO uint32_t PSET1; /*!< AD PMD Trigger Program Register 1 */ - __IO uint32_t PSET2; /*!< AD PMD Trigger Program Register 2 */ - __IO uint32_t PSET3; /*!< AD PMD Trigger Program Register 3 */ - __IO uint32_t PSET4; /*!< AD PMD Trigger Program Register 4 */ - __IO uint32_t PSET5; /*!< AD PMD Trigger Program Register 5 */ - __IO uint32_t PSET6; /*!< AD PMD Trigger Program Register 6 */ - __IO uint32_t PSET7; /*!< AD PMD Trigger Program Register 7 */ - __IO uint32_t TSET0; /*!< AD General purpose Trigger Program Register 0*/ - __IO uint32_t TSET1; /*!< AD General purpose Trigger Program Register 1*/ - __IO uint32_t TSET2; /*!< AD General purpose Trigger Program Register 2*/ - __IO uint32_t TSET3; /*!< AD General purpose Trigger Program Register 3*/ - __IO uint32_t TSET4; /*!< AD General purpose Trigger Program Register 4*/ - __IO uint32_t TSET5; /*!< AD General purpose Trigger Program Register 5*/ - __IO uint32_t TSET6; /*!< AD General purpose Trigger Program Register 6*/ - __IO uint32_t TSET7; /*!< AD General purpose Trigger Program Register 7*/ - __IO uint32_t TSET8; /*!< AD General purpose Trigger Program Register 8*/ - __IO uint32_t TSET9; /*!< AD General purpose Trigger Program Register 9*/ - __IO uint32_t TSET10; /*!< AD General purpose Trigger Program Register 10*/ - __IO uint32_t TSET11; /*!< AD General purpose Trigger Program Register 11*/ - __IO uint32_t TSET12; /*!< AD General purpose Trigger Program Register 12*/ - __IO uint32_t TSET13; /*!< AD General purpose Trigger Program Register 13*/ - __IO uint32_t TSET14; /*!< AD General purpose Trigger Program Register 14*/ - __IO uint32_t TSET15; /*!< AD General purpose Trigger Program Register 15*/ - __IO uint32_t TSET16; /*!< AD General purpose Trigger Program Register 16*/ - __IO uint32_t TSET17; /*!< AD General purpose Trigger Program Register 17*/ - __IO uint32_t TSET18; /*!< AD General purpose Trigger Program Register 18*/ - __IO uint32_t TSET19; /*!< AD General purpose Trigger Program Register 19*/ - __IO uint32_t TSET20; /*!< AD General purpose Trigger Program Register 20*/ - __IO uint32_t TSET21; /*!< AD General purpose Trigger Program Register 21*/ - __IO uint32_t TSET22; /*!< AD General purpose Trigger Program Register 22*/ - __IO uint32_t TSET23; /*!< AD General purpose Trigger Program Register 23*/ - uint32_t RESERVED2[8]; - __I uint32_t REG0; /*!< AD AD Conversion Result Register 0 */ - __I uint32_t REG1; /*!< AD Conversion Result Register 1 */ - __I uint32_t REG2; /*!< AD Conversion Result Register 2 */ - __I uint32_t REG3; /*!< AD Conversion Result Register 3 */ - __I uint32_t REG4; /*!< AD Conversion Result Register 4 */ - __I uint32_t REG5; /*!< AD Conversion Result Register 5 */ - __I uint32_t REG6; /*!< AD Conversion Result Register 6 */ - __I uint32_t REG7; /*!< AD Conversion Result Register 7 */ - __I uint32_t REG8; /*!< AD Conversion Result Register 8 */ - __I uint32_t REG9; /*!< AD Conversion Result Register 9 */ - __I uint32_t REG10; /*!< AD Conversion Result Register 10 */ - __I uint32_t REG11; /*!< AD Conversion Result Register 11 */ - __I uint32_t REG12; /*!< AD Conversion Result Register 12 */ - __I uint32_t REG13; /*!< AD Conversion Result Register 13 */ - __I uint32_t REG14; /*!< AD Conversion Result Register 14 */ - __I uint32_t REG15; /*!< AD Conversion Result Register 15 */ - __I uint32_t REG16; /*!< AD Conversion Result Register 16 */ - __I uint32_t REG17; /*!< AD Conversion Result Register 17 */ - __I uint32_t REG18; /*!< AD Conversion Result Register 18 */ - __I uint32_t REG19; /*!< AD Conversion Result Register 19 */ - __I uint32_t REG20; /*!< AD Conversion Result Register 20 */ - __I uint32_t REG21; /*!< AD Conversion Result Register 21 */ - __I uint32_t REG22; /*!< AD Conversion Result Register 22 */ - __I uint32_t REG23; /*!< AD Conversion Result Register 23 */ -} TSB_AD_TypeDef; - -/** - * @brief T32A - */ -typedef struct -{ - __IO uint32_t MOD; /*!< T32A Mode Register */ - uint32_t RESERVED0[15]; - __IO uint32_t RUNA; /*!< T32A Run Register A */ - __IO uint32_t CRA; /*!< T32A Counter control Register A */ - __IO uint32_t CAPCRA; /*!< T32A Capture control Register A */ - __IO uint32_t OUTCRA0; /*!< T32A Output control Register A0 */ - __IO uint32_t OUTCRA1; /*!< T32A Output control Register A1 */ - __IO uint32_t STA; /*!< T32A Status Register A */ - __IO uint32_t IMA; /*!< T32A Interrupt mask Register A */ - __I uint32_t TMRA; /*!< T32A Counter capture Register A */ - __IO uint32_t RELDA; /*!< T32A Counter Reload Register A */ - __IO uint32_t RGA0; /*!< T32A Timer Register A0 */ - __IO uint32_t RGA1; /*!< T32A Timer Register A1 */ - __I uint32_t CAPA0; /*!< T32A Timer capturer A0 */ - __I uint32_t CAPA1; /*!< T32A Timer capturer A1 */ - __IO uint32_t DMAA; /*!< T32A DMA Request Enabl eRegister A */ - uint32_t RESERVED1[2]; - __IO uint32_t RUNB; /*!< T32A Run Register B */ - __IO uint32_t CRB; /*!< T32A Counter control Register B */ - __IO uint32_t CAPCRB; /*!< T32A Capture control Register B */ - __IO uint32_t OUTCRB0; /*!< T32A Output control Register B0 */ - __IO uint32_t OUTCRB1; /*!< T32A Output control Register B1 */ - __IO uint32_t STB; /*!< T32A Status Register B */ - __IO uint32_t IMB; /*!< T32A Interrupt mask Register B */ - __I uint32_t TMRB; /*!< T32A Counter capture Register B */ - __IO uint32_t RELDB; /*!< T32A Counter Reload Register B */ - __IO uint32_t RGB0; /*!< T32A Timer Register B0 */ - __IO uint32_t RGB1; /*!< T32A Timer Register B1 */ - __I uint32_t CAPB0; /*!< T32A Timer capturer B0 */ - __I uint32_t CAPB1; /*!< T32A Timer capturer B1 */ - __IO uint32_t DMAB; /*!< T32A DMA Request Enable Register B */ - uint32_t RESERVED2[2]; - __IO uint32_t RUNC; /*!< T32A Run Register C */ - __IO uint32_t CRC; /*!< T32A Counter control Register C */ - __IO uint32_t CAPCRC; /*!< T32A Capture control Register C */ - __IO uint32_t OUTCRC0; /*!< T32A Output control Register C0 */ - __IO uint32_t OUTCRC1; /*!< T32A Output control Register C1 */ - __IO uint32_t STC; /*!< T32A Status Register C */ - __IO uint32_t IMC; /*!< T32A Interrupt mask Register C */ - __I uint32_t TMRC; /*!< T32A Counter capture Register C */ - __IO uint32_t RELDC; /*!< T32A Counter Reload Register C */ - __IO uint32_t RGC0; /*!< T32A Timer Register C0 */ - __IO uint32_t RGC1; /*!< T32A Timer Register C1 */ - __I uint32_t CAPC0; /*!< T32A Timer capturer C0 */ - __I uint32_t CAPC1; /*!< T32A Timer capturer C1 */ - __IO uint32_t DMAC; /*!< T32A DMA Request Enabl eRegister C */ - __IO uint32_t PLSCR; /*!< T32A Pulse count control register */ -} TSB_T32A_TypeDef; - -/** - * @brief UART - */ -typedef struct -{ - __IO uint32_t SWRST; /*!< UART Software reset register */ - __IO uint32_t CR0; /*!< UART Control register 0 */ - __IO uint32_t CR1; /*!< UART Control register 1 */ - __IO uint32_t CLK; /*!< UART Clock Control register */ - __IO uint32_t BRD; /*!< UART Baud rate register */ - __IO uint32_t TRANS; /*!< UART Transfer enable register */ - __IO uint32_t DR; /*!< UART Data register */ - __IO uint32_t SR; /*!< UART Status register */ - __IO uint32_t FIFOCLR; /*!< UART FIFO Clear register */ - __IO uint32_t ERR; /*!< UART Error register */ -} TSB_UART_TypeDef; - -/** - * @brief SIWD - */ -typedef struct -{ - __IO uint32_t PRO; /*!< SIWD Protect register */ - __IO uint32_t EN; /*!< SIWD Enable register */ - __O uint32_t CR; /*!< SIWD Control register */ - __IO uint32_t MOD; /*!< SIWD Mode register */ - __I uint32_t MONI; /*!< SIWD Monitor register */ - __IO uint32_t OSCCR; /*!< SIWD Oscillation control register */ -} TSB_SIWD_TypeDef; - -/** - * @brief DNF - */ -typedef struct -{ - __IO uint32_t CKCR; /*!< DNF clock Control register */ - __IO uint32_t ENCR; /*!< DNF Enable register */ -} TSB_DNF_TypeDef; - -/** - * @brief TRGSEL - */ -typedef struct -{ - __IO uint32_t CR0; /*!< TRGSEL Control register 0 */ - __IO uint32_t CR1; /*!< TRGSEL Control register 1 */ - __IO uint32_t CR2; /*!< TSEL Control register 2 */ - __IO uint32_t CR3; /*!< TRGSEL Control register 3 */ - __IO uint32_t CR4; /*!< TRGSEL Control register 4 */ - __IO uint32_t CR5; /*!< TRGSEL Control register 5 */ - __IO uint32_t CR6; /*!< TRGSEL Control register 6 */ - __IO uint32_t CR7; /*!< TRGSEL Control register 7 */ - __IO uint32_t CR8; /*!< TRGSEL Control register 8 */ - __IO uint32_t CR9; /*!< TRGSEL Control register 9 */ - __IO uint32_t CR10; /*!< TRGSEL Control register 10 */ - __IO uint32_t CR11; /*!< TRGSEL Control register 11 */ - __IO uint32_t CR12; /*!< TRGSEL Control register 12 */ - __IO uint32_t CR13; /*!< TRGSEL Control register 13 */ - __IO uint32_t CR14; /*!< TRGSEL Control register 14 */ - __IO uint32_t CR15; /*!< TRGSEL Control register 15 */ -} TSB_TSEL_TypeDef; - -/** - * @brief RAM Parity - */ -typedef struct -{ - __IO uint32_t CTL; /*!< RAMM Parity control register */ - __I uint32_t ST; /*!< RAMM Parity status register */ - __O uint32_t CLR; /*!< RAMM Parity status clear register */ - __I uint32_t EAD0; /*!< RAMM Parity Error address register 0 */ - __I uint32_t EAD1; /*!< RAMM Parity Error address register 1 */ - __I uint32_t EAD2; /*!< RAMM Parity Error address register 2 */ - __I uint32_t EAD3; /*!< RAMM Parity Error address register 3 */ -} TSB_RPAR_TypeDef; - -/** - * @brief CRC - */ -typedef struct -{ - __IO uint32_t DIN; /*!< CRC input data register */ - uint32_t RESERVED0[4]; - __IO uint32_t TYP; /*!< CRC data type register */ - uint32_t RESERVED1[5]; - __IO uint32_t CLC; /*!< CRC calculation result register */ -} TSB_CRC_TypeDef; - -/** - * @brief CMP - */ -typedef struct -{ - __IO uint32_t CTRLA; /*!< CMP control register A */ -} TSB_CMP_TypeDef; - -/** - * @brief Port A - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PA Data Register */ - __IO uint32_t CR; /*!< PA Control Register */ - __IO uint32_t FR1; /*!< PA Function Register 1 */ - __IO uint32_t FR2; /*!< PA Function Register 2 */ - __IO uint32_t FR3; /*!< PA Function Register 3 */ - __IO uint32_t FR4; /*!< PA Function Register 4 */ - __IO uint32_t FR5; /*!< PA Function Register 5 */ - __IO uint32_t FR6; /*!< PA Function Register 6 */ - uint32_t RESERVED0[2]; - __IO uint32_t OD; /*!< PA Open Drain Control Register */ - __IO uint32_t PUP; /*!< PA Pull-up Control Register */ - __IO uint32_t PDN; /*!< PB Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PA Input Enable Control Register */ -} TSB_PA_TypeDef; - -/** - * @brief Port B - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PB Data Register */ - __IO uint32_t CR; /*!< PB Control Register */ - __IO uint32_t FR1; /*!< PB Function Register 1 */ - __IO uint32_t FR2; /*!< PB Function Register 2 */ - __IO uint32_t FR3; /*!< PB Function Register 3 */ - __IO uint32_t FR4; /*!< PB Function Register 4 */ - __IO uint32_t FR5; /*!< PB Function Register 5 */ - __IO uint32_t FR6; /*!< PB Function Register 6 */ - uint32_t RESERVED0[2]; - __IO uint32_t OD; /*!< PB Open Drain Control Register */ - __IO uint32_t PUP; /*!< PB Pull-up Control Register */ - __IO uint32_t PDN; /*!< PB Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PB Input Enable Control Register */ -} TSB_PB_TypeDef; - -/** - * @brief Port C - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PC Data Register */ - __IO uint32_t CR; /*!< PC Control Register */ - __IO uint32_t FR1; /*!< PC Function Register 1 */ - __IO uint32_t FR2; /*!< PC Function Register 2 */ - __IO uint32_t FR3; /*!< PC Function Register 3 */ - __IO uint32_t FR4; /*!< PC Function Register 4 */ - __IO uint32_t FR5; /*!< PC Function Register 5 */ - uint32_t RESERVED0[3]; - __IO uint32_t OD; /*!< PC Open Drain Control Register */ - __IO uint32_t PUP; /*!< PC Pull-up Control Register */ - __IO uint32_t PDN; /*!< PC Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PC Input Enable Control Register */ -} TSB_PC_TypeDef; - -/** - * @brief Port D - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PD Data Register */ - __IO uint32_t CR; /*!< PD Control Register */ - uint32_t RESERVED0[8]; - __IO uint32_t OD; /*!< PD Open Drain Control Register */ - __IO uint32_t PUP; /*!< PD Pull-up Control Register */ - __IO uint32_t PDN; /*!< PD Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PD Input Enable Control Register */ -} TSB_PD_TypeDef; - -/** - * @brief Port E - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PE Data Register */ - __IO uint32_t CR; /*!< PE Control Register */ - uint32_t RESERVED0[8]; - __IO uint32_t OD; /*!< PE Open Drain Control Register */ - __IO uint32_t PUP; /*!< PE Pull-up Control Register */ - __IO uint32_t PDN; /*!< PE Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PE Input Enable Control Register */ -} TSB_PE_TypeDef; - -/** - * @brief Port F - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PF Data Register */ - __IO uint32_t CR; /*!< PF Control Register */ - uint32_t RESERVED0[8]; - __IO uint32_t OD; /*!< PF Open Drain Control Register */ - __IO uint32_t PUP; /*!< PF Pull-up Control Register */ - __IO uint32_t PDN; /*!< PF Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PF Input Enable Control Register */ -} TSB_PF_TypeDef; - -/** - * @brief Port G - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PG Data Register */ - __IO uint32_t CR; /*!< PG Control Register */ - __IO uint32_t FR1; /*!< PG Function Register 1 */ - __IO uint32_t FR2; /*!< PG Function Register 2 */ - __IO uint32_t FR3; /*!< PG Function Register 3 */ - __IO uint32_t FR4; /*!< PG Function Register 4 */ - uint32_t RESERVED0[4]; - __IO uint32_t OD; /*!< PG Open Drain Control Register */ - __IO uint32_t PUP; /*!< PG Pull-up Control Register */ - __IO uint32_t PDN; /*!< PG Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PG Input Enable Control Register */ -} TSB_PG_TypeDef; - -/** - * @brief Port H - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PH Data Register */ - __IO uint32_t CR; /*!< PH Control Register */ - __IO uint32_t FR1; /*!< PH Function Register 1 */ - uint32_t RESERVED0[7]; - __IO uint32_t OD; /*!< PH Open Drain Control Register */ - __IO uint32_t PUP; /*!< PH Pull-up Control Register */ - __IO uint32_t PDN; /*!< PH Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PH Input Enable Control Register */ -} TSB_PH_TypeDef; - -/** - * @brief Port J - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PJ Data Register */ - __IO uint32_t CR; /*!< PJ Control Register */ - __IO uint32_t FR1; /*!< PJ Function Register 1 */ - __IO uint32_t FR2; /*!< PJ Function Register 2 */ - __IO uint32_t FR3; /*!< PJ Function Register 3 */ - __IO uint32_t FR4; /*!< PJ Function Register 4 */ - __IO uint32_t FR5; /*!< PJ Function Register 5 */ - uint32_t RESERVED0[3]; - __IO uint32_t OD; /*!< PJ Open Drain Control Register */ - __IO uint32_t PUP; /*!< PJ Pull-up Control Register */ - __IO uint32_t PDN; /*!< PJ Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PJ Input Enable Control Register */ -} TSB_PJ_TypeDef; - -/** - * @brief Port K - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PK Data Register */ - __IO uint32_t CR; /*!< PK Control Register */ - __IO uint32_t FR1; /*!< PK Function Register 1 */ - __IO uint32_t FR2; /*!< PK Function Register 2 */ - __IO uint32_t FR3; /*!< PK Function Register 3 */ - __IO uint32_t FR4; /*!< PK Function Register 4 */ - __IO uint32_t FR5; /*!< PK Function Register 5 */ - uint32_t RESERVED0[3]; - __IO uint32_t OD; /*!< PK Open Drain Control Register */ - __IO uint32_t PUP; /*!< PK Pull-up Control Register */ - __IO uint32_t PDN; /*!< PK Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PK Input Enable Control Register */ -} TSB_PK_TypeDef; - -/** - * @brief Port L - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PL Data Register */ - __IO uint32_t CR; /*!< PL Control Register */ - __IO uint32_t FR1; /*!< PL Function Register 1 */ - __IO uint32_t FR2; /*!< PL Function Register 2 */ - __IO uint32_t FR3; /*!< PL Function Register 3 */ - __IO uint32_t FR4; /*!< PL Function Register 4 */ - __IO uint32_t FR5; /*!< PL Function Register 4 */ - uint32_t RESERVED0[3]; - __IO uint32_t OD; /*!< PL Open Drain Control Register */ - __IO uint32_t PUP; /*!< PL Pull-up Control Register */ - __IO uint32_t PDN; /*!< PL Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PL Input Enable Control Register */ -} TSB_PL_TypeDef; - -/** - * @brief Port M - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PM Data Register */ - __IO uint32_t CR; /*!< PM Control Register */ - __IO uint32_t FR1; /*!< PM Function Register 1 */ - __IO uint32_t FR2; /*!< PM Function Register 2 */ - __IO uint32_t FR3; /*!< PM Function Register 3 */ - __IO uint32_t FR4; /*!< PM Function Register 4 */ - __IO uint32_t FR5; /*!< PM Function Register 5 */ - __IO uint32_t FR6; /*!< PM Function Register 6 */ - uint32_t RESERVED0[2]; - __IO uint32_t OD; /*!< PM Open Drain Control Register */ - __IO uint32_t PUP; /*!< PM Pull-up Control Register */ - __IO uint32_t PDN; /*!< PM Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PM Input Enable Control Register */ -} TSB_PM_TypeDef; - -/** - * @brief Port N - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PN Data Register */ - __IO uint32_t CR; /*!< PN Control Register */ - __IO uint32_t FR1; /*!< PN Function Register 1 */ - __IO uint32_t FR2; /*!< PN Function Register 2 */ - __IO uint32_t FR3; /*!< PN Function Register 3 */ - __IO uint32_t FR4; /*!< PN Function Register 4 */ - __IO uint32_t FR5; /*!< PN Function Register 5 */ - uint32_t RESERVED0[3]; - __IO uint32_t OD; /*!< PN Open Drain Control Register */ - __IO uint32_t PUP; /*!< PN Pull-up Control Register */ - __IO uint32_t PDN; /*!< PN Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PN Input Enable Control Register */ -} TSB_PN_TypeDef; - -/** - * @brief Port P - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PP Data Register */ - __IO uint32_t CR; /*!< PP Control Register */ - __IO uint32_t FR1; /*!< PP Function Register 1 */ - __IO uint32_t FR2; /*!< PP Function Register 2 */ - __IO uint32_t FR3; /*!< PP Function Register 3 */ - __IO uint32_t FR4; /*!< PP Function Register 4 */ - uint32_t RESERVED0[4]; - __IO uint32_t OD; /*!< PP Open Drain Control Register */ - __IO uint32_t PUP; /*!< PP Pull-up Control Register */ - __IO uint32_t PDN; /*!< PP Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PP Input Enable Control Register */ -} TSB_PP_TypeDef; - -/** - * @brief Port R - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PR Data Register */ - __IO uint32_t CR; /*!< PR Control Register */ - uint32_t RESERVED0[2]; - __IO uint32_t FR3; /*!< PR Function Register 3 */ - __IO uint32_t FR4; /*!< PR Function Register 4 */ - uint32_t RESERVED1[4]; - __IO uint32_t OD; /*!< PR Open Drain Control Register */ - __IO uint32_t PUP; /*!< PR Pull-up Control Register */ - __IO uint32_t PDN; /*!< PR Pull-Down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< PR Input Enable Control Register */ -} TSB_PR_TypeDef; - -/** - * @brief Port T - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PT Data Register */ - __IO uint32_t CR; /*!< PT Control Register */ - __IO uint32_t FR1; /*!< PT Function Register 1 */ - __IO uint32_t FR2; /*!< PT Function Register 2 */ - __IO uint32_t FR3; /*!< PT Function Register 3 */ - __IO uint32_t FR4; /*!< PT Function Register 4 */ - uint32_t RESERVED0[4]; - __IO uint32_t OD; /*!< PT Open Drain Control Register */ - __IO uint32_t PUP; /*!< PT Pull-up Control Register */ - __IO uint32_t PDN; /*!< PT Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PT Input Enable Control Register */ -} TSB_PT_TypeDef; - -/** - * @brief Port U - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PU Data Register */ - __IO uint32_t CR; /*!< PU Control Register */ - uint32_t RESERVED0[8]; - __IO uint32_t OD; /*!< PU Open Drain Control Register */ - __IO uint32_t PUP; /*!< PU Pull-up Control Register */ - __IO uint32_t PDN; /*!< PU Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PU Input Enable Control Register */ -} TSB_PU_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t DATA; /*!< PV Data Register */ - __IO uint32_t CR; /*!< PV Control Register */ - __IO uint32_t FR1; /*!< PV Function Register 1 */ - __IO uint32_t FR2; /*!< PV Function Register 2 */ - uint32_t RESERVED0[6]; - __IO uint32_t OD; /*!< PV Open Drain Control Register */ - __IO uint32_t PUP; /*!< PV Pull-up Control Register */ - __IO uint32_t PDN; /*!< PV Pull-Down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< PV Input Enable Control Register */ -} TSB_PV_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint8_t SECR; /*!< RTC Sec setting register */ - __IO uint8_t MINR; /*!< RTC Min settging register */ - __IO uint8_t HOURR; /*!< RTC Hour setting register */ - uint8_t RESERVED0; - __IO uint8_t DAYR; /*!< RTC Day setting register */ - __IO uint8_t DATER; /*!< RTC Date setting register */ - __IO uint8_t MONTHR; /*!< RTC Month settging register PAGE0 */ - __IO uint8_t YEARR; /*!< RTC Year setting register PAGE0 */ - __IO uint8_t PAGER; /*!< RTC Page register */ - uint8_t RESERVED1[3]; - __IO uint8_t RESTR; /*!< RTC Reset register */ - uint8_t RESERVED2; - __IO uint8_t PROTECT; /*!< RTC protect register */ - __IO uint8_t ADJCTL; /*!< RTC clock adjust control register */ - __IO uint8_t ADJDAT; /*!< RTC clock adjust data register */ - __IO uint8_t ADJSIGN; /*!< RTC clock adjust sign register */ -} TSB_RTC_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t EN; /*!< RMC Enable Register */ - __IO uint32_t REN; /*!< RMC Receive Enable Register */ - __I uint32_t RBUF1; /*!< RMC Receive Data Buffer Register 1 */ - __I uint32_t RBUF2; /*!< RMC Receive Data Buffer Register 2 */ - __I uint32_t RBUF3; /*!< RMC Receive Data Buffer Register 3 */ - __IO uint32_t RCR1; /*!< RMC Receive Control Register 1 */ - __IO uint32_t RCR2; /*!< RMC Receive Control Register 2 */ - __IO uint32_t RCR3; /*!< RMC Receive Control Register 3 */ - __IO uint32_t RCR4; /*!< RMC Receive Control Register 4 */ - __I uint32_t RSTAT; /*!< RMC Receive Status Register */ - __IO uint32_t END1; /*!< RMC Receive End Bit Number Register 1 */ - __IO uint32_t END2; /*!< RMC Receive End Bit Number Register 2 */ - __IO uint32_t END3; /*!< RMC Receive End Bit Number Register 3 */ - __IO uint32_t FSSEL; /*!< RMC Frequency Selection Register */ -} TSB_RMC_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t CR1; /*!< OFD Control Register 1 */ - __IO uint32_t CR2; /*!< OFD Control Register 2 */ - __IO uint32_t MN0; /*!< OFD Lower Detection Frequency Setting Register0*/ - __IO uint32_t MN1; /*!< OFD Lower Detection Frequency Setting Register1*/ - __IO uint32_t MX0; /*!< OFD Higher Detection Frequency Setting Register0*/ - __IO uint32_t MX1; /*!< OFD Higher Detection Frequency Setting Register1*/ - __IO uint32_t RST; /*!< OFD Reset Enable Control Register */ - __I uint32_t STAT; /*!< OFD Status Register */ - __IO uint32_t MON; /*!< OFD External high frequency oscillaion clock monitor register */ -} TSB_OFD_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t PROTECT; /*!< CG Protect Register */ - __IO uint32_t OSCCR; /*!< CG Oscillation Control Register */ - __IO uint32_t SYSCR; /*!< CG System clock control register */ - __IO uint32_t STBYCR; /*!< CG Standby Control Register */ - __IO uint32_t SCOCR; /*!< CG SCOUT Control Register */ - uint32_t RESERVED0[3]; - __IO uint32_t PLL0SEL; /*!< CG PLL select register for fsys */ - uint32_t RESERVED1[3]; - __IO uint32_t WUPHCR; /*!< CG Warmup register for HOSC */ - __IO uint32_t WUPLCR; /*!< CG Low-speed oscillation warm-up register */ - uint32_t RESERVED2[6]; - __IO uint32_t FSYSENA; /*!< CG output control register A for fsys clock */ - __IO uint32_t FSYSENB; /*!< CG output control register B for fsys clock */ - __IO uint32_t FCEN; /*!< CG output control register for fc clock */ - __IO uint32_t SPCLKEN; /*!< CG Output control register for ADC AND TRACE CLOCK*/ -} TSB_CG_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t OSCPRO; /*!< TRM Protect register */ - __IO uint32_t OSCEN; /*!< TRM Enable register */ - __I uint32_t OSCINIT; /*!< TRM Initial trimming level monitor register */ - __IO uint32_t OSCSET; /*!< TRM Trimming level setting register */ -} TSB_TRM_TypeDef; - -/** - * @brief Interrupt control register B - */ -typedef struct -{ - uint8_t RESERVED0[16]; - __IO uint8_t NIC00; /*!< Non makeable Interrupt Control(B) 00 */ - uint8_t RESERVED1[79]; - __IO uint8_t IMC000; /*!< Interrupu Mode Control Register(B) 000 */ - __IO uint8_t IMC001; /*!< Interrupu Mode Control Register(B) 001 */ - __IO uint8_t IMC002; /*!< Interrupu Mode Control Register(B) 002 */ - __IO uint8_t IMC003; /*!< Interrupu Mode Control Register(B) 003 */ - __IO uint8_t IMC004; /*!< Interrupu Mode Control Register(B) 004 */ - __IO uint8_t IMC005; /*!< Interrupu Mode Control Register(B) 005 */ - __IO uint8_t IMC006; /*!< Interrupu Mode Control Register(B) 006 */ - __IO uint8_t IMC007; /*!< Interrupu Mode Control Register(B) 007 */ - __IO uint8_t IMC008; /*!< Interrupu Mode Control Register(B) 008 */ - __IO uint8_t IMC009; /*!< Interrupu Mode Control Register(B) 009 */ - __IO uint8_t IMC010; /*!< Interrupu Mode Control Register(B) 010 */ - __IO uint8_t IMC011; /*!< Interrupu Mode Control Register(B) 011 */ - __IO uint8_t IMC012; /*!< Interrupu Mode Control Register(B) 012 */ - __IO uint8_t IMC013; /*!< Interrupu Mode Control Register(B) 013 */ - __IO uint8_t IMC014; /*!< Interrupu Mode Control Register(B) 014 */ - __IO uint8_t IMC015; /*!< Interrupu Mode Control Register(B) 015 */ - __IO uint8_t IMC016; /*!< Interrupu Mode Control Register(B) 016 */ - __IO uint8_t IMC017; /*!< Interrupu Mode Control Register(B) 017 */ - __IO uint8_t IMC018; /*!< Interrupu Mode Control Register(B) 018 */ - __IO uint8_t IMC019; /*!< Interrupu Mode Control Register(B) 019 */ - __IO uint8_t IMC020; /*!< Interrupu Mode Control Register(B) 020 */ - __IO uint8_t IMC021; /*!< Interrupu Mode Control Register(B) 021 */ - __IO uint8_t IMC022; /*!< Interrupu Mode Control Register(B) 022 */ - __IO uint8_t IMC023; /*!< Interrupu Mode Control Register(B) 023 */ - __IO uint8_t IMC024; /*!< Interrupu Mode Control Register(B) 024 */ - __IO uint8_t IMC025; /*!< Interrupu Mode Control Register(B) 025 */ - __IO uint8_t IMC026; /*!< Interrupu Mode Control Register(B) 026 */ - __IO uint8_t IMC027; /*!< Interrupu Mode Control Register(B) 027 */ - __IO uint8_t IMC028; /*!< Interrupu Mode Control Register(B) 028 */ - __IO uint8_t IMC029; /*!< Interrupu Mode Control Register(B) 029 */ - __IO uint8_t IMC030; /*!< Interrupu Mode Control Register(B) 030 */ - __IO uint8_t IMC031; /*!< Interrupu Mode Control Register(B) 031 */ - __IO uint8_t IMC032; /*!< Interrupu Mode Control Register(B) 032 */ - __IO uint8_t IMC033; /*!< Interrupt Mode Control Register(B) 033 */ - __IO uint8_t IMC034; /*!< Interrupt Mode Control Register(B) 034 */ - __IO uint8_t IMC035; /*!< Interrupt Mode Control Register(B) 035 */ - __IO uint8_t IMC036; /*!< Interrupt Mode Control Register(B) 036 */ - __IO uint8_t IMC037; /*!< Interrupt Mode Control Register(B) 037 */ - __IO uint8_t IMC038; /*!< Interrupt Mode Control Register(B) 038 */ - __IO uint8_t IMC039; /*!< Interrupt Mode Control Register(B) 039 */ - __IO uint8_t IMC040; /*!< Interrupt Mode Control Register(B) 040 */ - __IO uint8_t IMC041; /*!< Interrupt Mode Control Register(B) 041 */ - __IO uint8_t IMC042; /*!< Interrupt Mode Control Register(B) 042 */ - __IO uint8_t IMC043; /*!< Interrupt Mode Control Register(B) 043 */ - __IO uint8_t IMC044; /*!< Interrupt Mode Control Register(B) 044 */ - __IO uint8_t IMC045; /*!< Interrupt Mode Control Register(B) 045 */ - __IO uint8_t IMC046; /*!< Interrupt Mode Control Register(B) 046 */ - __IO uint8_t IMC047; /*!< Interrupt Mode Control Register(B) 047 */ - __IO uint8_t IMC048; /*!< Interrupt Mode Control Register(B) 048 */ - __IO uint8_t IMC049; /*!< Interrupt Mode Control Register(B) 049 */ - __IO uint8_t IMC050; /*!< Interrupt Mode Control Register(B) 050 */ - __IO uint8_t IMC051; /*!< Interrupt Mode Control Register(B) 051 */ - __IO uint8_t IMC052; /*!< Interrupt Mode Control Register(B) 052 */ - __IO uint8_t IMC053; /*!< Interrupt Mode Control Register(B) 053 */ - __IO uint8_t IMC054; /*!< Interrupt Mode Control Register(B) 054 */ - __IO uint8_t IMC055; /*!< Interrupt Mode Control Register(B) 055 */ - __IO uint8_t IMC056; /*!< Interrupt Mode Control Register(B) 056 */ - __IO uint8_t IMC057; /*!< Interrupt Mode Control Register(B) 057 */ - __IO uint8_t IMC058; /*!< Interrupt Mode Control Register(B) 058 */ - __IO uint8_t IMC059; /*!< Interrupt Mode Control Register(B) 059 */ - __IO uint8_t IMC060; /*!< Interrupt Mode Control Register(B) 060 */ - __IO uint8_t IMC061; /*!< Interrupt Mode Control Register(B) 061 */ - __IO uint8_t IMC062; /*!< Interrupt Mode Control Register(B) 062 */ - __IO uint8_t IMC063; /*!< Interrupt Mode Control Register(B) 063 */ - __IO uint8_t IMC064; /*!< Interrupt Mode Control Register(B) 064 */ - __IO uint8_t IMC065; /*!< Interrupt Mode Control Register(B) 065 */ - __IO uint8_t IMC066; /*!< Interrupu Mode Control Register(B) 066 */ - __IO uint8_t IMC067; /*!< Interrupu Mode Control Register(B) 067 */ - __IO uint8_t IMC068; /*!< Interrupu Mode Control Register(B) 068 */ - __IO uint8_t IMC069; /*!< Interrupu Mode Control Register(B) 069 */ - __IO uint8_t IMC070; /*!< Interrupu Mode Control Register(B) 070 */ - __IO uint8_t IMC071; /*!< Interrupu Mode Control Register(B) 071 */ - __IO uint8_t IMC072; /*!< Interrupu Mode Control Register(B) 072 */ - __IO uint8_t IMC073; /*!< Interrupu Mode Control Register(B) 073 */ - __IO uint8_t IMC074; /*!< Interrupu Mode Control Register(B) 074 */ - __IO uint8_t IMC075; /*!< Interrupu Mode Control Register(B) 075 */ - __IO uint8_t IMC076; /*!< Interrupu Mode Control Register(B) 076 */ - __IO uint8_t IMC077; /*!< Interrupu Mode Control Register(B) 077 */ - __IO uint8_t IMC078; /*!< Interrupu Mode Control Register(B) 078 */ - __IO uint8_t IMC079; /*!< Interrupu Mode Control Register(B) 079 */ - __IO uint8_t IMC080; /*!< Interrupu Mode Control Register(B) 080 */ - __IO uint8_t IMC081; /*!< Interrupu Mode Control Register(B) 081 */ - __IO uint8_t IMC082; /*!< Interrupu Mode Control Register(B) 082 */ - __IO uint8_t IMC083; /*!< Interrupu Mode Control Register(B) 083 */ - __IO uint8_t IMC084; /*!< Interrupu Mode Control Register(B) 084 */ - __IO uint8_t IMC085; /*!< Interrupu Mode Control Register(B) 085 */ - __IO uint8_t IMC086; /*!< Interrupu Mode Control Register(B) 086 */ - __IO uint8_t IMC087; /*!< Interrupu Mode Control Register(B) 087 */ - __IO uint8_t IMC088; /*!< Interrupu Mode Control Register(B) 088 */ - __IO uint8_t IMC089; /*!< Interrupu Mode Control Register(B) 089 */ - __IO uint8_t IMC090; /*!< Interrupu Mode Control Register(B) 090 */ - __IO uint8_t IMC091; /*!< Interrupu Mode Control Register(B) 091 */ - __IO uint8_t IMC092; /*!< Interrupu Mode Control Register(B) 092 */ - __IO uint8_t IMC093; /*!< Interrupu Mode Control Register(B) 093 */ - __IO uint8_t IMC094; /*!< Interrupu Mode Control Register(B) 094 */ -} TSB_IB_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __I uint32_t FLGNMI; /*!< Interrupt Monitor Flag 0 */ - __I uint32_t FLG1; /*!< Interrupt Monitor Flag 1 */ - uint32_t RESERVED0; - __I uint32_t FLG3; /*!< Interrupt Monitor Flag 3 */ - __I uint32_t FLG4; /*!< NMI Interrupt Monitor Flag 4 */ - __I uint32_t FLG5; /*!< NMI Interrupt Monitor Flag 5 */ -} TSB_IMN_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t MDEN; /*!< PMD Enable Register */ - __IO uint32_t PORTMD; /*!< PMD Port Output Mode Register */ - __IO uint32_t MDCR; /*!< PMD Control Register */ - __I uint32_t CARSTA; /*!< PWM Carrier Status Register */ - __I uint32_t BCARI; /*!< PWM Basic Carrier Register */ - __IO uint32_t RATE; /*!< PWM Frequency Register */ - __IO uint32_t CMPU; /*!< PMD PWM Compare U Register */ - __IO uint32_t CMPV; /*!< PMD PWM Compare V Register */ - __IO uint32_t CMPW; /*!< PMD PWM Compare W Register */ - uint32_t RESERVED0; - __IO uint32_t MDOUT; /*!< PMD Conduction Control Register */ - __IO uint32_t MDPOT; /*!< PMD Output Setting Register */ - __O uint32_t EMGREL; /*!< PMD EMG Release Register */ - __IO uint32_t EMGCR; /*!< PMD EMG Control Register */ - __I uint32_t EMGSTA; /*!< PMD EMG Status Register */ - __IO uint32_t OVVCR; /*!< PMD OVV Control Register */ - __I uint32_t OVVSTA; /*!< PMD OVV Status Register */ - __IO uint32_t DTR; /*!< PMD Dead Time Register */ - __IO uint32_t TRGCMP0; /*!< PMD Trigger Compare Register 0 */ - __IO uint32_t TRGCMP1; /*!< PMD Trigger Compare Register 1 */ - __IO uint32_t TRGCMP2; /*!< PMD Trigger Compare Register 2 */ - __IO uint32_t TRGCMP3; /*!< PMD Trigger Compare Register 3 */ - __IO uint32_t TRGCR; /*!< PMD Trigger Control Register */ - __IO uint32_t TRGMD; /*!< PMD Trigger Output Mode Setting Register */ - __IO uint32_t TRGSEL; /*!< PMD Trigger Output Select Register */ - __IO uint32_t TRGSYNCR; /*!< PMD Trigger Update Timing Setting Register */ - __IO uint32_t VPWMPH; /*!< Phase difference setting of the V-phase PWM */ - __IO uint32_t WPWMPH; /*!< Phase difference setting of the W-phase PWM */ - __IO uint32_t MBUFCR; /*!< Update timing of the triple buffer */ - uint32_t RESERVED1; - __IO uint32_t DBGOUTCR; /*!< Debug output control */ -} TSB_PMD_TypeDef; - -/** - * @brief Encoder Input (ENC) - */ -typedef struct -{ - __IO uint32_t TNCR; /*!< ENC Control Register */ - __IO uint32_t RELOAD; /*!< ENC Reload Compare Register */ - __IO uint32_t INT; /*!< ENC INT Compare Register */ - __IO uint32_t CNT; /*!< ENC Counter/Capture Register */ - __IO uint32_t MCMP; /*!< ENC MCMP Compare Register */ - __IO uint32_t RATE; /*!< ENC Phase Count Rate Register */ - __I uint32_t STS; /*!< ENC Status Register */ - __IO uint32_t INPCR; /*!< ENC Input Process Cntrol Register */ - __IO uint32_t SMPDLY; /*!< ENC Sample Delay Register */ - __I uint32_t INPMON; /*!< ENC Input Moniter Register */ - __IO uint32_t CLKCR; /*!< ENC Sample Clock Control Register */ - __IO uint32_t INTCR; /*!< ENC Interrupt Reqyest Control Register */ - __I uint32_t INTF; /*!< ENC Interrupt Event Flag Register */ -} TSB_EN_TypeDef; - -/** - * @brief - */ -typedef struct -{ - uint32_t RESERVED0[4]; - __IO uint32_t SBMR; /*!< Flash Security Bit Mask Register */ - __IO uint32_t SSR; /*!< Flash Security Status Register */ - __O uint32_t KCR; /*!< Flash Key Code Register */ - uint32_t RESERVED1; - __IO uint32_t SR0; /*!< Flash Status Register 0 */ - uint32_t RESERVED2[3]; - __I uint32_t PSR0; /*!< Flash Protect Status Register 0 */ - __I uint32_t PSR1; /*!< Flash Protect Status Register 1 */ - uint32_t RESERVED3[4]; - __I uint32_t PSR6; /*!< Flash Protect Status Register 6 */ - uint32_t RESERVED4; - __IO uint32_t PMR0; /*!< Flash Protect Mask Register 0 */ - __IO uint32_t PMR1; /*!< Flash Protect Mask Register 1 */ - uint32_t RESERVED5[4]; - __IO uint32_t PMR6; /*!< Flash Protect Mask Register 6 */ - uint32_t RESERVED6[37]; - __I uint32_t SR1; /*!< Flash Status Register 1 */ - __I uint32_t SWPSR; /*!< Flash Memory SWP Status Register */ - uint32_t RESERVED7[14]; - __IO uint32_t AREASEL; /*!< Flash Area Selection Register */ - uint32_t RESERVED8; - __IO uint32_t CR; /*!< Flash Control Register */ - __IO uint32_t STSCLR; /*!< Flash Status Clear Register */ - __IO uint32_t BNKCR; /*!< Flash Bank Change Register */ - uint32_t RESERVED9; - __IO uint32_t BUFDISCLR; /*!< Flash Buffer Disable and Clear Register */ -} TSB_FC_TypeDef; - - -/* Memory map */ -#define FLASH_BASE (0x00000000UL) -#define RAM_BASE (0x20000000UL) -#define PERI_BASE (0x40000000UL) - - -#define TSB_IA_BASE (PERI_BASE + 0x003E000UL) -#define TSB_RLM_BASE (PERI_BASE + 0x003E400UL) -#define TSB_I2CS_BASE (PERI_BASE + 0x003E800UL) -#define TSB_LVD_BASE (PERI_BASE + 0x003EC00UL) -#define TSB_DMAA_BASE (PERI_BASE + 0x004C000UL) -#define TSB_DMAB_BASE (PERI_BASE + 0x004D000UL) -#define TSB_DA0_BASE (PERI_BASE + 0x0054000UL) -#define TSB_DA1_BASE (PERI_BASE + 0x0055000UL) -#define TSB_TSPI0_BASE (PERI_BASE + 0x0098000UL) -#define TSB_TSPI1_BASE (PERI_BASE + 0x0099000UL) -#define TSB_TSPI2_BASE (PERI_BASE + 0x009A000UL) -#define TSB_TSPI3_BASE (PERI_BASE + 0x009B000UL) -#define TSB_TSPI4_BASE (PERI_BASE + 0x009C000UL) -#define TSB_I2C0_BASE (PERI_BASE + 0x00A0000UL) -#define TSB_I2C1_BASE (PERI_BASE + 0x00A1000UL) -#define TSB_I2C2_BASE (PERI_BASE + 0x00A2000UL) -#define TSB_I2C3_BASE (PERI_BASE + 0x00A3000UL) -#define TSB_ADA_BASE (PERI_BASE + 0x00B8800UL) -#define TSB_T32A0_BASE (PERI_BASE + 0x00BA000UL) -#define TSB_T32A1_BASE (PERI_BASE + 0x00BA100UL) -#define TSB_T32A2_BASE (PERI_BASE + 0x00BA200UL) -#define TSB_T32A3_BASE (PERI_BASE + 0x00BA300UL) -#define TSB_T32A4_BASE (PERI_BASE + 0x00BA400UL) -#define TSB_T32A5_BASE (PERI_BASE + 0x00BA500UL) -#define TSB_T32A6_BASE (PERI_BASE + 0x00BA600UL) -#define TSB_T32A7_BASE (PERI_BASE + 0x00BA700UL) -#define TSB_UART0_BASE (PERI_BASE + 0x00BB000UL) -#define TSB_UART1_BASE (PERI_BASE + 0x00BB100UL) -#define TSB_UART2_BASE (PERI_BASE + 0x00BB200UL) -#define TSB_UART3_BASE (PERI_BASE + 0x00BB300UL) -#define TSB_UART4_BASE (PERI_BASE + 0x00BBD00UL) -#define TSB_UART5_BASE (PERI_BASE + 0x00BBE00UL) -#define TSB_SIWD0_BASE (PERI_BASE + 0x00BB400UL) -#define TSB_DNFA_BASE (PERI_BASE + 0x00BB600UL) -#define TSB_DNFB_BASE (PERI_BASE + 0x00BB700UL) -#define TSB_TSEL0_BASE (PERI_BASE + 0x00BB800UL) -#define TSB_TSEL1_BASE (PERI_BASE + 0x00BB900UL) -#define TSB_RPAR_BASE (PERI_BASE + 0x00BBB00UL) -#define TSB_CRC_BASE (PERI_BASE + 0x00BBC00UL) -#define TSB_CMP_BASE (PERI_BASE + 0x00BC100UL) -#define TSB_PA_BASE (PERI_BASE + 0x00C0000UL) -#define TSB_PB_BASE (PERI_BASE + 0x00C0100UL) -#define TSB_PC_BASE (PERI_BASE + 0x00C0200UL) -#define TSB_PD_BASE (PERI_BASE + 0x00C0300UL) -#define TSB_PE_BASE (PERI_BASE + 0x00C0400UL) -#define TSB_PF_BASE (PERI_BASE + 0x00C0500UL) -#define TSB_PG_BASE (PERI_BASE + 0x00C0600UL) -#define TSB_PH_BASE (PERI_BASE + 0x00C0700UL) -#define TSB_PJ_BASE (PERI_BASE + 0x00C0800UL) -#define TSB_PK_BASE (PERI_BASE + 0x00C0900UL) -#define TSB_PL_BASE (PERI_BASE + 0x00C0A00UL) -#define TSB_PM_BASE (PERI_BASE + 0x00C0B00UL) -#define TSB_PN_BASE (PERI_BASE + 0x00C0C00UL) -#define TSB_PP_BASE (PERI_BASE + 0x00C0D00UL) -#define TSB_PR_BASE (PERI_BASE + 0x00C0E00UL) -#define TSB_PT_BASE (PERI_BASE + 0x00C0F00UL) -#define TSB_PU_BASE (PERI_BASE + 0x00C1000UL) -#define TSB_PV_BASE (PERI_BASE + 0x00C1100UL) -#define TSB_RTC_BASE (PERI_BASE + 0x00CC000UL) -#define TSB_RMC0_BASE (PERI_BASE + 0x00E7000UL) -#define TSB_OFD_BASE (PERI_BASE + 0x00F1000UL) -#define TSB_CG_BASE (PERI_BASE + 0x00F3000UL) -#define TSB_TRM_BASE (PERI_BASE + 0x00F3200UL) -#define TSB_IB_BASE (PERI_BASE + 0x00F4E00UL) -#define TSB_IMN_BASE (PERI_BASE + 0x00F4F00UL) -#define TSB_PMD0_BASE (PERI_BASE + 0x00F6000UL) -#define TSB_EN0_BASE (PERI_BASE + 0x00F7000UL) -#define TSB_FC_BASE (PERI_BASE + 0x1DFF0000UL) - - -/* Peripheral declaration */ -#define TSB_IA (( TSB_IA_TypeDef *) TSB_IA_BASE) -#define TSB_RLM (( TSB_RLM_TypeDef *) TSB_RLM_BASE) -#define TSB_I2CS (( TSB_I2CS_TypeDef *) TSB_I2CS_BASE) -#define TSB_LVD (( TSB_LVD_TypeDef *) TSB_LVD_BASE) -#define TSB_DMAA (( TSB_DMA_TypeDef *) TSB_DMAA_BASE) -#define TSB_DMAB (( TSB_DMA_TypeDef *) TSB_DMAB_BASE) -#define TSB_DA0 (( TSB_DA_TypeDef *) TSB_DA0_BASE) -#define TSB_DA1 (( TSB_DA_TypeDef *) TSB_DA1_BASE) -#define TSB_TSPI0 (( TSB_TSPI_TypeDef *) TSB_TSPI0_BASE) -#define TSB_TSPI1 (( TSB_TSPI_TypeDef *) TSB_TSPI1_BASE) -#define TSB_TSPI2 (( TSB_TSPI_TypeDef *) TSB_TSPI2_BASE) -#define TSB_TSPI3 (( TSB_TSPI_TypeDef *) TSB_TSPI3_BASE) -#define TSB_TSPI4 (( TSB_TSPI_TypeDef *) TSB_TSPI4_BASE) -#define TSB_I2C0 (( TSB_I2C_TypeDef *) TSB_I2C0_BASE) -#define TSB_I2C1 (( TSB_I2C_TypeDef *) TSB_I2C1_BASE) -#define TSB_I2C2 (( TSB_I2C_TypeDef *) TSB_I2C2_BASE) -#define TSB_I2C3 (( TSB_I2C_TypeDef *) TSB_I2C3_BASE) -#define TSB_ADA (( TSB_AD_TypeDef *) TSB_ADA_BASE) -#define TSB_T32A0 (( TSB_T32A_TypeDef *) TSB_T32A0_BASE) -#define TSB_T32A1 (( TSB_T32A_TypeDef *) TSB_T32A1_BASE) -#define TSB_T32A2 (( TSB_T32A_TypeDef *) TSB_T32A2_BASE) -#define TSB_T32A3 (( TSB_T32A_TypeDef *) TSB_T32A3_BASE) -#define TSB_T32A4 (( TSB_T32A_TypeDef *) TSB_T32A4_BASE) -#define TSB_T32A5 (( TSB_T32A_TypeDef *) TSB_T32A5_BASE) -#define TSB_T32A6 (( TSB_T32A_TypeDef *) TSB_T32A6_BASE) -#define TSB_T32A7 (( TSB_T32A_TypeDef *) TSB_T32A7_BASE) -#define TSB_UART0 (( TSB_UART_TypeDef *) TSB_UART0_BASE) -#define TSB_UART1 (( TSB_UART_TypeDef *) TSB_UART1_BASE) -#define TSB_UART2 (( TSB_UART_TypeDef *) TSB_UART2_BASE) -#define TSB_UART3 (( TSB_UART_TypeDef *) TSB_UART3_BASE) -#define TSB_UART4 (( TSB_UART_TypeDef *) TSB_UART4_BASE) -#define TSB_UART5 (( TSB_UART_TypeDef *) TSB_UART5_BASE) -#define TSB_SIWD0 (( TSB_SIWD_TypeDef *) TSB_SIWD0_BASE) -#define TSB_DNFA (( TSB_DNF_TypeDef *) TSB_DNFA_BASE) -#define TSB_DNFB (( TSB_DNF_TypeDef *) TSB_DNFB_BASE) -#define TSB_TSEL0 (( TSB_TSEL_TypeDef *) TSB_TSEL0_BASE) -#define TSB_TSEL1 (( TSB_TSEL_TypeDef *) TSB_TSEL1_BASE) -#define TSB_RPAR (( TSB_RPAR_TypeDef *) TSB_RPAR_BASE) -#define TSB_CRC (( TSB_CRC_TypeDef *) TSB_CRC_BASE) -#define TSB_CMP (( TSB_CMP_TypeDef *) TSB_CMP_BASE) -#define TSB_PA (( TSB_PA_TypeDef *) TSB_PA_BASE) -#define TSB_PB (( TSB_PB_TypeDef *) TSB_PB_BASE) -#define TSB_PC (( TSB_PC_TypeDef *) TSB_PC_BASE) -#define TSB_PD (( TSB_PD_TypeDef *) TSB_PD_BASE) -#define TSB_PE (( TSB_PE_TypeDef *) TSB_PE_BASE) -#define TSB_PF (( TSB_PF_TypeDef *) TSB_PF_BASE) -#define TSB_PG (( TSB_PG_TypeDef *) TSB_PG_BASE) -#define TSB_PH (( TSB_PH_TypeDef *) TSB_PH_BASE) -#define TSB_PJ (( TSB_PJ_TypeDef *) TSB_PJ_BASE) -#define TSB_PK (( TSB_PK_TypeDef *) TSB_PK_BASE) -#define TSB_PL (( TSB_PL_TypeDef *) TSB_PL_BASE) -#define TSB_PM (( TSB_PM_TypeDef *) TSB_PM_BASE) -#define TSB_PN (( TSB_PN_TypeDef *) TSB_PN_BASE) -#define TSB_PP (( TSB_PP_TypeDef *) TSB_PP_BASE) -#define TSB_PR (( TSB_PR_TypeDef *) TSB_PR_BASE) -#define TSB_PT (( TSB_PT_TypeDef *) TSB_PT_BASE) -#define TSB_PU (( TSB_PU_TypeDef *) TSB_PU_BASE) -#define TSB_PV (( TSB_PV_TypeDef *) TSB_PV_BASE) -#define TSB_RTC (( TSB_RTC_TypeDef *) TSB_RTC_BASE) -#define TSB_RMC0 (( TSB_RMC_TypeDef *) TSB_RMC0_BASE) -#define TSB_OFD (( TSB_OFD_TypeDef *) TSB_OFD_BASE) -#define TSB_CG (( TSB_CG_TypeDef *) TSB_CG_BASE) -#define TSB_TRM (( TSB_TRM_TypeDef *) TSB_TRM_BASE) -#define TSB_IB (( TSB_IB_TypeDef *) TSB_IB_BASE) -#define TSB_IMN (( TSB_IMN_TypeDef *) TSB_IMN_BASE) -#define TSB_PMD0 (( TSB_PMD_TypeDef *) TSB_PMD0_BASE) -#define TSB_EN0 (( TSB_EN_TypeDef *) TSB_EN0_BASE) -#define TSB_FC (( TSB_FC_TypeDef *) TSB_FC_BASE) - - -/* Bit-Band for Device Specific Peripheral Registers */ -#define BITBAND_OFFSET (0x02000000UL) -#define BITBAND_PERI_BASE (PERI_BASE + BITBAND_OFFSET) -#define BITBAND_PERI(addr, bitnum) (BITBAND_PERI_BASE + (((uint32_t)(addr) - PERI_BASE) << 5) + ((uint32_t)(bitnum) << 2)) - - - - - - - -/* DMA Controller */ -#define TSB_DMAA_STATUS_MASTER_ENABLE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMAA->STATUS,0))) -#define TSB_DMAA_CFG_MASTER_ENABLE (*((__O uint32_t *)BITBAND_PERI(&TSB_DMAA->CFG,0))) -#define TSB_DMAA_ERRCLR_ERR_CLR (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMAA->ERRCLR,0))) - -#define TSB_DMAB_STATUS_MASTER_ENABLE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMAB->STATUS,0))) -#define TSB_DMAB_CFG_MASTER_ENABLE (*((__O uint32_t *)BITBAND_PERI(&TSB_DMAB->CFG,0))) -#define TSB_DMAB_ERRCLR_ERR_CLR (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMAB->ERRCLR,0))) - - -/* Digital analog converter (DAC) */ -#define TSB_DA0_CTL_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_DA0->CTL,0))) - -#define TSB_DA1_CTL_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_DA1->CTL,0))) - - -/* Serial Interface (TSPI) */ -#define TSB_TSPI0_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR0,0))) -#define TSB_TSPI0_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,12))) -#define TSB_TSPI0_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,13))) -#define TSB_TSPI0_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,14))) -#define TSB_TSPI0_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,15))) -#define TSB_TSPI0_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,0))) -#define TSB_TSPI0_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,1))) -#define TSB_TSPI0_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,2))) -#define TSB_TSPI0_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,4))) -#define TSB_TSPI0_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,5))) -#define TSB_TSPI0_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,6))) -#define TSB_TSPI0_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,7))) -#define TSB_TSPI0_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,16))) -#define TSB_TSPI0_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,21))) -#define TSB_TSPI0_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR3,0))) -#define TSB_TSPI0_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR3,1))) -#define TSB_TSPI0_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,14))) -#define TSB_TSPI0_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,15))) -#define TSB_TSPI0_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,16))) -#define TSB_TSPI0_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,17))) -#define TSB_TSPI0_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,18))) -#define TSB_TSPI0_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,19))) -#define TSB_TSPI0_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,31))) -#define TSB_TSPI0_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR1,0))) -#define TSB_TSPI0_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR1,1))) -#define TSB_TSPI0_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,4))) -#define TSB_TSPI0_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,5))) -#define TSB_TSPI0_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,6))) -#define TSB_TSPI0_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,7))) -#define TSB_TSPI0_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,20))) -#define TSB_TSPI0_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,21))) -#define TSB_TSPI0_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,22))) -#define TSB_TSPI0_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,23))) -#define TSB_TSPI0_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,31))) -#define TSB_TSPI0_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,0))) -#define TSB_TSPI0_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,1))) -#define TSB_TSPI0_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,2))) -#define TSB_TSPI0_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,3))) - -#define TSB_TSPI1_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR0,0))) -#define TSB_TSPI1_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,12))) -#define TSB_TSPI1_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,13))) -#define TSB_TSPI1_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,14))) -#define TSB_TSPI1_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,15))) -#define TSB_TSPI1_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,0))) -#define TSB_TSPI1_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,1))) -#define TSB_TSPI1_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,2))) -#define TSB_TSPI1_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,4))) -#define TSB_TSPI1_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,5))) -#define TSB_TSPI1_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,6))) -#define TSB_TSPI1_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,7))) -#define TSB_TSPI1_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,16))) -#define TSB_TSPI1_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,21))) -#define TSB_TSPI1_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR3,0))) -#define TSB_TSPI1_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR3,1))) -#define TSB_TSPI1_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,14))) -#define TSB_TSPI1_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,15))) -#define TSB_TSPI1_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,16))) -#define TSB_TSPI1_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,17))) -#define TSB_TSPI1_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,18))) -#define TSB_TSPI1_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,19))) -#define TSB_TSPI1_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,31))) -#define TSB_TSPI1_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR1,0))) -#define TSB_TSPI1_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR1,1))) -#define TSB_TSPI1_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,4))) -#define TSB_TSPI1_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,5))) -#define TSB_TSPI1_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,6))) -#define TSB_TSPI1_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,7))) -#define TSB_TSPI1_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,20))) -#define TSB_TSPI1_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,21))) -#define TSB_TSPI1_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,22))) -#define TSB_TSPI1_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,23))) -#define TSB_TSPI1_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,31))) -#define TSB_TSPI1_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,0))) -#define TSB_TSPI1_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,1))) -#define TSB_TSPI1_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,2))) -#define TSB_TSPI1_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,3))) - -#define TSB_TSPI2_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR0,0))) -#define TSB_TSPI2_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,12))) -#define TSB_TSPI2_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,13))) -#define TSB_TSPI2_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,14))) -#define TSB_TSPI2_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,15))) -#define TSB_TSPI2_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,0))) -#define TSB_TSPI2_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,1))) -#define TSB_TSPI2_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,2))) -#define TSB_TSPI2_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,4))) -#define TSB_TSPI2_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,5))) -#define TSB_TSPI2_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,6))) -#define TSB_TSPI2_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,7))) -#define TSB_TSPI2_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,16))) -#define TSB_TSPI2_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,21))) -#define TSB_TSPI2_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR3,0))) -#define TSB_TSPI2_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR3,1))) -#define TSB_TSPI2_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,14))) -#define TSB_TSPI2_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,15))) -#define TSB_TSPI2_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,16))) -#define TSB_TSPI2_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,17))) -#define TSB_TSPI2_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,18))) -#define TSB_TSPI2_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,19))) -#define TSB_TSPI2_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,31))) -#define TSB_TSPI2_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR1,0))) -#define TSB_TSPI2_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR1,1))) -#define TSB_TSPI2_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,4))) -#define TSB_TSPI2_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,5))) -#define TSB_TSPI2_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,6))) -#define TSB_TSPI2_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,7))) -#define TSB_TSPI2_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,20))) -#define TSB_TSPI2_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,21))) -#define TSB_TSPI2_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,22))) -#define TSB_TSPI2_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,23))) -#define TSB_TSPI2_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,31))) -#define TSB_TSPI2_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,0))) -#define TSB_TSPI2_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,1))) -#define TSB_TSPI2_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,2))) -#define TSB_TSPI2_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,3))) - -#define TSB_TSPI3_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR0,0))) -#define TSB_TSPI3_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,12))) -#define TSB_TSPI3_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,13))) -#define TSB_TSPI3_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,14))) -#define TSB_TSPI3_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,15))) -#define TSB_TSPI3_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,0))) -#define TSB_TSPI3_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,1))) -#define TSB_TSPI3_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,2))) -#define TSB_TSPI3_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,4))) -#define TSB_TSPI3_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,5))) -#define TSB_TSPI3_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,6))) -#define TSB_TSPI3_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,7))) -#define TSB_TSPI3_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,16))) -#define TSB_TSPI3_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,21))) -#define TSB_TSPI3_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR3,0))) -#define TSB_TSPI3_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR3,1))) -#define TSB_TSPI3_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,14))) -#define TSB_TSPI3_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,15))) -#define TSB_TSPI3_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,16))) -#define TSB_TSPI3_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,17))) -#define TSB_TSPI3_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,18))) -#define TSB_TSPI3_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,19))) -#define TSB_TSPI3_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,31))) -#define TSB_TSPI3_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR1,0))) -#define TSB_TSPI3_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR1,1))) -#define TSB_TSPI3_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,4))) -#define TSB_TSPI3_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,5))) -#define TSB_TSPI3_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,6))) -#define TSB_TSPI3_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,7))) -#define TSB_TSPI3_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,20))) -#define TSB_TSPI3_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,21))) -#define TSB_TSPI3_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,22))) -#define TSB_TSPI3_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,23))) -#define TSB_TSPI3_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,31))) -#define TSB_TSPI3_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,0))) -#define TSB_TSPI3_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,1))) -#define TSB_TSPI3_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,2))) -#define TSB_TSPI3_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,3))) - -#define TSB_TSPI4_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR0,0))) -#define TSB_TSPI4_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,12))) -#define TSB_TSPI4_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,13))) -#define TSB_TSPI4_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,14))) -#define TSB_TSPI4_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,15))) -#define TSB_TSPI4_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,0))) -#define TSB_TSPI4_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,1))) -#define TSB_TSPI4_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,2))) -#define TSB_TSPI4_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,4))) -#define TSB_TSPI4_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,5))) -#define TSB_TSPI4_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,6))) -#define TSB_TSPI4_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,7))) -#define TSB_TSPI4_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,16))) -#define TSB_TSPI4_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,21))) -#define TSB_TSPI4_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR3,0))) -#define TSB_TSPI4_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR3,1))) -#define TSB_TSPI4_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,14))) -#define TSB_TSPI4_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,15))) -#define TSB_TSPI4_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,16))) -#define TSB_TSPI4_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,17))) -#define TSB_TSPI4_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,18))) -#define TSB_TSPI4_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,19))) -#define TSB_TSPI4_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,31))) -#define TSB_TSPI4_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR1,0))) -#define TSB_TSPI4_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR1,1))) -#define TSB_TSPI4_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,4))) -#define TSB_TSPI4_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,5))) -#define TSB_TSPI4_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,6))) -#define TSB_TSPI4_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,7))) -#define TSB_TSPI4_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,20))) -#define TSB_TSPI4_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,21))) -#define TSB_TSPI4_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,22))) -#define TSB_TSPI4_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,23))) -#define TSB_TSPI4_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,31))) -#define TSB_TSPI4_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,0))) -#define TSB_TSPI4_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,1))) -#define TSB_TSPI4_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,2))) -#define TSB_TSPI4_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,3))) - - -/* I2C */ -#define TSB_I2C0_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->CR1,3))) -#define TSB_I2C0_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->CR1,4))) -#define TSB_I2C0_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->AR,0))) -#define TSB_I2C0_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,3))) -#define TSB_I2C0_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,4))) -#define TSB_I2C0_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,5))) -#define TSB_I2C0_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,6))) -#define TSB_I2C0_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,7))) -#define TSB_I2C0_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,0))) -#define TSB_I2C0_SR_AD0 (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,1))) -#define TSB_I2C0_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,2))) -#define TSB_I2C0_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,3))) -#define TSB_I2C0_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,4))) -#define TSB_I2C0_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,5))) -#define TSB_I2C0_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,6))) -#define TSB_I2C0_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,7))) -#define TSB_I2C0_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,0))) -#define TSB_I2C0_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,1))) -#define TSB_I2C0_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,2))) -#define TSB_I2C0_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,3))) -#define TSB_I2C0_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,4))) -#define TSB_I2C0_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,5))) -#define TSB_I2C0_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,6))) -#define TSB_I2C0_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,0))) -#define TSB_I2C0_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,1))) -#define TSB_I2C0_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,2))) -#define TSB_I2C0_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,3))) -#define TSB_I2C0_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,0))) -#define TSB_I2C0_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,1))) -#define TSB_I2C0_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,2))) -#define TSB_I2C0_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,3))) -#define TSB_I2C0_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,4))) -#define TSB_I2C0_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,5))) -#define TSB_I2C0_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,6))) -#define TSB_I2C0_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,7))) -#define TSB_I2C0_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->PM,0))) -#define TSB_I2C0_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->PM,1))) -#define TSB_I2C0_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->AR2,0))) - -#define TSB_I2C1_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->CR1,3))) -#define TSB_I2C1_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->CR1,4))) -#define TSB_I2C1_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->AR,0))) -#define TSB_I2C1_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,3))) -#define TSB_I2C1_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,4))) -#define TSB_I2C1_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,5))) -#define TSB_I2C1_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,6))) -#define TSB_I2C1_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,7))) -#define TSB_I2C1_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,0))) -#define TSB_I2C1_SR_AD0 (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,1))) -#define TSB_I2C1_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,2))) -#define TSB_I2C1_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,3))) -#define TSB_I2C1_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,4))) -#define TSB_I2C1_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,5))) -#define TSB_I2C1_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,6))) -#define TSB_I2C1_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,7))) -#define TSB_I2C1_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,0))) -#define TSB_I2C1_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,1))) -#define TSB_I2C1_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,2))) -#define TSB_I2C1_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,3))) -#define TSB_I2C1_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,4))) -#define TSB_I2C1_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,5))) -#define TSB_I2C1_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,6))) -#define TSB_I2C1_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,0))) -#define TSB_I2C1_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,1))) -#define TSB_I2C1_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,2))) -#define TSB_I2C1_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,3))) -#define TSB_I2C1_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,0))) -#define TSB_I2C1_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,1))) -#define TSB_I2C1_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,2))) -#define TSB_I2C1_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,3))) -#define TSB_I2C1_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,4))) -#define TSB_I2C1_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,5))) -#define TSB_I2C1_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,6))) -#define TSB_I2C1_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,7))) -#define TSB_I2C1_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->PM,0))) -#define TSB_I2C1_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->PM,1))) -#define TSB_I2C1_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->AR2,0))) - -#define TSB_I2C2_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->CR1,3))) -#define TSB_I2C2_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->CR1,4))) -#define TSB_I2C2_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->AR,0))) -#define TSB_I2C2_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,3))) -#define TSB_I2C2_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,4))) -#define TSB_I2C2_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,5))) -#define TSB_I2C2_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,6))) -#define TSB_I2C2_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,7))) -#define TSB_I2C2_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,0))) -#define TSB_I2C2_SR_AD0 (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,1))) -#define TSB_I2C2_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,2))) -#define TSB_I2C2_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,3))) -#define TSB_I2C2_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,4))) -#define TSB_I2C2_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,5))) -#define TSB_I2C2_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,6))) -#define TSB_I2C2_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,7))) -#define TSB_I2C2_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,0))) -#define TSB_I2C2_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,1))) -#define TSB_I2C2_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,2))) -#define TSB_I2C2_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,3))) -#define TSB_I2C2_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,4))) -#define TSB_I2C2_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,5))) -#define TSB_I2C2_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,6))) -#define TSB_I2C2_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,0))) -#define TSB_I2C2_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,1))) -#define TSB_I2C2_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,2))) -#define TSB_I2C2_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,3))) -#define TSB_I2C2_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,0))) -#define TSB_I2C2_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,1))) -#define TSB_I2C2_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,2))) -#define TSB_I2C2_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,3))) -#define TSB_I2C2_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,4))) -#define TSB_I2C2_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,5))) -#define TSB_I2C2_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,6))) -#define TSB_I2C2_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,7))) -#define TSB_I2C2_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->PM,0))) -#define TSB_I2C2_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->PM,1))) -#define TSB_I2C2_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->AR2,0))) - -#define TSB_I2C3_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->CR1,3))) -#define TSB_I2C3_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->CR1,4))) -#define TSB_I2C3_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->AR,0))) -#define TSB_I2C3_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,3))) -#define TSB_I2C3_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,4))) -#define TSB_I2C3_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,5))) -#define TSB_I2C3_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,6))) -#define TSB_I2C3_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,7))) -#define TSB_I2C3_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,0))) -#define TSB_I2C3_SR_AD0 (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,1))) -#define TSB_I2C3_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,2))) -#define TSB_I2C3_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,3))) -#define TSB_I2C3_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,4))) -#define TSB_I2C3_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,5))) -#define TSB_I2C3_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,6))) -#define TSB_I2C3_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,7))) -#define TSB_I2C3_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,0))) -#define TSB_I2C3_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,1))) -#define TSB_I2C3_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,2))) -#define TSB_I2C3_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,3))) -#define TSB_I2C3_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,4))) -#define TSB_I2C3_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,5))) -#define TSB_I2C3_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,6))) -#define TSB_I2C3_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,0))) -#define TSB_I2C3_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,1))) -#define TSB_I2C3_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,2))) -#define TSB_I2C3_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,3))) -#define TSB_I2C3_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,0))) -#define TSB_I2C3_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,1))) -#define TSB_I2C3_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,2))) -#define TSB_I2C3_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,3))) -#define TSB_I2C3_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,4))) -#define TSB_I2C3_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,5))) -#define TSB_I2C3_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,6))) -#define TSB_I2C3_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,7))) -#define TSB_I2C3_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->PM,0))) -#define TSB_I2C3_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->PM,1))) -#define TSB_I2C3_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->AR2,0))) - - -/* ADC */ -#define TSB_ADA_CR0_CNT (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,0))) -#define TSB_ADA_CR0_SGL (*((__O uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,1))) -#define TSB_ADA_CR0_ADEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,7))) -#define TSB_ADA_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,0))) -#define TSB_ADA_CR1_TRGDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,4))) -#define TSB_ADA_CR1_SGLDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,5))) -#define TSB_ADA_CR1_CNTDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,6))) -#define TSB_ADA_ST_PMDF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,0))) -#define TSB_ADA_ST_TRGF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,1))) -#define TSB_ADA_ST_SNGF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,2))) -#define TSB_ADA_ST_CNTF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,3))) -#define TSB_ADA_ST_ADBF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,7))) -#define TSB_ADA_MOD0_DACON (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->MOD0,0))) -#define TSB_ADA_MOD0_RCUT (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->MOD0,1))) -#define TSB_ADA_CMPEN_CMP0EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,0))) -#define TSB_ADA_CMPEN_CMP1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,1))) -#define TSB_ADA_CMPCR0_ADBIG0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR0,5))) -#define TSB_ADA_CMPCR0_COMPCND0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR0,6))) -#define TSB_ADA_CMPCR1_ADBIG1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR1,5))) -#define TSB_ADA_CMPCR1_COMPCND1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR1,6))) -#define TSB_ADA_PSEL0_PENS0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL0,7))) -#define TSB_ADA_PSEL1_PENS1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL1,7))) -#define TSB_ADA_PSEL2_PENS2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL2,7))) -#define TSB_ADA_PSEL3_PENS3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL3,7))) -#define TSB_ADA_PSEL4_PENS4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL4,7))) -#define TSB_ADA_PSEL5_PENS5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL5,7))) -#define TSB_ADA_PSEL6_PENS6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL6,7))) -#define TSB_ADA_PSEL7_PENS7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL7,7))) -#define TSB_ADA_PSEL8_PENS8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL8,7))) -#define TSB_ADA_PSEL9_PENS9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL9,7))) -#define TSB_ADA_PSEL10_PENS10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL10,7))) -#define TSB_ADA_PSEL11_PENS11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSEL11,7))) -#define TSB_ADA_PSET0_ENSP00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET0,7))) -#define TSB_ADA_PSET0_ENSP01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET0,15))) -#define TSB_ADA_PSET0_ENSP02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET0,23))) -#define TSB_ADA_PSET0_ENSP03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET0,31))) -#define TSB_ADA_PSET1_ENSP10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET1,7))) -#define TSB_ADA_PSET1_ENSP11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET1,15))) -#define TSB_ADA_PSET1_ENSP12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET1,23))) -#define TSB_ADA_PSET1_ENSP13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET1,31))) -#define TSB_ADA_PSET2_ENSP20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET2,7))) -#define TSB_ADA_PSET2_ENSP21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET2,15))) -#define TSB_ADA_PSET2_ENSP22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET2,23))) -#define TSB_ADA_PSET2_ENSP23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET2,31))) -#define TSB_ADA_PSET3_ENSP30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET3,7))) -#define TSB_ADA_PSET3_ENSP31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET3,15))) -#define TSB_ADA_PSET3_ENSP32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET3,23))) -#define TSB_ADA_PSET3_ENSP33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET3,31))) -#define TSB_ADA_PSET4_ENSP40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET4,7))) -#define TSB_ADA_PSET4_ENSP41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET4,15))) -#define TSB_ADA_PSET4_ENSP42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET4,23))) -#define TSB_ADA_PSET4_ENSP43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET4,31))) -#define TSB_ADA_PSET5_ENSP50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET5,7))) -#define TSB_ADA_PSET5_ENSP51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET5,15))) -#define TSB_ADA_PSET5_ENSP52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET5,23))) -#define TSB_ADA_PSET5_ENSP53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET5,31))) -#define TSB_ADA_PSET6_ENSP60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET6,7))) -#define TSB_ADA_PSET6_ENSP61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET6,15))) -#define TSB_ADA_PSET6_ENSP62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET6,23))) -#define TSB_ADA_PSET6_ENSP63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET6,31))) -#define TSB_ADA_PSET7_ENSP70 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET7,7))) -#define TSB_ADA_PSET7_ENSP71 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET7,15))) -#define TSB_ADA_PSET7_ENSP72 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET7,23))) -#define TSB_ADA_PSET7_ENSP73 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->PSET7,31))) -#define TSB_ADA_TSET0_ENINT0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET0,7))) -#define TSB_ADA_TSET1_ENINT1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET1,7))) -#define TSB_ADA_TSET2_ENINT2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET2,7))) -#define TSB_ADA_TSET3_ENINT3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET3,7))) -#define TSB_ADA_TSET4_ENINT4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET4,7))) -#define TSB_ADA_TSET5_ENINT5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET5,7))) -#define TSB_ADA_TSET6_ENINT6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET6,7))) -#define TSB_ADA_TSET7_ENINT7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET7,7))) -#define TSB_ADA_TSET8_ENINT8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET8,7))) -#define TSB_ADA_TSET9_ENINT9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET9,7))) -#define TSB_ADA_TSET10_ENINT10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET10,7))) -#define TSB_ADA_TSET11_ENINT11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET11,7))) -#define TSB_ADA_TSET12_ENINT12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET12,7))) -#define TSB_ADA_TSET13_ENINT13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET13,7))) -#define TSB_ADA_TSET14_ENINT14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET14,7))) -#define TSB_ADA_TSET15_ENINT15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET15,7))) -#define TSB_ADA_TSET16_ENINT16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET16,7))) -#define TSB_ADA_TSET17_ENINT17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET17,7))) -#define TSB_ADA_TSET18_ENINT18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET18,7))) -#define TSB_ADA_TSET19_ENINT19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET19,7))) -#define TSB_ADA_TSET20_ENINT20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET20,7))) -#define TSB_ADA_TSET21_ENINT21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET21,7))) -#define TSB_ADA_TSET22_ENINT22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET22,7))) -#define TSB_ADA_TSET23_ENINT23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET23,7))) -#define TSB_ADA_REG0_ADRF0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,0))) -#define TSB_ADA_REG0_ADOVRF0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,1))) -#define TSB_ADA_REG0_ADRF_M0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,28))) -#define TSB_ADA_REG0_ADOVR_M0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,29))) -#define TSB_ADA_REG1_ADRF1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,0))) -#define TSB_ADA_REG1_ADOVRF1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,1))) -#define TSB_ADA_REG1_ADRF_M1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,28))) -#define TSB_ADA_REG1_ADOVR_M1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,29))) -#define TSB_ADA_REG2_ADRF2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,0))) -#define TSB_ADA_REG2_ADOVRF2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,1))) -#define TSB_ADA_REG2_ADRF_M2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,28))) -#define TSB_ADA_REG2_ADOVR_M2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,29))) -#define TSB_ADA_REG3_ADRF3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,0))) -#define TSB_ADA_REG3_ADOVRF3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,1))) -#define TSB_ADA_REG3_ADRF_M3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,28))) -#define TSB_ADA_REG3_ADOVR_M3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,29))) -#define TSB_ADA_REG4_ADRF4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,0))) -#define TSB_ADA_REG4_ADOVRF4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,1))) -#define TSB_ADA_REG4_ADRF_M4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,28))) -#define TSB_ADA_REG4_ADOVR_M4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,29))) -#define TSB_ADA_REG5_ADRF5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,0))) -#define TSB_ADA_REG5_ADOVRF5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,1))) -#define TSB_ADA_REG5_ADRF_M5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,28))) -#define TSB_ADA_REG5_ADOVR_M5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,29))) -#define TSB_ADA_REG6_ADRF6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,0))) -#define TSB_ADA_REG6_ADOVRF6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,1))) -#define TSB_ADA_REG6_ADRF_M6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,28))) -#define TSB_ADA_REG6_ADOVR_M6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,29))) -#define TSB_ADA_REG7_ADRF7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,0))) -#define TSB_ADA_REG7_ADOVRF7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,1))) -#define TSB_ADA_REG7_ADRF_M7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,28))) -#define TSB_ADA_REG7_ADOVR_M7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,29))) -#define TSB_ADA_REG8_ADRF8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,0))) -#define TSB_ADA_REG8_ADOVRF8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,1))) -#define TSB_ADA_REG8_ADRF_M8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,28))) -#define TSB_ADA_REG8_ADOVR_M8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,29))) -#define TSB_ADA_REG9_ADRF9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,0))) -#define TSB_ADA_REG9_ADOVRF9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,1))) -#define TSB_ADA_REG9_ADRF_M9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,28))) -#define TSB_ADA_REG9_ADOVR_M9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,29))) -#define TSB_ADA_REG10_ADRF10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,0))) -#define TSB_ADA_REG10_ADOVRF10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,1))) -#define TSB_ADA_REG10_ADRF_M10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,28))) -#define TSB_ADA_REG10_ADOVR_M10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,29))) -#define TSB_ADA_REG11_ADRF11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,0))) -#define TSB_ADA_REG11_ADOVRF11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,1))) -#define TSB_ADA_REG11_ADRF_M11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,28))) -#define TSB_ADA_REG11_ADOVR_M11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,29))) -#define TSB_ADA_REG12_ADRF12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,0))) -#define TSB_ADA_REG12_ADOVRF12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,1))) -#define TSB_ADA_REG12_ADRF_M12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,28))) -#define TSB_ADA_REG12_ADOVR_M12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,29))) -#define TSB_ADA_REG13_ADRF13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,0))) -#define TSB_ADA_REG13_ADOVRF13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,1))) -#define TSB_ADA_REG13_ADRF_M13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,28))) -#define TSB_ADA_REG13_ADOVR_M13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,29))) -#define TSB_ADA_REG14_ADRF14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,0))) -#define TSB_ADA_REG14_ADOVRF14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,1))) -#define TSB_ADA_REG14_ADRF_M14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,28))) -#define TSB_ADA_REG14_ADOVR_M14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,29))) -#define TSB_ADA_REG15_ADRF15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,0))) -#define TSB_ADA_REG15_ADOVRF15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,1))) -#define TSB_ADA_REG15_ADRF_M15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,28))) -#define TSB_ADA_REG15_ADOVR_M15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,29))) -#define TSB_ADA_REG16_ADRF16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,0))) -#define TSB_ADA_REG16_ADOVRF16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,1))) -#define TSB_ADA_REG16_ADRF_M16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,28))) -#define TSB_ADA_REG16_ADOVR_M16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,29))) -#define TSB_ADA_REG17_ADRF17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,0))) -#define TSB_ADA_REG17_ADOVRF17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,1))) -#define TSB_ADA_REG17_ADRF_M17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,28))) -#define TSB_ADA_REG17_ADOVR_M17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,29))) -#define TSB_ADA_REG18_ADRF18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,0))) -#define TSB_ADA_REG18_ADOVRF18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,1))) -#define TSB_ADA_REG18_ADRF_M18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,28))) -#define TSB_ADA_REG18_ADOVR_M18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,29))) -#define TSB_ADA_REG19_ADRF19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,0))) -#define TSB_ADA_REG19_ADOVRF19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,1))) -#define TSB_ADA_REG19_ADRF_M19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,28))) -#define TSB_ADA_REG19_ADOVR_M19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,29))) -#define TSB_ADA_REG20_ADRF20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,0))) -#define TSB_ADA_REG20_ADOVRF20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,1))) -#define TSB_ADA_REG20_ADRF_M20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,28))) -#define TSB_ADA_REG20_ADOVR_M20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,29))) -#define TSB_ADA_REG21_ADRF21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,0))) -#define TSB_ADA_REG21_ADOVRF21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,1))) -#define TSB_ADA_REG21_ADRF_M21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,28))) -#define TSB_ADA_REG21_ADOVR_M21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,29))) -#define TSB_ADA_REG22_ADRF22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,0))) -#define TSB_ADA_REG22_ADOVRF22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,1))) -#define TSB_ADA_REG22_ADRF_M22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,28))) -#define TSB_ADA_REG22_ADOVR_M22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,29))) -#define TSB_ADA_REG23_ADRF23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,0))) -#define TSB_ADA_REG23_ADOVRF23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,1))) -#define TSB_ADA_REG23_ADRF_M23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,28))) -#define TSB_ADA_REG23_ADOVR_M23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,29))) - - -/* T32A */ -#define TSB_T32A0_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->MOD,0))) -#define TSB_T32A0_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->MOD,1))) -#define TSB_T32A0_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,0))) -#define TSB_T32A0_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,1))) -#define TSB_T32A0_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,2))) -#define TSB_T32A0_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,4))) -#define TSB_T32A0_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRA,20))) -#define TSB_T32A0_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,0))) -#define TSB_T32A0_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,1))) -#define TSB_T32A0_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,2))) -#define TSB_T32A0_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,3))) -#define TSB_T32A0_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,0))) -#define TSB_T32A0_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,1))) -#define TSB_T32A0_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,2))) -#define TSB_T32A0_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,3))) -#define TSB_T32A0_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,0))) -#define TSB_T32A0_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,1))) -#define TSB_T32A0_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,2))) -#define TSB_T32A0_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,0))) -#define TSB_T32A0_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,1))) -#define TSB_T32A0_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,2))) -#define TSB_T32A0_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,4))) -#define TSB_T32A0_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRB,20))) -#define TSB_T32A0_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,0))) -#define TSB_T32A0_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,1))) -#define TSB_T32A0_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,2))) -#define TSB_T32A0_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,3))) -#define TSB_T32A0_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,0))) -#define TSB_T32A0_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,1))) -#define TSB_T32A0_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,2))) -#define TSB_T32A0_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,3))) -#define TSB_T32A0_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,0))) -#define TSB_T32A0_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,1))) -#define TSB_T32A0_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,2))) -#define TSB_T32A0_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,0))) -#define TSB_T32A0_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,1))) -#define TSB_T32A0_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,2))) -#define TSB_T32A0_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,4))) -#define TSB_T32A0_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRC,20))) -#define TSB_T32A0_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,0))) -#define TSB_T32A0_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,1))) -#define TSB_T32A0_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,2))) -#define TSB_T32A0_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,3))) -#define TSB_T32A0_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,4))) -#define TSB_T32A0_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,0))) -#define TSB_T32A0_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,1))) -#define TSB_T32A0_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,2))) -#define TSB_T32A0_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,3))) -#define TSB_T32A0_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,4))) -#define TSB_T32A0_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,0))) -#define TSB_T32A0_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,1))) -#define TSB_T32A0_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,2))) -#define TSB_T32A0_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->PLSCR,0))) -#define TSB_T32A0_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->PLSCR,1))) - -#define TSB_T32A1_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->MOD,0))) -#define TSB_T32A1_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->MOD,1))) -#define TSB_T32A1_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,0))) -#define TSB_T32A1_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,1))) -#define TSB_T32A1_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,2))) -#define TSB_T32A1_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,4))) -#define TSB_T32A1_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRA,20))) -#define TSB_T32A1_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,0))) -#define TSB_T32A1_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,1))) -#define TSB_T32A1_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,2))) -#define TSB_T32A1_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,3))) -#define TSB_T32A1_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,0))) -#define TSB_T32A1_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,1))) -#define TSB_T32A1_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,2))) -#define TSB_T32A1_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,3))) -#define TSB_T32A1_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,0))) -#define TSB_T32A1_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,1))) -#define TSB_T32A1_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,2))) -#define TSB_T32A1_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,0))) -#define TSB_T32A1_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,1))) -#define TSB_T32A1_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,2))) -#define TSB_T32A1_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,4))) -#define TSB_T32A1_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRB,20))) -#define TSB_T32A1_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,0))) -#define TSB_T32A1_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,1))) -#define TSB_T32A1_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,2))) -#define TSB_T32A1_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,3))) -#define TSB_T32A1_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,0))) -#define TSB_T32A1_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,1))) -#define TSB_T32A1_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,2))) -#define TSB_T32A1_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,3))) -#define TSB_T32A1_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,0))) -#define TSB_T32A1_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,1))) -#define TSB_T32A1_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,2))) -#define TSB_T32A1_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,0))) -#define TSB_T32A1_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,1))) -#define TSB_T32A1_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,2))) -#define TSB_T32A1_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,4))) -#define TSB_T32A1_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRC,20))) -#define TSB_T32A1_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,0))) -#define TSB_T32A1_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,1))) -#define TSB_T32A1_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,2))) -#define TSB_T32A1_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,3))) -#define TSB_T32A1_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,4))) -#define TSB_T32A1_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,0))) -#define TSB_T32A1_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,1))) -#define TSB_T32A1_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,2))) -#define TSB_T32A1_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,3))) -#define TSB_T32A1_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,4))) -#define TSB_T32A1_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,0))) -#define TSB_T32A1_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,1))) -#define TSB_T32A1_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,2))) -#define TSB_T32A1_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->PLSCR,0))) -#define TSB_T32A1_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->PLSCR,1))) - -#define TSB_T32A2_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->MOD,0))) -#define TSB_T32A2_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->MOD,1))) -#define TSB_T32A2_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,0))) -#define TSB_T32A2_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,1))) -#define TSB_T32A2_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,2))) -#define TSB_T32A2_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,4))) -#define TSB_T32A2_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRA,20))) -#define TSB_T32A2_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,0))) -#define TSB_T32A2_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,1))) -#define TSB_T32A2_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,2))) -#define TSB_T32A2_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,3))) -#define TSB_T32A2_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,0))) -#define TSB_T32A2_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,1))) -#define TSB_T32A2_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,2))) -#define TSB_T32A2_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,3))) -#define TSB_T32A2_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,0))) -#define TSB_T32A2_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,1))) -#define TSB_T32A2_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,2))) -#define TSB_T32A2_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,0))) -#define TSB_T32A2_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,1))) -#define TSB_T32A2_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,2))) -#define TSB_T32A2_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,4))) -#define TSB_T32A2_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRB,20))) -#define TSB_T32A2_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,0))) -#define TSB_T32A2_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,1))) -#define TSB_T32A2_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,2))) -#define TSB_T32A2_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,3))) -#define TSB_T32A2_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,0))) -#define TSB_T32A2_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,1))) -#define TSB_T32A2_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,2))) -#define TSB_T32A2_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,3))) -#define TSB_T32A2_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,0))) -#define TSB_T32A2_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,1))) -#define TSB_T32A2_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,2))) -#define TSB_T32A2_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,0))) -#define TSB_T32A2_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,1))) -#define TSB_T32A2_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,2))) -#define TSB_T32A2_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,4))) -#define TSB_T32A2_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRC,20))) -#define TSB_T32A2_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,0))) -#define TSB_T32A2_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,1))) -#define TSB_T32A2_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,2))) -#define TSB_T32A2_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,3))) -#define TSB_T32A2_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,4))) -#define TSB_T32A2_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,0))) -#define TSB_T32A2_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,1))) -#define TSB_T32A2_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,2))) -#define TSB_T32A2_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,3))) -#define TSB_T32A2_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,4))) -#define TSB_T32A2_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,0))) -#define TSB_T32A2_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,1))) -#define TSB_T32A2_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,2))) -#define TSB_T32A2_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->PLSCR,0))) -#define TSB_T32A2_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->PLSCR,1))) - -#define TSB_T32A3_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->MOD,0))) -#define TSB_T32A3_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->MOD,1))) -#define TSB_T32A3_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,0))) -#define TSB_T32A3_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,1))) -#define TSB_T32A3_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,2))) -#define TSB_T32A3_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,4))) -#define TSB_T32A3_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRA,20))) -#define TSB_T32A3_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,0))) -#define TSB_T32A3_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,1))) -#define TSB_T32A3_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,2))) -#define TSB_T32A3_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,3))) -#define TSB_T32A3_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,0))) -#define TSB_T32A3_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,1))) -#define TSB_T32A3_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,2))) -#define TSB_T32A3_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,3))) -#define TSB_T32A3_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,0))) -#define TSB_T32A3_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,1))) -#define TSB_T32A3_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,2))) -#define TSB_T32A3_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,0))) -#define TSB_T32A3_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,1))) -#define TSB_T32A3_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,2))) -#define TSB_T32A3_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,4))) -#define TSB_T32A3_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRB,20))) -#define TSB_T32A3_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,0))) -#define TSB_T32A3_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,1))) -#define TSB_T32A3_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,2))) -#define TSB_T32A3_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,3))) -#define TSB_T32A3_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,0))) -#define TSB_T32A3_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,1))) -#define TSB_T32A3_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,2))) -#define TSB_T32A3_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,3))) -#define TSB_T32A3_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,0))) -#define TSB_T32A3_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,1))) -#define TSB_T32A3_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,2))) -#define TSB_T32A3_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,0))) -#define TSB_T32A3_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,1))) -#define TSB_T32A3_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,2))) -#define TSB_T32A3_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,4))) -#define TSB_T32A3_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRC,20))) -#define TSB_T32A3_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,0))) -#define TSB_T32A3_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,1))) -#define TSB_T32A3_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,2))) -#define TSB_T32A3_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,3))) -#define TSB_T32A3_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,4))) -#define TSB_T32A3_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,0))) -#define TSB_T32A3_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,1))) -#define TSB_T32A3_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,2))) -#define TSB_T32A3_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,3))) -#define TSB_T32A3_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,4))) -#define TSB_T32A3_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,0))) -#define TSB_T32A3_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,1))) -#define TSB_T32A3_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,2))) -#define TSB_T32A3_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->PLSCR,0))) -#define TSB_T32A3_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->PLSCR,1))) - -#define TSB_T32A4_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->MOD,0))) -#define TSB_T32A4_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->MOD,1))) -#define TSB_T32A4_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,0))) -#define TSB_T32A4_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,1))) -#define TSB_T32A4_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,2))) -#define TSB_T32A4_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,4))) -#define TSB_T32A4_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRA,20))) -#define TSB_T32A4_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,0))) -#define TSB_T32A4_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,1))) -#define TSB_T32A4_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,2))) -#define TSB_T32A4_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,3))) -#define TSB_T32A4_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,0))) -#define TSB_T32A4_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,1))) -#define TSB_T32A4_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,2))) -#define TSB_T32A4_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,3))) -#define TSB_T32A4_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,0))) -#define TSB_T32A4_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,1))) -#define TSB_T32A4_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,2))) -#define TSB_T32A4_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,0))) -#define TSB_T32A4_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,1))) -#define TSB_T32A4_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,2))) -#define TSB_T32A4_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,4))) -#define TSB_T32A4_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRB,20))) -#define TSB_T32A4_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,0))) -#define TSB_T32A4_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,1))) -#define TSB_T32A4_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,2))) -#define TSB_T32A4_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,3))) -#define TSB_T32A4_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,0))) -#define TSB_T32A4_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,1))) -#define TSB_T32A4_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,2))) -#define TSB_T32A4_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,3))) -#define TSB_T32A4_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,0))) -#define TSB_T32A4_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,1))) -#define TSB_T32A4_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,2))) -#define TSB_T32A4_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,0))) -#define TSB_T32A4_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,1))) -#define TSB_T32A4_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,2))) -#define TSB_T32A4_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,4))) -#define TSB_T32A4_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRC,20))) -#define TSB_T32A4_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,0))) -#define TSB_T32A4_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,1))) -#define TSB_T32A4_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,2))) -#define TSB_T32A4_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,3))) -#define TSB_T32A4_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,4))) -#define TSB_T32A4_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,0))) -#define TSB_T32A4_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,1))) -#define TSB_T32A4_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,2))) -#define TSB_T32A4_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,3))) -#define TSB_T32A4_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,4))) -#define TSB_T32A4_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,0))) -#define TSB_T32A4_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,1))) -#define TSB_T32A4_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,2))) -#define TSB_T32A4_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->PLSCR,0))) -#define TSB_T32A4_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->PLSCR,1))) - -#define TSB_T32A5_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->MOD,0))) -#define TSB_T32A5_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->MOD,1))) -#define TSB_T32A5_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,0))) -#define TSB_T32A5_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,1))) -#define TSB_T32A5_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,2))) -#define TSB_T32A5_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,4))) -#define TSB_T32A5_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRA,20))) -#define TSB_T32A5_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,0))) -#define TSB_T32A5_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,1))) -#define TSB_T32A5_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,2))) -#define TSB_T32A5_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,3))) -#define TSB_T32A5_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,0))) -#define TSB_T32A5_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,1))) -#define TSB_T32A5_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,2))) -#define TSB_T32A5_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,3))) -#define TSB_T32A5_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,0))) -#define TSB_T32A5_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,1))) -#define TSB_T32A5_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,2))) -#define TSB_T32A5_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,0))) -#define TSB_T32A5_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,1))) -#define TSB_T32A5_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,2))) -#define TSB_T32A5_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,4))) -#define TSB_T32A5_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRB,20))) -#define TSB_T32A5_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,0))) -#define TSB_T32A5_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,1))) -#define TSB_T32A5_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,2))) -#define TSB_T32A5_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,3))) -#define TSB_T32A5_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,0))) -#define TSB_T32A5_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,1))) -#define TSB_T32A5_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,2))) -#define TSB_T32A5_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,3))) -#define TSB_T32A5_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,0))) -#define TSB_T32A5_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,1))) -#define TSB_T32A5_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,2))) -#define TSB_T32A5_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,0))) -#define TSB_T32A5_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,1))) -#define TSB_T32A5_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,2))) -#define TSB_T32A5_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,4))) -#define TSB_T32A5_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRC,20))) -#define TSB_T32A5_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,0))) -#define TSB_T32A5_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,1))) -#define TSB_T32A5_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,2))) -#define TSB_T32A5_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,3))) -#define TSB_T32A5_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,4))) -#define TSB_T32A5_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,0))) -#define TSB_T32A5_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,1))) -#define TSB_T32A5_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,2))) -#define TSB_T32A5_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,3))) -#define TSB_T32A5_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,4))) -#define TSB_T32A5_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,0))) -#define TSB_T32A5_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,1))) -#define TSB_T32A5_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,2))) -#define TSB_T32A5_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->PLSCR,0))) -#define TSB_T32A5_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->PLSCR,1))) - -#define TSB_T32A6_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->MOD,0))) -#define TSB_T32A6_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->MOD,1))) -#define TSB_T32A6_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,0))) -#define TSB_T32A6_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,1))) -#define TSB_T32A6_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,2))) -#define TSB_T32A6_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,4))) -#define TSB_T32A6_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRA,20))) -#define TSB_T32A6_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,0))) -#define TSB_T32A6_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,1))) -#define TSB_T32A6_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,2))) -#define TSB_T32A6_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,3))) -#define TSB_T32A6_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,0))) -#define TSB_T32A6_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,1))) -#define TSB_T32A6_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,2))) -#define TSB_T32A6_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,3))) -#define TSB_T32A6_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,0))) -#define TSB_T32A6_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,1))) -#define TSB_T32A6_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,2))) -#define TSB_T32A6_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,0))) -#define TSB_T32A6_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,1))) -#define TSB_T32A6_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,2))) -#define TSB_T32A6_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,4))) -#define TSB_T32A6_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRB,20))) -#define TSB_T32A6_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,0))) -#define TSB_T32A6_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,1))) -#define TSB_T32A6_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,2))) -#define TSB_T32A6_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,3))) -#define TSB_T32A6_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,0))) -#define TSB_T32A6_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,1))) -#define TSB_T32A6_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,2))) -#define TSB_T32A6_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,3))) -#define TSB_T32A6_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,0))) -#define TSB_T32A6_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,1))) -#define TSB_T32A6_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,2))) -#define TSB_T32A6_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,0))) -#define TSB_T32A6_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,1))) -#define TSB_T32A6_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,2))) -#define TSB_T32A6_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,4))) -#define TSB_T32A6_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRC,20))) -#define TSB_T32A6_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,0))) -#define TSB_T32A6_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,1))) -#define TSB_T32A6_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,2))) -#define TSB_T32A6_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,3))) -#define TSB_T32A6_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,4))) -#define TSB_T32A6_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,0))) -#define TSB_T32A6_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,1))) -#define TSB_T32A6_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,2))) -#define TSB_T32A6_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,3))) -#define TSB_T32A6_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,4))) -#define TSB_T32A6_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,0))) -#define TSB_T32A6_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,1))) -#define TSB_T32A6_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,2))) -#define TSB_T32A6_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->PLSCR,0))) -#define TSB_T32A6_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->PLSCR,1))) - -#define TSB_T32A7_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->MOD,0))) -#define TSB_T32A7_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->MOD,1))) -#define TSB_T32A7_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,0))) -#define TSB_T32A7_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,1))) -#define TSB_T32A7_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,2))) -#define TSB_T32A7_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,4))) -#define TSB_T32A7_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRA,20))) -#define TSB_T32A7_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,0))) -#define TSB_T32A7_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,1))) -#define TSB_T32A7_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,2))) -#define TSB_T32A7_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,3))) -#define TSB_T32A7_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,0))) -#define TSB_T32A7_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,1))) -#define TSB_T32A7_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,2))) -#define TSB_T32A7_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,3))) -#define TSB_T32A7_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,0))) -#define TSB_T32A7_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,1))) -#define TSB_T32A7_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,2))) -#define TSB_T32A7_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,0))) -#define TSB_T32A7_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,1))) -#define TSB_T32A7_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,2))) -#define TSB_T32A7_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,4))) -#define TSB_T32A7_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRB,20))) -#define TSB_T32A7_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,0))) -#define TSB_T32A7_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,1))) -#define TSB_T32A7_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,2))) -#define TSB_T32A7_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,3))) -#define TSB_T32A7_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,0))) -#define TSB_T32A7_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,1))) -#define TSB_T32A7_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,2))) -#define TSB_T32A7_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,3))) -#define TSB_T32A7_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,0))) -#define TSB_T32A7_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,1))) -#define TSB_T32A7_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,2))) -#define TSB_T32A7_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,0))) -#define TSB_T32A7_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,1))) -#define TSB_T32A7_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,2))) -#define TSB_T32A7_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,4))) -#define TSB_T32A7_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRC,20))) -#define TSB_T32A7_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,0))) -#define TSB_T32A7_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,1))) -#define TSB_T32A7_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,2))) -#define TSB_T32A7_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,3))) -#define TSB_T32A7_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,4))) -#define TSB_T32A7_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,0))) -#define TSB_T32A7_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,1))) -#define TSB_T32A7_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,2))) -#define TSB_T32A7_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,3))) -#define TSB_T32A7_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,4))) -#define TSB_T32A7_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,0))) -#define TSB_T32A7_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,1))) -#define TSB_T32A7_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,2))) -#define TSB_T32A7_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->PLSCR,0))) -#define TSB_T32A7_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->PLSCR,1))) - - -/* UART */ -#define TSB_UART0_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SWRST,7))) -#define TSB_UART0_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,2))) -#define TSB_UART0_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,3))) -#define TSB_UART0_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,4))) -#define TSB_UART0_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,5))) -#define TSB_UART0_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,6))) -#define TSB_UART0_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,8))) -#define TSB_UART0_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,9))) -#define TSB_UART0_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,10))) -#define TSB_UART0_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,15))) -#define TSB_UART0_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,16))) -#define TSB_UART0_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,17))) -#define TSB_UART0_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,18))) -#define TSB_UART0_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,0))) -#define TSB_UART0_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,1))) -#define TSB_UART0_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,2))) -#define TSB_UART0_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,4))) -#define TSB_UART0_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,5))) -#define TSB_UART0_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,6))) -#define TSB_UART0_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,7))) -#define TSB_UART0_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->BRD,23))) -#define TSB_UART0_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,0))) -#define TSB_UART0_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,1))) -#define TSB_UART0_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,2))) -#define TSB_UART0_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,3))) -#define TSB_UART0_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,16))) -#define TSB_UART0_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,17))) -#define TSB_UART0_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,18))) -#define TSB_UART0_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,5))) -#define TSB_UART0_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,6))) -#define TSB_UART0_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,7))) -#define TSB_UART0_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,13))) -#define TSB_UART0_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,14))) -#define TSB_UART0_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,15))) -#define TSB_UART0_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,31))) -#define TSB_UART0_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART0->FIFOCLR,0))) -#define TSB_UART0_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART0->FIFOCLR,1))) -#define TSB_UART0_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,0))) -#define TSB_UART0_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,1))) -#define TSB_UART0_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,2))) -#define TSB_UART0_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,3))) -#define TSB_UART0_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,4))) - -#define TSB_UART1_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SWRST,7))) -#define TSB_UART1_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,2))) -#define TSB_UART1_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,3))) -#define TSB_UART1_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,4))) -#define TSB_UART1_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,5))) -#define TSB_UART1_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,6))) -#define TSB_UART1_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,8))) -#define TSB_UART1_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,9))) -#define TSB_UART1_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,10))) -#define TSB_UART1_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,15))) -#define TSB_UART1_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,16))) -#define TSB_UART1_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,17))) -#define TSB_UART1_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,18))) -#define TSB_UART1_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,0))) -#define TSB_UART1_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,1))) -#define TSB_UART1_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,2))) -#define TSB_UART1_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,4))) -#define TSB_UART1_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,5))) -#define TSB_UART1_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,6))) -#define TSB_UART1_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,7))) -#define TSB_UART1_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->BRD,23))) -#define TSB_UART1_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,0))) -#define TSB_UART1_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,1))) -#define TSB_UART1_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,2))) -#define TSB_UART1_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,3))) -#define TSB_UART1_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,16))) -#define TSB_UART1_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,17))) -#define TSB_UART1_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,18))) -#define TSB_UART1_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,5))) -#define TSB_UART1_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,6))) -#define TSB_UART1_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,7))) -#define TSB_UART1_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,13))) -#define TSB_UART1_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,14))) -#define TSB_UART1_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,15))) -#define TSB_UART1_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,31))) -#define TSB_UART1_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART1->FIFOCLR,0))) -#define TSB_UART1_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART1->FIFOCLR,1))) -#define TSB_UART1_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,0))) -#define TSB_UART1_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,1))) -#define TSB_UART1_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,2))) -#define TSB_UART1_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,3))) -#define TSB_UART1_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,4))) - -#define TSB_UART2_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SWRST,7))) -#define TSB_UART2_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,2))) -#define TSB_UART2_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,3))) -#define TSB_UART2_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,4))) -#define TSB_UART2_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,5))) -#define TSB_UART2_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,6))) -#define TSB_UART2_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,8))) -#define TSB_UART2_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,9))) -#define TSB_UART2_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,10))) -#define TSB_UART2_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,15))) -#define TSB_UART2_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,16))) -#define TSB_UART2_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,17))) -#define TSB_UART2_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,18))) -#define TSB_UART2_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,0))) -#define TSB_UART2_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,1))) -#define TSB_UART2_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,2))) -#define TSB_UART2_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,4))) -#define TSB_UART2_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,5))) -#define TSB_UART2_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,6))) -#define TSB_UART2_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,7))) -#define TSB_UART2_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->BRD,23))) -#define TSB_UART2_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,0))) -#define TSB_UART2_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,1))) -#define TSB_UART2_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,2))) -#define TSB_UART2_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,3))) -#define TSB_UART2_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,16))) -#define TSB_UART2_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,17))) -#define TSB_UART2_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,18))) -#define TSB_UART2_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,5))) -#define TSB_UART2_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,6))) -#define TSB_UART2_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,7))) -#define TSB_UART2_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,13))) -#define TSB_UART2_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,14))) -#define TSB_UART2_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,15))) -#define TSB_UART2_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,31))) -#define TSB_UART2_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART2->FIFOCLR,0))) -#define TSB_UART2_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART2->FIFOCLR,1))) -#define TSB_UART2_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,0))) -#define TSB_UART2_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,1))) -#define TSB_UART2_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,2))) -#define TSB_UART2_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,3))) -#define TSB_UART2_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,4))) - -#define TSB_UART3_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SWRST,7))) -#define TSB_UART3_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,2))) -#define TSB_UART3_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,3))) -#define TSB_UART3_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,4))) -#define TSB_UART3_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,5))) -#define TSB_UART3_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,6))) -#define TSB_UART3_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,8))) -#define TSB_UART3_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,9))) -#define TSB_UART3_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,10))) -#define TSB_UART3_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,15))) -#define TSB_UART3_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,16))) -#define TSB_UART3_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,17))) -#define TSB_UART3_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,18))) -#define TSB_UART3_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,0))) -#define TSB_UART3_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,1))) -#define TSB_UART3_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,2))) -#define TSB_UART3_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,4))) -#define TSB_UART3_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,5))) -#define TSB_UART3_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,6))) -#define TSB_UART3_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,7))) -#define TSB_UART3_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->BRD,23))) -#define TSB_UART3_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,0))) -#define TSB_UART3_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,1))) -#define TSB_UART3_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,2))) -#define TSB_UART3_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,3))) -#define TSB_UART3_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,16))) -#define TSB_UART3_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,17))) -#define TSB_UART3_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,18))) -#define TSB_UART3_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,5))) -#define TSB_UART3_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,6))) -#define TSB_UART3_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,7))) -#define TSB_UART3_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,13))) -#define TSB_UART3_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,14))) -#define TSB_UART3_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,15))) -#define TSB_UART3_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,31))) -#define TSB_UART3_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART3->FIFOCLR,0))) -#define TSB_UART3_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART3->FIFOCLR,1))) -#define TSB_UART3_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,0))) -#define TSB_UART3_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,1))) -#define TSB_UART3_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,2))) -#define TSB_UART3_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,3))) -#define TSB_UART3_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,4))) - -#define TSB_UART4_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SWRST,7))) -#define TSB_UART4_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,2))) -#define TSB_UART4_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,3))) -#define TSB_UART4_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,4))) -#define TSB_UART4_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,5))) -#define TSB_UART4_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,6))) -#define TSB_UART4_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,8))) -#define TSB_UART4_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,9))) -#define TSB_UART4_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,10))) -#define TSB_UART4_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,15))) -#define TSB_UART4_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,16))) -#define TSB_UART4_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,17))) -#define TSB_UART4_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,18))) -#define TSB_UART4_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,0))) -#define TSB_UART4_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,1))) -#define TSB_UART4_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,2))) -#define TSB_UART4_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,4))) -#define TSB_UART4_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,5))) -#define TSB_UART4_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,6))) -#define TSB_UART4_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,7))) -#define TSB_UART4_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->BRD,23))) -#define TSB_UART4_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,0))) -#define TSB_UART4_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,1))) -#define TSB_UART4_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,2))) -#define TSB_UART4_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,3))) -#define TSB_UART4_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,16))) -#define TSB_UART4_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,17))) -#define TSB_UART4_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,18))) -#define TSB_UART4_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,5))) -#define TSB_UART4_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,6))) -#define TSB_UART4_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,7))) -#define TSB_UART4_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,13))) -#define TSB_UART4_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,14))) -#define TSB_UART4_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,15))) -#define TSB_UART4_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,31))) -#define TSB_UART4_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART4->FIFOCLR,0))) -#define TSB_UART4_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART4->FIFOCLR,1))) -#define TSB_UART4_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,0))) -#define TSB_UART4_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,1))) -#define TSB_UART4_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,2))) -#define TSB_UART4_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,3))) -#define TSB_UART4_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,4))) - -#define TSB_UART5_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SWRST,7))) -#define TSB_UART5_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,2))) -#define TSB_UART5_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,3))) -#define TSB_UART5_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,4))) -#define TSB_UART5_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,5))) -#define TSB_UART5_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,6))) -#define TSB_UART5_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,8))) -#define TSB_UART5_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,9))) -#define TSB_UART5_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,10))) -#define TSB_UART5_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,15))) -#define TSB_UART5_CR0_HBSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,16))) -#define TSB_UART5_CR0_HBSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,17))) -#define TSB_UART5_CR0_HBSST (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,18))) -#define TSB_UART5_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,0))) -#define TSB_UART5_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,1))) -#define TSB_UART5_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,2))) -#define TSB_UART5_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,4))) -#define TSB_UART5_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,5))) -#define TSB_UART5_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,6))) -#define TSB_UART5_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,7))) -#define TSB_UART5_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->BRD,23))) -#define TSB_UART5_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,0))) -#define TSB_UART5_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,1))) -#define TSB_UART5_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,2))) -#define TSB_UART5_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,3))) -#define TSB_UART5_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,16))) -#define TSB_UART5_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,17))) -#define TSB_UART5_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,18))) -#define TSB_UART5_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,5))) -#define TSB_UART5_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,6))) -#define TSB_UART5_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,7))) -#define TSB_UART5_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,13))) -#define TSB_UART5_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,14))) -#define TSB_UART5_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,15))) -#define TSB_UART5_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,31))) -#define TSB_UART5_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART5->FIFOCLR,0))) -#define TSB_UART5_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART5->FIFOCLR,1))) -#define TSB_UART5_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,0))) -#define TSB_UART5_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,1))) -#define TSB_UART5_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,2))) -#define TSB_UART5_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,3))) -#define TSB_UART5_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,4))) - - -/* SIWD */ -#define TSB_SIWD0_EN_WDTE (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->EN,0))) -#define TSB_SIWD0_EN_WDTF (*((__I uint32_t *)BITBAND_PERI(&TSB_SIWD0->EN,1))) -#define TSB_SIWD0_MOD_RESCR (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->MOD,0))) -#define TSB_SIWD0_MOD_INTF (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->MOD,1))) -#define TSB_SIWD0_OSCCR_OSCPRO (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->OSCCR,0))) - - -/* DNF */ -#define TSB_DNFA_ENCR_NFEN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,0))) -#define TSB_DNFA_ENCR_NFEN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,1))) -#define TSB_DNFA_ENCR_NFEN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,2))) -#define TSB_DNFA_ENCR_NFEN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,3))) -#define TSB_DNFA_ENCR_NFEN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,4))) -#define TSB_DNFA_ENCR_NFEN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,5))) -#define TSB_DNFA_ENCR_NFEN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,6))) -#define TSB_DNFA_ENCR_NFEN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,7))) -#define TSB_DNFA_ENCR_NFEN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,8))) -#define TSB_DNFA_ENCR_NFEN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,9))) -#define TSB_DNFA_ENCR_NFEN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,10))) -#define TSB_DNFA_ENCR_NFEN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,11))) -#define TSB_DNFA_ENCR_NFEN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,12))) -#define TSB_DNFA_ENCR_NFEN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,13))) -#define TSB_DNFA_ENCR_NFEN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,14))) -#define TSB_DNFA_ENCR_NFEN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,15))) - -#define TSB_DNFB_ENCR_NFEN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,0))) -#define TSB_DNFB_ENCR_NFEN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,1))) -#define TSB_DNFB_ENCR_NFEN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,2))) -#define TSB_DNFB_ENCR_NFEN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,3))) -#define TSB_DNFB_ENCR_NFEN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,4))) -#define TSB_DNFB_ENCR_NFEN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,5))) -#define TSB_DNFB_ENCR_NFEN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,6))) -#define TSB_DNFB_ENCR_NFEN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,7))) -#define TSB_DNFB_ENCR_NFEN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,8))) -#define TSB_DNFB_ENCR_NFEN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,9))) -#define TSB_DNFB_ENCR_NFEN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,10))) -#define TSB_DNFB_ENCR_NFEN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,11))) -#define TSB_DNFB_ENCR_NFEN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,12))) -#define TSB_DNFB_ENCR_NFEN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,13))) -#define TSB_DNFB_ENCR_NFEN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,14))) -#define TSB_DNFB_ENCR_NFEN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,15))) - - -/* TRGSEL */ -#define TSB_TSEL0_CR0_EN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,0))) -#define TSB_TSEL0_CR0_OUTSEL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,1))) -#define TSB_TSEL0_CR0_UPDN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,2))) -#define TSB_TSEL0_CR0_EN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,8))) -#define TSB_TSEL0_CR0_OUTSEL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,9))) -#define TSB_TSEL0_CR0_UPDN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,10))) -#define TSB_TSEL0_CR0_EN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,16))) -#define TSB_TSEL0_CR0_OUTSEL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,17))) -#define TSB_TSEL0_CR0_UPDN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,18))) -#define TSB_TSEL0_CR0_EN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,24))) -#define TSB_TSEL0_CR0_OUTSEL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,25))) -#define TSB_TSEL0_CR0_UPDN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,26))) -#define TSB_TSEL0_CR1_EN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,0))) -#define TSB_TSEL0_CR1_OUTSEL4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,1))) -#define TSB_TSEL0_CR1_UPDN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,2))) -#define TSB_TSEL0_CR1_EN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,8))) -#define TSB_TSEL0_CR1_OUTSEL5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,9))) -#define TSB_TSEL0_CR1_UPDN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,10))) -#define TSB_TSEL0_CR1_EN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,16))) -#define TSB_TSEL0_CR1_OUTSEL6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,17))) -#define TSB_TSEL0_CR1_UPDN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,18))) -#define TSB_TSEL0_CR1_EN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,24))) -#define TSB_TSEL0_CR1_OUTSEL7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,25))) -#define TSB_TSEL0_CR1_UPDN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,26))) -#define TSB_TSEL0_CR2_EN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,0))) -#define TSB_TSEL0_CR2_OUTSEL8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,1))) -#define TSB_TSEL0_CR2_UPDN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,2))) -#define TSB_TSEL0_CR2_EN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,8))) -#define TSB_TSEL0_CR2_OUTSEL9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,9))) -#define TSB_TSEL0_CR2_UPDN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,10))) -#define TSB_TSEL0_CR2_EN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,16))) -#define TSB_TSEL0_CR2_OUTSEL10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,17))) -#define TSB_TSEL0_CR2_UPDN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,18))) -#define TSB_TSEL0_CR2_EN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,24))) -#define TSB_TSEL0_CR2_OUTSEL11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,25))) -#define TSB_TSEL0_CR2_UPDN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,26))) -#define TSB_TSEL0_CR3_EN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,0))) -#define TSB_TSEL0_CR3_OUTSEL12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,1))) -#define TSB_TSEL0_CR3_UPDN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,2))) -#define TSB_TSEL0_CR3_EN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,8))) -#define TSB_TSEL0_CR3_OUTSEL13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,9))) -#define TSB_TSEL0_CR3_UPDN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,10))) -#define TSB_TSEL0_CR3_EN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,16))) -#define TSB_TSEL0_CR3_OUTSEL14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,17))) -#define TSB_TSEL0_CR3_UPDN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,18))) -#define TSB_TSEL0_CR3_EN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,24))) -#define TSB_TSEL0_CR3_OUTSEL15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,25))) -#define TSB_TSEL0_CR3_UPDN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,26))) -#define TSB_TSEL0_CR4_EN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,0))) -#define TSB_TSEL0_CR4_OUTSEL16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,1))) -#define TSB_TSEL0_CR4_UPDN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,2))) -#define TSB_TSEL0_CR4_EN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,8))) -#define TSB_TSEL0_CR4_OUTSEL17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,9))) -#define TSB_TSEL0_CR4_UPDN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,10))) -#define TSB_TSEL0_CR4_EN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,16))) -#define TSB_TSEL0_CR4_OUTSEL18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,17))) -#define TSB_TSEL0_CR4_UPDN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,18))) -#define TSB_TSEL0_CR4_EN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,24))) -#define TSB_TSEL0_CR4_OUTSEL19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,25))) -#define TSB_TSEL0_CR4_UPDN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,26))) -#define TSB_TSEL0_CR5_EN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,0))) -#define TSB_TSEL0_CR5_OUTSEL20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,1))) -#define TSB_TSEL0_CR5_UPDN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,2))) -#define TSB_TSEL0_CR5_EN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,8))) -#define TSB_TSEL0_CR5_OUTSEL21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,9))) -#define TSB_TSEL0_CR5_UPDN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,10))) -#define TSB_TSEL0_CR5_EN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,16))) -#define TSB_TSEL0_CR5_OUTSEL22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,17))) -#define TSB_TSEL0_CR5_UPDN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,18))) -#define TSB_TSEL0_CR5_EN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,24))) -#define TSB_TSEL0_CR5_OUTSEL23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,25))) -#define TSB_TSEL0_CR5_UPDN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,26))) -#define TSB_TSEL0_CR6_EN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,0))) -#define TSB_TSEL0_CR6_OUTSEL24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,1))) -#define TSB_TSEL0_CR6_UPDN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,2))) -#define TSB_TSEL0_CR6_EN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,8))) -#define TSB_TSEL0_CR6_OUTSEL25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,9))) -#define TSB_TSEL0_CR6_UPDN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,10))) -#define TSB_TSEL0_CR6_EN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,16))) -#define TSB_TSEL0_CR6_OUTSEL26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,17))) -#define TSB_TSEL0_CR6_UPDN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,18))) -#define TSB_TSEL0_CR6_EN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,24))) -#define TSB_TSEL0_CR6_OUTSEL27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,25))) -#define TSB_TSEL0_CR6_UPDN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,26))) -#define TSB_TSEL0_CR7_EN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,0))) -#define TSB_TSEL0_CR7_OUTSEL28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,1))) -#define TSB_TSEL0_CR7_UPDN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,2))) -#define TSB_TSEL0_CR7_EN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,8))) -#define TSB_TSEL0_CR7_OUTSEL29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,9))) -#define TSB_TSEL0_CR7_UPDN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,10))) -#define TSB_TSEL0_CR7_EN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,16))) -#define TSB_TSEL0_CR7_OUTSEL30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,17))) -#define TSB_TSEL0_CR7_UPDN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,18))) -#define TSB_TSEL0_CR7_EN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,24))) -#define TSB_TSEL0_CR7_OUTSEL31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,25))) -#define TSB_TSEL0_CR7_UPDN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,26))) -#define TSB_TSEL0_CR8_EN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,0))) -#define TSB_TSEL0_CR8_OUTSEL32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,1))) -#define TSB_TSEL0_CR8_UPDN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,2))) -#define TSB_TSEL0_CR8_EN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,8))) -#define TSB_TSEL0_CR8_OUTSEL33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,9))) -#define TSB_TSEL0_CR8_UPDN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,10))) -#define TSB_TSEL0_CR8_EN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,16))) -#define TSB_TSEL0_CR8_OUTSEL34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,17))) -#define TSB_TSEL0_CR8_UPDN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,18))) -#define TSB_TSEL0_CR8_EN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,24))) -#define TSB_TSEL0_CR8_OUTSEL35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,25))) -#define TSB_TSEL0_CR8_UPDN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,26))) -#define TSB_TSEL0_CR9_EN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,0))) -#define TSB_TSEL0_CR9_OUTSEL36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,1))) -#define TSB_TSEL0_CR9_UPDN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,2))) -#define TSB_TSEL0_CR9_EN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,8))) -#define TSB_TSEL0_CR9_OUTSEL37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,9))) -#define TSB_TSEL0_CR9_UPDN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,10))) -#define TSB_TSEL0_CR9_EN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,16))) -#define TSB_TSEL0_CR9_OUTSEL38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,17))) -#define TSB_TSEL0_CR9_UPDN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,18))) -#define TSB_TSEL0_CR9_EN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,24))) -#define TSB_TSEL0_CR9_OUTSEL39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,25))) -#define TSB_TSEL0_CR9_UPDN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,26))) -#define TSB_TSEL0_CR10_EN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,0))) -#define TSB_TSEL0_CR10_OUTSEL40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,1))) -#define TSB_TSEL0_CR10_UPDN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,2))) -#define TSB_TSEL0_CR10_EN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,8))) -#define TSB_TSEL0_CR10_OUTSEL41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,9))) -#define TSB_TSEL0_CR10_UPDN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,10))) -#define TSB_TSEL0_CR10_EN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,16))) -#define TSB_TSEL0_CR10_OUTSEL42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,17))) -#define TSB_TSEL0_CR10_UPDN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,18))) -#define TSB_TSEL0_CR10_EN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,24))) -#define TSB_TSEL0_CR10_OUTSEL43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,25))) -#define TSB_TSEL0_CR10_UPDN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,26))) -#define TSB_TSEL0_CR11_EN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,0))) -#define TSB_TSEL0_CR11_OUTSEL44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,1))) -#define TSB_TSEL0_CR11_UPDN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,2))) -#define TSB_TSEL0_CR11_EN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,8))) -#define TSB_TSEL0_CR11_OUTSEL45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,9))) -#define TSB_TSEL0_CR11_UPDN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,10))) -#define TSB_TSEL0_CR11_EN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,16))) -#define TSB_TSEL0_CR11_OUTSEL46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,17))) -#define TSB_TSEL0_CR11_UPDN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,18))) -#define TSB_TSEL0_CR11_EN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,24))) -#define TSB_TSEL0_CR11_OUTSEL47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,25))) -#define TSB_TSEL0_CR11_UPDN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,26))) -#define TSB_TSEL0_CR12_EN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,0))) -#define TSB_TSEL0_CR12_OUTSEL48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,1))) -#define TSB_TSEL0_CR12_UPDN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,2))) -#define TSB_TSEL0_CR12_EN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,8))) -#define TSB_TSEL0_CR12_OUTSEL49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,9))) -#define TSB_TSEL0_CR12_UPDN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,10))) -#define TSB_TSEL0_CR12_EN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,16))) -#define TSB_TSEL0_CR12_OUTSEL50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,17))) -#define TSB_TSEL0_CR12_UPDN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,18))) -#define TSB_TSEL0_CR12_EN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,24))) -#define TSB_TSEL0_CR12_OUTSEL51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,25))) -#define TSB_TSEL0_CR12_UPDN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,26))) -#define TSB_TSEL0_CR13_EN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,0))) -#define TSB_TSEL0_CR13_OUTSEL52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,1))) -#define TSB_TSEL0_CR13_UPDN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,2))) -#define TSB_TSEL0_CR13_EN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,8))) -#define TSB_TSEL0_CR13_OUTSEL53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,9))) -#define TSB_TSEL0_CR13_UPDN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,10))) -#define TSB_TSEL0_CR13_EN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,16))) -#define TSB_TSEL0_CR13_OUTSEL54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,17))) -#define TSB_TSEL0_CR13_UPDN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,18))) -#define TSB_TSEL0_CR13_EN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,24))) -#define TSB_TSEL0_CR13_OUTSEL55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,25))) -#define TSB_TSEL0_CR13_UPDN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,26))) -#define TSB_TSEL0_CR14_EN56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,0))) -#define TSB_TSEL0_CR14_OUTSEL56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,1))) -#define TSB_TSEL0_CR14_UPDN56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,2))) -#define TSB_TSEL0_CR14_EN57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,8))) -#define TSB_TSEL0_CR14_OUTSEL57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,9))) -#define TSB_TSEL0_CR14_UPDN57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,10))) -#define TSB_TSEL0_CR14_EN58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,16))) -#define TSB_TSEL0_CR14_OUTSEL58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,17))) -#define TSB_TSEL0_CR14_UPDN58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,18))) -#define TSB_TSEL0_CR14_EN59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,24))) -#define TSB_TSEL0_CR14_OUTSEL59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,25))) -#define TSB_TSEL0_CR14_UPDN59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR14,26))) -#define TSB_TSEL0_CR15_EN60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,0))) -#define TSB_TSEL0_CR15_OUTSEL60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,1))) -#define TSB_TSEL0_CR15_UPDN60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,2))) -#define TSB_TSEL0_CR15_EN61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,8))) -#define TSB_TSEL0_CR15_OUTSEL61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,9))) -#define TSB_TSEL0_CR15_UPDN61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,10))) -#define TSB_TSEL0_CR15_EN62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,16))) -#define TSB_TSEL0_CR15_OUTSEL62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,17))) -#define TSB_TSEL0_CR15_UPDN62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,18))) -#define TSB_TSEL0_CR15_EN63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,24))) -#define TSB_TSEL0_CR15_OUTSEL63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,25))) -#define TSB_TSEL0_CR15_UPDN63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR15,26))) - -#define TSB_TSEL1_CR0_EN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,0))) -#define TSB_TSEL1_CR0_OUTSEL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,1))) -#define TSB_TSEL1_CR0_UPDN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,2))) -#define TSB_TSEL1_CR0_EN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,8))) -#define TSB_TSEL1_CR0_OUTSEL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,9))) -#define TSB_TSEL1_CR0_UPDN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,10))) -#define TSB_TSEL1_CR0_EN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,16))) -#define TSB_TSEL1_CR0_OUTSEL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,17))) -#define TSB_TSEL1_CR0_UPDN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,18))) -#define TSB_TSEL1_CR0_EN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,24))) -#define TSB_TSEL1_CR0_OUTSEL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,25))) -#define TSB_TSEL1_CR0_UPDN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR0,26))) -#define TSB_TSEL1_CR1_EN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,0))) -#define TSB_TSEL1_CR1_OUTSEL4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,1))) -#define TSB_TSEL1_CR1_UPDN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,2))) -#define TSB_TSEL1_CR1_EN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,8))) -#define TSB_TSEL1_CR1_OUTSEL5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,9))) -#define TSB_TSEL1_CR1_UPDN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,10))) -#define TSB_TSEL1_CR1_EN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,16))) -#define TSB_TSEL1_CR1_OUTSEL6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,17))) -#define TSB_TSEL1_CR1_UPDN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,18))) -#define TSB_TSEL1_CR1_EN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,24))) -#define TSB_TSEL1_CR1_OUTSEL7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,25))) -#define TSB_TSEL1_CR1_UPDN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR1,26))) -#define TSB_TSEL1_CR2_EN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,0))) -#define TSB_TSEL1_CR2_OUTSEL8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,1))) -#define TSB_TSEL1_CR2_UPDN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,2))) -#define TSB_TSEL1_CR2_EN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,8))) -#define TSB_TSEL1_CR2_OUTSEL9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,9))) -#define TSB_TSEL1_CR2_UPDN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,10))) -#define TSB_TSEL1_CR2_EN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,16))) -#define TSB_TSEL1_CR2_OUTSEL10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,17))) -#define TSB_TSEL1_CR2_UPDN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,18))) -#define TSB_TSEL1_CR2_EN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,24))) -#define TSB_TSEL1_CR2_OUTSEL11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,25))) -#define TSB_TSEL1_CR2_UPDN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR2,26))) -#define TSB_TSEL1_CR3_EN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,0))) -#define TSB_TSEL1_CR3_OUTSEL12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,1))) -#define TSB_TSEL1_CR3_UPDN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,2))) -#define TSB_TSEL1_CR3_EN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,8))) -#define TSB_TSEL1_CR3_OUTSEL13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,9))) -#define TSB_TSEL1_CR3_UPDN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,10))) -#define TSB_TSEL1_CR3_EN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,16))) -#define TSB_TSEL1_CR3_OUTSEL14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,17))) -#define TSB_TSEL1_CR3_UPDN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,18))) -#define TSB_TSEL1_CR3_EN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,24))) -#define TSB_TSEL1_CR3_OUTSEL15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,25))) -#define TSB_TSEL1_CR3_UPDN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR3,26))) -#define TSB_TSEL1_CR4_EN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,0))) -#define TSB_TSEL1_CR4_OUTSEL16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,1))) -#define TSB_TSEL1_CR4_UPDN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,2))) -#define TSB_TSEL1_CR4_EN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,8))) -#define TSB_TSEL1_CR4_OUTSEL17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,9))) -#define TSB_TSEL1_CR4_UPDN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,10))) -#define TSB_TSEL1_CR4_EN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,16))) -#define TSB_TSEL1_CR4_OUTSEL18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,17))) -#define TSB_TSEL1_CR4_UPDN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,18))) -#define TSB_TSEL1_CR4_EN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,24))) -#define TSB_TSEL1_CR4_OUTSEL19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,25))) -#define TSB_TSEL1_CR4_UPDN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR4,26))) -#define TSB_TSEL1_CR5_EN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,0))) -#define TSB_TSEL1_CR5_OUTSEL20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,1))) -#define TSB_TSEL1_CR5_UPDN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,2))) -#define TSB_TSEL1_CR5_EN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,8))) -#define TSB_TSEL1_CR5_OUTSEL21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,9))) -#define TSB_TSEL1_CR5_UPDN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,10))) -#define TSB_TSEL1_CR5_EN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,16))) -#define TSB_TSEL1_CR5_OUTSEL22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,17))) -#define TSB_TSEL1_CR5_UPDN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,18))) -#define TSB_TSEL1_CR5_EN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,24))) -#define TSB_TSEL1_CR5_OUTSEL23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,25))) -#define TSB_TSEL1_CR5_UPDN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR5,26))) -#define TSB_TSEL1_CR6_EN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,0))) -#define TSB_TSEL1_CR6_OUTSEL24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,1))) -#define TSB_TSEL1_CR6_UPDN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,2))) -#define TSB_TSEL1_CR6_EN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,8))) -#define TSB_TSEL1_CR6_OUTSEL25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,9))) -#define TSB_TSEL1_CR6_UPDN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,10))) -#define TSB_TSEL1_CR6_EN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,16))) -#define TSB_TSEL1_CR6_OUTSEL26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,17))) -#define TSB_TSEL1_CR6_UPDN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,18))) -#define TSB_TSEL1_CR6_EN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,24))) -#define TSB_TSEL1_CR6_OUTSEL27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,25))) -#define TSB_TSEL1_CR6_UPDN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR6,26))) -#define TSB_TSEL1_CR7_EN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,0))) -#define TSB_TSEL1_CR7_OUTSEL28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,1))) -#define TSB_TSEL1_CR7_UPDN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,2))) -#define TSB_TSEL1_CR7_EN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,8))) -#define TSB_TSEL1_CR7_OUTSEL29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,9))) -#define TSB_TSEL1_CR7_UPDN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,10))) -#define TSB_TSEL1_CR7_EN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,16))) -#define TSB_TSEL1_CR7_OUTSEL30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,17))) -#define TSB_TSEL1_CR7_UPDN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,18))) -#define TSB_TSEL1_CR7_EN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,24))) -#define TSB_TSEL1_CR7_OUTSEL31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,25))) -#define TSB_TSEL1_CR7_UPDN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR7,26))) -#define TSB_TSEL1_CR8_EN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,0))) -#define TSB_TSEL1_CR8_OUTSEL32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,1))) -#define TSB_TSEL1_CR8_UPDN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,2))) -#define TSB_TSEL1_CR8_EN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,8))) -#define TSB_TSEL1_CR8_OUTSEL33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,9))) -#define TSB_TSEL1_CR8_UPDN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,10))) -#define TSB_TSEL1_CR8_EN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,16))) -#define TSB_TSEL1_CR8_OUTSEL34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,17))) -#define TSB_TSEL1_CR8_UPDN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,18))) -#define TSB_TSEL1_CR8_EN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,24))) -#define TSB_TSEL1_CR8_OUTSEL35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,25))) -#define TSB_TSEL1_CR8_UPDN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR8,26))) -#define TSB_TSEL1_CR9_EN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,0))) -#define TSB_TSEL1_CR9_OUTSEL36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,1))) -#define TSB_TSEL1_CR9_UPDN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,2))) -#define TSB_TSEL1_CR9_EN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,8))) -#define TSB_TSEL1_CR9_OUTSEL37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,9))) -#define TSB_TSEL1_CR9_UPDN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,10))) -#define TSB_TSEL1_CR9_EN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,16))) -#define TSB_TSEL1_CR9_OUTSEL38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,17))) -#define TSB_TSEL1_CR9_UPDN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,18))) -#define TSB_TSEL1_CR9_EN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,24))) -#define TSB_TSEL1_CR9_OUTSEL39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,25))) -#define TSB_TSEL1_CR9_UPDN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR9,26))) -#define TSB_TSEL1_CR10_EN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,0))) -#define TSB_TSEL1_CR10_OUTSEL40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,1))) -#define TSB_TSEL1_CR10_UPDN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,2))) -#define TSB_TSEL1_CR10_EN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,8))) -#define TSB_TSEL1_CR10_OUTSEL41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,9))) -#define TSB_TSEL1_CR10_UPDN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,10))) -#define TSB_TSEL1_CR10_EN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,16))) -#define TSB_TSEL1_CR10_OUTSEL42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,17))) -#define TSB_TSEL1_CR10_UPDN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,18))) -#define TSB_TSEL1_CR10_EN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,24))) -#define TSB_TSEL1_CR10_OUTSEL43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,25))) -#define TSB_TSEL1_CR10_UPDN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR10,26))) -#define TSB_TSEL1_CR11_EN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,0))) -#define TSB_TSEL1_CR11_OUTSEL44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,1))) -#define TSB_TSEL1_CR11_UPDN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,2))) -#define TSB_TSEL1_CR11_EN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,8))) -#define TSB_TSEL1_CR11_OUTSEL45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,9))) -#define TSB_TSEL1_CR11_UPDN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,10))) -#define TSB_TSEL1_CR11_EN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,16))) -#define TSB_TSEL1_CR11_OUTSEL46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,17))) -#define TSB_TSEL1_CR11_UPDN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,18))) -#define TSB_TSEL1_CR11_EN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,24))) -#define TSB_TSEL1_CR11_OUTSEL47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,25))) -#define TSB_TSEL1_CR11_UPDN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR11,26))) -#define TSB_TSEL1_CR12_EN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,0))) -#define TSB_TSEL1_CR12_OUTSEL48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,1))) -#define TSB_TSEL1_CR12_UPDN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,2))) -#define TSB_TSEL1_CR12_EN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,8))) -#define TSB_TSEL1_CR12_OUTSEL49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,9))) -#define TSB_TSEL1_CR12_UPDN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,10))) -#define TSB_TSEL1_CR12_EN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,16))) -#define TSB_TSEL1_CR12_OUTSEL50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,17))) -#define TSB_TSEL1_CR12_UPDN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,18))) -#define TSB_TSEL1_CR12_EN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,24))) -#define TSB_TSEL1_CR12_OUTSEL51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,25))) -#define TSB_TSEL1_CR12_UPDN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR12,26))) -#define TSB_TSEL1_CR13_EN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,0))) -#define TSB_TSEL1_CR13_OUTSEL52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,1))) -#define TSB_TSEL1_CR13_UPDN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,2))) -#define TSB_TSEL1_CR13_EN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,8))) -#define TSB_TSEL1_CR13_OUTSEL53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,9))) -#define TSB_TSEL1_CR13_UPDN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,10))) -#define TSB_TSEL1_CR13_EN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,16))) -#define TSB_TSEL1_CR13_OUTSEL54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,17))) -#define TSB_TSEL1_CR13_UPDN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,18))) -#define TSB_TSEL1_CR13_EN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,24))) -#define TSB_TSEL1_CR13_OUTSEL55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,25))) -#define TSB_TSEL1_CR13_UPDN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR13,26))) -#define TSB_TSEL1_CR14_EN56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,0))) -#define TSB_TSEL1_CR14_OUTSEL56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,1))) -#define TSB_TSEL1_CR14_UPDN56 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,2))) -#define TSB_TSEL1_CR14_EN57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,8))) -#define TSB_TSEL1_CR14_OUTSEL57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,9))) -#define TSB_TSEL1_CR14_UPDN57 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,10))) -#define TSB_TSEL1_CR14_EN58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,16))) -#define TSB_TSEL1_CR14_OUTSEL58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,17))) -#define TSB_TSEL1_CR14_UPDN58 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,18))) -#define TSB_TSEL1_CR14_EN59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,24))) -#define TSB_TSEL1_CR14_OUTSEL59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,25))) -#define TSB_TSEL1_CR14_UPDN59 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR14,26))) -#define TSB_TSEL1_CR15_EN60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,0))) -#define TSB_TSEL1_CR15_OUTSEL60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,1))) -#define TSB_TSEL1_CR15_UPDN60 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,2))) -#define TSB_TSEL1_CR15_EN61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,8))) -#define TSB_TSEL1_CR15_OUTSEL61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,9))) -#define TSB_TSEL1_CR15_UPDN61 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,10))) -#define TSB_TSEL1_CR15_EN62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,16))) -#define TSB_TSEL1_CR15_OUTSEL62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,17))) -#define TSB_TSEL1_CR15_UPDN62 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,18))) -#define TSB_TSEL1_CR15_EN63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,24))) -#define TSB_TSEL1_CR15_OUTSEL63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,25))) -#define TSB_TSEL1_CR15_UPDN63 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL1->CR15,26))) - - -/* RAM Parity */ -#define TSB_RPAR_CTL_RPAREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RPAR->CTL,0))) -#define TSB_RPAR_CTL_RPARF (*((__IO uint32_t *)BITBAND_PERI(&TSB_RPAR->CTL,1))) -#define TSB_RPAR_ST_RPARFG0 (*((__I uint32_t *)BITBAND_PERI(&TSB_RPAR->ST,0))) -#define TSB_RPAR_ST_RPARFG1 (*((__I uint32_t *)BITBAND_PERI(&TSB_RPAR->ST,1))) -#define TSB_RPAR_ST_RPARFG2 (*((__I uint32_t *)BITBAND_PERI(&TSB_RPAR->ST,2))) -#define TSB_RPAR_ST_RPARFG3 (*((__I uint32_t *)BITBAND_PERI(&TSB_RPAR->ST,3))) -#define TSB_RPAR_CLR_RPARCLR0 (*((__O uint32_t *)BITBAND_PERI(&TSB_RPAR->CLR,0))) -#define TSB_RPAR_CLR_RPARCLR1 (*((__O uint32_t *)BITBAND_PERI(&TSB_RPAR->CLR,1))) -#define TSB_RPAR_CLR_RPARCLR2 (*((__O uint32_t *)BITBAND_PERI(&TSB_RPAR->CLR,2))) -#define TSB_RPAR_CLR_RPARCLR3 (*((__O uint32_t *)BITBAND_PERI(&TSB_RPAR->CLR,3))) - - - -/* CMP */ -#define TSB_CMP_CTRLA_CMPEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CMP->CTRLA,0))) -#define TSB_CMP_CTRLA_CMPISEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_CMP->CTRLA,1))) - - -/* Port A */ -#define TSB_PA_DATA_PA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,0))) -#define TSB_PA_DATA_PA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,1))) -#define TSB_PA_DATA_PA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,2))) -#define TSB_PA_DATA_PA3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,3))) -#define TSB_PA_DATA_PA4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,4))) -#define TSB_PA_DATA_PA5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,5))) -#define TSB_PA_DATA_PA6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,6))) -#define TSB_PA_DATA_PA7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,7))) -#define TSB_PA_CR_PA0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,0))) -#define TSB_PA_CR_PA1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,1))) -#define TSB_PA_CR_PA2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,2))) -#define TSB_PA_CR_PA3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,3))) -#define TSB_PA_CR_PA4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,4))) -#define TSB_PA_CR_PA5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,5))) -#define TSB_PA_CR_PA6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,6))) -#define TSB_PA_CR_PA7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,7))) -#define TSB_PA_FR1_PA0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,0))) -#define TSB_PA_FR1_PA1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,1))) -#define TSB_PA_FR1_PA2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,2))) -#define TSB_PA_FR1_PA4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,4))) -#define TSB_PA_FR1_PA5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,5))) -#define TSB_PA_FR1_PA6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,6))) -#define TSB_PA_FR1_PA7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,7))) -#define TSB_PA_FR2_PA1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,1))) -#define TSB_PA_FR2_PA2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,2))) -#define TSB_PA_FR2_PA3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,3))) -#define TSB_PA_FR2_PA6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,6))) -#define TSB_PA_FR2_PA7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,7))) -#define TSB_PA_FR3_PA0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,0))) -#define TSB_PA_FR3_PA1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,1))) -#define TSB_PA_FR3_PA2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,2))) -#define TSB_PA_FR3_PA3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,3))) -#define TSB_PA_FR3_PA4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,4))) -#define TSB_PA_FR4_PA0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,0))) -#define TSB_PA_FR4_PA1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,1))) -#define TSB_PA_FR4_PA2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,2))) -#define TSB_PA_FR4_PA3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,3))) -#define TSB_PA_FR4_PA4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,4))) -#define TSB_PA_FR4_PA5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR4,5))) -#define TSB_PA_FR5_PA0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,0))) -#define TSB_PA_FR5_PA1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,1))) -#define TSB_PA_FR5_PA2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,2))) -#define TSB_PA_FR6_PA0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,0))) -#define TSB_PA_FR6_PA1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,1))) -#define TSB_PA_FR6_PA2F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,2))) -#define TSB_PA_FR6_PA3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,3))) -#define TSB_PA_OD_PA0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,0))) -#define TSB_PA_OD_PA1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,1))) -#define TSB_PA_OD_PA2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,2))) -#define TSB_PA_OD_PA3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,3))) -#define TSB_PA_OD_PA4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,4))) -#define TSB_PA_OD_PA5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,5))) -#define TSB_PA_OD_PA6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,6))) -#define TSB_PA_OD_PA7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,7))) -#define TSB_PA_PUP_PA0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,0))) -#define TSB_PA_PUP_PA1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,1))) -#define TSB_PA_PUP_PA2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,2))) -#define TSB_PA_PUP_PA3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,3))) -#define TSB_PA_PUP_PA4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,4))) -#define TSB_PA_PUP_PA5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,5))) -#define TSB_PA_PUP_PA6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,6))) -#define TSB_PA_PUP_PA7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,7))) -#define TSB_PA_PDN_PA0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,0))) -#define TSB_PA_PDN_PA1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,1))) -#define TSB_PA_PDN_PA2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,2))) -#define TSB_PA_PDN_PA3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,3))) -#define TSB_PA_PDN_PA4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,4))) -#define TSB_PA_PDN_PA5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,5))) -#define TSB_PA_PDN_PA6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,6))) -#define TSB_PA_PDN_PA7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,7))) -#define TSB_PA_IE_PA0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,0))) -#define TSB_PA_IE_PA1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,1))) -#define TSB_PA_IE_PA2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,2))) -#define TSB_PA_IE_PA3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,3))) -#define TSB_PA_IE_PA4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,4))) -#define TSB_PA_IE_PA5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,5))) -#define TSB_PA_IE_PA6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,6))) -#define TSB_PA_IE_PA7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,7))) - - -/* Port B */ -#define TSB_PB_DATA_PB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,0))) -#define TSB_PB_DATA_PB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,1))) -#define TSB_PB_DATA_PB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,2))) -#define TSB_PB_DATA_PB3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,3))) -#define TSB_PB_DATA_PB4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,4))) -#define TSB_PB_DATA_PB5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,5))) -#define TSB_PB_DATA_PB6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,6))) -#define TSB_PB_DATA_PB7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,7))) -#define TSB_PB_CR_PB0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,0))) -#define TSB_PB_CR_PB1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,1))) -#define TSB_PB_CR_PB2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,2))) -#define TSB_PB_CR_PB3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,3))) -#define TSB_PB_CR_PB4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,4))) -#define TSB_PB_CR_PB5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,5))) -#define TSB_PB_CR_PB6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,6))) -#define TSB_PB_CR_PB7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,7))) -#define TSB_PB_FR1_PB1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,1))) -#define TSB_PB_FR1_PB2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,2))) -#define TSB_PB_FR1_PB3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,3))) -#define TSB_PB_FR1_PB4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,4))) -#define TSB_PB_FR1_PB5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,5))) -#define TSB_PB_FR2_PB2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,2))) -#define TSB_PB_FR2_PB3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,3))) -#define TSB_PB_FR2_PB4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,4))) -#define TSB_PB_FR2_PB5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,5))) -#define TSB_PB_FR3_PB2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,2))) -#define TSB_PB_FR3_PB3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,3))) -#define TSB_PB_FR3_PB4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,4))) -#define TSB_PB_FR3_PB5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,5))) -#define TSB_PB_FR3_PB6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,6))) -#define TSB_PB_FR4_PB0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,0))) -#define TSB_PB_FR4_PB1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,1))) -#define TSB_PB_FR4_PB2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,2))) -#define TSB_PB_FR4_PB3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,3))) -#define TSB_PB_FR4_PB4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,4))) -#define TSB_PB_FR4_PB5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR4,5))) -#define TSB_PB_FR5_PB0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,0))) -#define TSB_PB_FR5_PB1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,1))) -#define TSB_PB_FR5_PB2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,2))) -#define TSB_PB_FR5_PB5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,5))) -#define TSB_PB_FR6_PB0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR6,0))) -#define TSB_PB_FR6_PB1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR6,1))) -#define TSB_PB_OD_PB0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,0))) -#define TSB_PB_OD_PB1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,1))) -#define TSB_PB_OD_PB2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,2))) -#define TSB_PB_OD_PB3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,3))) -#define TSB_PB_OD_PB4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,4))) -#define TSB_PB_OD_PB5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,5))) -#define TSB_PB_OD_PB6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,6))) -#define TSB_PB_OD_PB7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,7))) -#define TSB_PB_PUP_PB0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,0))) -#define TSB_PB_PUP_PB1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,1))) -#define TSB_PB_PUP_PB2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,2))) -#define TSB_PB_PUP_PB3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,3))) -#define TSB_PB_PUP_PB4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,4))) -#define TSB_PB_PUP_PB5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,5))) -#define TSB_PB_PUP_PB6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,6))) -#define TSB_PB_PUP_PB7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,7))) -#define TSB_PB_PDN_PB0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,0))) -#define TSB_PB_PDN_PB1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,1))) -#define TSB_PB_PDN_PB2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,2))) -#define TSB_PB_PDN_PB3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,3))) -#define TSB_PB_PDN_PB4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,4))) -#define TSB_PB_PDN_PB5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,5))) -#define TSB_PB_PDN_PB6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,6))) -#define TSB_PB_PDN_PB7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,7))) -#define TSB_PB_IE_PB1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,1))) -#define TSB_PB_IE_PB2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,2))) -#define TSB_PB_IE_PB3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,3))) -#define TSB_PB_IE_PB4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,4))) -#define TSB_PB_IE_PB5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,5))) -#define TSB_PB_IE_PB6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,6))) -#define TSB_PB_IE_PB7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,7))) - - -/* Port C */ -#define TSB_PC_DATA_PC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,0))) -#define TSB_PC_DATA_PC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,1))) -#define TSB_PC_DATA_PC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,2))) -#define TSB_PC_DATA_PC3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,3))) -#define TSB_PC_DATA_PC4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,4))) -#define TSB_PC_DATA_PC5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,5))) -#define TSB_PC_DATA_PC6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,6))) -#define TSB_PC_CR_PC0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,0))) -#define TSB_PC_CR_PC1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,1))) -#define TSB_PC_CR_PC2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,2))) -#define TSB_PC_CR_PC3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,3))) -#define TSB_PC_CR_PC4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,4))) -#define TSB_PC_CR_PC5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,5))) -#define TSB_PC_CR_PC6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,6))) -#define TSB_PC_FR1_PC0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,0))) -#define TSB_PC_FR1_PC1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,1))) -#define TSB_PC_FR1_PC2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,2))) -#define TSB_PC_FR1_PC3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,3))) -#define TSB_PC_FR1_PC4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,4))) -#define TSB_PC_FR1_PC5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,5))) -#define TSB_PC_FR1_PC6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,6))) -#define TSB_PC_FR2_PC3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR2,3))) -#define TSB_PC_FR2_PC4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR2,4))) -#define TSB_PC_FR2_PC5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR2,5))) -#define TSB_PC_FR2_PC6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR2,6))) -#define TSB_PC_FR3_PC0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,0))) -#define TSB_PC_FR3_PC1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,1))) -#define TSB_PC_FR3_PC2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,2))) -#define TSB_PC_FR3_PC3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,3))) -#define TSB_PC_FR3_PC4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,4))) -#define TSB_PC_FR3_PC5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,5))) -#define TSB_PC_FR4_PC0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR4,0))) -#define TSB_PC_FR4_PC1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR4,1))) -#define TSB_PC_FR4_PC2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR4,2))) -#define TSB_PC_FR5_PC2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR5,2))) -#define TSB_PC_OD_PC0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,0))) -#define TSB_PC_OD_PC1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,1))) -#define TSB_PC_OD_PC2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,2))) -#define TSB_PC_OD_PC3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,3))) -#define TSB_PC_OD_PC4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,4))) -#define TSB_PC_OD_PC5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,5))) -#define TSB_PC_OD_PC6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,6))) -#define TSB_PC_PUP_PC0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,0))) -#define TSB_PC_PUP_PC1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,1))) -#define TSB_PC_PUP_PC2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,2))) -#define TSB_PC_PUP_PC3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,3))) -#define TSB_PC_PUP_PC4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,4))) -#define TSB_PC_PUP_PC5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,5))) -#define TSB_PC_PUP_PC6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,6))) -#define TSB_PC_PDN_PC0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,0))) -#define TSB_PC_PDN_PC1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,1))) -#define TSB_PC_PDN_PC2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,2))) -#define TSB_PC_PDN_PC3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,3))) -#define TSB_PC_PDN_PC4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,4))) -#define TSB_PC_PDN_PC5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,5))) -#define TSB_PC_PDN_PC6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,6))) -#define TSB_PC_IE_PC0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,0))) -#define TSB_PC_IE_PC1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,1))) -#define TSB_PC_IE_PC2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,2))) -#define TSB_PC_IE_PC3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,3))) -#define TSB_PC_IE_PC4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,4))) -#define TSB_PC_IE_PC5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,5))) -#define TSB_PC_IE_PC6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,6))) - - -/* Port D */ -#define TSB_PD_DATA_PD0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,0))) -#define TSB_PD_DATA_PD1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,1))) -#define TSB_PD_DATA_PD2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,2))) -#define TSB_PD_DATA_PD3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,3))) -#define TSB_PD_DATA_PD4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,4))) -#define TSB_PD_DATA_PD5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,5))) -#define TSB_PD_CR_PD0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,0))) -#define TSB_PD_CR_PD1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,1))) -#define TSB_PD_CR_PD2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,2))) -#define TSB_PD_CR_PD3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,3))) -#define TSB_PD_CR_PD4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,4))) -#define TSB_PD_CR_PD5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,5))) -#define TSB_PD_OD_PD0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,0))) -#define TSB_PD_OD_PD1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,1))) -#define TSB_PD_OD_PD2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,2))) -#define TSB_PD_OD_PD3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,3))) -#define TSB_PD_OD_PD4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,4))) -#define TSB_PD_OD_PD5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,5))) -#define TSB_PD_PUP_PD0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,0))) -#define TSB_PD_PUP_PD1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,1))) -#define TSB_PD_PUP_PD2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,2))) -#define TSB_PD_PUP_PD3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,3))) -#define TSB_PD_PUP_PD4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,4))) -#define TSB_PD_PUP_PD5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,5))) -#define TSB_PD_PDN_PD0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,0))) -#define TSB_PD_PDN_PD1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,1))) -#define TSB_PD_PDN_PD2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,2))) -#define TSB_PD_PDN_PD3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,3))) -#define TSB_PD_PDN_PD4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,4))) -#define TSB_PD_PDN_PD5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,5))) -#define TSB_PD_IE_PD0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,0))) -#define TSB_PD_IE_PD1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,1))) -#define TSB_PD_IE_PD2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,2))) -#define TSB_PD_IE_PD3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,3))) -#define TSB_PD_IE_PD4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,4))) -#define TSB_PD_IE_PD5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,5))) - - -/* Port E */ -#define TSB_PE_DATA_PE0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,0))) -#define TSB_PE_DATA_PE1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,1))) -#define TSB_PE_DATA_PE2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,2))) -#define TSB_PE_DATA_PE3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,3))) -#define TSB_PE_DATA_PE4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,4))) -#define TSB_PE_DATA_PE5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,5))) -#define TSB_PE_DATA_PE6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,6))) -#define TSB_PE_CR_PE0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,0))) -#define TSB_PE_CR_PE1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,1))) -#define TSB_PE_CR_PE2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,2))) -#define TSB_PE_CR_PE3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,3))) -#define TSB_PE_CR_PE4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,4))) -#define TSB_PE_CR_PE5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,5))) -#define TSB_PE_CR_PE6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,6))) -#define TSB_PE_OD_PE0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,0))) -#define TSB_PE_OD_PE1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,1))) -#define TSB_PE_OD_PE2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,2))) -#define TSB_PE_OD_PE3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,3))) -#define TSB_PE_OD_PE4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,4))) -#define TSB_PE_OD_PE5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,5))) -#define TSB_PE_OD_PE6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,6))) -#define TSB_PE_PUP_PE0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,0))) -#define TSB_PE_PUP_PE1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,1))) -#define TSB_PE_PUP_PE2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,2))) -#define TSB_PE_PUP_PE3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,3))) -#define TSB_PE_PUP_PE4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,4))) -#define TSB_PE_PUP_PE5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,5))) -#define TSB_PE_PUP_PE6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,6))) -#define TSB_PE_PDN_PE0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,0))) -#define TSB_PE_PDN_PE1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,1))) -#define TSB_PE_PDN_PE2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,2))) -#define TSB_PE_PDN_PE3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,3))) -#define TSB_PE_PDN_PE4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,4))) -#define TSB_PE_PDN_PE5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,5))) -#define TSB_PE_PDN_PE6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,6))) -#define TSB_PE_IE_PE0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,0))) -#define TSB_PE_IE_PE1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,1))) -#define TSB_PE_IE_PE2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,2))) -#define TSB_PE_IE_PE3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,3))) -#define TSB_PE_IE_PE4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,4))) -#define TSB_PE_IE_PE5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,5))) -#define TSB_PE_IE_PE6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,6))) - - -/* Port F */ -#define TSB_PF_DATA_PF0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,0))) -#define TSB_PF_DATA_PF1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,1))) -#define TSB_PF_DATA_PF2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,2))) -#define TSB_PF_DATA_PF3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,3))) -#define TSB_PF_DATA_PF4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,4))) -#define TSB_PF_DATA_PF5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,5))) -#define TSB_PF_DATA_PF6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,6))) -#define TSB_PF_DATA_PF7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,7))) -#define TSB_PF_CR_PF0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,0))) -#define TSB_PF_CR_PF1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,1))) -#define TSB_PF_CR_PF2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,2))) -#define TSB_PF_CR_PF3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,3))) -#define TSB_PF_CR_PF4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,4))) -#define TSB_PF_CR_PF5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,5))) -#define TSB_PF_CR_PF6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,6))) -#define TSB_PF_CR_PF7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,7))) -#define TSB_PF_OD_PF0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,0))) -#define TSB_PF_OD_PF1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,1))) -#define TSB_PF_OD_PF2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,2))) -#define TSB_PF_OD_PF3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,3))) -#define TSB_PF_OD_PF4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,4))) -#define TSB_PF_OD_PF5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,5))) -#define TSB_PF_OD_PF6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,6))) -#define TSB_PF_OD_PF7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,7))) -#define TSB_PF_PUP_PF0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,0))) -#define TSB_PF_PUP_PF1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,1))) -#define TSB_PF_PUP_PF2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,2))) -#define TSB_PF_PUP_PF3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,3))) -#define TSB_PF_PUP_PF4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,4))) -#define TSB_PF_PUP_PF5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,5))) -#define TSB_PF_PUP_PF6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,6))) -#define TSB_PF_PUP_PF7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,7))) -#define TSB_PF_PDN_PF0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,0))) -#define TSB_PF_PDN_PF1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,1))) -#define TSB_PF_PDN_PF2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,2))) -#define TSB_PF_PDN_PF3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,3))) -#define TSB_PF_PDN_PF4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,4))) -#define TSB_PF_PDN_PF5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,5))) -#define TSB_PF_PDN_PF6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,6))) -#define TSB_PF_PDN_PF7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,7))) -#define TSB_PF_IE_PF0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,0))) -#define TSB_PF_IE_PF1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,1))) -#define TSB_PF_IE_PF2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,2))) -#define TSB_PF_IE_PF3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,3))) -#define TSB_PF_IE_PF4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,4))) -#define TSB_PF_IE_PF5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,5))) -#define TSB_PF_IE_PF6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,6))) -#define TSB_PF_IE_PF7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,7))) - - -/* Port G */ -#define TSB_PG_DATA_PG0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,0))) -#define TSB_PG_DATA_PG1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,1))) -#define TSB_PG_DATA_PG2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,2))) -#define TSB_PG_DATA_PG3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,3))) -#define TSB_PG_DATA_PG4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,4))) -#define TSB_PG_DATA_PG5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,5))) -#define TSB_PG_DATA_PG6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,6))) -#define TSB_PG_DATA_PG7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,7))) -#define TSB_PG_CR_PG0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,0))) -#define TSB_PG_CR_PG1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,1))) -#define TSB_PG_CR_PG2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,2))) -#define TSB_PG_CR_PG3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,3))) -#define TSB_PG_CR_PG4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,4))) -#define TSB_PG_CR_PG5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,5))) -#define TSB_PG_CR_PG6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,6))) -#define TSB_PG_CR_PG7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,7))) -#define TSB_PG_FR1_PG2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,2))) -#define TSB_PG_FR1_PG3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,3))) -#define TSB_PG_FR1_PG4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,4))) -#define TSB_PG_FR2_PG2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR2,2))) -#define TSB_PG_FR2_PG3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR2,3))) -#define TSB_PG_FR3_PG2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,2))) -#define TSB_PG_FR3_PG3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,3))) -#define TSB_PG_FR3_PG4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,4))) -#define TSB_PG_FR3_PG5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,5))) -#define TSB_PG_FR3_PG6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,6))) -#define TSB_PG_FR3_PG7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,7))) -#define TSB_PG_FR4_PG2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,2))) -#define TSB_PG_FR4_PG3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,3))) -#define TSB_PG_FR4_PG4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,4))) -#define TSB_PG_OD_PG0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,0))) -#define TSB_PG_OD_PG1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,1))) -#define TSB_PG_OD_PG2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,2))) -#define TSB_PG_OD_PG3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,3))) -#define TSB_PG_OD_PG4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,4))) -#define TSB_PG_OD_PG5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,5))) -#define TSB_PG_OD_PG6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,6))) -#define TSB_PG_OD_PG7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,7))) -#define TSB_PG_PUP_PG0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,0))) -#define TSB_PG_PUP_PG1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,1))) -#define TSB_PG_PUP_PG2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,2))) -#define TSB_PG_PUP_PG3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,3))) -#define TSB_PG_PUP_PG4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,4))) -#define TSB_PG_PUP_PG5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,5))) -#define TSB_PG_PUP_PG6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,6))) -#define TSB_PG_PUP_PG7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,7))) -#define TSB_PG_PDN_PG0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,0))) -#define TSB_PG_PDN_PG1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,1))) -#define TSB_PG_PDN_PG2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,2))) -#define TSB_PG_PDN_PG3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,3))) -#define TSB_PG_PDN_PG4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,4))) -#define TSB_PG_PDN_PG5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,5))) -#define TSB_PG_PDN_PG6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,6))) -#define TSB_PG_PDN_PG7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,7))) -#define TSB_PG_IE_PG0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,0))) -#define TSB_PG_IE_PG1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,1))) -#define TSB_PG_IE_PG2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,2))) -#define TSB_PG_IE_PG3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,3))) -#define TSB_PG_IE_PG4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,4))) -#define TSB_PG_IE_PG5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,5))) -#define TSB_PG_IE_PG6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,6))) -#define TSB_PG_IE_PG7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,7))) - - -/* Port H */ -#define TSB_PH_DATA_PH0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,0))) -#define TSB_PH_DATA_PH1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,1))) -#define TSB_PH_DATA_PH2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,2))) -#define TSB_PH_DATA_PH3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,3))) -#define TSB_PH_DATA_PH4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,4))) -#define TSB_PH_DATA_PH5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,5))) -#define TSB_PH_DATA_PH6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,6))) -#define TSB_PH_DATA_PH7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,7))) -#define TSB_PH_CR_PH4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,4))) -#define TSB_PH_CR_PH5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,5))) -#define TSB_PH_CR_PH6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,6))) -#define TSB_PH_CR_PH7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,7))) -#define TSB_PH_FR1_PH4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,4))) -#define TSB_PH_FR1_PH5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,5))) -#define TSB_PH_FR1_PH6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,6))) -#define TSB_PH_OD_PH4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,4))) -#define TSB_PH_OD_PH5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,5))) -#define TSB_PH_OD_PH6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,6))) -#define TSB_PH_OD_PH7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,7))) -#define TSB_PH_PUP_PG4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,4))) -#define TSB_PH_PUP_PG5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,5))) -#define TSB_PH_PUP_PG6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,6))) -#define TSB_PH_PUP_PG7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,7))) -#define TSB_PH_PDN_PH0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,0))) -#define TSB_PH_PDN_PH1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,1))) -#define TSB_PH_PDN_PH2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,2))) -#define TSB_PH_PDN_PH3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,3))) -#define TSB_PH_PDN_PH4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,4))) -#define TSB_PH_PDN_PH5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,5))) -#define TSB_PH_PDN_PH6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,6))) -#define TSB_PH_PDN_PH7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,7))) -#define TSB_PH_IE_PH0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,0))) -#define TSB_PH_IE_PH1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,1))) -#define TSB_PH_IE_PH2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,2))) -#define TSB_PH_IE_PH3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,3))) -#define TSB_PH_IE_PH4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,4))) -#define TSB_PH_IE_PH5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,5))) -#define TSB_PH_IE_PH6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,6))) -#define TSB_PH_IE_PH7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,7))) - - -/* Port J */ -#define TSB_PJ_DATA_PJ0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,0))) -#define TSB_PJ_DATA_PJ1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,1))) -#define TSB_PJ_DATA_PJ2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,2))) -#define TSB_PJ_DATA_PJ3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,3))) -#define TSB_PJ_DATA_PJ4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,4))) -#define TSB_PJ_DATA_PJ5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,5))) -#define TSB_PJ_CR_PJ0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,0))) -#define TSB_PJ_CR_PJ1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,1))) -#define TSB_PJ_CR_PJ2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,2))) -#define TSB_PJ_CR_PJ3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,3))) -#define TSB_PJ_CR_PJ4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,4))) -#define TSB_PJ_CR_PJ5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,5))) -#define TSB_PJ_FR1_PJ0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR1,0))) -#define TSB_PJ_FR1_PJ1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR1,1))) -#define TSB_PJ_FR1_PJ2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR1,2))) -#define TSB_PJ_FR1_PJ3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR1,3))) -#define TSB_PJ_FR1_PJ4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR1,4))) -#define TSB_PJ_FR2_PJ1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,1))) -#define TSB_PJ_FR2_PJ2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,2))) -#define TSB_PJ_FR2_PJ3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,3))) -#define TSB_PJ_FR2_PJ4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,4))) -#define TSB_PJ_FR3_PJ0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,0))) -#define TSB_PJ_FR3_PJ1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,1))) -#define TSB_PJ_FR3_PJ2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,2))) -#define TSB_PJ_FR3_PJ3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,3))) -#define TSB_PJ_FR3_PJ4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,4))) -#define TSB_PJ_FR3_PJ5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,5))) -#define TSB_PJ_FR4_PJ0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR4,0))) -#define TSB_PJ_FR4_PJ1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR4,1))) -#define TSB_PJ_FR4_PJ2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR4,2))) -#define TSB_PJ_FR5_PJ0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,0))) -#define TSB_PJ_FR5_PJ1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,1))) -#define TSB_PJ_FR5_PJ2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,2))) -#define TSB_PJ_FR5_PJ3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,3))) -#define TSB_PJ_FR5_PJ4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,4))) -#define TSB_PJ_FR5_PJ5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,5))) -#define TSB_PJ_OD_PJ0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,0))) -#define TSB_PJ_OD_PJ1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,1))) -#define TSB_PJ_OD_PJ2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,2))) -#define TSB_PJ_OD_PJ3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,3))) -#define TSB_PJ_OD_PJ4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,4))) -#define TSB_PJ_OD_PJ5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,5))) -#define TSB_PJ_PUP_PJ0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,0))) -#define TSB_PJ_PUP_PJ1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,1))) -#define TSB_PJ_PUP_PJ2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,2))) -#define TSB_PJ_PUP_PJ3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,3))) -#define TSB_PJ_PUP_PJ4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,4))) -#define TSB_PJ_PUP_PJ5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,5))) -#define TSB_PJ_PDN_PJ0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,0))) -#define TSB_PJ_PDN_PJ1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,1))) -#define TSB_PJ_PDN_PJ2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,2))) -#define TSB_PJ_PDN_PJ3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,3))) -#define TSB_PJ_PDN_PJ4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,4))) -#define TSB_PJ_PDN_PJ5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,5))) -#define TSB_PJ_IE_PJ0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,0))) -#define TSB_PJ_IE_PJ1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,1))) -#define TSB_PJ_IE_PJ2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,2))) -#define TSB_PJ_IE_PJ3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,3))) -#define TSB_PJ_IE_PJ4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,4))) -#define TSB_PJ_IE_PJ5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,5))) - - -/* Port K */ -#define TSB_PK_DATA_PK0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,0))) -#define TSB_PK_DATA_PK1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,1))) -#define TSB_PK_DATA_PK2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,2))) -#define TSB_PK_DATA_PK3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,3))) -#define TSB_PK_DATA_PK4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,4))) -#define TSB_PK_DATA_PK5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,5))) -#define TSB_PK_DATA_PK6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,6))) -#define TSB_PK_DATA_PK7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,7))) -#define TSB_PK_CR_PK0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,0))) -#define TSB_PK_CR_PK1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,1))) -#define TSB_PK_CR_PK2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,2))) -#define TSB_PK_CR_PK3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,3))) -#define TSB_PK_CR_PK4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,4))) -#define TSB_PK_CR_PK5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,5))) -#define TSB_PK_CR_PK6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,6))) -#define TSB_PK_CR_PK7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,7))) -#define TSB_PK_FR1_PK0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,0))) -#define TSB_PK_FR1_PK1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,1))) -#define TSB_PK_FR1_PK2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,2))) -#define TSB_PK_FR1_PK3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,3))) -#define TSB_PK_FR1_PK4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,4))) -#define TSB_PK_FR2_PK1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,1))) -#define TSB_PK_FR2_PK2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,2))) -#define TSB_PK_FR2_PK3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,3))) -#define TSB_PK_FR2_PK4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,4))) -#define TSB_PK_FR3_PK2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,2))) -#define TSB_PK_FR3_PK3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,3))) -#define TSB_PK_FR3_PK4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,4))) -#define TSB_PK_FR3_PK5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,5))) -#define TSB_PK_FR3_PK6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,6))) -#define TSB_PK_FR3_PK7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,7))) -#define TSB_PK_FR4_PK2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,2))) -#define TSB_PK_FR4_PK3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,3))) -#define TSB_PK_FR4_PK4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,4))) -#define TSB_PK_FR5_PK0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR5,0))) -#define TSB_PK_FR5_PK1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR5,1))) -#define TSB_PK_OD_PK0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,0))) -#define TSB_PK_OD_PK1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,1))) -#define TSB_PK_OD_PK2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,2))) -#define TSB_PK_OD_PK3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,3))) -#define TSB_PK_OD_PK4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,4))) -#define TSB_PK_OD_PK5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,5))) -#define TSB_PK_OD_PK6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,6))) -#define TSB_PK_OD_PK7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,7))) -#define TSB_PK_PUP_PK0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,0))) -#define TSB_PK_PUP_PK1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,1))) -#define TSB_PK_PUP_PK2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,2))) -#define TSB_PK_PUP_PK3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,3))) -#define TSB_PK_PUP_PK4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,4))) -#define TSB_PK_PUP_PK5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,5))) -#define TSB_PK_PUP_PK6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,6))) -#define TSB_PK_PUP_PK7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,7))) -#define TSB_PK_PDN_PK0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,0))) -#define TSB_PK_PDN_PK1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,1))) -#define TSB_PK_PDN_PK2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,2))) -#define TSB_PK_PDN_PK3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,3))) -#define TSB_PK_PDN_PK4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,4))) -#define TSB_PK_PDN_PK5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,5))) -#define TSB_PK_PDN_PK6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,6))) -#define TSB_PK_PDN_PK7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,7))) -#define TSB_PK_IE_PK0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,0))) -#define TSB_PK_IE_PK1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,1))) -#define TSB_PK_IE_PK2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,2))) -#define TSB_PK_IE_PK3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,3))) -#define TSB_PK_IE_PK4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,4))) -#define TSB_PK_IE_PK5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,5))) -#define TSB_PK_IE_PK6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,6))) -#define TSB_PK_IE_PK7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,7))) - - -/* Port L */ -#define TSB_PL_DATA_PL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,0))) -#define TSB_PL_DATA_PL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,1))) -#define TSB_PL_DATA_PL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,2))) -#define TSB_PL_DATA_PL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,3))) -#define TSB_PL_DATA_PL4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,4))) -#define TSB_PL_DATA_PL5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,5))) -#define TSB_PL_DATA_PL6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,6))) -#define TSB_PL_DATA_PL7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,7))) -#define TSB_PL_CR_PL0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,0))) -#define TSB_PL_CR_PL1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,1))) -#define TSB_PL_CR_PL2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,2))) -#define TSB_PL_CR_PL3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,3))) -#define TSB_PL_CR_PL4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,4))) -#define TSB_PL_CR_PL5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,5))) -#define TSB_PL_CR_PL6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,6))) -#define TSB_PL_CR_PL7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,7))) -#define TSB_PL_FR1_PL0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR1,0))) -#define TSB_PL_FR1_PL1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR1,1))) -#define TSB_PL_FR1_PL2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR1,2))) -#define TSB_PL_FR1_PL3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR1,3))) -#define TSB_PL_FR2_PL0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,0))) -#define TSB_PL_FR2_PL1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,1))) -#define TSB_PL_FR2_PL2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,2))) -#define TSB_PL_FR2_PL3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,3))) -#define TSB_PL_FR3_PL0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,0))) -#define TSB_PL_FR3_PL1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,1))) -#define TSB_PL_FR3_PL2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,2))) -#define TSB_PL_FR3_PL3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,3))) -#define TSB_PL_FR3_PL4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,4))) -#define TSB_PL_FR3_PL5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,5))) -#define TSB_PL_FR3_PL6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,6))) -#define TSB_PL_FR3_PL7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,7))) -#define TSB_PL_FR4_PL5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR4,5))) -#define TSB_PL_FR4_PL6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR4,6))) -#define TSB_PL_FR4_PL7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR4,7))) -#define TSB_PL_FR5_PL0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR5,0))) -#define TSB_PL_FR5_PL1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR5,1))) -#define TSB_PL_FR5_PL2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR5,2))) -#define TSB_PL_FR5_PL3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR5,3))) -#define TSB_PL_FR5_PL4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR5,4))) -#define TSB_PL_OD_PL0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,0))) -#define TSB_PL_OD_PL1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,1))) -#define TSB_PL_OD_PL2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,2))) -#define TSB_PL_OD_PL3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,3))) -#define TSB_PL_OD_PL4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,4))) -#define TSB_PL_OD_PL5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,5))) -#define TSB_PL_OD_PL6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,6))) -#define TSB_PL_OD_PL7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,7))) -#define TSB_PL_PUP_PL0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,0))) -#define TSB_PL_PUP_PL1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,1))) -#define TSB_PL_PUP_PL2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,2))) -#define TSB_PL_PUP_PL3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,3))) -#define TSB_PL_PUP_PL4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,4))) -#define TSB_PL_PUP_PL5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,5))) -#define TSB_PL_PUP_PL6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,6))) -#define TSB_PL_PUP_PL7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,7))) -#define TSB_PL_PDN_PL0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,0))) -#define TSB_PL_PDN_PL1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,1))) -#define TSB_PL_PDN_PL2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,2))) -#define TSB_PL_PDN_PL3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,3))) -#define TSB_PL_PDN_PL4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,4))) -#define TSB_PL_PDN_PL5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,5))) -#define TSB_PL_PDN_PL6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,6))) -#define TSB_PL_PDN_PL7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,7))) -#define TSB_PL_IE_PL0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,0))) -#define TSB_PL_IE_PL1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,1))) -#define TSB_PL_IE_PL2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,2))) -#define TSB_PL_IE_PL3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,3))) -#define TSB_PL_IE_PL4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,4))) -#define TSB_PL_IE_PL5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,5))) -#define TSB_PL_IE_PL6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,6))) -#define TSB_PL_IE_PL7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,7))) - - -/* Port M */ -#define TSB_PM_DATA_PM0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,0))) -#define TSB_PM_DATA_PM1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,1))) -#define TSB_PM_DATA_PM2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,2))) -#define TSB_PM_DATA_PM3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,3))) -#define TSB_PM_DATA_PM4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,4))) -#define TSB_PM_DATA_PM5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,5))) -#define TSB_PM_DATA_PM6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,6))) -#define TSB_PM_DATA_PM7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,7))) -#define TSB_PM_CR_PM0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,0))) -#define TSB_PM_CR_PM1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,1))) -#define TSB_PM_CR_PM2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,2))) -#define TSB_PM_CR_PM3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,3))) -#define TSB_PM_CR_PM4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,4))) -#define TSB_PM_CR_PM5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,5))) -#define TSB_PM_CR_PM6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,6))) -#define TSB_PM_CR_PM7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,7))) -#define TSB_PM_FR1_PM0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR1,0))) -#define TSB_PM_FR1_PM1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR1,1))) -#define TSB_PM_FR1_PM2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR1,2))) -#define TSB_PM_FR1_PM3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR1,3))) -#define TSB_PM_FR1_PM4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR1,4))) -#define TSB_PM_FR2_PM1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,1))) -#define TSB_PM_FR2_PM2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,2))) -#define TSB_PM_FR2_PM3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,3))) -#define TSB_PM_FR2_PM4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,4))) -#define TSB_PM_FR3_PM0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,0))) -#define TSB_PM_FR3_PM1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,1))) -#define TSB_PM_FR3_PM2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,2))) -#define TSB_PM_FR3_PM3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,3))) -#define TSB_PM_FR3_PM4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,4))) -#define TSB_PM_FR4_PM0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,0))) -#define TSB_PM_FR4_PM1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,1))) -#define TSB_PM_FR4_PM2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,2))) -#define TSB_PM_FR4_PM3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,3))) -#define TSB_PM_FR4_PM4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,4))) -#define TSB_PM_FR4_PM5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,5))) -#define TSB_PM_FR5_PM0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,0))) -#define TSB_PM_FR5_PM1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,1))) -#define TSB_PM_FR5_PM2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,2))) -#define TSB_PM_FR5_PM3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,3))) -#define TSB_PM_FR6_PM0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,0))) -#define TSB_PM_FR6_PM1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,1))) -#define TSB_PM_FR6_PM2F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,2))) -#define TSB_PM_FR6_PM3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,3))) -#define TSB_PM_FR6_PM4F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,4))) -#define TSB_PM_OD_PM0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,0))) -#define TSB_PM_OD_PM1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,1))) -#define TSB_PM_OD_PM2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,2))) -#define TSB_PM_OD_PM3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,3))) -#define TSB_PM_OD_PM4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,4))) -#define TSB_PM_OD_PM5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,5))) -#define TSB_PM_OD_PM6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,6))) -#define TSB_PM_OD_PM7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,7))) -#define TSB_PM_PUP_PM0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,0))) -#define TSB_PM_PUP_PM1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,1))) -#define TSB_PM_PUP_PM2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,2))) -#define TSB_PM_PUP_PM3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,3))) -#define TSB_PM_PUP_PM4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,4))) -#define TSB_PM_PUP_PM5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,5))) -#define TSB_PM_PUP_PM6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,6))) -#define TSB_PM_PUP_PM7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,7))) -#define TSB_PM_PDN_PM0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,0))) -#define TSB_PM_PDN_PM1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,1))) -#define TSB_PM_PDN_PM2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,2))) -#define TSB_PM_PDN_PM3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,3))) -#define TSB_PM_PDN_PM4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,4))) -#define TSB_PM_PDN_PM5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,5))) -#define TSB_PM_PDN_PM6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,6))) -#define TSB_PM_PDN_PM7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,7))) -#define TSB_PM_IE_PM0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,0))) -#define TSB_PM_IE_PM1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,1))) -#define TSB_PM_IE_PM2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,2))) -#define TSB_PM_IE_PM3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,3))) -#define TSB_PM_IE_PM4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,4))) -#define TSB_PM_IE_PM5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,5))) -#define TSB_PM_IE_PM6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,6))) -#define TSB_PM_IE_PM7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,7))) - - -/* Port N */ -#define TSB_PN_DATA_PN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,0))) -#define TSB_PN_DATA_PN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,1))) -#define TSB_PN_DATA_PN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,2))) -#define TSB_PN_DATA_PN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,3))) -#define TSB_PN_DATA_PN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,4))) -#define TSB_PN_DATA_PN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,5))) -#define TSB_PN_CR_PN0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,0))) -#define TSB_PN_CR_PN1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,1))) -#define TSB_PN_CR_PN2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,2))) -#define TSB_PN_CR_PN3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,3))) -#define TSB_PN_CR_PN4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,4))) -#define TSB_PN_CR_PN5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,5))) -#define TSB_PN_FR1_PN0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR1,0))) -#define TSB_PN_FR1_PN1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR1,1))) -#define TSB_PN_FR1_PN2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR1,2))) -#define TSB_PN_FR1_PN3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR1,3))) -#define TSB_PN_FR1_PN4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR1,4))) -#define TSB_PN_FR2_PN0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR2,0))) -#define TSB_PN_FR2_PN1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR2,1))) -#define TSB_PN_FR2_PN2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR2,2))) -#define TSB_PN_FR2_PN3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR2,3))) -#define TSB_PN_FR3_PN0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,0))) -#define TSB_PN_FR3_PN1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,1))) -#define TSB_PN_FR3_PN2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,2))) -#define TSB_PN_FR3_PN3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,3))) -#define TSB_PN_FR3_PN4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,4))) -#define TSB_PN_FR3_PN5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR3,5))) -#define TSB_PN_FR4_PN0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR4,0))) -#define TSB_PN_FR4_PN1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR4,1))) -#define TSB_PN_FR4_PN2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR4,2))) -#define TSB_PN_FR5_PN3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->FR5,3))) -#define TSB_PN_OD_PN0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,0))) -#define TSB_PN_OD_PN1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,1))) -#define TSB_PN_OD_PN2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,2))) -#define TSB_PN_OD_PN3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,3))) -#define TSB_PN_OD_PN4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,4))) -#define TSB_PN_OD_PN5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,5))) -#define TSB_PN_PUP_PN0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,0))) -#define TSB_PN_PUP_PN1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,1))) -#define TSB_PN_PUP_PN2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,2))) -#define TSB_PN_PUP_PN3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,3))) -#define TSB_PN_PUP_PN4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,4))) -#define TSB_PN_PUP_PN5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,5))) -#define TSB_PN_PDN_PN0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,0))) -#define TSB_PN_PDN_PN1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,1))) -#define TSB_PN_PDN_PN2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,2))) -#define TSB_PN_PDN_PN3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,3))) -#define TSB_PN_PDN_PN4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,4))) -#define TSB_PN_PDN_PN5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,5))) -#define TSB_PN_IE_PN0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,0))) -#define TSB_PN_IE_PN1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,1))) -#define TSB_PN_IE_PN2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,2))) -#define TSB_PN_IE_PN3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,3))) -#define TSB_PN_IE_PN4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,4))) -#define TSB_PN_IE_PN5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,5))) - - -/* Port P */ -#define TSB_PP_DATA_PP0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,0))) -#define TSB_PP_DATA_PP1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,1))) -#define TSB_PP_DATA_PP2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,2))) -#define TSB_PP_DATA_PP3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,3))) -#define TSB_PP_DATA_PP4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,4))) -#define TSB_PP_DATA_PP5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,5))) -#define TSB_PP_DATA_PP6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,6))) -#define TSB_PP_DATA_PP7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,7))) -#define TSB_PP_CR_PP0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,0))) -#define TSB_PP_CR_PP1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,1))) -#define TSB_PP_CR_PP2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,2))) -#define TSB_PP_CR_PP3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,3))) -#define TSB_PP_CR_PP4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,4))) -#define TSB_PP_CR_PP5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,5))) -#define TSB_PP_CR_PP6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,6))) -#define TSB_PP_CR_PP7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,7))) -#define TSB_PP_FR1_PP3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR1,3))) -#define TSB_PP_FR1_PP4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR1,4))) -#define TSB_PP_FR1_PP5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR1,5))) -#define TSB_PP_FR1_PP6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR1,6))) -#define TSB_PP_FR1_PP7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR1,7))) -#define TSB_PP_FR2_PP0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,0))) -#define TSB_PP_FR2_PP1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,1))) -#define TSB_PP_FR2_PP2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,2))) -#define TSB_PP_FR2_PP6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,6))) -#define TSB_PP_FR3_PP0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,0))) -#define TSB_PP_FR3_PP1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,1))) -#define TSB_PP_FR3_PP2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,2))) -#define TSB_PP_FR3_PP6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,6))) -#define TSB_PP_FR4_PP0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR4,0))) -#define TSB_PP_FR4_PP1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR4,1))) -#define TSB_PP_FR4_PP2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR4,2))) -#define TSB_PP_OD_PP0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,0))) -#define TSB_PP_OD_PP1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,1))) -#define TSB_PP_OD_PP2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,2))) -#define TSB_PP_OD_PP3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,3))) -#define TSB_PP_OD_PP4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,4))) -#define TSB_PP_OD_PP5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,5))) -#define TSB_PP_OD_PP6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,6))) -#define TSB_PP_OD_PP7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,7))) -#define TSB_PP_PUP_PP0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,0))) -#define TSB_PP_PUP_PP1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,1))) -#define TSB_PP_PUP_PP2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,2))) -#define TSB_PP_PUP_PP3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,3))) -#define TSB_PP_PUP_PP4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,4))) -#define TSB_PP_PUP_PP5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,5))) -#define TSB_PP_PUP_PP6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,6))) -#define TSB_PP_PUP_PP7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,7))) -#define TSB_PP_PDN_PP0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,0))) -#define TSB_PP_PDN_PP1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,1))) -#define TSB_PP_PDN_PP2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,2))) -#define TSB_PP_PDN_PP3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,3))) -#define TSB_PP_PDN_PP4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,4))) -#define TSB_PP_PDN_PP5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,5))) -#define TSB_PP_PDN_PP6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,6))) -#define TSB_PP_PDN_PP7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,7))) -#define TSB_PP_IE_PP0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,0))) -#define TSB_PP_IE_PP1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,1))) -#define TSB_PP_IE_PP2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,2))) -#define TSB_PP_IE_PP3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,3))) -#define TSB_PP_IE_PP4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,4))) -#define TSB_PP_IE_PP5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,5))) -#define TSB_PP_IE_PP6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,6))) -#define TSB_PP_IE_PP7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,7))) - - -/* Port R */ -#define TSB_PR_DATA_PR0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,0))) -#define TSB_PR_DATA_PR1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,1))) -#define TSB_PR_DATA_PR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,2))) -#define TSB_PR_DATA_PR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,3))) -#define TSB_PR_DATA_PR4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,4))) -#define TSB_PR_DATA_PR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,5))) -#define TSB_PR_DATA_PR6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,6))) -#define TSB_PR_DATA_PR7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,7))) -#define TSB_PR_CR_PR0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,0))) -#define TSB_PR_CR_PR1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,1))) -#define TSB_PR_CR_PR2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,2))) -#define TSB_PR_CR_PR3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,3))) -#define TSB_PR_CR_PR4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,4))) -#define TSB_PR_CR_PR5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,5))) -#define TSB_PR_CR_PR6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,6))) -#define TSB_PR_CR_PR7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,7))) -#define TSB_PR_FR3_PR0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,0))) -#define TSB_PR_FR3_PR1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,1))) -#define TSB_PR_FR3_PR2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,2))) -#define TSB_PR_FR4_PR0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR4,0))) -#define TSB_PR_FR4_PR1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR4,1))) -#define TSB_PR_FR4_PR2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR4,2))) -#define TSB_PR_OD_PR0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,0))) -#define TSB_PR_OD_PR1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,1))) -#define TSB_PR_OD_PR2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,2))) -#define TSB_PR_OD_PR3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,3))) -#define TSB_PR_OD_PR4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,4))) -#define TSB_PR_OD_PR5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,5))) -#define TSB_PR_OD_PR6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,6))) -#define TSB_PR_OD_PR7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,7))) -#define TSB_PR_PUP_PR0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,0))) -#define TSB_PR_PUP_PR1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,1))) -#define TSB_PR_PUP_PR2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,2))) -#define TSB_PR_PUP_PR3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,3))) -#define TSB_PR_PUP_PR4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,4))) -#define TSB_PR_PUP_PR5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,5))) -#define TSB_PR_PUP_PR6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,6))) -#define TSB_PR_PUP_PR7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,7))) -#define TSB_PR_PDN_PR0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,0))) -#define TSB_PR_PDN_PR1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,1))) -#define TSB_PR_PDN_PR2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,2))) -#define TSB_PR_PDN_PR3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,3))) -#define TSB_PR_PDN_PR4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,4))) -#define TSB_PR_PDN_PR5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,5))) -#define TSB_PR_PDN_PR6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,6))) -#define TSB_PR_PDN_PR7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,7))) -#define TSB_PR_IE_PR0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,0))) -#define TSB_PR_IE_PR1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,1))) -#define TSB_PR_IE_PR2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,2))) -#define TSB_PR_IE_PR3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,3))) -#define TSB_PR_IE_PR4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,4))) -#define TSB_PR_IE_PR5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,5))) -#define TSB_PR_IE_PR6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,6))) -#define TSB_PR_IE_PR7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,7))) - - -/* Port T */ -#define TSB_PT_DATA_PT0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,0))) -#define TSB_PT_DATA_PT1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,1))) -#define TSB_PT_DATA_PT2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,2))) -#define TSB_PT_DATA_PT3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,3))) -#define TSB_PT_DATA_PT4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,4))) -#define TSB_PT_DATA_PT5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,5))) -#define TSB_PT_DATA_PT6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,6))) -#define TSB_PT_DATA_PT7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,7))) -#define TSB_PT_CR_PT0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,0))) -#define TSB_PT_CR_PT1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,1))) -#define TSB_PT_CR_PT2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,2))) -#define TSB_PT_CR_PT3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,3))) -#define TSB_PT_CR_PT4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,4))) -#define TSB_PT_CR_PT5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,5))) -#define TSB_PT_CR_PT6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,6))) -#define TSB_PT_CR_PT7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,7))) -#define TSB_PT_FR1_PT0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,0))) -#define TSB_PT_FR1_PT1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,1))) -#define TSB_PT_FR1_PT2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,2))) -#define TSB_PT_FR1_PT3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,3))) -#define TSB_PT_FR1_PT4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,4))) -#define TSB_PT_FR2_PT0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR2,0))) -#define TSB_PT_FR2_PT1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR2,1))) -#define TSB_PT_FR3_PT1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,1))) -#define TSB_PT_FR3_PT2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,2))) -#define TSB_PT_FR3_PT3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,3))) -#define TSB_PT_FR3_PT4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,4))) -#define TSB_PT_FR3_PT5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,5))) -#define TSB_PT_FR3_PT6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,6))) -#define TSB_PT_FR3_PT7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,7))) -#define TSB_PT_FR4_PT5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR4,5))) -#define TSB_PT_FR4_PT6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR4,6))) -#define TSB_PT_FR4_PT7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR4,7))) -#define TSB_PT_OD_PT0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,0))) -#define TSB_PT_OD_PT1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,1))) -#define TSB_PT_OD_PT2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,2))) -#define TSB_PT_OD_PT3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,3))) -#define TSB_PT_OD_PT4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,4))) -#define TSB_PT_OD_PT5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,5))) -#define TSB_PT_OD_PT6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,6))) -#define TSB_PT_OD_PT7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,7))) -#define TSB_PT_PUP_PT0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,0))) -#define TSB_PT_PUP_PT1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,1))) -#define TSB_PT_PUP_PT2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,2))) -#define TSB_PT_PUP_PT3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,3))) -#define TSB_PT_PUP_PT4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,4))) -#define TSB_PT_PUP_PT5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,5))) -#define TSB_PT_PUP_PT6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,6))) -#define TSB_PT_PUP_PT7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,7))) -#define TSB_PT_PDN_PT0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,0))) -#define TSB_PT_PDN_PT1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,1))) -#define TSB_PT_PDN_PT2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,2))) -#define TSB_PT_PDN_PT3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,3))) -#define TSB_PT_PDN_PT4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,4))) -#define TSB_PT_PDN_PT5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,5))) -#define TSB_PT_PDN_PT6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,6))) -#define TSB_PT_PDN_PT7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,7))) -#define TSB_PT_IE_PT0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,0))) -#define TSB_PT_IE_PT1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,1))) -#define TSB_PT_IE_PT2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,2))) -#define TSB_PT_IE_PT3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,3))) -#define TSB_PT_IE_PT4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,4))) -#define TSB_PT_IE_PT5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,5))) -#define TSB_PT_IE_PT6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,6))) -#define TSB_PT_IE_PT7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,7))) - - -/* Port U */ -#define TSB_PU_DATA_PU0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,0))) -#define TSB_PU_DATA_PU1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,1))) -#define TSB_PU_DATA_PU2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,2))) -#define TSB_PU_DATA_PU3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,3))) -#define TSB_PU_DATA_PU4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,4))) -#define TSB_PU_DATA_PU5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,5))) -#define TSB_PU_CR_PU0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,0))) -#define TSB_PU_CR_PU1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,1))) -#define TSB_PU_CR_PU2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,2))) -#define TSB_PU_CR_PU3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,3))) -#define TSB_PU_CR_PU4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,4))) -#define TSB_PU_CR_PU5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,5))) -#define TSB_PU_OD_PU0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,0))) -#define TSB_PU_OD_PU1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,1))) -#define TSB_PU_OD_PU2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,2))) -#define TSB_PU_OD_PU3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,3))) -#define TSB_PU_OD_PU4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,4))) -#define TSB_PU_OD_PU5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,5))) -#define TSB_PU_PUP_PU0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,0))) -#define TSB_PU_PUP_PU1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,1))) -#define TSB_PU_PUP_PU2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,2))) -#define TSB_PU_PUP_PU3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,3))) -#define TSB_PU_PUP_PU4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,4))) -#define TSB_PU_PUP_PU5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,5))) -#define TSB_PU_PDN_PU0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,0))) -#define TSB_PU_PDN_PU1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,1))) -#define TSB_PU_PDN_PU2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,2))) -#define TSB_PU_PDN_PU3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,3))) -#define TSB_PU_PDN_PU4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,4))) -#define TSB_PU_PDN_PU5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,5))) -#define TSB_PU_IE_PU0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,0))) -#define TSB_PU_IE_PU1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,1))) -#define TSB_PU_IE_PU2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,2))) -#define TSB_PU_IE_PU3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,3))) -#define TSB_PU_IE_PU4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,4))) -#define TSB_PU_IE_PU5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,5))) - - -/* */ -#define TSB_PV_DATA_PV0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,0))) -#define TSB_PV_DATA_PV1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,1))) -#define TSB_PV_DATA_PV2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,2))) -#define TSB_PV_DATA_PV3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,3))) -#define TSB_PV_DATA_PV4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,4))) -#define TSB_PV_DATA_PV5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,5))) -#define TSB_PV_DATA_PV6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,6))) -#define TSB_PV_DATA_PV7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,7))) -#define TSB_PV_CR_PV0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,0))) -#define TSB_PV_CR_PV1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,1))) -#define TSB_PV_CR_PV2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,2))) -#define TSB_PV_CR_PV3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,3))) -#define TSB_PV_CR_PV4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,4))) -#define TSB_PV_CR_PV5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,5))) -#define TSB_PV_CR_PV6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,6))) -#define TSB_PV_CR_PV7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,7))) -#define TSB_PV_FR1_PV5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR1,5))) -#define TSB_PV_FR1_PV6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR1,6))) -#define TSB_PV_FR1_PV7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR1,7))) -#define TSB_PV_FR2_PV6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,6))) -#define TSB_PV_FR2_PV7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,7))) -#define TSB_PV_OD_PV0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,0))) -#define TSB_PV_OD_PV1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,1))) -#define TSB_PV_OD_PV2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,2))) -#define TSB_PV_OD_PV3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,3))) -#define TSB_PV_OD_PV4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,4))) -#define TSB_PV_OD_PV5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,5))) -#define TSB_PV_OD_PV6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,6))) -#define TSB_PV_OD_PV7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,7))) -#define TSB_PV_PUP_PV0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,0))) -#define TSB_PV_PUP_PV1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,1))) -#define TSB_PV_PUP_PV2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,2))) -#define TSB_PV_PUP_PV3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,3))) -#define TSB_PV_PUP_PV4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,4))) -#define TSB_PV_PUP_PV5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,5))) -#define TSB_PV_PUP_PV6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,6))) -#define TSB_PV_PUP_PV7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,7))) -#define TSB_PV_PDN_PV0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,0))) -#define TSB_PV_PDN_PV1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,1))) -#define TSB_PV_PDN_PV2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,2))) -#define TSB_PV_PDN_PV3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,3))) -#define TSB_PV_PDN_PV4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,4))) -#define TSB_PV_PDN_PV5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,5))) -#define TSB_PV_PDN_PV6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,6))) -#define TSB_PV_PDN_PV7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,7))) -#define TSB_PV_IE_PV0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,0))) -#define TSB_PV_IE_PV1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,1))) -#define TSB_PV_IE_PV2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,2))) -#define TSB_PV_IE_PV3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,3))) -#define TSB_PV_IE_PV4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,4))) -#define TSB_PV_IE_PV5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,5))) -#define TSB_PV_IE_PV6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,6))) -#define TSB_PV_IE_PV7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,7))) - - -/* */ -#define TSB_RTC_ADJCTL_AJEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RTC->ADJCTL,0))) -#define TSB_RTC_ADJSIGN_ADJSIGN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RTC->ADJSIGN,0))) - - -/* */ -#define TSB_RMC0_EN_RMCEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->EN,0))) -#define TSB_RMC0_REN_RMCREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->REN,0))) -#define TSB_RMC0_RCR2_RMCPHM (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,24))) -#define TSB_RMC0_RCR2_RMCLD (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,25))) -#define TSB_RMC0_RCR2_RMCEDIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,30))) -#define TSB_RMC0_RCR2_RMCLIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,31))) -#define TSB_RMC0_RCR4_RMCPO (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR4,7))) -#define TSB_RMC0_RSTAT_RMCRLDR (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,7))) -#define TSB_RMC0_RSTAT_RMCEDIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,12))) -#define TSB_RMC0_RSTAT_RMCDMAXIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,13))) -#define TSB_RMC0_RSTAT_RMCLOIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,14))) -#define TSB_RMC0_RSTAT_RMCRLIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,15))) -#define TSB_RMC0_FSSEL_RMCCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->FSSEL,0))) - - -/* */ -#define TSB_OFD_RST_OFDRSTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_OFD->RST,0))) -#define TSB_OFD_STAT_FRQERR (*((__I uint32_t *)BITBAND_PERI(&TSB_OFD->STAT,0))) -#define TSB_OFD_STAT_OFDBUSY (*((__I uint32_t *)BITBAND_PERI(&TSB_OFD->STAT,1))) -#define TSB_OFD_MON_OFDMON (*((__IO uint32_t *)BITBAND_PERI(&TSB_OFD->MON,0))) - - -/* */ -#define TSB_CG_OSCCR_IHOSC1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,0))) -#define TSB_CG_OSCCR_IHOSC2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,3))) -#define TSB_CG_OSCCR_OSCSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,8))) -#define TSB_CG_OSCCR_OSCF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,9))) -#define TSB_CG_OSCCR_IHOSC1F (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,16))) -#define TSB_CG_OSCCR_IHOSC2F (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,19))) -#define TSB_CG_SCOCR_SCOEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->SCOCR,0))) -#define TSB_CG_PLL0SEL_PLL0ON (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,0))) -#define TSB_CG_PLL0SEL_PLL0SEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,1))) -#define TSB_CG_PLL0SEL_PLL0ST (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,2))) -#define TSB_CG_WUPHCR_WUON (*((__O uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,0))) -#define TSB_CG_WUPHCR_WUEF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,1))) -#define TSB_CG_WUPHCR_WUCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,8))) -#define TSB_CG_WUPLCR_WULON (*((__O uint32_t *)BITBAND_PERI(&TSB_CG->WUPLCR,0))) -#define TSB_CG_WUPLCR_WULEF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->WUPLCR,1))) -#define TSB_CG_FSYSENA_IPENA00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,0))) -#define TSB_CG_FSYSENA_IPENA01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,1))) -#define TSB_CG_FSYSENA_IPENA02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,2))) -#define TSB_CG_FSYSENA_IPENA03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,3))) -#define TSB_CG_FSYSENA_IPENA04 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,4))) -#define TSB_CG_FSYSENA_IPENA05 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,5))) -#define TSB_CG_FSYSENA_IPENA06 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,6))) -#define TSB_CG_FSYSENA_IPENA07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,7))) -#define TSB_CG_FSYSENA_IPENA08 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,8))) -#define TSB_CG_FSYSENA_IPENA09 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,9))) -#define TSB_CG_FSYSENA_IPENA10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,10))) -#define TSB_CG_FSYSENA_IPENA11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,11))) -#define TSB_CG_FSYSENA_IPENA12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,12))) -#define TSB_CG_FSYSENA_IPENA13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,13))) -#define TSB_CG_FSYSENA_IPENA14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,14))) -#define TSB_CG_FSYSENA_IPENA15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,15))) -#define TSB_CG_FSYSENA_IPENA16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,16))) -#define TSB_CG_FSYSENA_IPENA17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,17))) -#define TSB_CG_FSYSENA_IPENA18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,18))) -#define TSB_CG_FSYSENA_IPENA19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,19))) -#define TSB_CG_FSYSENA_IPENA20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,20))) -#define TSB_CG_FSYSENA_IPENA21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,21))) -#define TSB_CG_FSYSENA_IPENA22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,22))) -#define TSB_CG_FSYSENA_IPENA23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,23))) -#define TSB_CG_FSYSENA_IPENA24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,24))) -#define TSB_CG_FSYSENA_IPENA25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,25))) -#define TSB_CG_FSYSENA_IPENA26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,26))) -#define TSB_CG_FSYSENA_IPENA27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,27))) -#define TSB_CG_FSYSENA_IPENA28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,28))) -#define TSB_CG_FSYSENA_IPENA29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,29))) -#define TSB_CG_FSYSENA_IPENA30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,30))) -#define TSB_CG_FSYSENA_IPENA31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,31))) -#define TSB_CG_FSYSENB_IPENB00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,0))) -#define TSB_CG_FSYSENB_IPENB01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,1))) -#define TSB_CG_FSYSENB_IPENB02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,2))) -#define TSB_CG_FSYSENB_IPENB03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,3))) -#define TSB_CG_FSYSENB_IPENB04 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,4))) -#define TSB_CG_FSYSENB_IPENB05 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,5))) -#define TSB_CG_FSYSENB_IPENB06 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,6))) -#define TSB_CG_FSYSENB_IPENB07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,7))) -#define TSB_CG_FSYSENB_IPENB08 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,8))) -#define TSB_CG_FSYSENB_IPENB09 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,9))) -#define TSB_CG_FSYSENB_IPENB10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,10))) -#define TSB_CG_FSYSENB_IPENB11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,11))) -#define TSB_CG_FSYSENB_IPENB12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,12))) -#define TSB_CG_FSYSENB_IPENB13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,13))) -#define TSB_CG_FSYSENB_IPENB14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,14))) -#define TSB_CG_FSYSENB_IPENB15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,15))) -#define TSB_CG_FSYSENB_IPENB16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,16))) -#define TSB_CG_FSYSENB_IPENB17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,17))) -#define TSB_CG_FSYSENB_IPENB18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,18))) -#define TSB_CG_FSYSENB_IPENB19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,19))) -#define TSB_CG_FSYSENB_IPENB20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,20))) -#define TSB_CG_FSYSENB_IPENB21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,21))) -#define TSB_CG_FSYSENB_IPENB22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,22))) -#define TSB_CG_FSYSENB_IPENB23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,23))) -#define TSB_CG_FSYSENB_IPENB31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENB,31))) -#define TSB_CG_FCEN_FCIPEN07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FCEN,7))) -#define TSB_CG_SPCLKEN_TRCKEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->SPCLKEN,0))) -#define TSB_CG_SPCLKEN_ADCKEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->SPCLKEN,16))) - - -/* */ -#define TSB_TRM_OSCEN_TRIMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TRM->OSCEN,0))) - - - -/* */ -#define TSB_IMN_FLGNMI_INT000FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLGNMI,0))) -#define TSB_IMN_FLGNMI_INT016FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLGNMI,16))) -#define TSB_IMN_FLG1_INT032FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,0))) -#define TSB_IMN_FLG1_INT033FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,1))) -#define TSB_IMN_FLG1_INT034FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,2))) -#define TSB_IMN_FLG1_INT035FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,3))) -#define TSB_IMN_FLG1_INT048FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,16))) -#define TSB_IMN_FLG1_INT049FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,17))) -#define TSB_IMN_FLG3_INT096FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,0))) -#define TSB_IMN_FLG3_INT097FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,1))) -#define TSB_IMN_FLG3_INT098FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,2))) -#define TSB_IMN_FLG3_INT099FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,3))) -#define TSB_IMN_FLG3_INT100FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,4))) -#define TSB_IMN_FLG3_INT101FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,5))) -#define TSB_IMN_FLG3_INT102FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,6))) -#define TSB_IMN_FLG3_INT103FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,7))) -#define TSB_IMN_FLG3_INT104FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,8))) -#define TSB_IMN_FLG3_INT105FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,9))) -#define TSB_IMN_FLG3_INT106FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,10))) -#define TSB_IMN_FLG3_INT107FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,11))) -#define TSB_IMN_FLG3_INT108FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,12))) -#define TSB_IMN_FLG3_INT109FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,13))) -#define TSB_IMN_FLG3_INT110FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,14))) -#define TSB_IMN_FLG3_INT111FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,15))) -#define TSB_IMN_FLG3_INT112FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,16))) -#define TSB_IMN_FLG3_INT113FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,17))) -#define TSB_IMN_FLG3_INT114FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,18))) -#define TSB_IMN_FLG3_INT115FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,19))) -#define TSB_IMN_FLG3_INT116FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,20))) -#define TSB_IMN_FLG3_INT117FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,21))) -#define TSB_IMN_FLG3_INT118FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,22))) -#define TSB_IMN_FLG3_INT119FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,23))) -#define TSB_IMN_FLG3_INT120FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,24))) -#define TSB_IMN_FLG3_INT121FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,25))) -#define TSB_IMN_FLG3_INT122FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,26))) -#define TSB_IMN_FLG3_INT123FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,27))) -#define TSB_IMN_FLG3_INT124FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,28))) -#define TSB_IMN_FLG3_INT125FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,29))) -#define TSB_IMN_FLG3_INT126FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,30))) -#define TSB_IMN_FLG3_INT127FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,31))) -#define TSB_IMN_FLG4_INT128FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,0))) -#define TSB_IMN_FLG4_INT129FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,1))) -#define TSB_IMN_FLG4_INT130FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,2))) -#define TSB_IMN_FLG4_INT131FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,3))) -#define TSB_IMN_FLG4_INT132FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,4))) -#define TSB_IMN_FLG4_INT133FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,5))) -#define TSB_IMN_FLG4_INT134FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,6))) -#define TSB_IMN_FLG4_INT135FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,7))) -#define TSB_IMN_FLG4_INT136FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,8))) -#define TSB_IMN_FLG4_INT137FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,9))) -#define TSB_IMN_FLG4_INT138FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,10))) -#define TSB_IMN_FLG4_INT139FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,11))) -#define TSB_IMN_FLG4_INT140FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,12))) -#define TSB_IMN_FLG4_INT141FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,13))) -#define TSB_IMN_FLG4_INT142FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,14))) -#define TSB_IMN_FLG4_INT143FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,15))) -#define TSB_IMN_FLG4_INT144FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,16))) -#define TSB_IMN_FLG4_INT145FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,17))) -#define TSB_IMN_FLG4_INT146FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,18))) -#define TSB_IMN_FLG4_INT147FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,19))) -#define TSB_IMN_FLG4_INT148FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,20))) -#define TSB_IMN_FLG4_INT149FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,21))) -#define TSB_IMN_FLG4_INT150FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,22))) -#define TSB_IMN_FLG4_INT151FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,23))) -#define TSB_IMN_FLG4_INT152FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,24))) -#define TSB_IMN_FLG4_INT153FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,25))) -#define TSB_IMN_FLG4_INT154FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,26))) -#define TSB_IMN_FLG4_INT155FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,27))) -#define TSB_IMN_FLG4_INT156FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,28))) -#define TSB_IMN_FLG4_INT157FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,29))) -#define TSB_IMN_FLG4_INT158FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,30))) -#define TSB_IMN_FLG4_INT159FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,31))) -#define TSB_IMN_FLG5_INT160FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,0))) -#define TSB_IMN_FLG5_INT161FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,1))) -#define TSB_IMN_FLG5_INT162FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,2))) -#define TSB_IMN_FLG5_INT163FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,3))) -#define TSB_IMN_FLG5_INT164FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,4))) -#define TSB_IMN_FLG5_INT165FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,5))) -#define TSB_IMN_FLG5_INT166FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,6))) -#define TSB_IMN_FLG5_INT167FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,7))) -#define TSB_IMN_FLG5_INT168FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,8))) -#define TSB_IMN_FLG5_INT169FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,9))) -#define TSB_IMN_FLG5_INT170FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,10))) -#define TSB_IMN_FLG5_INT171FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,11))) -#define TSB_IMN_FLG5_INT172FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,12))) -#define TSB_IMN_FLG5_INT173FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,13))) -#define TSB_IMN_FLG5_INT174FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,14))) -#define TSB_IMN_FLG5_INT175FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,15))) -#define TSB_IMN_FLG5_INT176FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,16))) -#define TSB_IMN_FLG5_INT177FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,17))) -#define TSB_IMN_FLG5_INT178FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,18))) -#define TSB_IMN_FLG5_INT179FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,19))) -#define TSB_IMN_FLG5_INT180FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,20))) -#define TSB_IMN_FLG5_INT181FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,21))) -#define TSB_IMN_FLG5_INT182FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,22))) -#define TSB_IMN_FLG5_INT183FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,23))) -#define TSB_IMN_FLG5_INT184FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,24))) -#define TSB_IMN_FLG5_INT185FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,25))) -#define TSB_IMN_FLG5_INT186FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,26))) -#define TSB_IMN_FLG5_INT187FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,27))) -#define TSB_IMN_FLG5_INT188FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,28))) -#define TSB_IMN_FLG5_INT189FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,29))) -#define TSB_IMN_FLG5_INT190FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,30))) - - -/* */ -#define TSB_PMD0_MDEN_PWMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDEN,0))) -#define TSB_PMD0_MDCR_PINT (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,3))) -#define TSB_PMD0_MDCR_DTYMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,4))) -#define TSB_PMD0_MDCR_SYNTMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,5))) -#define TSB_PMD0_MDCR_DCMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,6))) -#define TSB_PMD0_MDCR_DTCREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,7))) -#define TSB_PMD0_CARSTA_PWMUST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,0))) -#define TSB_PMD0_CARSTA_PWMVST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,1))) -#define TSB_PMD0_CARSTA_PWMWST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,2))) -#define TSB_PMD0_MDOUT_UPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,8))) -#define TSB_PMD0_MDOUT_VPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,9))) -#define TSB_PMD0_MDOUT_WPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,10))) -#define TSB_PMD0_MDPOT_POLL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDPOT,2))) -#define TSB_PMD0_MDPOT_POLH (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDPOT,3))) -#define TSB_PMD0_EMGCR_EMGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,0))) -#define TSB_PMD0_EMGCR_EMGRS (*((__O uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,1))) -#define TSB_PMD0_EMGCR_EMGISEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,2))) -#define TSB_PMD0_EMGCR_INHEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,5))) -#define TSB_PMD0_EMGCR_EMGIPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,7))) -#define TSB_PMD0_EMGCR_CPAIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,13))) -#define TSB_PMD0_EMGSTA_EMGST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGSTA,0))) -#define TSB_PMD0_EMGSTA_EMGI (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGSTA,1))) -#define TSB_PMD0_OVVCR_OVVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,0))) -#define TSB_PMD0_OVVCR_OVVRS (*((__O uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,1))) -#define TSB_PMD0_OVVCR_OVVISEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,2))) -#define TSB_PMD0_OVVCR_ADIN0EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,5))) -#define TSB_PMD0_OVVCR_ADIN1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,6))) -#define TSB_PMD0_OVVCR_OVVIPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,7))) -#define TSB_PMD0_OVVCR_OVVRSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,15))) -#define TSB_PMD0_OVVSTA_OVVST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVSTA,0))) -#define TSB_PMD0_OVVSTA_OVVI (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVSTA,1))) -#define TSB_PMD0_TRGCR_TRG0BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,3))) -#define TSB_PMD0_TRGCR_TRG1BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,7))) -#define TSB_PMD0_TRGCR_TRG2BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,11))) -#define TSB_PMD0_TRGCR_TRG3BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,15))) -#define TSB_PMD0_TRGCR_CARSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,16))) -#define TSB_PMD0_TRGMD_EMGTGE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGMD,0))) -#define TSB_PMD0_TRGMD_TRGOUT (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGMD,1))) -#define TSB_PMD0_DBGOUTCR_DBGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,0))) -#define TSB_PMD0_DBGOUTCR_IADAEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,3))) -#define TSB_PMD0_DBGOUTCR_IADBEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,4))) -#define TSB_PMD0_DBGOUTCR_IPMDEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,8))) -#define TSB_PMD0_DBGOUTCR_IEMGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,9))) -#define TSB_PMD0_DBGOUTCR_IOVVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,10))) -#define TSB_PMD0_DBGOUTCR_IENCEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,12))) -#define TSB_PMD0_DBGOUTCR_TRG0EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,16))) -#define TSB_PMD0_DBGOUTCR_TRG1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,17))) -#define TSB_PMD0_DBGOUTCR_TRG2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,18))) -#define TSB_PMD0_DBGOUTCR_TRG3EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,19))) -#define TSB_PMD0_DBGOUTCR_TRG4EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,20))) -#define TSB_PMD0_DBGOUTCR_TRG5EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,21))) -#define TSB_PMD0_DBGOUTCR_INIFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->DBGOUTCR,31))) - - -/* Encoder Input (ENC) */ -#define TSB_EN0_TNCR_ENRUN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,6))) -#define TSB_EN0_TNCR_ZEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,7))) -#define TSB_EN0_TNCR_ENCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,10))) -#define TSB_EN0_TNCR_SFTCAP (*((__O uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,11))) -#define TSB_EN0_TNCR_TRGCAPMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,12))) -#define TSB_EN0_TNCR_P3EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,16))) -#define TSB_EN0_TNCR_SDTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,21))) -#define TSB_EN0_TNCR_MCMPMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,24))) -#define TSB_EN0_TNCR_TOVMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,25))) -#define TSB_EN0_TNCR_CMPSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->TNCR,28))) -#define TSB_EN0_STS_INERR (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,0))) -#define TSB_EN0_STS_PDERR (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,1))) -#define TSB_EN0_STS_SKPDT (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,2))) -#define TSB_EN0_STS_ZDET (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,12))) -#define TSB_EN0_STS_UD (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,13))) -#define TSB_EN0_STS_REVERR (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->STS,14))) -#define TSB_EN0_INPCR_SYNCSPLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INPCR,0))) -#define TSB_EN0_INPCR_SYNCSPLND (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INPCR,1))) -#define TSB_EN0_INPCR_SYNCNCZEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INPCR,2))) -#define TSB_EN0_INPCR_PDSTT (*((__O uint32_t *)BITBAND_PERI(&TSB_EN0->INPCR,6))) -#define TSB_EN0_INPCR_PDSTP (*((__O uint32_t *)BITBAND_PERI(&TSB_EN0->INPCR,7))) -#define TSB_EN0_INPMON_SPLMONA (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,0))) -#define TSB_EN0_INPMON_SPLMONB (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,1))) -#define TSB_EN0_INPMON_SPLMONZ (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,2))) -#define TSB_EN0_INPMON_DETMONA (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,4))) -#define TSB_EN0_INPMON_DETMONB (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,5))) -#define TSB_EN0_INPMON_DETMONZ (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INPMON,6))) -#define TSB_EN0_INTCR_TPLSIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,0))) -#define TSB_EN0_INTCR_CAPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,1))) -#define TSB_EN0_INTCR_ERRIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,2))) -#define TSB_EN0_INTCR_CMPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,3))) -#define TSB_EN0_INTCR_RLDIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,4))) -#define TSB_EN0_INTCR_MCMPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_EN0->INTCR,5))) -#define TSB_EN0_INTF_TPLSF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,0))) -#define TSB_EN0_INTF_CAPF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,1))) -#define TSB_EN0_INTF_ERRF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,2))) -#define TSB_EN0_INTF_INTCPF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,3))) -#define TSB_EN0_INTF_RLDCPF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,4))) -#define TSB_EN0_INTF_MCMPF (*((__I uint32_t *)BITBAND_PERI(&TSB_EN0->INTF,5))) - -/** @} */ /* End of group Device_Peripheral_registers */ - -#ifdef __cplusplus -} -#endif - -#endif /* __TMPM3HQ_H__ */ - -/** @} */ /* End of group TMPM3HQ */ -/** @} */ /* End of group TOSHIBA_TXZ_MICROCONTROLLER */ diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/startup_TMPM3HQ.S b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/startup_TMPM3HQ.S deleted file mode 100644 index da09c62e25a..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/startup_TMPM3HQ.S +++ /dev/null @@ -1,614 +0,0 @@ -;/** -; ******************************************************************************* -; * @file startup_TMPM3HQ.s -; * @brief CMSIS Cortex-M3 Core Device Startup File for the -; * TOSHIBA 'TMPM3HQ' Device Series -; * @version V1.0.0.0 -; * $Date:: 2017-12-08 #$ -; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -; * -; * DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LICENSE AGREEMENT. -; * -; * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved -; ******************************************************************************* -; */ - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - -__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD INT00_IRQHandler ; 0: Interrupt Pin 00 - DCD INT01_IRQHandler ; 1: Interrupt Pin 01 - DCD INT02_IRQHandler ; 2: Interrupt Pin 02 - DCD INT03_IRQHandler ; 3: Interrupt Pin 03 - DCD INT04_IRQHandler ; 4: Interrupt Pin 04 - DCD INT05_IRQHandler ; 5: Interrupt Pin 05 - DCD INT06_IRQHandler ; 6: Interrupt Pin 06 - DCD INT07_IRQHandler ; 7: Interrupt Pin 07 - DCD INT08_IRQHandler ; 8: Interrupt Pin 08 - DCD INT09_IRQHandler ; 9: Interrupt Pin 09 - DCD INT10_IRQHandler ; 10: Interrupt Pin 10 - DCD INT11_IRQHandler ; 11: Interrupt Pin 11 - DCD INT12_IRQHandler ; 12: Interrupt Pin 12 - DCD INT13_IRQHandler ; 13: Interrupt Pin 13 - DCD INT14_IRQHandler ; 14: Interrupt Pin 14 - DCD INT15_IRQHandler ; 15: Interrupt Pin 15 - DCD INT16_IRQHandler ; 16: Interrupt Pin 16 - DCD INT17_18_IRQHandler ; 17: Interrupt Pin 17_18 - DCD INT19_22_IRQHandler ; 18: Interrupt Pin 19_22 - DCD INT23_26_IRQHandler ; 19: Interrupt Pin 23_26 - DCD INT27_28_IRQHandler ; 20: Interrupt Pin 27_28 - DCD INT29_IRQHandler ; 21: Interrupt Pin 29 - DCD INT30_31_IRQHandler ; 22: Interrupt Pin 30_31 - DCD INTEMG0_IRQHandler ; 23: PMD0 EMG interrupt - DCD INTOVV0_IRQHandler ; 24: PMD0 OVV interrupt - DCD INTPMD0_IRQHandler ; 25: PMD0 interrupt - DCD INTENC00_IRQHandler ; 26: Encoder 0 interrupt 0 - DCD INTENC01_IRQHandler ; 27: Encoder 0 interrupt 1 - DCD INTADAPDA_IRQHandler ; 28: ADC conversion triggered by PMD is finished A - DCD INTADAPDB_IRQHandler ; 29: ADC conversion triggered by PMD is finished B - DCD INTADACP0_IRQHandler ; 30: ADC conversion monitoring function interrupt 0 - DCD INTADACP1_IRQHandler ; 31: ADC conversion monitoring function interrupt 1 - DCD INTADATRG_IRQHandler ; 32: ADC conversion triggered by General purpose is finished - DCD INTADASGL_IRQHandler ; 33: ADC conversion triggered by Single program is finished - DCD INTADACNT_IRQHandler ; 34: ADC conversion triggered by Continuity program is finished - DCD INTT0RX_IRQHandler ; 35: TSPI/SIO reception (channel 0) - DCD INTT0TX_IRQHandler ; 36: TSPI/SIO transmit (channel 0) - DCD INTT0ERR_IRQHandler ; 37: TSPI/SIO error (channel 0) - DCD INTT1RX_IRQHandler ; 38: TSPI/SIO reception (channel 1) - DCD INTT1TX_IRQHandler ; 39: TSPI/SIO transmit (channel 1) - DCD INTT1ERR_IRQHandler ; 40: TSPI/SIO error (channel 1) - DCD INTT2RX_IRQHandler ; 41: TSPI/SIO reception (channel 2) - DCD INTT2TX_IRQHandler ; 42: TSPI/SIO transmit (channel 2) - DCD INTT2ERR_IRQHandler ; 43: TSPI/SIO error (channel 2) - DCD INTT3RX_IRQHandler ; 44: TSPI/SIO reception (channel 3) - DCD INTT3TX_IRQHandler ; 45: TSPI/SIO transmit (channel 3) - DCD INTT3ERR_IRQHandler ; 46: TSPI/SIO error (channel 3) - DCD INTT4RX_IRQHandler ; 47: TSPI/SIO reception (channel 4) - DCD INTT4TX_IRQHandler ; 48: TSPI/SIO transmit (channel 4) - DCD INTT4ERR_IRQHandler ; 49: TSPI/SIO error (channel 4) - DCD INTI2CWUP_IRQHandler ; 50: Serial bus interface (WakeUp) interrupt (channel 0) - DCD INTI2C0_IRQHandler ; 51: I2C0 transmission and reception interrupt - DCD INTI2C0AL_IRQHandler ; 52: I2C0 arbitration lost interrupt - DCD INTI2C0BF_IRQHandler ; 53: I2C0 bus free interrupt - DCD INTI2C0NA_IRQHandler ; 54: I2C0 no ack interrupt - DCD INTI2C1_IRQHandler ; 55: I2C1 transmission and reception interrupt - DCD INTI2C1AL_IRQHandler ; 56: I2C1 arbitration lost interrupt - DCD INTI2C1BF_IRQHandler ; 57: I2C1 bus free interrupt - DCD INTI2C1NA_IRQHandler ; 58: I2C1 no ack interrupt - DCD INTI2C2_IRQHandler ; 59: I2C2 transmission and reception interrupt - DCD INTI2C2AL_IRQHandler ; 60: I2C2 arbitration lost interrupt - DCD INTI2C2BF_IRQHandler ; 61: I2C2 bus free interrupt - DCD INTI2C2NA_IRQHandler ; 62: I2C2 no ack interrupt - DCD INTI2C3_IRQHandler ; 63: I2C3 transmission and reception interrupt - DCD INTI2C3AL_IRQHandler ; 64: I2C3 arbitration lost interrupt - DCD INTI2C3BF_IRQHandler ; 65: I2C3 bus free interrupt - DCD INTI2C3NA_IRQHandler ; 66: I2C3 no ack interrupt - DCD INTUART0RX_IRQHandler ; 67: UART reception (channel 0) - DCD INTUART0TX_IRQHandler ; 68: UART transmit (channel 0) - DCD INTUART0ERR_IRQHandler ; 69: UART error (channel 0) - DCD INTUART1RX_IRQHandler ; 70: UART reception (channel 1) - DCD INTUART1TX_IRQHandler ; 71: UART transmit (channel 1) - DCD INTUART1ERR_IRQHandler ; 72: UART error (channel 1) - DCD INTUART2RX_IRQHandler ; 73: UART reception (channel 2) - DCD INTUART2TX_IRQHandler ; 74: UART transmit (channel 2) - DCD INTUART2ERR_IRQHandler ; 75: UART error (channel 2) - DCD INTUART3RX_IRQHandler ; 76: UART reception (channel 3) - DCD INTUART3TX_IRQHandler ; 77: UART transmit (channel 3) - DCD INTUART3ERR_IRQHandler ; 78: UART error (channel 3) - DCD INTUART4RX_IRQHandler ; 79: UART reception (channel 4) - DCD INTUART4TX_IRQHandler ; 80: UART transmit (channel 4) - DCD INTUART4ERR_IRQHandler ; 81: UART error (channel 4) - DCD INTUART5RX_IRQHandler ; 82: UART reception (channel 5) - DCD INTUART5TX_IRQHandler ; 83: UART transmit (channel 5) - DCD INTUART5ERR_IRQHandler ; 84: UART error (channel 5) - DCD INTT32A00A_IRQHandler ; 85: 32bit T32A00A compare match detection 0 / Over flow / under flow - DCD INTT32A00ACAP0_IRQHandler ; 86: 32bit T32A00A input capture 0 - DCD INTT32A00ACAP1_IRQHandler ; 87: 32bit T32A00A input capture 1 - DCD INTT32A00B_IRQHandler ; 88: 32bit T32A00B compare match detection 0 / Over flow / under flow - DCD INTT32A00BCAP0_IRQHandler ; 89: 32bit T32A00B input capture 0 - DCD INTT32A00BCAP1_IRQHandler ; 90: 32bit T32A00B input capture 1 - DCD INTT32A00C_IRQHandler ; 91: 32bit T32A00C compare match detection 0 / Over flow / under flow - DCD INTT32A00CCAP0_IRQHandler ; 92: 32bit T32A00C input capture 0 - DCD INTT32A00CCAP1_IRQHandler ; 93: 32bit T32A00C input capture 1 - DCD INTT32A01A_IRQHandler ; 94: 32bit T32A01A compare match detection 0 / Over flow / under flow - DCD INTT32A01ACAP0_IRQHandler ; 95: 32bit T32A01A input capture 0 - DCD INTT32A01ACAP1_IRQHandler ; 96: 32bit T32A01A input capture 1 - DCD INTT32A01B_IRQHandler ; 97: 32bit T32A01B compare match detection 0 / Over flow / under flow - DCD INTT32A01BCAP0_IRQHandler ; 98: 32bit T32A01B input capture 0 - DCD INTT32A01BCAP1_IRQHandler ; 99: 32bit T32A01B input capture 1 - DCD INTT32A01C_IRQHandler ; 100: 32bit T32A01C compare match detection 0 / Over flow / under flow - DCD INTT32A01CCAP0_IRQHandler ; 101: 32bit T32A01C input capture 0 - DCD INTT32A01CCAP1_IRQHandler ; 102: 32bit T32A01C input capture 1 - DCD INTT32A02A_IRQHandler ; 103: 32bit T32A02A compare match detection 0 / Over flow / under flow - DCD INTT32A02ACAP0_IRQHandler ; 104: 32bit T32A02A input capture 0 - DCD INTT32A02ACAP1_IRQHandler ; 105: 32bit T32A02A input capture 1 - DCD INTT32A02B_IRQHandler ; 106: 32bit T32A02B compare match detection 0 / Over flow / under flow - DCD INTT32A02BCAP0_IRQHandler ; 107: 32bit T32A02B input capture 0 - DCD INTT32A02BCAP1_IRQHandler ; 108: 32bit T32A02B input capture 1 - DCD INTT32A02C_IRQHandler ; 109: 32bit T32A02C compare match detection 0 / Over flow / under flow - DCD INTT32A02CCAP0_IRQHandler ; 110: 32bit T32A02C input capture 0 - DCD INTT32A02CCAP1_IRQHandler ; 111: 32bit T32A02C input capture 1 - DCD INTT32A03A_IRQHandler ; 112: 32bit T32A03A compare match detection 0 / Over flow / under flow - DCD INTT32A03ACAP0_IRQHandler ; 113: 32bit T32A03A input capture 0 - DCD INTT32A03ACAP1_IRQHandler ; 114: 32bit T32A03A input capture 1 - DCD INTT32A03B_IRQHandler ; 115: 32bit T32A03B compare match detection 0 / Over flow / under flow - DCD INTT32A03BCAP0_IRQHandler ; 116: 32bit T32A03B input capture 0 - DCD INTT32A03BCAP1_IRQHandler ; 117: 32bit T32A03B input capture 1 - DCD INTT32A03C_IRQHandler ; 118: 32bit T32A03C compare match detection 0 / Over flow / under flow - DCD INTT32A03CCAP0_IRQHandler ; 119: 32bit T32A03C input capture 0 - DCD INTT32A03CCAP1_IRQHandler ; 120: 32bit T32A03C input capture 1 - DCD INTT32A04A_IRQHandler ; 121: 32bit T32A04A compare match detection 0 / Over flow / under flow - DCD INTT32A04ACAP0_IRQHandler ; 122: 32bit T32A04A input capture 0 - DCD INTT32A04ACAP1_IRQHandler ; 123: 32bit T32A04A input capture 1 - DCD INTT32A04B_IRQHandler ; 124: 32bit T32A04B compare match detection 0 / Over flow / under flow - DCD INTT32A04BCAP0_IRQHandler ; 125: 32bit T32A04B input capture 0 - DCD INTT32A04BCAP1_IRQHandler ; 126: 32bit T32A04B input capture 1 - DCD INTT32A04C_IRQHandler ; 127: 32bit T32A04C compare match detection 0 / Over flow / under flow - DCD INTT32A04CCAP0_IRQHandler ; 128: 32bit T32A04C input capture 0 - DCD INTT32A04CCAP1_IRQHandler ; 129: 32bit T32A04C input capture 1 - DCD INTT32A05A_IRQHandler ; 130: 32bit T32A05A compare match detection 0 / Over flow / under flow - DCD INTT32A05ACAP0_IRQHandler ; 131: 32bit T32A05A input capture 0 - DCD INTT32A05ACAP1_IRQHandler ; 132: 32bit T32A05A input capture 1 - DCD INTT32A05B_IRQHandler ; 133: 32bit T32A05B compare match detection 0 / Over flow / under flow - DCD INTT32A05BCAP0_IRQHandler ; 134: 32bit T32A05B input capture 0 - DCD INTT32A05BCAP1_IRQHandler ; 135: 32bit T32A05B input capture 1 - DCD INTT32A05C_IRQHandler ; 136: 32bit T32A05C compare match detection 0 / Over flow / under flow - DCD INTT32A05CCAP0_IRQHandler ; 137: 32bit T32A05C input capture 0 - DCD INTT32A05CCAP1_IRQHandler ; 138: 32bit T32A05C input capture 1 - DCD INTT32A06A_IRQHandler ; 139: 32bit T32A06A compare match detection 0 / Over flow / under flow - DCD INTT32A06ACAP0_IRQHandler ; 140: 32bit T32A06A input capture 0 - DCD INTT32A06ACAP1_IRQHandler ; 141: 32bit T32A06A input capture 1 - DCD INTT32A06B_IRQHandler ; 142: 32bit T32A06B compare match detection 0 / Over flow / under flow - DCD INTT32A06BCAP0_IRQHandler ; 143: 32bit T32A06B input capture 0 - DCD INTT32A06BCAP1_IRQHandler ; 144: 32bit T32A06B input capture 1 - DCD INTT32A06C_IRQHandler ; 145: 32bit T32A06C compare match detection 0 / Over flow / under flow - DCD INTT32A06CCAP0_IRQHandler ; 146: 32bit T32A06C input capture 0 - DCD INTT32A06CCAP1_IRQHandler ; 147: 32bit T32A06C input capture 1 - DCD INTT32A07A_IRQHandler ; 148: 32bit T32A07A compare match detection 0 / Over flow / under flow - DCD INTT32A07ACAP0_IRQHandler ; 149: 32bit T32A07A input capture 0 - DCD INTT32A07ACAP1_IRQHandler ; 150: 32bit T32A07A input capture 1 - DCD INTT32A07B_IRQHandler ; 151: 32bit T32A07B compare match detection 0 / Over flow / under flow - DCD INTT32A07BCAP0_IRQHandler ; 152: 32bit T32A07B input capture 0 - DCD INTT32A07BCAP1_IRQHandler ; 153: 32bit T32A07B input capture 1 - DCD INTT32A07C_IRQHandler ; 154: 32bit T32A07C compare match detection 0 / Over flow / under flow - DCD INTT32A07CCAP0_IRQHandler ; 155: 32bit T32A07C input capture 0 - DCD INTT32A07CCAP1_IRQHandler ; 156: 32bit T32A07C input capture 1 - DCD INTPARI_IRQHandler ; 157: RAM parity interrupt - DCD INTDMAATC_IRQHandler ; 158: DMAA end of transfer - DCD INTDMAAERR_IRQHandler ; 159: DMAA transfer error - DCD INTDMABTC_IRQHandler ; 160: DMAB end of transfer - DCD INTDMABERR_IRQHandler ; 161: DMAB transfer error - DCD INTRTC_IRQHandler ; 162: Real time clock interrupt - DCD INTRMC0_IRQHandler ; 163: Remote control reception interrupt - DCD INTFLCRDY_IRQHandler ; 164: Code FLASH Ready interrupt - DCD INTFLDRDY_IRQHandler ; 165: Data FLASH Ready interrupt - - - - AREA |.text|, CODE, READONLY - - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT INT00_IRQHandler [WEAK] - EXPORT INT01_IRQHandler [WEAK] - EXPORT INT02_IRQHandler [WEAK] - EXPORT INT03_IRQHandler [WEAK] - EXPORT INT04_IRQHandler [WEAK] - EXPORT INT05_IRQHandler [WEAK] - EXPORT INT06_IRQHandler [WEAK] - EXPORT INT07_IRQHandler [WEAK] - EXPORT INT08_IRQHandler [WEAK] - EXPORT INT09_IRQHandler [WEAK] - EXPORT INT10_IRQHandler [WEAK] - EXPORT INT11_IRQHandler [WEAK] - EXPORT INT12_IRQHandler [WEAK] - EXPORT INT13_IRQHandler [WEAK] - EXPORT INT14_IRQHandler [WEAK] - EXPORT INT15_IRQHandler [WEAK] - EXPORT INT16_IRQHandler [WEAK] - EXPORT INT17_18_IRQHandler [WEAK] - EXPORT INT19_22_IRQHandler [WEAK] - EXPORT INT23_26_IRQHandler [WEAK] - EXPORT INT27_28_IRQHandler [WEAK] - EXPORT INT29_IRQHandler [WEAK] - EXPORT INT30_31_IRQHandler [WEAK] - EXPORT INTEMG0_IRQHandler [WEAK] - EXPORT INTOVV0_IRQHandler [WEAK] - EXPORT INTPMD0_IRQHandler [WEAK] - EXPORT INTENC00_IRQHandler [WEAK] - EXPORT INTENC01_IRQHandler [WEAK] - EXPORT INTADAPDA_IRQHandler [WEAK] - EXPORT INTADAPDB_IRQHandler [WEAK] - EXPORT INTADACP0_IRQHandler [WEAK] - EXPORT INTADACP1_IRQHandler [WEAK] - EXPORT INTADATRG_IRQHandler [WEAK] - EXPORT INTADASGL_IRQHandler [WEAK] - EXPORT INTADACNT_IRQHandler [WEAK] - EXPORT INTT0RX_IRQHandler [WEAK] - EXPORT INTT0TX_IRQHandler [WEAK] - EXPORT INTT0ERR_IRQHandler [WEAK] - EXPORT INTT1RX_IRQHandler [WEAK] - EXPORT INTT1TX_IRQHandler [WEAK] - EXPORT INTT1ERR_IRQHandler [WEAK] - EXPORT INTT2RX_IRQHandler [WEAK] - EXPORT INTT2TX_IRQHandler [WEAK] - EXPORT INTT2ERR_IRQHandler [WEAK] - EXPORT INTT3RX_IRQHandler [WEAK] - EXPORT INTT3TX_IRQHandler [WEAK] - EXPORT INTT3ERR_IRQHandler [WEAK] - EXPORT INTT4RX_IRQHandler [WEAK] - EXPORT INTT4TX_IRQHandler [WEAK] - EXPORT INTT4ERR_IRQHandler [WEAK] - EXPORT INTI2CWUP_IRQHandler [WEAK] - EXPORT INTI2C0_IRQHandler [WEAK] - EXPORT INTI2C0AL_IRQHandler [WEAK] - EXPORT INTI2C0BF_IRQHandler [WEAK] - EXPORT INTI2C0NA_IRQHandler [WEAK] - EXPORT INTI2C1_IRQHandler [WEAK] - EXPORT INTI2C1AL_IRQHandler [WEAK] - EXPORT INTI2C1BF_IRQHandler [WEAK] - EXPORT INTI2C1NA_IRQHandler [WEAK] - EXPORT INTI2C2_IRQHandler [WEAK] - EXPORT INTI2C2AL_IRQHandler [WEAK] - EXPORT INTI2C2BF_IRQHandler [WEAK] - EXPORT INTI2C2NA_IRQHandler [WEAK] - EXPORT INTI2C3_IRQHandler [WEAK] - EXPORT INTI2C3AL_IRQHandler [WEAK] - EXPORT INTI2C3BF_IRQHandler [WEAK] - EXPORT INTI2C3NA_IRQHandler [WEAK] - EXPORT INTUART0RX_IRQHandler [WEAK] - EXPORT INTUART0TX_IRQHandler [WEAK] - EXPORT INTUART0ERR_IRQHandler [WEAK] - EXPORT INTUART1RX_IRQHandler [WEAK] - EXPORT INTUART1TX_IRQHandler [WEAK] - EXPORT INTUART1ERR_IRQHandler [WEAK] - EXPORT INTUART2RX_IRQHandler [WEAK] - EXPORT INTUART2TX_IRQHandler [WEAK] - EXPORT INTUART2ERR_IRQHandler [WEAK] - EXPORT INTUART3RX_IRQHandler [WEAK] - EXPORT INTUART3TX_IRQHandler [WEAK] - EXPORT INTUART3ERR_IRQHandler [WEAK] - EXPORT INTUART4RX_IRQHandler [WEAK] - EXPORT INTUART4TX_IRQHandler [WEAK] - EXPORT INTUART4ERR_IRQHandler [WEAK] - EXPORT INTUART5RX_IRQHandler [WEAK] - EXPORT INTUART5TX_IRQHandler [WEAK] - EXPORT INTUART5ERR_IRQHandler [WEAK] - EXPORT INTT32A00A_IRQHandler [WEAK] - EXPORT INTT32A00ACAP0_IRQHandler [WEAK] - EXPORT INTT32A00ACAP1_IRQHandler [WEAK] - EXPORT INTT32A00B_IRQHandler [WEAK] - EXPORT INTT32A00BCAP0_IRQHandler [WEAK] - EXPORT INTT32A00BCAP1_IRQHandler [WEAK] - EXPORT INTT32A00C_IRQHandler [WEAK] - EXPORT INTT32A00CCAP0_IRQHandler [WEAK] - EXPORT INTT32A00CCAP1_IRQHandler [WEAK] - EXPORT INTT32A01A_IRQHandler [WEAK] - EXPORT INTT32A01ACAP0_IRQHandler [WEAK] - EXPORT INTT32A01ACAP1_IRQHandler [WEAK] - EXPORT INTT32A01B_IRQHandler [WEAK] - EXPORT INTT32A01BCAP0_IRQHandler [WEAK] - EXPORT INTT32A01BCAP1_IRQHandler [WEAK] - EXPORT INTT32A01C_IRQHandler [WEAK] - EXPORT INTT32A01CCAP0_IRQHandler [WEAK] - EXPORT INTT32A01CCAP1_IRQHandler [WEAK] - EXPORT INTT32A02A_IRQHandler [WEAK] - EXPORT INTT32A02ACAP0_IRQHandler [WEAK] - EXPORT INTT32A02ACAP1_IRQHandler [WEAK] - EXPORT INTT32A02B_IRQHandler [WEAK] - EXPORT INTT32A02BCAP0_IRQHandler [WEAK] - EXPORT INTT32A02BCAP1_IRQHandler [WEAK] - EXPORT INTT32A02C_IRQHandler [WEAK] - EXPORT INTT32A02CCAP0_IRQHandler [WEAK] - EXPORT INTT32A02CCAP1_IRQHandler [WEAK] - EXPORT INTT32A03A_IRQHandler [WEAK] - EXPORT INTT32A03ACAP0_IRQHandler [WEAK] - EXPORT INTT32A03ACAP1_IRQHandler [WEAK] - EXPORT INTT32A03B_IRQHandler [WEAK] - EXPORT INTT32A03BCAP0_IRQHandler [WEAK] - EXPORT INTT32A03BCAP1_IRQHandler [WEAK] - EXPORT INTT32A03C_IRQHandler [WEAK] - EXPORT INTT32A03CCAP0_IRQHandler [WEAK] - EXPORT INTT32A03CCAP1_IRQHandler [WEAK] - EXPORT INTT32A04A_IRQHandler [WEAK] - EXPORT INTT32A04ACAP0_IRQHandler [WEAK] - EXPORT INTT32A04ACAP1_IRQHandler [WEAK] - EXPORT INTT32A04B_IRQHandler [WEAK] - EXPORT INTT32A04BCAP0_IRQHandler [WEAK] - EXPORT INTT32A04BCAP1_IRQHandler [WEAK] - EXPORT INTT32A04C_IRQHandler [WEAK] - EXPORT INTT32A04CCAP0_IRQHandler [WEAK] - EXPORT INTT32A04CCAP1_IRQHandler [WEAK] - EXPORT INTT32A05A_IRQHandler [WEAK] - EXPORT INTT32A05ACAP0_IRQHandler [WEAK] - EXPORT INTT32A05ACAP1_IRQHandler [WEAK] - EXPORT INTT32A05B_IRQHandler [WEAK] - EXPORT INTT32A05BCAP0_IRQHandler [WEAK] - EXPORT INTT32A05BCAP1_IRQHandler [WEAK] - EXPORT INTT32A05C_IRQHandler [WEAK] - EXPORT INTT32A05CCAP0_IRQHandler [WEAK] - EXPORT INTT32A05CCAP1_IRQHandler [WEAK] - EXPORT INTT32A06A_IRQHandler [WEAK] - EXPORT INTT32A06ACAP0_IRQHandler [WEAK] - EXPORT INTT32A06ACAP1_IRQHandler [WEAK] - EXPORT INTT32A06B_IRQHandler [WEAK] - EXPORT INTT32A06BCAP0_IRQHandler [WEAK] - EXPORT INTT32A06BCAP1_IRQHandler [WEAK] - EXPORT INTT32A06C_IRQHandler [WEAK] - EXPORT INTT32A06CCAP0_IRQHandler [WEAK] - EXPORT INTT32A06CCAP1_IRQHandler [WEAK] - EXPORT INTT32A07A_IRQHandler [WEAK] - EXPORT INTT32A07ACAP0_IRQHandler [WEAK] - EXPORT INTT32A07ACAP1_IRQHandler [WEAK] - EXPORT INTT32A07B_IRQHandler [WEAK] - EXPORT INTT32A07BCAP0_IRQHandler [WEAK] - EXPORT INTT32A07BCAP1_IRQHandler [WEAK] - EXPORT INTT32A07C_IRQHandler [WEAK] - EXPORT INTT32A07CCAP0_IRQHandler [WEAK] - EXPORT INTT32A07CCAP1_IRQHandler [WEAK] - EXPORT INTPARI_IRQHandler [WEAK] - EXPORT INTDMAATC_IRQHandler [WEAK] - EXPORT INTDMAAERR_IRQHandler [WEAK] - EXPORT INTDMABTC_IRQHandler [WEAK] - EXPORT INTDMABERR_IRQHandler [WEAK] - EXPORT INTRTC_IRQHandler [WEAK] - EXPORT INTRMC0_IRQHandler [WEAK] - EXPORT INTFLCRDY_IRQHandler [WEAK] - EXPORT INTFLDRDY_IRQHandler [WEAK] - -INT00_IRQHandler -INT01_IRQHandler -INT02_IRQHandler -INT03_IRQHandler -INT04_IRQHandler -INT05_IRQHandler -INT06_IRQHandler -INT07_IRQHandler -INT08_IRQHandler -INT09_IRQHandler -INT10_IRQHandler -INT11_IRQHandler -INT12_IRQHandler -INT13_IRQHandler -INT14_IRQHandler -INT15_IRQHandler -INT16_IRQHandler -INT17_18_IRQHandler -INT19_22_IRQHandler -INT23_26_IRQHandler -INT27_28_IRQHandler -INT29_IRQHandler -INT30_31_IRQHandler -INTEMG0_IRQHandler -INTOVV0_IRQHandler -INTPMD0_IRQHandler -INTENC00_IRQHandler -INTENC01_IRQHandler -INTADAPDA_IRQHandler -INTADAPDB_IRQHandler -INTADACP0_IRQHandler -INTADACP1_IRQHandler -INTADATRG_IRQHandler -INTADASGL_IRQHandler -INTADACNT_IRQHandler -INTT0RX_IRQHandler -INTT0TX_IRQHandler -INTT0ERR_IRQHandler -INTT1RX_IRQHandler -INTT1TX_IRQHandler -INTT1ERR_IRQHandler -INTT2RX_IRQHandler -INTT2TX_IRQHandler -INTT2ERR_IRQHandler -INTT3RX_IRQHandler -INTT3TX_IRQHandler -INTT3ERR_IRQHandler -INTT4RX_IRQHandler -INTT4TX_IRQHandler -INTT4ERR_IRQHandler -INTI2CWUP_IRQHandler -INTI2C0_IRQHandler -INTI2C0AL_IRQHandler -INTI2C0BF_IRQHandler -INTI2C0NA_IRQHandler -INTI2C1_IRQHandler -INTI2C1AL_IRQHandler -INTI2C1BF_IRQHandler -INTI2C1NA_IRQHandler -INTI2C2_IRQHandler -INTI2C2AL_IRQHandler -INTI2C2BF_IRQHandler -INTI2C2NA_IRQHandler -INTI2C3_IRQHandler -INTI2C3AL_IRQHandler -INTI2C3BF_IRQHandler -INTI2C3NA_IRQHandler -INTUART0RX_IRQHandler -INTUART0TX_IRQHandler -INTUART0ERR_IRQHandler -INTUART1RX_IRQHandler -INTUART1TX_IRQHandler -INTUART1ERR_IRQHandler -INTUART2RX_IRQHandler -INTUART2TX_IRQHandler -INTUART2ERR_IRQHandler -INTUART3RX_IRQHandler -INTUART3TX_IRQHandler -INTUART3ERR_IRQHandler -INTUART4RX_IRQHandler -INTUART4TX_IRQHandler -INTUART4ERR_IRQHandler -INTUART5RX_IRQHandler -INTUART5TX_IRQHandler -INTUART5ERR_IRQHandler -INTT32A00A_IRQHandler -INTT32A00ACAP0_IRQHandler -INTT32A00ACAP1_IRQHandler -INTT32A00B_IRQHandler -INTT32A00BCAP0_IRQHandler -INTT32A00BCAP1_IRQHandler -INTT32A00C_IRQHandler -INTT32A00CCAP0_IRQHandler -INTT32A00CCAP1_IRQHandler -INTT32A01A_IRQHandler -INTT32A01ACAP0_IRQHandler -INTT32A01ACAP1_IRQHandler -INTT32A01B_IRQHandler -INTT32A01BCAP0_IRQHandler -INTT32A01BCAP1_IRQHandler -INTT32A01C_IRQHandler -INTT32A01CCAP0_IRQHandler -INTT32A01CCAP1_IRQHandler -INTT32A02A_IRQHandler -INTT32A02ACAP0_IRQHandler -INTT32A02ACAP1_IRQHandler -INTT32A02B_IRQHandler -INTT32A02BCAP0_IRQHandler -INTT32A02BCAP1_IRQHandler -INTT32A02C_IRQHandler -INTT32A02CCAP0_IRQHandler -INTT32A02CCAP1_IRQHandler -INTT32A03A_IRQHandler -INTT32A03ACAP0_IRQHandler -INTT32A03ACAP1_IRQHandler -INTT32A03B_IRQHandler -INTT32A03BCAP0_IRQHandler -INTT32A03BCAP1_IRQHandler -INTT32A03C_IRQHandler -INTT32A03CCAP0_IRQHandler -INTT32A03CCAP1_IRQHandler -INTT32A04A_IRQHandler -INTT32A04ACAP0_IRQHandler -INTT32A04ACAP1_IRQHandler -INTT32A04B_IRQHandler -INTT32A04BCAP0_IRQHandler -INTT32A04BCAP1_IRQHandler -INTT32A04C_IRQHandler -INTT32A04CCAP0_IRQHandler -INTT32A04CCAP1_IRQHandler -INTT32A05A_IRQHandler -INTT32A05ACAP0_IRQHandler -INTT32A05ACAP1_IRQHandler -INTT32A05B_IRQHandler -INTT32A05BCAP0_IRQHandler -INTT32A05BCAP1_IRQHandler -INTT32A05C_IRQHandler -INTT32A05CCAP0_IRQHandler -INTT32A05CCAP1_IRQHandler -INTT32A06A_IRQHandler -INTT32A06ACAP0_IRQHandler -INTT32A06ACAP1_IRQHandler -INTT32A06B_IRQHandler -INTT32A06BCAP0_IRQHandler -INTT32A06BCAP1_IRQHandler -INTT32A06C_IRQHandler -INTT32A06CCAP0_IRQHandler -INTT32A06CCAP1_IRQHandler -INTT32A07A_IRQHandler -INTT32A07ACAP0_IRQHandler -INTT32A07ACAP1_IRQHandler -INTT32A07B_IRQHandler -INTT32A07BCAP0_IRQHandler -INTT32A07BCAP1_IRQHandler -INTT32A07C_IRQHandler -INTT32A07CCAP0_IRQHandler -INTT32A07CCAP1_IRQHandler -INTPARI_IRQHandler -INTDMAATC_IRQHandler -INTDMAAERR_IRQHandler -INTDMABTC_IRQHandler -INTDMABERR_IRQHandler -INTRTC_IRQHandler -INTRMC0_IRQHandler -INTFLCRDY_IRQHandler -INTFLDRDY_IRQHandler - - B . - - ENDP - - ALIGN - END - diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/tmpm3hqfdfg.sct b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/tmpm3hqfdfg.sct deleted file mode 100644 index d0e8c1b2a2b..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_ARM_STD/tmpm3hqfdfg.sct +++ /dev/null @@ -1,39 +0,0 @@ -#! armcc -E -;; TMPM3HQFDFG scatter file - -;; Vector table starts at 0 -;; Initial SP == |Image$$ARM_LIB_STACK$$ZI$$Limit| (for two region model) -;; or |Image$$ARM_LIB_STACKHEAP$$ZI$$Limit| (for one region model) -;; Initial PC == &__main (with LSB set to indicate Thumb) -;; These two values are provided by the library -;; Other vectors must be provided by the user -;; Code starts after the last possible vector -;; Data starts at 0x20000000 -;; Heap is positioned by ARM_LIB_HEAB (this is the heap managed by the ARM libraries) -;; Stack is positioned by ARM_LIB_STACK (library will use this to set SP - see above) - -;; Compatible with ISSM model - -#if !defined(MBED_BOOT_STACK_SIZE) - #define MBED_BOOT_STACK_SIZE 0x400 -#endif - -#define Stack_Size MBED_BOOT_STACK_SIZE - -LR_IROM1 0x00000000 0x80000 -{ - ER_IROM1 0x00000000 0x80000 - { - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - } - - RW_IRAM1 0x200002D8 (0x10000 - 0x2D8) - { - .ANY (+RW, +ZI) - } - - ARM_LIB_STACK 0x200002D8+0x10000 EMPTY -Stack_Size { ; Stack region growing down - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/startup_TMPM3HQ.S b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/startup_TMPM3HQ.S deleted file mode 100644 index 113531b7715..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/startup_TMPM3HQ.S +++ /dev/null @@ -1,582 +0,0 @@ -/** - ******************************************************************************* - * @file startup_TMPM3HQ.s - * @brief CMSIS Cortex-M3 Core Device Startup File for the - * TOSHIBA 'TMPM3HQ' Device Series - * @version V5.00 - * @date 2016/03/02 - *------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - * - * (C)Copyright TOSHIBA CORPORATION 2015 All rights reserved - ******************************************************************************* - */ - -.syntax unified -.arch armv7-m - -.section .stack -.align 3 - -/* -// Stack Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -*/ - -#ifdef __STACK_SIZE -.equ Stack_Size, __STACK_SIZE -#else -.equ Stack_Size, 0x400 -#endif -.globl __StackTop -.globl __StackLimit -__StackLimit: -.space Stack_Size -.size __StackLimit, . - __StackLimit -__StackTop: -.size __StackTop, . - __StackTop - -/* -// Heap Configuration -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -*/ - -.section .heap -.align 3 -#ifdef __HEAP_SIZE -.equ Heap_Size, __HEAP_SIZE -#else -.equ Heap_Size, 0 -#endif -.globl __HeapBase -.globl __HeapLimit -__HeapBase: -.if Heap_Size -.space Heap_Size -.endif -.size __HeapBase, . - __HeapBase -__HeapLimit: -.size __HeapLimit, . - __HeapLimit - - .section .vectors - .align 2 - .globl __Vectors -__Vectors: - .long __StackTop // Top of Stack - .long Reset_Handler // Reset Handler - .long NMI_Handler // NMI Handler - .long HardFault_Handler // Hard Fault Handler - .long MemManage_Handler // MPU Fault Handler - .long BusFault_Handler // Bus Fault Handler - .long UsageFault_Handler // Usage Fault Handler - .long 0 // Reserved - .long 0 // Reserved - .long 0 // Reserved - .long 0 // Reserved - .long SVC_Handler // SVCall Handler - .long DebugMon_Handler // Debug Monitor Handler - .long 0 // Reserved - .long PendSV_Handler // PendSV Handler - .long SysTick_Handler // SysTick Handler - - // External interrupts - .long INT00_IRQHandler // 0: Interrupt Pin0 - .long INT01_IRQHandler // 1: Interrupt Pin1 - .long INT02_IRQHandler // 2: Interrupt Pin2 - .long INT03_IRQHandler // 3: Interrupt Pin3 - .long INT04_IRQHandler // 4: Interrupt Pin4 - .long INT05_IRQHandler // 5: Interrupt Pin5 - .long INT06_IRQHandler // 6: Interrupt Pin6 - .long INT07_IRQHandler // 7: Interrupt Pin7 - .long INT08_IRQHandler // 8: Interrupt Pin8 - .long INT09_IRQHandler // 9: Interrupt Pin9 - .long INT10_IRQHandler // 10: Interrupt Pin10 - .long INT11_IRQHandler // 11: Interrupt Pin11 - .long INT12_IRQHandler // 12: Interrupt Pin12 - .long INT13_IRQHandler // 13: Interrupt Pin13 - .long INT14_IRQHandler // 14: Interrupt Pin14 - .long INT15_IRQHandler // 15: Interrupt Pin15 - .long INT16_IRQHandler // 16: Interrupt Pin 16 - .long INT17_18_IRQHandler // 17: Interrupt Pin 17_18 - .long INT19_22_IRQHandler // 18: Interrupt Pin 19_22 - .long INT23_26_IRQHandler // 19: Interrupt Pin 23_26 - .long INT27_28_IRQHandler // 20: Interrupt Pin 27_28 - .long INT29_IRQHandler // 21: Interrupt Pin 29 - .long INT30_31_IRQHandler // 22: Interrupt Pin 30_31 - .long INTEMG0_IRQHandler // 23: PMD0 EMG interrupt - .long INTOVV0_IRQHandler // 24: PMD0 OVV interrupt - .long INTPMD0_IRQHandler // 25: PMD0 interrupt - .long INTENC00_IRQHandler // 26: Encoder 0 interrupt 0 - .long INTENC01_IRQHandler // 27: Encoder 0 interrupt 1 - .long INTADAPDA_IRQHandler // 28: ADC conversion triggered by PMD is finished A - .long INTADAPDB_IRQHandler // 29: ADC conversion triggered by PMD is finished B - .long INTADACP0_IRQHandler // 30: ADC conversion monitoring function interrupt 0 - .long INTADACP1_IRQHandler // 31: ADC conversion monitoring function interrupt 1 - .long INTADATRG_IRQHandler // 32: ADC conversion triggered by General purpose is finished - .long INTADASGL_IRQHandler // 33: ADC conversion triggered by Single program is finished - .long INTADACNT_IRQHandler // 34: ADC conversion triggered by Continuity program is finished - .long INTT0RX_IRQHandler // 35: TSPI/SIO reception (channel 0) - .long INTT0TX_IRQHandler // 36: TSPI/SIO transmit (channel 0) - .long INTT0ERR_IRQHandler // 37: TSPI/SIO error (channel 0) - .long INTT1RX_IRQHandler // 38: TSPI/SIO reception (channel 1) - .long INTT1TX_IRQHandler // 39: TSPI/SIO transmit (channel 1) - .long INTT1ERR_IRQHandler // 40: TSPI/SIO error (channel 1) - .long INTT2RX_IRQHandler // 41: TSPI/SIO reception (channel 2) - .long INTT2TX_IRQHandler // 42: TSPI/SIO transmit (channel 2) - .long INTT2ERR_IRQHandler // 43: TSPI/SIO error (channel 2) - .long INTT3RX_IRQHandler // 44: TSPI/SIO reception (channel 3) - .long INTT3TX_IRQHandler // 45: TSPI/SIO transmit (channel 3) - .long INTT3ERR_IRQHandler // 46: TSPI/SIO error (channel 3) - .long INTT4RX_IRQHandler // 47: TSPI/SIO reception (channel 4) - .long INTT4TX_IRQHandler // 48: TSPI/SIO transmit (channel 4) - .long INTT4ERR_IRQHandler // 49: TSPI/SIO error (channel 4) - .long INTI2CWUP_IRQHandler // 50: Serial bus interface (WakeUp) interrupt (channel 0) - .long INTI2C0_IRQHandler // 51: I2C0 transmission and reception interrupt - .long INTI2C0AL_IRQHandler // 52: I2C0 arbitration lost interrupt - .long INTI2C0BF_IRQHandler // 53: I2C0 bus free interrupt - .long INTI2C0NA_IRQHandler // 54: I2C0 no ack interrupt - .long INTI2C1_IRQHandler // 55: I2C1 transmission and reception interrupt - .long INTI2C1AL_IRQHandler // 56: I2C1 arbitration lost interrupt - .long INTI2C1BF_IRQHandler // 57: I2C1 bus free interrupt - .long INTI2C1NA_IRQHandler // 58: I2C1 no ack interrupt - .long INTI2C2_IRQHandler // 59: I2C2 transmission and reception interrupt - .long INTI2C2AL_IRQHandler // 60: I2C2 arbitration lost interrupt - .long INTI2C2BF_IRQHandler // 61: I2C2 bus free interrupt - .long INTI2C2NA_IRQHandler // 62: I2C2 no ack interrupt - .long INTI2C3_IRQHandler // 63: I2C3 transmission and reception interrupt - .long INTI2C3AL_IRQHandler // 64: I2C3 arbitration lost interrupt - .long INTI2C3BF_IRQHandler // 65: I2C3 bus free interrupt - .long INTI2C3NA_IRQHandler // 66: I2C3 no ack interrupt - .long INTUART0RX_IRQHandler // 67: UART reception (channel 0) - .long INTUART0TX_IRQHandler // 68: UART transmit (channel 0) - .long INTUART0ERR_IRQHandler // 69: UART error (channel 0) - .long INTUART1RX_IRQHandler // 70: UART reception (channel 1) - .long INTUART1TX_IRQHandler // 71: UART transmit (channel 1) - .long INTUART1ERR_IRQHandler // 72: UART error (channel 1) - .long INTUART2RX_IRQHandler // 73: UART reception (channel 2) - .long INTUART2TX_IRQHandler // 74: UART transmit (channel 2) - .long INTUART2ERR_IRQHandler // 75: UART error (channel 2) - .long INTUART3RX_IRQHandler // 76: UART reception (channel 3) - .long INTUART3TX_IRQHandler // 77: UART transmit (channel 3) - .long INTUART3ERR_IRQHandler // 78: UART error (channel 3) - .long INTUART4RX_IRQHandler // 79: UART reception (channel 4) - .long INTUART4TX_IRQHandler // 80: UART transmit (channel 4) - .long INTUART4ERR_IRQHandler // 81: UART error (channel 4) - .long INTUART5RX_IRQHandler // 82: UART reception (channel 5) - .long INTUART5TX_IRQHandler // 83: UART transmit (channel 5) - .long INTUART5ERR_IRQHandler // 84: UART error (channel 5) - .long INTT32A00A_IRQHandler // 85: 32bit T32A00A compare match detection 0 / Over flow / under flow - .long INTT32A00ACAP0_IRQHandler // 86: 32bit T32A00A input capture 0 - .long INTT32A00ACAP1_IRQHandler // 87: 32bit T32A00A input capture 1 - .long INTT32A00B_IRQHandler // 88: 32bit T32A00B compare match detection 0 / Over flow / under flow - .long INTT32A00BCAP0_IRQHandler // 89: 32bit T32A00B input capture 0 - .long INTT32A00BCAP1_IRQHandler // 90: 32bit T32A00B input capture 1 - .long INTT32A00C_IRQHandler // 91: 32bit T32A00C compare match detection 0 / Over flow / under flow - .long INTT32A00CCAP0_IRQHandler // 92: 32bit T32A00C input capture 0 - .long INTT32A00CCAP1_IRQHandler // 93: 32bit T32A00C input capture 1 - .long INTT32A01A_IRQHandler // 94: 32bit T32A01A compare match detection 0 / Over flow / under flow - .long INTT32A01ACAP0_IRQHandler // 95: 32bit T32A01A input capture 0 - .long INTT32A01ACAP1_IRQHandler // 96: 32bit T32A01A input capture 1 - .long INTT32A01B_IRQHandler // 97: 32bit T32A01B compare match detection 0 / Over flow / under flow - .long INTT32A01BCAP0_IRQHandler // 98: 32bit T32A01B input capture 0 - .long INTT32A01BCAP1_IRQHandler // 99: 32bit T32A01B input capture 1 - .long INTT32A01C_IRQHandler // 100: 32bit T32A01C compare match detection 0 / Over flow / under flow - .long INTT32A01CCAP0_IRQHandler // 101: 32bit T32A01C input capture 0 - .long INTT32A01CCAP1_IRQHandler // 102: 32bit T32A01C input capture 1 - .long INTT32A02A_IRQHandler // 103: 32bit T32A02A compare match detection 0 / Over flow / under flow - .long INTT32A02ACAP0_IRQHandler // 104: 32bit T32A02A input capture 0 - .long INTT32A02ACAP1_IRQHandler // 105: 32bit T32A02A input capture 1 - .long INTT32A02B_IRQHandler // 106: 32bit T32A02B compare match detection 0 / Over flow / under flow - .long INTT32A02BCAP0_IRQHandler // 107: 32bit T32A02B input capture 0 - .long INTT32A02BCAP1_IRQHandler // 108: 32bit T32A02B input capture 1 - .long INTT32A02C_IRQHandler // 109: 32bit T32A02C compare match detection 0 / Over flow / under flow - .long INTT32A02CCAP0_IRQHandler // 110: 32bit T32A02C input capture 0 - .long INTT32A02CCAP1_IRQHandler // 111: 32bit T32A02C input capture 1 - .long INTT32A03A_IRQHandler // 112: 32bit T32A03A compare match detection 0 / Over flow / under flow - .long INTT32A03ACAP0_IRQHandler // 113: 32bit T32A03A input capture 0 - .long INTT32A03ACAP1_IRQHandler // 114: 32bit T32A03A input capture 1 - .long INTT32A03B_IRQHandler // 115: 32bit T32A03B compare match detection 0 / Over flow / under flow - .long INTT32A03BCAP0_IRQHandler // 116: 32bit T32A03B input capture 0 - .long INTT32A03BCAP1_IRQHandler // 117: 32bit T32A03B input capture 1 - .long INTT32A03C_IRQHandler // 118: 32bit T32A03C compare match detection 0 / Over flow / under flow - .long INTT32A03CCAP0_IRQHandler // 119: 32bit T32A03C input capture 0 - .long INTT32A03CCAP1_IRQHandler // 120: 32bit T32A03C input capture 1 - .long INTT32A04A_IRQHandler // 121: 32bit T32A04A compare match detection 0 / Over flow / under flow - .long INTT32A04ACAP0_IRQHandler // 122: 32bit T32A04A input capture 0 - .long INTT32A04ACAP1_IRQHandler // 123: 32bit T32A04A input capture 1 - .long INTT32A04B_IRQHandler // 124: 32bit T32A04B compare match detection 0 / Over flow / under flow - .long INTT32A04BCAP0_IRQHandler // 125: 32bit T32A04B input capture 0 - .long INTT32A04BCAP1_IRQHandler // 126: 32bit T32A04B input capture 1 - .long INTT32A04C_IRQHandler // 127: 32bit T32A04C compare match detection 0 / Over flow / under flow - .long INTT32A04CCAP0_IRQHandler // 128: 32bit T32A04C input capture 0 - .long INTT32A04CCAP1_IRQHandler // 129: 32bit T32A04C input capture 1 - .long INTT32A05A_IRQHandler // 130: 32bit T32A05A compare match detection 0 / Over flow / under flow - .long INTT32A05ACAP0_IRQHandler // 131: 32bit T32A05A input capture 0 - .long INTT32A05ACAP1_IRQHandler // 132: 32bit T32A05A input capture 1 - .long INTT32A05B_IRQHandler // 133: 32bit T32A05B compare match detection 0 / Over flow / under flow - .long INTT32A05BCAP0_IRQHandler // 134: 32bit T32A05B input capture 0 - .long INTT32A05BCAP1_IRQHandler // 135: 32bit T32A05B input capture 1 - .long INTT32A05C_IRQHandler // 136: 32bit T32A05C compare match detection 0 / Over flow / under flow - .long INTT32A05CCAP0_IRQHandler // 137: 32bit T32A05C input capture 0 - .long INTT32A05CCAP1_IRQHandler // 138: 32bit T32A05C input capture 1 - .long INTT32A06A_IRQHandler // 139: 32bit T32A06A compare match detection 0 / Over flow / under flow - .long INTT32A06ACAP0_IRQHandler // 140: 32bit T32A06A input capture 0 - .long INTT32A06ACAP1_IRQHandler // 141: 32bit T32A06A input capture 1 - .long INTT32A06B_IRQHandler // 142: 32bit T32A06B compare match detection 0 / Over flow / under flow - .long INTT32A06BCAP0_IRQHandler // 143: 32bit T32A06B input capture 0 - .long INTT32A06BCAP1_IRQHandler // 144: 32bit T32A06B input capture 1 - .long INTT32A06C_IRQHandler // 145: 32bit T32A06C compare match detection 0 / Over flow / under flow - .long INTT32A06CCAP0_IRQHandler // 146: 32bit T32A06C input capture 0 - .long INTT32A06CCAP1_IRQHandler // 147: 32bit T32A06C input capture 1 - .long INTT32A07A_IRQHandler // 148: 32bit T32A07A compare match detection 0 / Over flow / under flow - .long INTT32A07ACAP0_IRQHandler // 149: 32bit T32A07A input capture 0 - .long INTT32A07ACAP1_IRQHandler // 150: 32bit T32A07A input capture 1 - .long INTT32A07B_IRQHandler // 151: 32bit T32A07B compare match detection 0 / Over flow / under flow - .long INTT32A07BCAP0_IRQHandler // 152: 32bit T32A07B input capture 0 - .long INTT32A07BCAP1_IRQHandler // 153: 32bit T32A07B input capture 1 - .long INTT32A07C_IRQHandler // 154: 32bit T32A07C compare match detection 0 / Over flow / under flow - .long INTT32A07CCAP0_IRQHandler // 155: 32bit T32A07C input capture 0 - .long INTT32A07CCAP1_IRQHandler // 156: 32bit T32A07C input capture 1 - .long INTPARI_IRQHandler // 157: RAM parity interrupt - .long INTDMAATC_IRQHandler // 158: DMAA end of transfer - .long INTDMAAERR_IRQHandler // 159: DMAA transfer error - .long INTDMABTC_IRQHandler // 160: DMAB end of transfer - .long INTDMABERR_IRQHandler // 161: DMAB transfer error - .long INTRTC_IRQHandler // 162: Real time clock interrupt - .long INTRMC0_IRQHandler // 163: Remote control reception interrupt - .long INTFLCRDY_IRQHandler // 164: Code FLASH Ready interrupt - .long INTFLDRDY_IRQHandler // 165: Data FLASH Ready interrupt - - .size __Vectors, . - __Vectors - - .text - .thumb - .thumb_func - .align 2 - .globl Reset_Handler - .type Reset_Handler, %function -Reset_Handler: -/* Firstly it copies data from read only memory to RAM. There are two schemes - * to copy. One can copy more than one sections. Another can only copy - * one section. The former scheme needs more instructions and read-only - * data to implement than the latter. - * Macro __STARTUP_COPY_MULTIPLE is used to choose between two schemes. */ - -#ifdef __STARTUP_COPY_MULTIPLE -/* Multiple sections scheme. - * - * Between symbol address __copy_table_start__ and __copy_table_end__, - * there are array of triplets, each of which specify: - * offset 0: LMA of start of a section to copy from - * offset 4: VMA of start of a section to copy to - * offset 8: size of the section to copy. Must be multiply of 4 - * - * All addresses must be aligned to 4 bytes boundary. - */ - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] - ldr r2, [r4, #4] - ldr r3, [r4, #8] - -.L_loop0_0: - subs r3, #4 - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 - -.L_loop0_done: -#else -/* Single section scheme. - * - * The ranges of copy from/to are specified by following symbols - * __etext: LMA of start of the section to copy from. Usually end of text - * __data_start__: VMA of start of the section to copy to - * __data_end__: VMA of end of the section to copy to - * - * All addresses must be aligned to 4 bytes boundary. - */ - ldr r1, =__etext - ldr r2, =__data_start__ - ldr r3, =__data_end__ - -.L_loop1: - cmp r2, r3 - ittt lt - ldrlt r0, [r1], #4 - strlt r0, [r2], #4 - blt .L_loop1 -#endif /*__STARTUP_COPY_MULTIPLE */ - -/* This part of work usually is done in C library startup code. Otherwise, - * define this macro to enable it in this startup. - * - * There are two schemes too. One can clear multiple BSS sections. Another - * can only clear one section. The former is more size expensive than the - * latter. - * - * Define macro __STARTUP_CLEAR_BSS_MULTIPLE to choose the former. - * Otherwise efine macro __STARTUP_CLEAR_BSS to choose the later. - */ -#ifdef __STARTUP_CLEAR_BSS_MULTIPLE -/* Multiple sections scheme. - * - * Between symbol address __copy_table_start__ and __copy_table_end__, - * there are array of tuples specifying: - * offset 0: Start of a BSS section - * offset 4: Size of this BSS section. Must be multiply of 4 - */ - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] - ldr r2, [r3, #4] - movs r0, 0 - -.L_loop2_0: - subs r2, #4 - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: -#elif defined (__STARTUP_CLEAR_BSS) -/* Single BSS section scheme. - * - * The BSS section is specified by following symbols - * __bss_start__: start of the BSS section. - * __bss_end__: end of the BSS section. - * - * Both addresses must be aligned to 4 bytes boundary. - */ - ldr r1, =__bss_start__ - ldr r2, =__bss_end__ - - movs r0, 0 -.L_loop3: - cmp r1, r2 - itt lt - strlt r0, [r1], #4 - blt .L_loop3 -#endif /* __STARTUP_CLEAR_BSS_MULTIPLE || __STARTUP_CLEAR_BSS */ - -#ifndef __NO_SYSTEM_INIT - bl SystemInit -#endif - -#ifndef __START -#define __START _start -#endif - bl __START - - .pool - .size Reset_Handler, . - Reset_Handler - - .align 1 - .thumb_func - .weak Default_Handler - .type Default_Handler, %function -Default_Handler: - b . - .size Default_Handler, . - Default_Handler - -/* Macro to define default handlers. Default handler - * will be weak symbol and just dead loops. They can be - * overwritten by other handlers */ - .macro def_irq_handler handler_name - .weak \handler_name - .set \handler_name, Default_Handler - .endm - - def_irq_handler NMI_Handler - def_irq_handler HardFault_Handler - def_irq_handler MemManage_Handler - def_irq_handler BusFault_Handler - def_irq_handler UsageFault_Handler - def_irq_handler SVC_Handler - def_irq_handler DebugMon_Handler - def_irq_handler PendSV_Handler - def_irq_handler SysTick_Handler - - def_irq_handler INT00_IRQHandler - def_irq_handler INT01_IRQHandler - def_irq_handler INT02_IRQHandler - def_irq_handler INT03_IRQHandler - def_irq_handler INT04_IRQHandler - def_irq_handler INT05_IRQHandler - def_irq_handler INT06_IRQHandler - def_irq_handler INT07_IRQHandler - def_irq_handler INT08_IRQHandler - def_irq_handler INT09_IRQHandler - def_irq_handler INT10_IRQHandler - def_irq_handler INT11_IRQHandler - def_irq_handler INT12_IRQHandler - def_irq_handler INT13_IRQHandler - def_irq_handler INT14_IRQHandler - def_irq_handler INT15_IRQHandler - def_irq_handler INT16_IRQHandler - def_irq_handler INT17_18_IRQHandler - def_irq_handler INT19_22_IRQHandler - def_irq_handler INT23_26_IRQHandler - def_irq_handler INT27_28_IRQHandler - def_irq_handler INT29_IRQHandler - def_irq_handler INT30_31_IRQHandler - def_irq_handler INTEMG0_IRQHandler - def_irq_handler INTOVV0_IRQHandler - def_irq_handler INTPMD0_IRQHandler - def_irq_handler INTENC00_IRQHandler - def_irq_handler INTENC01_IRQHandler - def_irq_handler INTADAPDA_IRQHandler - def_irq_handler INTADAPDB_IRQHandler - def_irq_handler INTADACP0_IRQHandler - def_irq_handler INTADACP1_IRQHandler - def_irq_handler INTADATRG_IRQHandler - def_irq_handler INTADASGL_IRQHandler - def_irq_handler INTADACNT_IRQHandler - def_irq_handler INTT0RX_IRQHandler - def_irq_handler INTT0TX_IRQHandler - def_irq_handler INTT0ERR_IRQHandler - def_irq_handler INTT1RX_IRQHandler - def_irq_handler INTT1TX_IRQHandler - def_irq_handler INTT1ERR_IRQHandler - def_irq_handler INTT2RX_IRQHandler - def_irq_handler INTT2TX_IRQHandler - def_irq_handler INTT2ERR_IRQHandler - def_irq_handler INTT3RX_IRQHandler - def_irq_handler INTT3TX_IRQHandler - def_irq_handler INTT3ERR_IRQHandler - def_irq_handler INTT4RX_IRQHandler - def_irq_handler INTT4TX_IRQHandler - def_irq_handler INTT4ERR_IRQHandler - def_irq_handler INTI2CWUP_IRQHandler - def_irq_handler INTI2C0_IRQHandler - def_irq_handler INTI2C0AL_IRQHandler - def_irq_handler INTI2C0BF_IRQHandler - def_irq_handler INTI2C0NA_IRQHandler - def_irq_handler INTI2C1_IRQHandler - def_irq_handler INTI2C1AL_IRQHandler - def_irq_handler INTI2C1BF_IRQHandler - def_irq_handler INTI2C1NA_IRQHandler - def_irq_handler INTI2C2_IRQHandler - def_irq_handler INTI2C2AL_IRQHandler - def_irq_handler INTI2C2BF_IRQHandler - def_irq_handler INTI2C2NA_IRQHandler - def_irq_handler INTI2C3_IRQHandler - def_irq_handler INTI2C3AL_IRQHandler - def_irq_handler INTI2C3BF_IRQHandler - def_irq_handler INTI2C3NA_IRQHandler - def_irq_handler INTUART0RX_IRQHandler - def_irq_handler INTUART0TX_IRQHandler - def_irq_handler INTUART0ERR_IRQHandler - def_irq_handler INTUART1RX_IRQHandler - def_irq_handler INTUART1TX_IRQHandler - def_irq_handler INTUART1ERR_IRQHandler - def_irq_handler INTUART2RX_IRQHandler - def_irq_handler INTUART2TX_IRQHandler - def_irq_handler INTUART2ERR_IRQHandler - def_irq_handler INTUART3RX_IRQHandler - def_irq_handler INTUART3TX_IRQHandler - def_irq_handler INTUART3ERR_IRQHandler - def_irq_handler INTUART4RX_IRQHandler - def_irq_handler INTUART4TX_IRQHandler - def_irq_handler INTUART4ERR_IRQHandler - def_irq_handler INTUART5RX_IRQHandler - def_irq_handler INTUART5TX_IRQHandler - def_irq_handler INTUART5ERR_IRQHandler - def_irq_handler INTT32A00A_IRQHandler - def_irq_handler INTT32A00ACAP0_IRQHandler - def_irq_handler INTT32A00ACAP1_IRQHandler - def_irq_handler INTT32A00B_IRQHandler - def_irq_handler INTT32A00BCAP0_IRQHandler - def_irq_handler INTT32A00BCAP1_IRQHandler - def_irq_handler INTT32A00C_IRQHandler - def_irq_handler INTT32A00CCAP0_IRQHandler - def_irq_handler INTT32A00CCAP1_IRQHandler - def_irq_handler INTT32A01A_IRQHandler - def_irq_handler INTT32A01ACAP0_IRQHandler - def_irq_handler INTT32A01ACAP1_IRQHandler - def_irq_handler INTT32A01B_IRQHandler - def_irq_handler INTT32A01BCAP0_IRQHandler - def_irq_handler INTT32A01BCAP1_IRQHandler - def_irq_handler INTT32A01C_IRQHandler - def_irq_handler INTT32A01CCAP0_IRQHandler - def_irq_handler INTT32A01CCAP1_IRQHandler - def_irq_handler INTT32A02A_IRQHandler - def_irq_handler INTT32A02ACAP0_IRQHandler - def_irq_handler INTT32A02ACAP1_IRQHandler - def_irq_handler INTT32A02B_IRQHandler - def_irq_handler INTT32A02BCAP0_IRQHandler - def_irq_handler INTT32A02BCAP1_IRQHandler - def_irq_handler INTT32A02C_IRQHandler - def_irq_handler INTT32A02CCAP0_IRQHandler - def_irq_handler INTT32A02CCAP1_IRQHandler - def_irq_handler INTT32A03A_IRQHandler - def_irq_handler INTT32A03ACAP0_IRQHandler - def_irq_handler INTT32A03ACAP1_IRQHandler - def_irq_handler INTT32A03B_IRQHandler - def_irq_handler INTT32A03BCAP0_IRQHandler - def_irq_handler INTT32A03BCAP1_IRQHandler - def_irq_handler INTT32A03C_IRQHandler - def_irq_handler INTT32A03CCAP0_IRQHandler - def_irq_handler INTT32A03CCAP1_IRQHandler - def_irq_handler INTT32A04A_IRQHandler - def_irq_handler INTT32A04ACAP0_IRQHandler - def_irq_handler INTT32A04ACAP1_IRQHandler - def_irq_handler INTT32A04B_IRQHandler - def_irq_handler INTT32A04BCAP0_IRQHandler - def_irq_handler INTT32A04BCAP1_IRQHandler - def_irq_handler INTT32A04C_IRQHandler - def_irq_handler INTT32A04CCAP0_IRQHandler - def_irq_handler INTT32A04CCAP1_IRQHandler - def_irq_handler INTT32A05A_IRQHandler - def_irq_handler INTT32A05ACAP0_IRQHandler - def_irq_handler INTT32A05ACAP1_IRQHandler - def_irq_handler INTT32A05B_IRQHandler - def_irq_handler INTT32A05BCAP0_IRQHandler - def_irq_handler INTT32A05BCAP1_IRQHandler - def_irq_handler INTT32A05C_IRQHandler - def_irq_handler INTT32A05CCAP0_IRQHandler - def_irq_handler INTT32A05CCAP1_IRQHandler - def_irq_handler INTT32A06A_IRQHandler - def_irq_handler INTT32A06ACAP0_IRQHandler - def_irq_handler INTT32A06ACAP1_IRQHandler - def_irq_handler INTT32A06B_IRQHandler - def_irq_handler INTT32A06BCAP0_IRQHandler - def_irq_handler INTT32A06BCAP1_IRQHandler - def_irq_handler INTT32A06C_IRQHandler - def_irq_handler INTT32A06CCAP0_IRQHandler - def_irq_handler INTT32A06CCAP1_IRQHandler - def_irq_handler INTT32A07A_IRQHandler - def_irq_handler INTT32A07ACAP0_IRQHandler - def_irq_handler INTT32A07ACAP1_IRQHandler - def_irq_handler INTT32A07B_IRQHandler - def_irq_handler INTT32A07BCAP0_IRQHandler - def_irq_handler INTT32A07BCAP1_IRQHandler - def_irq_handler INTT32A07C_IRQHandler - def_irq_handler INTT32A07CCAP0_IRQHandler - def_irq_handler INTT32A07CCAP1_IRQHandler - def_irq_handler INTPARI_IRQHandler - def_irq_handler INTDMAATC_IRQHandler - def_irq_handler INTDMAAERR_IRQHandler - def_irq_handler INTDMABTC_IRQHandler - def_irq_handler INTDMABERR_IRQHandler - def_irq_handler INTRTC_IRQHandler - def_irq_handler INTRMC0_IRQHandler - def_irq_handler INTFLCRDY_IRQHandler - def_irq_handler INTFLDRDY_IRQHandler - - .end diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/tmpm3hqfdfg.ld b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/tmpm3hqfdfg.ld deleted file mode 100644 index 7c9a2e765b3..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_GCC_ARM/tmpm3hqfdfg.ld +++ /dev/null @@ -1,166 +0,0 @@ -/* Linker script for Toshiba TMPM3HQ */ - -/* Linker script to configure memory regions. */ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 512K - RAM (rwx) : ORIGIN = (0x20000000 + 0x2D8), LENGTH = (64K - 0x2D8) -} - -#if !defined(MBED_BOOT_STACK_SIZE) - #define MBED_BOOT_STACK_SIZE 0x400 -#endif - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __Vectors_End - * __Vectors_Size - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - __Vectors_End = .; - __Vectors_Size = __Vectors_End - __Vectors; - __end__ = .; - - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - - __etext = .; - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM - - .heap (COPY): - { - __HeapBase = .; - __end__ = .; - end = __end__; - KEEP(*(.heap*)) - . = ORIGIN(RAM) + LENGTH(RAM) - MBED_BOOT_STACK_SIZE; - __HeapLimit = .; - } > RAM - - /* .stack_dummy section doesn't contains any symbols. It is only - * used for linker to calculate size of stack sections, and assign - * values to stack symbols later */ - .stack_dummy (COPY): - { - KEEP(*(.stack*)) - } > RAM - - /* Set stack top to end of RAM, and stack limit move down by - * size of stack_dummy section */ - __StackTop = ORIGIN(RAM) + LENGTH(RAM); - __StackLimit = __StackTop - MBED_BOOT_STACK_SIZE; - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/startup_TMPM3HQ.S b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/startup_TMPM3HQ.S deleted file mode 100644 index cbed3bdbe30..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/startup_TMPM3HQ.S +++ /dev/null @@ -1,1107 +0,0 @@ -;/** -; ******************************************************************************* -; * @file startup_TMPM3HQ.s -; * @brief CMSIS Cortex-M3 Core Device Startup File for the -; * TOSHIBA 'TMPM3HQ' Device Series -; * @version V1.0.0.0 -; * $Date:: 2017-12-08 #$ -; * -; * DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LICENSE AGREEMENT. -; * -; * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved -; ******************************************************************************* -; */ -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table DCD sfe(CSTACK) - DCD Reset_Handler - - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD INT00_IRQHandler ; 0: Interrupt Pin 00 - DCD INT01_IRQHandler ; 1: Interrupt Pin 01 - DCD INT02_IRQHandler ; 2: Interrupt Pin 02 - DCD INT03_IRQHandler ; 3: Interrupt Pin 03 - DCD INT04_IRQHandler ; 4: Interrupt Pin 04 - DCD INT05_IRQHandler ; 5: Interrupt Pin 05 - DCD INT06_IRQHandler ; 6: Interrupt Pin 06 - DCD INT07_IRQHandler ; 7: Interrupt Pin 07 - DCD INT08_IRQHandler ; 8: Interrupt Pin 08 - DCD INT09_IRQHandler ; 9: Interrupt Pin 09 - DCD INT10_IRQHandler ; 10: Interrupt Pin 10 - DCD INT11_IRQHandler ; 11: Interrupt Pin 11 - DCD INT12_IRQHandler ; 12: Interrupt Pin 12 - DCD INT13_IRQHandler ; 13: Interrupt Pin 13 - DCD INT14_IRQHandler ; 14: Interrupt Pin 14 - DCD INT15_IRQHandler ; 15: Interrupt Pin 15 - DCD INT16_IRQHandler ; 16: Interrupt Pin 16 - DCD INT17_18_IRQHandler ; 17: Interrupt Pin 17_18 - DCD INT19_22_IRQHandler ; 18: Interrupt Pin 19_22 - DCD INT23_26_IRQHandler ; 19: Interrupt Pin 23_26 - DCD INT27_28_IRQHandler ; 20: Interrupt Pin 27_28 - DCD INT29_IRQHandler ; 21: Interrupt Pin 29 - DCD INT30_31_IRQHandler ; 22: Interrupt Pin 30_31 - DCD INTEMG0_IRQHandler ; 23: PMD0 EMG interrupt - DCD INTOVV0_IRQHandler ; 24: PMD0 OVV interrupt - DCD INTPMD0_IRQHandler ; 25: PMD0 interrupt - DCD INTENC00_IRQHandler ; 26: Encoder 0 interrupt 0 - DCD INTENC01_IRQHandler ; 27: Encoder 0 interrupt 1 - DCD INTADAPDA_IRQHandler ; 28: ADC conversion triggered by PMD is finished A - DCD INTADAPDB_IRQHandler ; 29: ADC conversion triggered by PMD is finished B - DCD INTADACP0_IRQHandler ; 30: ADC conversion monitoring function interrupt 0 - DCD INTADACP1_IRQHandler ; 31: ADC conversion monitoring function interrupt 1 - DCD INTADATRG_IRQHandler ; 32: ADC conversion triggered by General purpose is finished - DCD INTADASGL_IRQHandler ; 33: ADC conversion triggered by Single program is finished - DCD INTADACNT_IRQHandler ; 34: ADC conversion triggered by Continuity program is finished - DCD INTT0RX_IRQHandler ; 35: TSPI/SIO reception (channel 0) - DCD INTT0TX_IRQHandler ; 36: TSPI/SIO transmit (channel 0) - DCD INTT0ERR_IRQHandler ; 37: TSPI/SIO error (channel 0) - DCD INTT1RX_IRQHandler ; 38: TSPI/SIO reception (channel 1) - DCD INTT1TX_IRQHandler ; 39: TSPI/SIO transmit (channel 1) - DCD INTT1ERR_IRQHandler ; 40: TSPI/SIO error (channel 1) - DCD INTT2RX_IRQHandler ; 41: TSPI/SIO reception (channel 2) - DCD INTT2TX_IRQHandler ; 42: TSPI/SIO transmit (channel 2) - DCD INTT2ERR_IRQHandler ; 43: TSPI/SIO error (channel 2) - DCD INTT3RX_IRQHandler ; 44: TSPI/SIO reception (channel 3) - DCD INTT3TX_IRQHandler ; 45: TSPI/SIO transmit (channel 3) - DCD INTT3ERR_IRQHandler ; 46: TSPI/SIO error (channel 3) - DCD INTT4RX_IRQHandler ; 47: TSPI/SIO reception (channel 4) - DCD INTT4TX_IRQHandler ; 48: TSPI/SIO transmit (channel 4) - DCD INTT4ERR_IRQHandler ; 49: TSPI/SIO error (channel 4) - DCD INTI2CWUP_IRQHandler ; 50: Serial bus interface (WakeUp) interrupt (channel 0) - DCD INTI2C0_IRQHandler ; 51: I2C0 transmission and reception interrupt - DCD INTI2C0AL_IRQHandler ; 52: I2C0 arbitration lost interrupt - DCD INTI2C0BF_IRQHandler ; 53: I2C0 bus free interrupt - DCD INTI2C0NA_IRQHandler ; 54: I2C0 no ack interrupt - DCD INTI2C1_IRQHandler ; 55: I2C1 transmission and reception interrupt - DCD INTI2C1AL_IRQHandler ; 56: I2C1 arbitration lost interrupt - DCD INTI2C1BF_IRQHandler ; 57: I2C1 bus free interrupt - DCD INTI2C1NA_IRQHandler ; 58: I2C1 no ack interrupt - DCD INTI2C2_IRQHandler ; 59: I2C2 transmission and reception interrupt - DCD INTI2C2AL_IRQHandler ; 60: I2C2 arbitration lost interrupt - DCD INTI2C2BF_IRQHandler ; 61: I2C2 bus free interrupt - DCD INTI2C2NA_IRQHandler ; 62: I2C2 no ack interrupt - DCD INTI2C3_IRQHandler ; 63: I2C3 transmission and reception interrupt - DCD INTI2C3AL_IRQHandler ; 64: I2C3 arbitration lost interrupt - DCD INTI2C3BF_IRQHandler ; 65: I2C3 bus free interrupt - DCD INTI2C3NA_IRQHandler ; 66: I2C3 no ack interrupt - DCD INTUART0RX_IRQHandler ; 67: UART reception (channel 0) - DCD INTUART0TX_IRQHandler ; 68: UART transmit (channel 0) - DCD INTUART0ERR_IRQHandler ; 69: UART error (channel 0) - DCD INTUART1RX_IRQHandler ; 70: UART reception (channel 1) - DCD INTUART1TX_IRQHandler ; 71: UART transmit (channel 1) - DCD INTUART1ERR_IRQHandler ; 72: UART error (channel 1) - DCD INTUART2RX_IRQHandler ; 73: UART reception (channel 2) - DCD INTUART2TX_IRQHandler ; 74: UART transmit (channel 2) - DCD INTUART2ERR_IRQHandler ; 75: UART error (channel 2) - DCD INTUART3RX_IRQHandler ; 76: UART reception (channel 3) - DCD INTUART3TX_IRQHandler ; 77: UART transmit (channel 3) - DCD INTUART3ERR_IRQHandler ; 78: UART error (channel 3) - DCD INTUART4RX_IRQHandler ; 79: UART reception (channel 4) - DCD INTUART4TX_IRQHandler ; 80: UART transmit (channel 4) - DCD INTUART4ERR_IRQHandler ; 81: UART error (channel 4) - DCD INTUART5RX_IRQHandler ; 82: UART reception (channel 5) - DCD INTUART5TX_IRQHandler ; 83: UART transmit (channel 5) - DCD INTUART5ERR_IRQHandler ; 84: UART error (channel 5) - DCD INTT32A00A_IRQHandler ; 85: 32bit T32A00A compare match detection 0 / Over flow / under flow - DCD INTT32A00ACAP0_IRQHandler ; 86: 32bit T32A00A input capture 0 - DCD INTT32A00ACAP1_IRQHandler ; 87: 32bit T32A00A input capture 1 - DCD INTT32A00B_IRQHandler ; 88: 32bit T32A00B compare match detection 0 / Over flow / under flow - DCD INTT32A00BCAP0_IRQHandler ; 89: 32bit T32A00B input capture 0 - DCD INTT32A00BCAP1_IRQHandler ; 90: 32bit T32A00B input capture 1 - DCD INTT32A00C_IRQHandler ; 91: 32bit T32A00C compare match detection 0 / Over flow / under flow - DCD INTT32A00CCAP0_IRQHandler ; 92: 32bit T32A00C input capture 0 - DCD INTT32A00CCAP1_IRQHandler ; 93: 32bit T32A00C input capture 1 - DCD INTT32A01A_IRQHandler ; 94: 32bit T32A01A compare match detection 0 / Over flow / under flow - DCD INTT32A01ACAP0_IRQHandler ; 95: 32bit T32A01A input capture 0 - DCD INTT32A01ACAP1_IRQHandler ; 96: 32bit T32A01A input capture 1 - DCD INTT32A01B_IRQHandler ; 97: 32bit T32A01B compare match detection 0 / Over flow / under flow - DCD INTT32A01BCAP0_IRQHandler ; 98: 32bit T32A01B input capture 0 - DCD INTT32A01BCAP1_IRQHandler ; 99: 32bit T32A01B input capture 1 - DCD INTT32A01C_IRQHandler ; 100: 32bit T32A01C compare match detection 0 / Over flow / under flow - DCD INTT32A01CCAP0_IRQHandler ; 101: 32bit T32A01C input capture 0 - DCD INTT32A01CCAP1_IRQHandler ; 102: 32bit T32A01C input capture 1 - DCD INTT32A02A_IRQHandler ; 103: 32bit T32A02A compare match detection 0 / Over flow / under flow - DCD INTT32A02ACAP0_IRQHandler ; 104: 32bit T32A02A input capture 0 - DCD INTT32A02ACAP1_IRQHandler ; 105: 32bit T32A02A input capture 1 - DCD INTT32A02B_IRQHandler ; 106: 32bit T32A02B compare match detection 0 / Over flow / under flow - DCD INTT32A02BCAP0_IRQHandler ; 107: 32bit T32A02B input capture 0 - DCD INTT32A02BCAP1_IRQHandler ; 108: 32bit T32A02B input capture 1 - DCD INTT32A02C_IRQHandler ; 109: 32bit T32A02C compare match detection 0 / Over flow / under flow - DCD INTT32A02CCAP0_IRQHandler ; 110: 32bit T32A02C input capture 0 - DCD INTT32A02CCAP1_IRQHandler ; 111: 32bit T32A02C input capture 1 - DCD INTT32A03A_IRQHandler ; 112: 32bit T32A03A compare match detection 0 / Over flow / under flow - DCD INTT32A03ACAP0_IRQHandler ; 113: 32bit T32A03A input capture 0 - DCD INTT32A03ACAP1_IRQHandler ; 114: 32bit T32A03A input capture 1 - DCD INTT32A03B_IRQHandler ; 115: 32bit T32A03B compare match detection 0 / Over flow / under flow - DCD INTT32A03BCAP0_IRQHandler ; 116: 32bit T32A03B input capture 0 - DCD INTT32A03BCAP1_IRQHandler ; 117: 32bit T32A03B input capture 1 - DCD INTT32A03C_IRQHandler ; 118: 32bit T32A03C compare match detection 0 / Over flow / under flow - DCD INTT32A03CCAP0_IRQHandler ; 119: 32bit T32A03C input capture 0 - DCD INTT32A03CCAP1_IRQHandler ; 120: 32bit T32A03C input capture 1 - DCD INTT32A04A_IRQHandler ; 121: 32bit T32A04A compare match detection 0 / Over flow / under flow - DCD INTT32A04ACAP0_IRQHandler ; 122: 32bit T32A04A input capture 0 - DCD INTT32A04ACAP1_IRQHandler ; 123: 32bit T32A04A input capture 1 - DCD INTT32A04B_IRQHandler ; 124: 32bit T32A04B compare match detection 0 / Over flow / under flow - DCD INTT32A04BCAP0_IRQHandler ; 125: 32bit T32A04B input capture 0 - DCD INTT32A04BCAP1_IRQHandler ; 126: 32bit T32A04B input capture 1 - DCD INTT32A04C_IRQHandler ; 127: 32bit T32A04C compare match detection 0 / Over flow / under flow - DCD INTT32A04CCAP0_IRQHandler ; 128: 32bit T32A04C input capture 0 - DCD INTT32A04CCAP1_IRQHandler ; 129: 32bit T32A04C input capture 1 - DCD INTT32A05A_IRQHandler ; 130: 32bit T32A05A compare match detection 0 / Over flow / under flow - DCD INTT32A05ACAP0_IRQHandler ; 131: 32bit T32A05A input capture 0 - DCD INTT32A05ACAP1_IRQHandler ; 132: 32bit T32A05A input capture 1 - DCD INTT32A05B_IRQHandler ; 133: 32bit T32A05B compare match detection 0 / Over flow / under flow - DCD INTT32A05BCAP0_IRQHandler ; 134: 32bit T32A05B input capture 0 - DCD INTT32A05BCAP1_IRQHandler ; 135: 32bit T32A05B input capture 1 - DCD INTT32A05C_IRQHandler ; 136: 32bit T32A05C compare match detection 0 / Over flow / under flow - DCD INTT32A05CCAP0_IRQHandler ; 137: 32bit T32A05C input capture 0 - DCD INTT32A05CCAP1_IRQHandler ; 138: 32bit T32A05C input capture 1 - DCD INTT32A06A_IRQHandler ; 139: 32bit T32A06A compare match detection 0 / Over flow / under flow - DCD INTT32A06ACAP0_IRQHandler ; 140: 32bit T32A06A input capture 0 - DCD INTT32A06ACAP1_IRQHandler ; 141: 32bit T32A06A input capture 1 - DCD INTT32A06B_IRQHandler ; 142: 32bit T32A06B compare match detection 0 / Over flow / under flow - DCD INTT32A06BCAP0_IRQHandler ; 143: 32bit T32A06B input capture 0 - DCD INTT32A06BCAP1_IRQHandler ; 144: 32bit T32A06B input capture 1 - DCD INTT32A06C_IRQHandler ; 145: 32bit T32A06C compare match detection 0 / Over flow / under flow - DCD INTT32A06CCAP0_IRQHandler ; 146: 32bit T32A06C input capture 0 - DCD INTT32A06CCAP1_IRQHandler ; 147: 32bit T32A06C input capture 1 - DCD INTT32A07A_IRQHandler ; 148: 32bit T32A07A compare match detection 0 / Over flow / under flow - DCD INTT32A07ACAP0_IRQHandler ; 149: 32bit T32A07A input capture 0 - DCD INTT32A07ACAP1_IRQHandler ; 150: 32bit T32A07A input capture 1 - DCD INTT32A07B_IRQHandler ; 151: 32bit T32A07B compare match detection 0 / Over flow / under flow - DCD INTT32A07BCAP0_IRQHandler ; 152: 32bit T32A07B input capture 0 - DCD INTT32A07BCAP1_IRQHandler ; 153: 32bit T32A07B input capture 1 - DCD INTT32A07C_IRQHandler ; 154: 32bit T32A07C compare match detection 0 / Over flow / under flow - DCD INTT32A07CCAP0_IRQHandler ; 155: 32bit T32A07C input capture 0 - DCD INTT32A07CCAP1_IRQHandler ; 156: 32bit T32A07C input capture 1 - DCD INTPARI_IRQHandler ; 157: RAM parity interrupt - DCD INTDMAATC_IRQHandler ; 158: DMAA end of transfer - DCD INTDMAAERR_IRQHandler ; 159: DMAA transfer error - DCD INTDMABTC_IRQHandler ; 160: DMAB end of transfer - DCD INTDMABERR_IRQHandler ; 161: DMAB transfer error - DCD INTRTC_IRQHandler ; 162: Real time clock interrupt - DCD INTRMC0_IRQHandler ; 163: Remote control reception interrupt - DCD INTFLCRDY_IRQHandler ; 164: Code FLASH Ready interrupt - DCD INTFLDRDY_IRQHandler ; 165: Data FLASH Ready interrupt - THUMB -; Dummy Exception Handlers (infinite loops which can be modified) - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK INT00_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT00_IRQHandler - B INT00_IRQHandler - - PUBWEAK INT01_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT01_IRQHandler - B INT01_IRQHandler - - PUBWEAK INT02_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT02_IRQHandler - B INT02_IRQHandler - - PUBWEAK INT03_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT03_IRQHandler - B INT03_IRQHandler - - PUBWEAK INT04_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT04_IRQHandler - B INT04_IRQHandler - - PUBWEAK INT05_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT05_IRQHandler - B INT05_IRQHandler - - PUBWEAK INT06_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT06_IRQHandler - B INT06_IRQHandler - - PUBWEAK INT07_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT07_IRQHandler - B INT07_IRQHandler - - PUBWEAK INT08_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT08_IRQHandler - B INT08_IRQHandler - - PUBWEAK INT09_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT09_IRQHandler - B INT09_IRQHandler - - PUBWEAK INT10_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT10_IRQHandler - B INT10_IRQHandler - - PUBWEAK INT11_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT11_IRQHandler - B INT11_IRQHandler - - PUBWEAK INT12_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT12_IRQHandler - B INT12_IRQHandler - - PUBWEAK INT13_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT13_IRQHandler - B INT13_IRQHandler - - PUBWEAK INT14_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT14_IRQHandler - B INT14_IRQHandler - - PUBWEAK INT15_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT15_IRQHandler - B INT15_IRQHandler - - PUBWEAK INT16_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT16_IRQHandler - B INT16_IRQHandler - - PUBWEAK INT17_18_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT17_18_IRQHandler - B INT17_18_IRQHandler - - PUBWEAK INT19_22_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT19_22_IRQHandler - B INT19_22_IRQHandler - - PUBWEAK INT23_26_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT23_26_IRQHandler - B INT23_26_IRQHandler - - PUBWEAK INT27_28_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT27_28_IRQHandler - B INT27_28_IRQHandler - - PUBWEAK INT29_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT29_IRQHandler - B INT29_IRQHandler - - PUBWEAK INT30_31_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT30_31_IRQHandler - B INT30_31_IRQHandler - - PUBWEAK INTEMG0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTEMG0_IRQHandler - B INTEMG0_IRQHandler - - PUBWEAK INTOVV0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTOVV0_IRQHandler - B INTOVV0_IRQHandler - - PUBWEAK INTPMD0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTPMD0_IRQHandler - B INTPMD0_IRQHandler - - PUBWEAK INTENC00_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTENC00_IRQHandler - B INTENC00_IRQHandler - - PUBWEAK INTENC01_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTENC01_IRQHandler - B INTENC01_IRQHandler - - PUBWEAK INTADAPDA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADAPDA_IRQHandler - B INTADAPDA_IRQHandler - - PUBWEAK INTADAPDB_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADAPDB_IRQHandler - B INTADAPDB_IRQHandler - - PUBWEAK INTADACP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACP0_IRQHandler - B INTADACP0_IRQHandler - - PUBWEAK INTADACP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACP1_IRQHandler - B INTADACP1_IRQHandler - - PUBWEAK INTADATRG_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADATRG_IRQHandler - B INTADATRG_IRQHandler - - PUBWEAK INTADASGL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADASGL_IRQHandler - B INTADASGL_IRQHandler - - PUBWEAK INTADACNT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACNT_IRQHandler - B INTADACNT_IRQHandler - - PUBWEAK INTT0RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0RX_IRQHandler - B INTT0RX_IRQHandler - - PUBWEAK INTT0TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0TX_IRQHandler - B INTT0TX_IRQHandler - - PUBWEAK INTT0ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0ERR_IRQHandler - B INTT0ERR_IRQHandler - - PUBWEAK INTT1RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1RX_IRQHandler - B INTT1RX_IRQHandler - - PUBWEAK INTT1TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1TX_IRQHandler - B INTT1TX_IRQHandler - - PUBWEAK INTT1ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1ERR_IRQHandler - B INTT1ERR_IRQHandler - - PUBWEAK INTT2RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2RX_IRQHandler - B INTT2RX_IRQHandler - - PUBWEAK INTT2TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2TX_IRQHandler - B INTT2TX_IRQHandler - - PUBWEAK INTT2ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2ERR_IRQHandler - B INTT2ERR_IRQHandler - - PUBWEAK INTT3RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3RX_IRQHandler - B INTT3RX_IRQHandler - - PUBWEAK INTT3TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3TX_IRQHandler - B INTT3TX_IRQHandler - - PUBWEAK INTT3ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3ERR_IRQHandler - B INTT3ERR_IRQHandler - - PUBWEAK INTT4RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4RX_IRQHandler - B INTT4RX_IRQHandler - - PUBWEAK INTT4TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4TX_IRQHandler - B INTT4TX_IRQHandler - - PUBWEAK INTT4ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4ERR_IRQHandler - B INTT4ERR_IRQHandler - - PUBWEAK INTI2CWUP_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2CWUP_IRQHandler - B INTI2CWUP_IRQHandler - - PUBWEAK INTI2C0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0_IRQHandler - B INTI2C0_IRQHandler - - PUBWEAK INTI2C0AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0AL_IRQHandler - B INTI2C0AL_IRQHandler - - PUBWEAK INTI2C0BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0BF_IRQHandler - B INTI2C0BF_IRQHandler - - PUBWEAK INTI2C0NA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0NA_IRQHandler - B INTI2C0NA_IRQHandler - - PUBWEAK INTI2C1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1_IRQHandler - B INTI2C1_IRQHandler - - PUBWEAK INTI2C1AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1AL_IRQHandler - B INTI2C1AL_IRQHandler - - PUBWEAK INTI2C1BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1BF_IRQHandler - B INTI2C1BF_IRQHandler - - PUBWEAK INTI2C1NA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1NA_IRQHandler - B INTI2C1NA_IRQHandler - - PUBWEAK INTI2C2_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2_IRQHandler - B INTI2C2_IRQHandler - - PUBWEAK INTI2C2AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2AL_IRQHandler - B INTI2C2AL_IRQHandler - - PUBWEAK INTI2C2BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2BF_IRQHandler - B INTI2C2BF_IRQHandler - - PUBWEAK INTI2C2NA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2NA_IRQHandler - B INTI2C2NA_IRQHandler - - PUBWEAK INTI2C3_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3_IRQHandler - B INTI2C3_IRQHandler - - PUBWEAK INTI2C3AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3AL_IRQHandler - B INTI2C3AL_IRQHandler - - PUBWEAK INTI2C3BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3BF_IRQHandler - B INTI2C3BF_IRQHandler - - PUBWEAK INTI2C3NA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3NA_IRQHandler - B INTI2C3NA_IRQHandler - - PUBWEAK INTUART0RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0RX_IRQHandler - B INTUART0RX_IRQHandler - - PUBWEAK INTUART0TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0TX_IRQHandler - B INTUART0TX_IRQHandler - - PUBWEAK INTUART0ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0ERR_IRQHandler - B INTUART0ERR_IRQHandler - - PUBWEAK INTUART1RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1RX_IRQHandler - B INTUART1RX_IRQHandler - - PUBWEAK INTUART1TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1TX_IRQHandler - B INTUART1TX_IRQHandler - - PUBWEAK INTUART1ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1ERR_IRQHandler - B INTUART1ERR_IRQHandler - - PUBWEAK INTUART2RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2RX_IRQHandler - B INTUART2RX_IRQHandler - - PUBWEAK INTUART2TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2TX_IRQHandler - B INTUART2TX_IRQHandler - - PUBWEAK INTUART2ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2ERR_IRQHandler - B INTUART2ERR_IRQHandler - - PUBWEAK INTUART3RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3RX_IRQHandler - B INTUART3RX_IRQHandler - - PUBWEAK INTUART3TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3TX_IRQHandler - B INTUART3TX_IRQHandler - - PUBWEAK INTUART3ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3ERR_IRQHandler - B INTUART3ERR_IRQHandler - - PUBWEAK INTUART4RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4RX_IRQHandler - B INTUART4RX_IRQHandler - - PUBWEAK INTUART4TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4TX_IRQHandler - B INTUART4TX_IRQHandler - - PUBWEAK INTUART4ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4ERR_IRQHandler - B INTUART4ERR_IRQHandler - - PUBWEAK INTUART5RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5RX_IRQHandler - B INTUART5RX_IRQHandler - - PUBWEAK INTUART5TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5TX_IRQHandler - B INTUART5TX_IRQHandler - - PUBWEAK INTUART5ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5ERR_IRQHandler - B INTUART5ERR_IRQHandler - - PUBWEAK INTT32A00A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00A_IRQHandler - B INTT32A00A_IRQHandler - - PUBWEAK INTT32A00ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00ACAP0_IRQHandler - B INTT32A00ACAP0_IRQHandler - - PUBWEAK INTT32A00ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00ACAP1_IRQHandler - B INTT32A00ACAP1_IRQHandler - - PUBWEAK INTT32A00B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00B_IRQHandler - B INTT32A00B_IRQHandler - - PUBWEAK INTT32A00BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00BCAP0_IRQHandler - B INTT32A00BCAP0_IRQHandler - - PUBWEAK INTT32A00BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00BCAP1_IRQHandler - B INTT32A00BCAP1_IRQHandler - - PUBWEAK INTT32A00C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00C_IRQHandler - B INTT32A00C_IRQHandler - - PUBWEAK INTT32A00CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00CCAP0_IRQHandler - B INTT32A00CCAP0_IRQHandler - - PUBWEAK INTT32A00CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00CCAP1_IRQHandler - B INTT32A00CCAP1_IRQHandler - - PUBWEAK INTT32A01A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01A_IRQHandler - B INTT32A01A_IRQHandler - - PUBWEAK INTT32A01ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01ACAP0_IRQHandler - B INTT32A01ACAP0_IRQHandler - - PUBWEAK INTT32A01ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01ACAP1_IRQHandler - B INTT32A01ACAP1_IRQHandler - - PUBWEAK INTT32A01B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01B_IRQHandler - B INTT32A01B_IRQHandler - - PUBWEAK INTT32A01BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01BCAP0_IRQHandler - B INTT32A01BCAP0_IRQHandler - - PUBWEAK INTT32A01BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01BCAP1_IRQHandler - B INTT32A01BCAP1_IRQHandler - - PUBWEAK INTT32A01C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01C_IRQHandler - B INTT32A01C_IRQHandler - - PUBWEAK INTT32A01CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01CCAP0_IRQHandler - B INTT32A01CCAP0_IRQHandler - - PUBWEAK INTT32A01CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01CCAP1_IRQHandler - B INTT32A01CCAP1_IRQHandler - - PUBWEAK INTT32A02A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02A_IRQHandler - B INTT32A02A_IRQHandler - - PUBWEAK INTT32A02ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02ACAP0_IRQHandler - B INTT32A02ACAP0_IRQHandler - - PUBWEAK INTT32A02ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02ACAP1_IRQHandler - B INTT32A02ACAP1_IRQHandler - - PUBWEAK INTT32A02B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02B_IRQHandler - B INTT32A02B_IRQHandler - - PUBWEAK INTT32A02BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02BCAP0_IRQHandler - B INTT32A02BCAP0_IRQHandler - - PUBWEAK INTT32A02BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02BCAP1_IRQHandler - B INTT32A02BCAP1_IRQHandler - - PUBWEAK INTT32A02C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02C_IRQHandler - B INTT32A02C_IRQHandler - - PUBWEAK INTT32A02CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02CCAP0_IRQHandler - B INTT32A02CCAP0_IRQHandler - - PUBWEAK INTT32A02CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02CCAP1_IRQHandler - B INTT32A02CCAP1_IRQHandler - - PUBWEAK INTT32A03A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03A_IRQHandler - B INTT32A03A_IRQHandler - - PUBWEAK INTT32A03ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03ACAP0_IRQHandler - B INTT32A03ACAP0_IRQHandler - - PUBWEAK INTT32A03ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03ACAP1_IRQHandler - B INTT32A03ACAP1_IRQHandler - - PUBWEAK INTT32A03B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03B_IRQHandler - B INTT32A03B_IRQHandler - - PUBWEAK INTT32A03BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03BCAP0_IRQHandler - B INTT32A03BCAP0_IRQHandler - - PUBWEAK INTT32A03BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03BCAP1_IRQHandler - B INTT32A03BCAP1_IRQHandler - - PUBWEAK INTT32A03C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03C_IRQHandler - B INTT32A03C_IRQHandler - - PUBWEAK INTT32A03CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03CCAP0_IRQHandler - B INTT32A03CCAP0_IRQHandler - - PUBWEAK INTT32A03CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03CCAP1_IRQHandler - B INTT32A03CCAP1_IRQHandler - - PUBWEAK INTT32A04A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04A_IRQHandler - B INTT32A04A_IRQHandler - - PUBWEAK INTT32A04ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04ACAP0_IRQHandler - B INTT32A04ACAP0_IRQHandler - - PUBWEAK INTT32A04ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04ACAP1_IRQHandler - B INTT32A04ACAP1_IRQHandler - - PUBWEAK INTT32A04B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04B_IRQHandler - B INTT32A04B_IRQHandler - - PUBWEAK INTT32A04BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04BCAP0_IRQHandler - B INTT32A04BCAP0_IRQHandler - - PUBWEAK INTT32A04BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04BCAP1_IRQHandler - B INTT32A04BCAP1_IRQHandler - - PUBWEAK INTT32A04C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04C_IRQHandler - B INTT32A04C_IRQHandler - - PUBWEAK INTT32A04CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04CCAP0_IRQHandler - B INTT32A04CCAP0_IRQHandler - - PUBWEAK INTT32A04CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04CCAP1_IRQHandler - B INTT32A04CCAP1_IRQHandler - - PUBWEAK INTT32A05A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05A_IRQHandler - B INTT32A05A_IRQHandler - - PUBWEAK INTT32A05ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05ACAP0_IRQHandler - B INTT32A05ACAP0_IRQHandler - - PUBWEAK INTT32A05ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05ACAP1_IRQHandler - B INTT32A05ACAP1_IRQHandler - - PUBWEAK INTT32A05B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05B_IRQHandler - B INTT32A05B_IRQHandler - - PUBWEAK INTT32A05BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05BCAP0_IRQHandler - B INTT32A05BCAP0_IRQHandler - - PUBWEAK INTT32A05BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05BCAP1_IRQHandler - B INTT32A05BCAP1_IRQHandler - - PUBWEAK INTT32A05C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05C_IRQHandler - B INTT32A05C_IRQHandler - - PUBWEAK INTT32A05CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05CCAP0_IRQHandler - B INTT32A05CCAP0_IRQHandler - - PUBWEAK INTT32A05CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05CCAP1_IRQHandler - B INTT32A05CCAP1_IRQHandler - - PUBWEAK INTT32A06A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06A_IRQHandler - B INTT32A06A_IRQHandler - - PUBWEAK INTT32A06ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06ACAP0_IRQHandler - B INTT32A06ACAP0_IRQHandler - - PUBWEAK INTT32A06ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06ACAP1_IRQHandler - B INTT32A06ACAP1_IRQHandler - - PUBWEAK INTT32A06B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06B_IRQHandler - B INTT32A06B_IRQHandler - - PUBWEAK INTT32A06BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06BCAP0_IRQHandler - B INTT32A06BCAP0_IRQHandler - - PUBWEAK INTT32A06BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06BCAP1_IRQHandler - B INTT32A06BCAP1_IRQHandler - - PUBWEAK INTT32A06C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06C_IRQHandler - B INTT32A06C_IRQHandler - - PUBWEAK INTT32A06CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06CCAP0_IRQHandler - B INTT32A06CCAP0_IRQHandler - - PUBWEAK INTT32A06CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06CCAP1_IRQHandler - B INTT32A06CCAP1_IRQHandler - - PUBWEAK INTT32A07A_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07A_IRQHandler - B INTT32A07A_IRQHandler - - PUBWEAK INTT32A07ACAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07ACAP0_IRQHandler - B INTT32A07ACAP0_IRQHandler - - PUBWEAK INTT32A07ACAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07ACAP1_IRQHandler - B INTT32A07ACAP1_IRQHandler - - PUBWEAK INTT32A07B_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07B_IRQHandler - B INTT32A07B_IRQHandler - - PUBWEAK INTT32A07BCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07BCAP0_IRQHandler - B INTT32A07BCAP0_IRQHandler - - PUBWEAK INTT32A07BCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07BCAP1_IRQHandler - B INTT32A07BCAP1_IRQHandler - - PUBWEAK INTT32A07C_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07C_IRQHandler - B INTT32A07C_IRQHandler - - PUBWEAK INTT32A07CCAP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07CCAP0_IRQHandler - B INTT32A07CCAP0_IRQHandler - - PUBWEAK INTT32A07CCAP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07CCAP1_IRQHandler - B INTT32A07CCAP1_IRQHandler - - PUBWEAK INTPARI_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTPARI_IRQHandler - B INTPARI_IRQHandler - - PUBWEAK INTDMAATC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTDMAATC_IRQHandler - B INTDMAATC_IRQHandler - - PUBWEAK INTDMAAERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTDMAAERR_IRQHandler - B INTDMAAERR_IRQHandler - - PUBWEAK INTDMABTC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTDMABTC_IRQHandler - B INTDMABTC_IRQHandler - - PUBWEAK INTDMABERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTDMABERR_IRQHandler - B INTDMABERR_IRQHandler - - PUBWEAK INTRTC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTRTC_IRQHandler - B INTRTC_IRQHandler - - PUBWEAK INTRMC0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTRMC0_IRQHandler - B INTRMC0_IRQHandler - - PUBWEAK INTFLCRDY_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFLCRDY_IRQHandler - B INTFLCRDY_IRQHandler - - PUBWEAK INTFLDRDY_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFLDRDY_IRQHandler - B INTFLDRDY_IRQHandler - - END diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf b/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf deleted file mode 100644 index 0d58c53864a..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf +++ /dev/null @@ -1,43 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -/*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x00000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF; -define symbol __ICFEDIT_region_RAM_start__ = 0x200002D8; -define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; -/*-Sizes-*/ -if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) { - define symbol MBED_BOOT_STACK_SIZE = 0x400; -} -define symbol __ICFEDIT_size_cstack__ = MBED_BOOT_STACK_SIZE; -define symbol __ICFEDIT_size_heap__ = 0x2000; -/**** End of ICF editor section. ###ICF###*/ - - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -define symbol __BRAM_start__ = 0x20010000; -define symbol __BRAM_end__ = 0x200107FF; -define symbol __DFLASH_start__ = 0x30000000; -define symbol __DFLASH_end__ = 0x30007FFF; -define region BRAM_region = mem:[from __BRAM_start__ to __BRAM_end__ ]; -define region DFLASH_region = mem:[from __DFLASH_start__ to __DFLASH_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in ROM_region { readonly }; -place in RAM_region { readwrite, - block CSTACK, block HEAP }; -place in BRAM_region { section .backup_ram }; -place in DFLASH_region { section .data_flash }; diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis.h b/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis.h deleted file mode 100644 index 441eb0d0ef8..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis.h +++ /dev/null @@ -1,12 +0,0 @@ -/* mbed Microcontroller Library - CMSIS for TMPM3HQ - * Copyright (C) 2011 ARM Limited. All rights reserved. - * - * A generic CMSIS include header, pulling in TMPM3HQ specifics - */ -#ifndef MBED_CMSIS_H -#define MBED_CMSIS_H - -#include "TMPM3HQ.h" -#include "cmsis_nvic.h" - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis_nvic.h b/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis_nvic.h deleted file mode 100644 index bb3ccde7a00..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/cmsis_nvic.h +++ /dev/null @@ -1,13 +0,0 @@ -/* mbed Microcontroller Library - cmsis_nvic for TMPM3HQ - * Copyright (c) 2011 ARM Limited. All rights reserved. - * - * CMSIS-style functionality to support dynamic vectors - */ - -#ifndef MBED_CMSIS_NVIC_H -#define MBED_CMSIS_NVIC_H - -#define NVIC_NUM_VECTORS (182) -#define NVIC_RAM_VECTOR_ADDRESS 0x20000000 // Location of vectors in RAM - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.c b/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.c deleted file mode 100644 index 92a628a8563..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.c +++ /dev/null @@ -1,342 +0,0 @@ -/** - ******************************************************************************* - * @file system_TMPM3Hy.c - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Source File for the - * TOSHIBA 'TMPM3Hy' Device Series - * @version 0.0.5.0 - * $Date:: 2017-07-01 #$ - * - * DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LISENCE AGREEMENT. - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#include "TMPM3HQ.h" - -/*-------- <<< Start of configuration section >>> ----------------------------*/ - -/* Semi-Independent Watchdog Timer (SIWDT) Configuration */ -#define SIWD_SETUP (1U) /* 1:Disable SIWD, 0:Enable SIWD */ -#define SIWDEN_Val (0x00000000UL) /* SIWD Disable */ -#define SIWDCR_Val (0x000000B1UL) /* SIWD Disable code */ - -/* Clock Generator (CG) Configuration */ -#define CLOCK_SETUP (1U) /* 1:External HOSC, 0: Internal HOSC */ -#define SYSCR_Val (0x00000000UL) - -#define STBYCR_Val (0x00000000UL) - -#define CG_6M_MUL_13_328_FPLL (0x001C6535UL<<8U) /* fPLL = 6MHz * 13.328 */ -#define CG_8M_MUL_10_FPLL (0x00246028UL<<8U) /* fPLL = 8MHz * 10 */ -#define CG_10M_MUL_8_FPLL (0x002E6020UL<<8U) /* fPLL = 10MHz * 8 */ -#define CG_12M_MUL_6_656_FPLL (0x0036EA1AUL<<8U) /* fPLL = 12MHz * 6.656 */ -#define CG_6M_MUL_6_664_FPLL (0x001C7535UL<<8U) /* fPLL = 6MHz * 6.664 */ -#define CG_8M_MUL_5_FPLL (0x00247028UL<<8U) /* fPLL = 8MHz * 5 */ -#define CG_10M_MUL_4_FPLL (0x002E7020UL<<8U) /* fPLL = 10MHz * 4 */ -#define CG_12M_MUL_3_328_FPLL (0x0036FA1AUL<<8U) /* fPLL = 12MHz * 3.328 */ - -#define CG_PLL0SEL_PLL0ON_SET ((uint32_t)0x00000001) -#define CG_PLL0SEL_PLL0ON_CLEAR ((uint32_t)0xFFFFFFFE) -#define CG_PLL0SEL_PLL0SEL_SET ((uint32_t)0x00000002) -#define CG_PLL0SEL_PLL0SEL_CLEAR ((uint32_t)0xFFFFFFFD) - -#define CG_OSCCR_IHOSC1EN_CLEAR ((uint32_t)0xFFFFFFFE) -#define CG_OSCCR_EOSCEN_SET ((uint32_t)0x00000002) -#define CG_OSCCR_OSCSEL_SET ((uint32_t)0x00000100) - -#define CG_WUPHCR_WUON_START_SET ((uint32_t)0x00000001) - -#if (CLOCK_SETUP) - #define CG_WUPHCR_WUCLK_SET ((uint32_t)0x00000100) - #define PLL0SEL_Ready CG_12M_MUL_3_328_FPLL -#else - #define CG_WUPHCR_WUCLK_SET ((uint32_t)0x00000000) - #define PLL0SEL_Ready CG_10M_MUL_8_FPLL -#endif -#define PLL0SEL_Val (PLL0SEL_Ready|0x00000003UL) -#define PLL0SEL_MASK (0xFFFFFF00UL) - -/*-------- <<< End of configuration section >>> ------------------------------*/ - -/*-------- DEFINES -----------------------------------------------------------*/ -/* Define clocks */ -#define EOSC_6M (6000000UL) -#define EOSC_8M (8000000UL) -#define EOSC_10M (10000000UL) -#define EOSC_12M (12000000UL) -#define IOSC_10M (10000000UL) -#define EXTALH EOSC_12M /* External high-speed oscillator freq */ -#define IXTALH IOSC_10M /* Internal high-speed oscillator freq */ -#define EOSC_6M_DIV4_PLLON (79970000UL) /* 6.00MHz * 53.3125 / 4 */ -#define EOSC_8M_DIV4_PLLON (80000000UL) /* 8.00MHz * 40.0000 / 4 */ -#define EOSC_10M_DIV4_PLLON (80000000UL) /* 10.00MHz * 32.0000 / 4 */ -#define EOSC_12M_DIV4_PLLON (79880000UL) /* 12.00MHz * 26.6250 / 4 */ -#define IOSC_10M_DIV4_PLLON (80000000UL) /* 10.00MHz * 32.0000 / 4 */ -#define EOSC_6M_DIV8_PLLON (39980000UL) /* 6.00MHz * 53.3125 / 8 */ -#define EOSC_8M_DIV8_PLLON (40000000UL) /* 8.00MHz * 40.0000 / 8 */ -#define EOSC_10M_DIV8_PLLON (40000000UL) /* 10.00MHz * 32.0000 / 8 */ -#define EOSC_12M_DIV8_PLLON (39940000UL) /* 12.00MHz * 26.6250 / 8 */ -#define IOSC_10M_DIV8_PLLON (40000000UL) /* 10.00MHz * 32.0000 / 8 */ - -/* Configure Warm-up time */ -#define HZ_1M (1000000UL) -#define WU_TIME_EXT (5000UL) /* warm-up time for EXT is 5ms */ -#define INIT_TIME_PLL (100UL) /* Initial time for PLL is 100us */ -#define LOCKUP_TIME_PLL (400UL) /* Lockup time for PLL is 400us */ -#define WUPHCR_WUPT_EXT ((uint32_t)(((((uint64_t)WU_TIME_EXT * EXTALH / HZ_1M) - 16UL) /16UL) << 20U)) /* OSCCR = warm-up time(us) * EXTALH / 16 */ -#if (CLOCK_SETUP) - #define WUPHCR_INIT_PLL ((uint32_t)(((((uint64_t)INIT_TIME_PLL * EXTALH / HZ_1M) - 16UL) /16UL) << 20U)) - #define WUPHCR_LUPT_PLL ((uint32_t)(((((uint64_t)LOCKUP_TIME_PLL * EXTALH / HZ_1M) - 16UL) /16UL) << 20U)) -#else - #define WUPHCR_INIT_PLL ((uint32_t)(((((uint64_t)INIT_TIME_PLL * IXTALH / HZ_1M) - 16UL) /16UL) << 20U)) - #define WUPHCR_LUPT_PLL ((uint32_t)(((((uint64_t)LOCKUP_TIME_PLL * IXTALH / HZ_1M) - 16UL) /16UL) << 20U)) -#endif -/* Determine core clock frequency according to settings */ -/* System clock is high-speed clock*/ -#if (CLOCK_SETUP) - #define CORE_TALH (EXTALH) -#else - #define CORE_TALH (IXTALH) -#endif - -#if ((PLL0SEL_Val & (1U<<1U)) && (PLL0SEL_Val & (1U<<0U))) /* If PLL selected and enabled */ - #if (CORE_TALH == EOSC_6M) /* If input is 6MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == (CG_6M_MUL_13_328_FPLL)) - #define __CORE_CLK EOSC_6M_DIV4_PLLON /* output clock is 79.97MHz */ - #elif ((PLL0SEL_Val & PLL0SEL_MASK) == (CG_6M_MUL_6_664_FPLL)) - #define __CORE_CLK EOSC_6M_DIV8_PLLON /* output clock is 39.98MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 6MHz */ - #elif (CORE_TALH == EOSC_8M) /* If input is 8MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == (CG_8M_MUL_10_FPLL)) - #define __CORE_CLK EOSC_8M_DIV4_PLLON /* output clock is 80MHz */ - #elif ((PLL0SEL_Val & PLL0SEL_MASK) == (CG_8M_MUL_5_FPLL)) - #define __CORE_CLK EOSC_8M_DIV8_PLLON /* output clock is 40MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 8MHz */ - #elif (CORE_TALH == EOSC_10M) /* If input is 10MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_8_FPLL) - #define __CORE_CLK EOSC_10M_DIV4_PLLON /* output clock is 80MHz */ - #elif ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_4_FPLL) - #define __CORE_CLK EOSC_10M_DIV8_PLLON /* output clock is 40MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 10MHz */ - #elif (CORE_TALH == EOSC_12M) /* If input is 12MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_12M_MUL_6_656_FPLL) - #define __CORE_CLK EOSC_12M_DIV4_PLLON /* output clock is 79.88MHz */ - #elif ((PLL0SEL_Val & PLL0SEL_MASK) == CG_12M_MUL_3_328_FPLL) - #define __CORE_CLK EOSC_12M_DIV8_PLLON /* output clock is 39.94MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 12MHz */ - #elif (CORE_TALH == IOSC_10M) /* If input is 10MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_8_FPLL) - #define __CORE_CLK IOSC_10M_DIV4_PLLON /* output clock is 80MHz */ - #elif ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_4_FPLL) - #define __CORE_CLK IOSC_10M_DIV8_PLLON /* output clock is 40MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 10MHz */ - #else /* input clock not known */ - #define __CORE_CLK (0U) - #error "Core Oscillator Frequency invalid!" - #endif /* End switch input clock */ -#else - #define __CORE_CLK (CORE_TALH) -#endif - -#if ((SYSCR_Val & 7U) == 0U) /* Gear -> fc */ - #define __CORE_SYS (__CORE_CLK) -#elif ((SYSCR_Val & 7U) == 1U) /* Gear -> fc/2 */ - #define __CORE_SYS (__CORE_CLK / 2U) -#elif ((SYSCR_Val & 7U) == 2U) /* Gear -> fc/4 */ - #define __CORE_SYS (__CORE_CLK / 4U ) -#elif ((SYSCR_Val & 7U) == 3U) /* Gear -> fc/8 */ - #define __CORE_SYS (__CORE_CLK / 8U) -#elif ((SYSCR_Val & 7U) == 4U) /* Gear -> fc/16 */ - #define __CORE_SYS (__CORE_CLK / 16U) -#else /* Gear -> reserved */ - #define __CORE_SYS (0U) -#endif - - -/* Clock Variable definitions */ -uint32_t SystemCoreClock = __CORE_SYS; /*!< System Clock Frequency (Core Clock) */ - - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Update SystemCoreClock according register values. - */ -void SystemCoreClockUpdate(void) -{ /* Get Core Clock Frequency */ - uint32_t CoreClock = 0U; - uint32_t CoreClockInput = 0U; - uint32_t regval = 0U; - uint32_t oscsel = 0U; - uint32_t pll0sel = 0U; - uint32_t pll0on = 0U; - /* Determine clock frequency according to clock register values */ - /* System clock is high-speed clock */ - regval = TSB_CG->OSCCR; - oscsel = regval & CG_OSCCR_OSCSEL_SET; - if (oscsel) { /* If system clock is External high-speed oscillator freq */ - CoreClock = EXTALH; - } else { /* If system clock is Internal high-speed oscillator freq */ - CoreClock = IXTALH; - } - regval = TSB_CG->PLL0SEL; - pll0sel = regval & CG_PLL0SEL_PLL0SEL_SET; - pll0on = regval & CG_PLL0SEL_PLL0ON_SET; - if (pll0sel && pll0on) { /* If PLL enabled */ - if (CoreClock == EOSC_6M) { /* If input is 6MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_6M_MUL_13_328_FPLL) { - CoreClockInput = EOSC_6M_DIV4_PLLON; /* output clock is 79.97MHz */ - } else if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_6M_MUL_6_664_FPLL) { - CoreClockInput = EOSC_6M_DIV8_PLLON; /* output clock is 39.98MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_8M) { /* If input is 8MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_8M_MUL_10_FPLL) { - CoreClockInput = EOSC_8M_DIV4_PLLON; /* output clock is 80MHz */ - } else if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_8M_MUL_5_FPLL) { - CoreClockInput = EOSC_8M_DIV8_PLLON; /* output clock is 40MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_10M) { /* If input is 10MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_8_FPLL) { - CoreClockInput = EOSC_10M_DIV4_PLLON; /* output clock is 80MHz */ - } else if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_4_FPLL) { - CoreClockInput = EOSC_10M_DIV8_PLLON; /* output clock is 40MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_12M) { /* If input is 12MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_12M_MUL_6_656_FPLL) { - CoreClockInput = EOSC_12M_DIV4_PLLON; /* output clock is 79.88MHz */ - } else if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_12M_MUL_3_328_FPLL) { - CoreClockInput = EOSC_12M_DIV8_PLLON; /* output clock is 39.94MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == IOSC_10M) { /* If input is 10MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_8_FPLL) { - CoreClockInput = IOSC_10M_DIV4_PLLON; /* output clock is 80MHz */ - } else if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_4_FPLL) { - CoreClockInput = IOSC_10M_DIV8_PLLON; /* output clock is 40MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else { - CoreClockInput = 0U; - } - } else { /* If PLL not used */ - CoreClockInput = CoreClock; - } - - switch (TSB_CG->SYSCR & 7U) { - case 0U: /* Gear -> fc */ - SystemCoreClock = CoreClockInput; - break; - case 1U: /* Gear -> fc/2 */ - SystemCoreClock = CoreClockInput / 2U; - break; - case 2U: /* Gear -> fc/4 */ - SystemCoreClock = CoreClockInput / 4U; - break; - case 3U: /* Gear -> fc/8 */ - if (CoreClockInput >= EOSC_8M) { - SystemCoreClock = CoreClockInput / 8U; - } else { - SystemCoreClock = 0U; - } - break; - case 4U: /* Gear -> fc/16 */ - if (CoreClockInput > EOSC_12M) { - SystemCoreClock = CoreClockInput / 16U; - } else { - SystemCoreClock = 0U; - } - break; - case 5U: - case 6U: - case 7U: - SystemCoreClock = 0U; - break; - default: - SystemCoreClock = 0U; - break; - } -} - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System. - */ -void SystemInit(void) -{ -#if (SIWD_SETUP) /* Watchdog Setup */ - /* SIWD Disable */ - TSB_SIWD0->EN = SIWDEN_Val; - TSB_SIWD0->CR = SIWDCR_Val; -#else - /* SIWD Enable (Setting after a Reset) */ -#endif - -#if (CLOCK_SETUP) /* Clock(external) Setup */ - TSB_CG->SYSCR = SYSCR_Val; - - TSB_CG->WUPHCR = (WUPHCR_WUPT_EXT | CG_WUPHCR_WUCLK_SET); - TSB_CG->OSCCR |= CG_OSCCR_EOSCEN_SET; - TSB_CG->WUPHCR = (WUPHCR_WUPT_EXT | CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Warm-up */ - - TSB_CG->OSCCR |= CG_OSCCR_OSCSEL_SET; - while (!TSB_CG_OSCCR_OSCF) { - ; - } /* Confirm CGOSCCR="1" */ - TSB_CG->OSCCR &= CG_OSCCR_IHOSC1EN_CLEAR ; -#else - /* Internal HOSC Enable (Setting after a Reset) */ -#endif - - TSB_CG->WUPHCR = (WUPHCR_INIT_PLL | CG_WUPHCR_WUCLK_SET); - TSB_CG->PLL0SEL &= CG_PLL0SEL_PLL0SEL_CLEAR; /* PLL-->fOsc */ - TSB_CG->PLL0SEL &= CG_PLL0SEL_PLL0ON_CLEAR; - TSB_CG->PLL0SEL = PLL0SEL_Ready; - TSB_CG->WUPHCR = (WUPHCR_INIT_PLL | CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Warm-up */ - - TSB_CG->WUPHCR = (WUPHCR_LUPT_PLL | CG_WUPHCR_WUCLK_SET); - TSB_CG->PLL0SEL |= CG_PLL0SEL_PLL0ON_SET; /* PLL enabled */ - TSB_CG->STBYCR = STBYCR_Val; - TSB_CG->WUPHCR = (WUPHCR_LUPT_PLL | CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - //Enable 32.768khz. - //TSB_RLM->LOSCCR = 0x01; - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Lockup */ - TSB_CG->PLL0SEL |= CG_PLL0SEL_PLL0SEL_SET; - while (!TSB_CG_PLL0SEL_PLL0ST) { - ; - } /*Confirm CGPLL0SEL = "1" */ -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.h b/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.h deleted file mode 100644 index 0dd2ddcdb54..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/device/system_TMPM3HQ.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ***************************************************************************** - * @file system_TMPM3Hy.h - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File for the - * TOSHIBA 'TMPM3Hy' Device Series - * @version V1.0.1.0 - * $Date:: 2017-07-01 #$ - * - * DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LISENCE AGREEMENT. - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ***************************************************************************** - */ - -#include - -#ifndef __SYSTEM_TMPM3HQ_H -#define __SYSTEM_TMPM3HQ_H - -#ifdef __cplusplus -extern "C" { -#endif - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - -/** - * Update SystemCoreClock variable - * - * @param none - * @return none - * - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c deleted file mode 100644 index a800f57e2ed..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c +++ /dev/null @@ -1,116 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gpio_api.h" -#include "pinmap.h" -#include "mbed_error.h" -#include "gpio_include.h" - -extern const PinMap PinMap_GPIO_IRQ[]; -#define GPIO_DATA PIN_DATA(0, 2) - -uint32_t gpio_set(PinName pin) -{ - // Check that pin is valid - MBED_ASSERT(pin != (PinName)NC); - // Checking pin name is not interrupt pins - // Set pin function as GPIO pin - pin_function(pin, GPIO_DATA); - // Return pin mask - return (1 << (pin & 0x07)); -} - -void gpio_init(gpio_t *obj, PinName pin) -{ - // Store above pin mask, pin name into GPIO object - obj->pin = pin; - if (pin != NC) { - obj->mask = gpio_set(pin); - obj->port = (PortName) (pin >> 3); - TSB_CG->FSYSENA |= (1<<(obj->port)); - } -} - -void gpio_mode(gpio_t *obj, PinMode mode) -{ - pin_mode(obj->pin, mode); -} - -// Set gpio object pin direction -void gpio_dir(gpio_t *obj, PinDirection direction) -{ - // Set direction - switch (direction) { - case PIN_INPUT: - pin_function(obj->pin, PIN_INPUT); - break; - - case PIN_OUTPUT: - pin_function(obj->pin, PIN_OUTPUT); - break; - - case PIN_INOUT: - pin_function(obj->pin, PIN_INOUT); - break; - - default: - error("Invalid direction\n"); - break; - } -} - -// Write gpio object pin data -void gpio_write(gpio_t *obj, int value) -{ - int port = 0; - uint8_t bit = 0; - uint32_t base; - - // Calculate port and pin position - port = PIN_PORT(obj->pin); - bit = PIN_POS(obj->pin); - - base = BITBAND_PORT_BASE(port); - base = BITBAND_PORT_MODE_BASE(base, GPIO_Mode_DATA); - if(value == GPIO_PIN_SET) - BITBAND_PORT_SET(base, bit); - else if(value == GPIO_PIN_RESET) - BITBAND_PORT_CLR(base, bit); - else - error("Invalid value\n"); -} - -// Read gpio object pin data -int gpio_read (gpio_t *obj) -{ - int port = 0; - uint8_t bit = 0; - uint32_t base; - uint32_t val; - int BitValue; - - // Calculate port and pin position - port = PIN_PORT(obj->pin); - bit = PIN_POS(obj->pin); - - base = BITBAND_PORT_BASE(port); - base = BITBAND_PORT_MODE_BASE(base, GPIO_Mode_DATA); - BITBAND_PORT_READ(val, base, bit); - if(val == GPIO_PIN_RESET) - BitValue = GPIO_PIN_RESET; - else - BitValue = GPIO_PIN_SET; - return (BitValue); -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_include.h b/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_include.h deleted file mode 100644 index 04b381798d4..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_include.h +++ /dev/null @@ -1,355 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef __GPIO_INCLUDE_H -#define __GPIO_INCLUDE_H - -#include -#include "TMPM3HQ.h" -#include "objects.h" -#include "serial_api.h" - -enum BitMode { - GPIO_PIN_RESET = 0, /* 0: Clear */ - GPIO_PIN_SET, /* 1: Set */ -}; - -enum PortFunction { - GPIO_Mode_DATA = 0x0, /* 0x0: PxDATA */ - GPIO_Mode_CR = 0x04, /* 0x4: PxCR */ - GPIO_Mode_FR1 = 0x08, /* 0x8: PxFR1 */ - GPIO_Mode_FR2 = 0x0C, /* 0xC: PxFR2 */ - GPIO_Mode_FR3 = 0x10, /* 0x10: PxFR3 */ - GPIO_Mode_FR4 = 0x14, /* 0x14: PxFR4 */ - GPIO_Mode_FR5 = 0x18, /* 0x18: PxFR5 */ - GPIO_Mode_FR6 = 0x1C, /* 0x1C: PxFR6 */ - GPIO_Mode_FR7 = 0x20, /* 0x20: PxFR7 */ - GPIO_Mode_OD = 0x28, /* 0x28: PxOD */ - GPIO_Mode_PUP = 0x2C, /* 0x2C: PxPUP */ - GPIO_Mode_PDN = 0x30, /* 0x30: PxPDN */ - GPIO_Mode_IE = 0x38 /* 0x38: PxIE */ -}; - -#define PORT_BASE (0x400C0000UL) /* Port Register Base Adress */ -#define BITBAND_PORT_OFFSET (0x0000100UL) /* Port Register Offset Value */ -#define BITBAND_PORT_BASE(gr) (PORT_BASE + (uint32_t)((BITBAND_PORT_OFFSET) * (gr)) ) /* Operational target Port Adress */ -#define BITBAND_PORT_MODE_BASE(base, pinmode) ((uint32_t)(base) + (uint32_t)(pinmode) ) /* Operational target Control Register Adress */ -#define BITBAND_PORT_SET(base, bitnum) (*((__IO uint32_t *)base) |= (uint32_t)(0x0000001UL<< bitnum)) /* Target Pin Bit set */ -#define BITBAND_PORT_CLR(base, bitnum) (*((__IO uint32_t *)base) &= ~((uint32_t)(0x0000001UL<< bitnum))) /* Target Pin Bit clear */ -#define BITBAND_PORT_READ(val, base, bitnum) val = ((*((__IO uint32_t *)base) & (uint32_t)(0x0000001UL<< bitnum)) >> bitnum) /* Target Pin Bit read */ - -/* PWM Macros */ -#define T32A_DBG_HALT_STOP ((uint32_t)0x00000002) -#define T32A_COUNT_DONT_START ((uint32_t)0x00000000) -#define T32A_RUN_DISABLE ((uint32_t)0x00000000) -#define T32A_OCRCMPx1_CLR ((uint32_t)0x00000008) -#define T32A_OCR_DISABLE ((uint32_t)0x00000000) -#define T32A_MODE_16 ((uint32_t)0x00000000) /* 16bit Mode */ -#define T32A_CLKx_PRSCLx ((uint32_t)0x00000000) /* prescaler */ -#define T32A_WBF_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define T32A_WBF_ENABLE ((uint32_t)0x00100000) /* Enable */ -#define T32A_COUNT_UP ((uint32_t)0x00000000) /* count up */ -#define T32A_RELOAD_TREGx ((uint32_t)0x00000700) /* match up Timer Register */ -#define T32A_STOP_NON ((uint32_t)0x00000000) /* No use trigger */ -#define T32A_START_EXTTRG_RISING_EDGE ((uint32_t)0x00000002) /* external trigger rising edge */ -#define T32A_OCR_SET ((uint32_t)0x00000001) /* Hi */ -#define T32A_OCRCMPx1_SET ((uint32_t)0x00000004) /* Hi */ -#define T32A_OCRCMPx0_SET ((uint32_t)0x00000001) /* Hi */ -#define T32A_IMx0_MASK_ALL ((uint32_t)0x0000000F) /* request */ -#define T32A_COUNT_DOWN ((uint32_t)0x00010000) -#define MAX_COUNTER_16B 0xFFFF -#define DEFAULT_CLOCK_DIVISION 32 -#define DEFAULT_PERIOD 0.02f - -/* RTC Configuration Macro */ -#define RTC_24_HOUR_MODE ((uint8_t)0x01) -#define PAGER_PAGE_ONE ((uint8_t)0x01) -#define PAGER_PAGE_ZERO ((uint8_t)0xEE) -#define RTC_CLK_ENABLE ((uint8_t)0x08) -#define RTC_CLK_DISABLE ((uint8_t)0xE7) -#define RTC_INT_ENABLE ((uint8_t)0x80) -#define RTC_CLEAR_ALL ((uint8_t)0x00) -#define RTC_RESET ((uint8_t)0xF7) -#define RTC_INT_SET ((uint8_t)0xFB) -#define RTC_INT_CLR ((uint8_t)0x04) -#define RTCRESTR_RSTTMR_MASK ((uint8_t)0x20) -#define RTCRESTR_RSTTMR_R_RUN ((uint8_t)0x20) -#define ELOSC_CFG_WARM_UP_TIME ((uint32_t)(5000)) /* Warm up time(us) */ -#define ELOSC_CFG_CLOCK ((uint32_t)(32768)) /* Clock(hz) */ -#define CGWUPLCR_WUPTL_HIGH_MASK ((uint32_t)0x07FFF000) /* WUPTL :High Bit Mask */ -#define CGWUPLCR_WULEF_MASK ((uint32_t)0x00000002) /* WULEF :Mask */ -#define CGWUPLCR_WULEF_R_DONE ((uint32_t)0x00000000) /* WULEF :[R] :Done */ -#define CGWUPLCR_WULON_W_ENABLE ((uint32_t)0x00000001) /* WULON :[W] :Enable */ -#define RLMLOSCCR_XTEN_RW_ENABLE ((uint32_t)0x00000001) /* XTEN :[R/W] :Enable */ -#define HEX2DEC(val) ((val >> 4U) * 10U + val % 16U) // Hex to Dec conversion macro -#define DEC2HEX(val) ((val / 10U) * 16U + val % 10U) // Dec to Hex conversion macro - -/* Serial Macros */ -#define UART0 TSB_UART0 -#define UART1 TSB_UART1 -#define UART2 TSB_UART2 -#define UART3 TSB_UART3 -#define UART4 TSB_UART4 -#define UART5 TSB_UART5 -#define UART_ENABLE_RX ((uint32_t)0x00000001) -#define UART_ENABLE_TX ((uint32_t)0x00000002) -#define UARTxSWRST_SWRSTF_MASK ((uint32_t)0x00000080) /* SWRSTF :Mask */ -#define UARTxSWRST_SWRSTF_RUN ((uint32_t)0x00000080) /* SWRSTF :During "Software Reset */ -#define UARTxSWRST_SWRST_10 ((uint32_t)0x00000002) /* SWRST :"10" */ -#define UARTxSWRST_SWRST_01 ((uint32_t)0x00000001) /* SWRST :"01" */ -#define UARTxFIFOCLR_TFCLR_CLEAR ((uint32_t)0x00000002) /* TFCLR :Clear the transmit buff */ -#define UARTxFIFOCLR_RFCLR_CLEAR ((uint32_t)0x00000001) /* RFCLR :Clear the receive buff */ -#define UART_PLESCALER_1 ((uint32_t)0x00000000) /* Boudrate Generator prescale 1/1 */ -#define UART_DIVISION_ENABLE ((uint32_t)0x00800000) /* Enable */ -#define UART_TX_INT_ENABLE ((uint32_t)0x00000040) /* Available */ -#define UART_RX_INT_ENABLE ((uint32_t)0x00000010) /* Available */ -#define UART_RX_FIFO_FILL_LEVEL ((uint32_t)0x00000100) /* 1 stage */ -#define UART_RANGE_K_MIN ((uint32_t)0x00000000) /* Minimum Value :K=0 */ -#define UART_RANGE_K_MAX ((uint32_t)0x0000003F) /* Maximum Value :K=63 */ -#define UART_RANGE_N_MIN ((uint32_t)0x00000001) /* Minimum Value :N=1 */ -#define UART_RANGE_N_MAX ((uint32_t)0x0000FFFF) /* Maximum Value :N=65535 */ -typedef struct { - uint32_t ken; /* Enable/Disable Division Definition */ - uint32_t brk; /* Division Value K */ - uint32_t brn; /* Division Value N */ -} uart_boudrate_t; -/* Sleep Macros */ -#define CG_STBY_MODE_IDLE 0x00 -#define CG_STBY_MODE_STOP1 0x01 -#define EXTERNEL_OSC_MASK 0xFFFFFFF9 -#define IHOSC_CFG_WARM_UP_TIME ((uint32_t)(5000)) /* Warm up time(us) */ -#define IHOSC_CFG_CLOCK ((uint32_t)(10000000)) /* Clock(hz) */ -#define CGWUPHCR_WUPT_HIGH_MASK ((uint32_t)0xFFF00000) /* WUPT :High Bit Mask */ -#define CGWUPHCR_WUCLK_MASK ((uint32_t)0x00000100) /* WUCLK :Mask */ -#define CGWUPHCR_WUCLK_RW_IHOSC ((uint32_t)0x00000000) /* WUCLK :[R/W] :IHOSC */ - -/* SPI macros */ -typedef enum { - SPI_MASTER, - SPI_SLAVE -} spi_mode; -#define IS_SPI_MODULE(param) (((param) == SPI_0) || ((param) == SPI_1)) -#define TSPI_INT_ALL (uint32_t)0xF4 /* All above interrupt control */ -#define TSPI_DR_8BIT_MASK ((uint32_t)0x000000FF) /* DR :Mask for 8bit */ -/* TSPI_SW_Reset SW Reset */ -#define TSPI_RESET10 ((uint32_t)0x00000010) /* RESET Pattarn 10 */ -#define TSPI_RESET01 ((uint32_t)0x00000001) /* RESET Pattarn 01 */ -/* TSPI_Enable TSPI Enable/Disable Control */ -#define TSPI_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_ENABLE ((uint32_t)0x00000001) /* Enable */ -/* TSPI_Triger_Control Triger Control */ -#define TSPI_TRGEN_ENABLE ((uint32_t)0x00008000) /* Enable */ -#define TSPI_SPI_MODE ((uint32_t)0x00000000) /* TSPI MODE */ -#define TSPI_MASTER_OPEARTION ((uint32_t)0x00001000) /* MASTER MODE */ -#define TSPI_TWO_WAY ((uint32_t)0x00000C00) /* TWO WAY */ -#define TSPI_TRANS_RANGE_SINGLE ((uint32_t)0x00000000) /* Single Transfer Frame :0 */ -#define TSPI_TIDLE_LOW ((uint32_t)0x00800000) /* Low */ -#define TSPI_TXDEMP_HI ((uint32_t)0x00200000) /* Hi */ -#define TSPI_TX_FILL_LEVEL_0 ((uint32_t)0x00000000) /* 0 */ -#define TSPI_RX_FILL_LEVEL_0 ((uint32_t)0x00000000) /* 8 */ -#define TSPI_TX_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_RX_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_TX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_RX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_ERR_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_TX_DMA_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_RX_DMA_INT_DISABLE ((uint32_t)0x00000000) /* Disable */ -/* TSPI_Baudrate_Clock */ -#define TSPI_BR_CLOCK_16 ((uint32_t)0x00000050) /* T16 */ -#define TSPI_BR_DIVIDER_3 ((uint32_t)0x00000003) /* 1/3 */ -#define TSPI_DATA_DIRECTION_MSB ((uint32_t)0x80000000) /* MSB first */ -#define TSPI_DATA_LENGTH_8 ((uint32_t)0x08000000) /* 8 bit */ -#define TSPI_INTERVAL_TIME_0 ((uint32_t)0x00000000) /* 0 */ -#define TSPI_TSPIxCS3_NEGATIVE ((uint32_t)0x00000000) /* negative logic */ -#define TSPI_TSPIxCS2_NEGATIVE ((uint32_t)0x00000000) /* negative logic */ -#define TSPI_TSPIxCS1_NEGATIVE ((uint32_t)0x00000000) /* negative logic */ -#define TSPI_TSPIxCS0_NEGATIVE ((uint32_t)0x00000000) /* negative logic */ -#define TSPI_SERIAL_CK_1ST_EDGE ((uint32_t)0x00000000) /* 1st Edge Sampling */ -#define TSPI_SERIAL_CK_IDLE_LOW ((uint32_t)0x00000000) /* IDLE Term TSPII??SCK LOW */ -#define TSPI_MIN_IDLE_TIME_1 ((uint32_t)0x00000400) /* 1 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_1 ((uint32_t)0x00000000) /* 1 x TSPIIxSCK */ -#define TSPI_NEGATE_1 ((uint32_t)0x00000000) /* 1 x TSPIIxSCK */ -/* Format control1 Register */ -#define TSPI_PARITY_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define TSPI_PARITY_BIT_ODD ((uint32_t)0x00000000) /* Odd Parity */ -#define TSPI_TX_BUFF_CLR_DONE ((uint32_t)0x00000002) /* Clear */ -#define TSPI_TRXE_ENABLE ((uint32_t)0x00004000) /* Enable */ -#define TSPI_TX_REACH_FILL_LEVEL_MASK ((uint32_t)0x00070000) /* TX_REACH_FILL_LEVEL_MASK */ -#define TSPI_TX_DONE_FLAG ((uint32_t)0x00400000) /* Send Data Complete Flag */ -#define TSPI_TX_DONE ((uint32_t)0x00400000) /* Send Data Complete */ -#define TSPI_TRXE_DISABLE_MASK ((uint32_t)0xFFFFBFFF) /* Disable MASK */ -#define TSPI_Transfer_Mode_MASK ((uint32_t)0x00000C00) /* Transfer Mode bit MASK */ -#define TSPI_RX_ONLY ((uint32_t)0x00000800) /* RECEIVE ONLY */ -#define TSPI_RX_DONE_FLAG ((uint32_t)0x00000040) /* Receive Data Complete Flag */ -#define TSPI_RX_DONE ((uint32_t)0x00000040) /* Send Data Complete */ -#define TSPI_RX_REACH_FILL_LEVEL_MASK ((uint32_t)0x0000000F) /* TX_REACH_FILL_LEVEL_MASK */ -#define TSPI_RX_DONE_CLR ((uint32_t)0x00000040) /* Receive Data Complete Flag Clear */ -#define TSPI_RX_BUFF_CLR_DONE ((uint32_t)0x00000001) /* Clear */ - -/* Ticker Macros */ -#define T32A_MODE_32 ((uint32_t)0x00000001) -#define T32A_PRSCLx_32 ((uint32_t)0x30000000) -#define T32A_IMUFx_MASK_REQ ((uint32_t)0x00000008) -#define T32A_IMOFx_MASK_REQ ((uint32_t)0x00000004) -#define T32A_COUNT_STOP ((uint32_t)0x00000004) -#define T32A_COUNT_START ((uint32_t)0x00000002) -#define T32A_RUN_ENABLE ((uint32_t)0x00000001) - -/* I2C Macros */ - -#define I2CxCR2_I2CM_ENABLE ((uint32_t)0x00000080) -#define I2CxCR2_SWRES_10 ((uint32_t)0x00000002) -#define I2CxCR2_SWRES_01 ((uint32_t)0x00000001) -#define I2CxCR2_START_CONDITION ((uint32_t)0x000000F8) -#define I2CxCR2_STOP_CONDITION ((uint32_t)0x000000D8) -#define I2CxCR2_INIT ((uint32_t)0x00000008) -#define I2CxCR2_PIN_CLEAR ((uint32_t)0x00000010) -#define I2CxCR2_TRX ((uint32_t)0x00000040) -#define I2CxST_I2C ((uint32_t)0x00000001) -#define I2CxST_CLEAR ((uint32_t)0x0000000F) -#define I2CxCR1_ACK ((uint32_t)0x00000010) -#define I2CxSR_BB ((uint32_t)0x00000020) -#define I2CxSR_LRB ((uint32_t)0x00000001) -#define I2CxOP_RSTA ((uint32_t)0x00000008) -#define I2CxOP_SREN ((uint32_t)0x00000002) -#define I2CxOP_MFACK ((uint32_t)0x00000001) -#define I2CxOP_INIT ((uint32_t)0x00000084) -#define I2CxIE_CLEAR ((uint32_t)0x00000000) -#define I2CxPRS_PRCK ((uint32_t)0x0000000F) -#define I2CxDBR_DB_MASK ((uint32_t)0x000000FF) -// Slave Initial Settings. -#define I2CxOP_SLAVE_INIT ((uint32_t)0x00000084) -#define I2CAR_SA_MASK ((uint32_t)0x000000FE) -#define I2CxSR_TRX ((uint32_t)0x00000040) -#define I2CxOP_SAST ((uint32_t)0x00000020) -#define I2CxIE_INTI2C ((uint32_t)0x00000001) -#define I2C_NO_DATA (0) -#define I2C_READ_ADDRESSED (1) -#define I2C_WRITE_GENERAL (2) -#define I2C_WRITE_ADDRESSED (3) -#define I2C_ACK (1) -#define I2C_TIMEOUT (100000) - -/* ADC macros */ -#define ADC_12BIT_RANGE 0xFFF -#define ADC_SCLK_1 ((uint32_t)0x00000000) /* SCLK : ADCLK/1 */ -#define ADxMOD0_RCUT_NORMAL ((uint32_t)0x00000000) /* RCUT : Normal */ -#define ADxMOD0_DACON_ON ((uint32_t)0x00000001) /* DACON : DAC on */ -#define ADxTSETn_ENINT_DISABLE ((uint32_t)0x00000000) /* ENINT :Disable */ -#define ADxTSETn_TRGS_SGL ((uint32_t)0x00000040) /* TRGS :Single */ -#define ADxCR1_CNTDMEN_DISABLE ((uint32_t)0x00000000) /* CNTDMEN :Disable */ -#define ADxCR1_SGLDMEN_DISABLE ((uint32_t)0x00000000) /* SGLDMEN :Disable */ -#define ADxCR1_TRGDMEN_DISABLE ((uint32_t)0x00000000) /* TRGDMEN :Disable */ -#define ADxCR1_TRGEN_DISABLE ((uint32_t)0x00000000) /* TRGEN :Disable */ -#define ADxCR0_ADEN_DISABLE ((uint32_t)0x00000000) /* ADEN :Disable */ -#define ADxCR0_ADEN_ENABLE ((uint32_t)0x00000080) /* ADEN :Enable */ -#define ADxCR0_SGL_ENABLE ((uint32_t)0x00000002) /* SGL :Enable */ -#define ADxCR0_CNT_DISABLE ((uint32_t)0x00000000) /* CNT :Disable */ -#define ADxST_SNGF_IDLE ((uint32_t)0x00000000) /* SNGF :Idle */ -#define ADxST_SNGF_RUN ((uint32_t)0x00000004) /* SNGF :Running */ -#define ADxREGn_ADRFn_MASK ((uint32_t)0x00000001) /* ADRFn :Mask */ -#define ADxREGn_ADRFn_ON ((uint32_t)0x00000001) /* ADRFn :Flag on */ -#define ADxREGn_ADRn_MASK ((uint32_t)0x0000FFF0) /* ADRn :Mask */ -#define ADC_SAMPLING_PERIOD_3V ((uint32_t)0x00000008) -#define ADC_MOD2_TMPM3Hx ((uint32_t)0x00000300) -#define ADC_MOD1_AVDD5_3V ((uint32_t)0x0000B001) - -/* RMC Include */ -#define RMC_LI_ENABLE ((uint32_t)0x80000000) /* Enable */ -#define RMC_EDI_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define RMC_LD_DISABLE ((uint32_t)0x00000000) /* Disable */ -#define RMC_PHM_DISABLE ((uint32_t)0x00000000) /* A remote control signal of the phase system isn't received */ -#define RMC_LL_MAX ((uint32_t)0x00000FF) /* Maximum Value(Disable Receiving End Interrupt) */ -#define RMC_THRESH_HIGH_MIN ((uint32_t)0x0000000) /* Minimum Value */ -#define RMC_POLARITY_POSITIVE ((uint32_t)0x0000000) /* Positive side */ -#define RMC_NOISE_REDUCTION_MIN ((uint32_t)0x0000000) /* Minimum Value */ -#define RMC_RX_DATA_BITS_MIN ((uint32_t)0x0000000) /* Minimum Value */ -#define RMC_CLK_LOW_SPEED ((uint32_t)0x00000000) /* Low speed clock(32.768kHz) */ -#define RMC_CYCLE_MAX_INT_OCCUR ((uint32_t)0x00002000) /* It occurs */ -#define RMC_LEADER_DETECT ((uint32_t)0x00000080) /* It detests */ -#define RMC_RX_BIT_NUM_MASK ((uint32_t)0x0000007F) /* Mask */ -#define RMCxEN_RMCEN_ENABLE ((uint32_t)0x00000001) /* RMCEN : Enable */ - -typedef struct { - uint32_t lcMax; /* Upper limit in a cycle period of leader detection */ - uint32_t lcMin; /* Lower limit in a cycle period of leader detection */ - uint32_t llMax; /* Upper limit in a low period of leader detection */ - uint32_t llMin; /* Lower limit in a low period of leader detection */ -} rmc_control1_t; - -typedef struct { - uint32_t lien; /* Enable a leader detection interrupt */ - uint32_t edien; /* Enable a remote control input falling edge interrupt */ - uint32_t cld; /* Enable a receive mode, that receives both remote control signals without leaders and with leaders */ - uint32_t phim; /* Setting of a remote control reception mode of the phase system */ - uint32_t ll; /* Setting at the timing of a "Receiving End Interrupt" by detection Low */ - uint32_t dmax; /* Setting at the timing of a "Receiving End Interrupt" by the cycle of the data bit */ -} rmc_control2_t; - -/* Receive Control Setting "3" */ -typedef struct { - uint32_t dath; /* Threshold value high setting of 3 price judgement of a Data bit */ - uint32_t datl; /* Threshold value low setting of 3 price judgement of a Data bit */ -} rmc_control3_t; - -/* Receive Control Setting "4" */ -typedef struct { - uint32_t po; /* Polarity choice of a remote control input signal */ - uint32_t nc; /* Setting of noise reduction time */ -} rmc_control4_t; - -/* Num of received end bit "1" */ -typedef struct { - uint32_t end1; /* Num of received data bits */ -} rmc_end1_t; - -/* Num of received end bit "2" */ -typedef struct { - uint32_t end2; /* Num of received data bits */ -} rmc_end2_t; - -/* Num of received end bit "3" */ -typedef struct { - uint32_t end3; /* Num of received data bits */ -} rmc_end3_t; - -/* Select source clock */ -typedef struct { - uint32_t clk; /* Select RMC sampling clock */ -} rmc_fssel_t; - -/* Initial setting structure definition */ -typedef struct { - rmc_control1_t cnt1; /* Receive Control Setting "1" */ - rmc_control2_t cnt2; /* Receive Control Setting "2" */ - rmc_control3_t cnt3; /* Receive Control Setting "3" */ - rmc_control4_t cnt4; /* Control4 setting */ - rmc_end1_t end1; /* Receive End Bit1 setting */ - rmc_end2_t end2; /* Receive End Bit2 setting */ - rmc_end3_t end3; /* Receive End Bit3 setting */ - rmc_fssel_t fssel; /* Select source clock */ -} rmc_initial_setting_t; - -/* RMC handle structure definition */ -typedef struct uart_handle { - TSB_RMC_TypeDef *p_instance; /* Registers base address */ - rmc_initial_setting_t init; /* Initial setting */ -} rmc_t; - -void rmc_init(rmc_t *p_obj); -void rmc_get_data(rmc_t *p_obj, uint32_t data[]); - - -#endif /* __GPIO_INCLUDE_H */ diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_irq_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_irq_api.c deleted file mode 100644 index 890f0b16212..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_irq_api.c +++ /dev/null @@ -1,466 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gpio_irq_api.h" -#include "mbed_error.h" -#include "PeripheralNames.h" -#include "pinmap.h" -#include "gpio_include.h" -#include "mbed_critical.h" - -#define CHANNEL_NUM 32 - -const PinMap PinMap_GPIO_IRQ[] = { - {PC0, GPIO_IRQ_00, PIN_DATA(0, 0)}, - {PC1, GPIO_IRQ_01, PIN_DATA(0, 0)}, - {PC2, GPIO_IRQ_02, PIN_DATA(0, 0)}, - {PB1, GPIO_IRQ_03, PIN_DATA(0, 0)}, - {PJ4, GPIO_IRQ_04, PIN_DATA(0, 0)}, - {PK1, GPIO_IRQ_05, PIN_DATA(0, 0)}, - {PH3, GPIO_IRQ_06, PIN_DATA(0, 0)}, - {PA6, GPIO_IRQ_07, PIN_DATA(0, 0)}, - {PL3, GPIO_IRQ_08, PIN_DATA(0, 0)}, - {PM2, GPIO_IRQ_09, PIN_DATA(0, 0)}, - {PN3, GPIO_IRQ_10, PIN_DATA(0, 0)}, - {PA7, GPIO_IRQ_11, PIN_DATA(0, 0)}, - {PL4, GPIO_IRQ_12, PIN_DATA(0, 0)}, - {PK7, GPIO_IRQ_13, PIN_DATA(0, 0)}, - {PP3, GPIO_IRQ_14, PIN_DATA(0, 0)}, - {PM6, GPIO_IRQ_15, PIN_DATA(0, 0)}, - {PB7, GPIO_IRQ_16, PIN_DATA(0, 0)}, - {PV2, GPIO_IRQ_17_18, PIN_DATA(0, 0)}, - {PH4, GPIO_IRQ_19_22, PIN_DATA(0, 0)}, - {PT0, GPIO_IRQ_23_26, PIN_DATA(0, 0)}, - {PT1, GPIO_IRQ_23_26, PIN_DATA(0, 0)}, - {PG2, GPIO_IRQ_27_28, PIN_DATA(0, 0)}, - {PT7, GPIO_IRQ_29, PIN_DATA(0, 0)}, - {PU0, GPIO_IRQ_30_31, PIN_DATA(0, 0)}, - {NC, NC, 0} -}; - -static uint32_t channel_ids[CHANNEL_NUM] = {0}; -static gpio_irq_handler hal_irq_handler[CHANNEL_NUM] = {NULL}; -static void SetSTBYReleaseINTSrc(cg_intsrc, cg_intactivestate, FunctionalState ); -cg_intactivestate CurrentState; -static void INT_IRQHandler(PinName pin, uint32_t index); -static uint32_t CheckPinNameIRQSRC(PinName pin); - -// Initialize gpio IRQ pin -int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id) -{ - uint8_t bit = 0; - uint32_t port_base = 0; - - // Get gpio interrupt ID - obj->irq_id = pinmap_peripheral(pin, PinMap_GPIO_IRQ); - - // Disable interrupt by CPU - core_util_critical_section_enter(); - - // Calculate port and pin position - obj->port = (PortName)PIN_PORT(pin); - obj->pin = pin; - bit = PIN_POS(pin); - - port_base = BITBAND_PORT_BASE(obj->port); - port_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_DATA); - BITBAND_PORT_CLR(port_base, bit); - // Enable gpio interrupt function - pinmap_pinout(pin, PinMap_GPIO_IRQ); - - // Get GPIO irq source - switch (obj->irq_id) { - case GPIO_IRQ_00: - obj->irq_src = CG_INT_SRC_01; - break; - case GPIO_IRQ_01: - obj->irq_src = CG_INT_SRC_02; - break; - case GPIO_IRQ_02: - obj->irq_src = CG_INT_SRC_03; - break; - case GPIO_IRQ_03: - obj->irq_src = CG_INT_SRC_04; - break; - case GPIO_IRQ_04: - obj->irq_src = CG_INT_SRC_05; - break; - case GPIO_IRQ_05: - obj->irq_src = CG_INT_SRC_06; - break; - case GPIO_IRQ_06: - obj->irq_src = CG_INT_SRC_07; - break; - case GPIO_IRQ_07: - obj->irq_src = CG_INT_SRC_08; - break; - case GPIO_IRQ_08: - obj->irq_src = CG_INT_SRC_09; - break; - case GPIO_IRQ_09: - obj->irq_src = CG_INT_SRC_0A; - break; - case GPIO_IRQ_10: - obj->irq_src = CG_INT_SRC_0B; - break; - case GPIO_IRQ_11: - obj->irq_src = CG_INT_SRC_0C; - break; - case GPIO_IRQ_12: - obj->irq_src = CG_INT_SRC_0D; - break; - case GPIO_IRQ_13: - obj->irq_src = CG_INT_SRC_0E; - break; - case GPIO_IRQ_14: - obj->irq_src = CG_INT_SRC_0F; - break; - case GPIO_IRQ_15: - obj->irq_src = CG_INT_SRC_10; - break; - case GPIO_IRQ_16: - obj->irq_src = CG_INT_SRC_11; - break; - case GPIO_IRQ_17_18: - obj->irq_src = CG_INT_SRC_12; - break; - case GPIO_IRQ_19_22: - obj->irq_src = CG_INT_SRC_14; - break; - case GPIO_IRQ_23_26: - obj->irq_src = CheckPinNameIRQSRC(pin); - break; - case GPIO_IRQ_27_28: - obj->irq_src = CG_INT_SRC_1C; - break; - case GPIO_IRQ_29: - obj->irq_src = CG_INT_SRC_1E; - break; - case GPIO_IRQ_30_31: - obj->irq_src = CG_INT_SRC_1F; - break; - default: - break; - } - - // Save irq handler - hal_irq_handler[obj->irq_src] = handler; - - // Save irq id - channel_ids[obj->irq_src] = id; - - // Initialize interrupt event as both edges detection - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - CurrentState = CG_INT_ACTIVE_STATE_BOTH_EDGES; - // Set interrupt event and enable INTx clear - SetSTBYReleaseINTSrc(obj->irq_src, (cg_intactivestate)obj->event, ENABLE); - - // Clear gpio pending interrupt - NVIC_ClearPendingIRQ((IRQn_Type) obj->irq_id); - - core_util_critical_section_exit(); - - return 0; -} - -void gpio_irq_free(gpio_irq_t *obj) -{ - // Clear gpio_irq - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - // Reset interrupt handler - hal_irq_handler[obj->irq_src] = NULL; - // Reset interrupt id - channel_ids[obj->irq_src] = 0; -} - -// Set interrupt event of gpio_irq object -void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable) -{ - uint8_t bit = 0; - uint32_t port_base = 0; - - //Disable GPIO interrupt on obj - gpio_irq_disable(obj); - if (enable) { - // Get gpio interrupt event - if (event == IRQ_RISE) { - if ((obj->event == CG_INT_ACTIVE_STATE_FALLING) || (obj->event == CG_INT_ACTIVE_STATE_BOTH_EDGES)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_RISING; - } - } else if (event == IRQ_FALL) { - if ((obj->event == CG_INT_ACTIVE_STATE_RISING) || (obj->event == CG_INT_ACTIVE_STATE_BOTH_EDGES)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_FALLING; - } - } else { - error("Not supported event\n"); - } - } else { - // Get gpio interrupt event - if (event == IRQ_RISE) { - if ((obj->event == CG_INT_ACTIVE_STATE_RISING) || (obj->event == CG_INT_ACTIVE_STATE_INVALID)) { - obj->event = CG_INT_ACTIVE_STATE_INVALID; - } else { - obj->event = CG_INT_ACTIVE_STATE_FALLING; - } - } else if (event == IRQ_FALL) { - if ((obj->event == CG_INT_ACTIVE_STATE_FALLING) || (obj->event == CG_INT_ACTIVE_STATE_INVALID)) { - obj->event = CG_INT_ACTIVE_STATE_INVALID; - } else { - obj->event = CG_INT_ACTIVE_STATE_RISING; - } - } else { - error("Not supported event\n"); - } - } - CurrentState = obj->event; - // Calculate port and pin position - bit = PIN_POS(obj->pin); - - port_base = BITBAND_PORT_BASE(obj->port); - port_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_DATA); - - if(obj->event != CG_INT_ACTIVE_STATE_INVALID ) { - // Set interrupt event and enable INTx clear - SetSTBYReleaseINTSrc(obj->irq_src, (cg_intactivestate) obj->event, ENABLE); - BITBAND_PORT_CLR(port_base, bit); - } else { - BITBAND_PORT_SET(port_base, bit); - } - //Enable GPIO interrupt on obj - gpio_irq_enable(obj); -} - -// Enable gpio_irq object -void gpio_irq_enable(gpio_irq_t *obj) -{ - // Clear and Enable gpio_irq object - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - NVIC_EnableIRQ((IRQn_Type)obj->irq_id); -} - -// Disable gpio_irq object -void gpio_irq_disable(gpio_irq_t *obj) -{ - // Disable gpio_irq object - NVIC_DisableIRQ((IRQn_Type)obj->irq_id); -} - -static void INT_IRQHandler(PinName pin, uint32_t index) -{ - int port = 0; - uint8_t bit = 0; - uint32_t data = 0; - uint32_t port_base = 0; - - // Calculate port and pin position - port = PIN_PORT(pin); - bit = PIN_POS(pin); - - // Clear interrupt request - SetSTBYReleaseINTSrc((cg_intsrc)(CG_INT_SRC_01 + index), CurrentState, DISABLE); - - port_base = BITBAND_PORT_BASE(port); - port_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_DATA); - BITBAND_PORT_READ(data, port_base, bit); - - switch (data) { - // Falling edge detection - case 0: - hal_irq_handler[index](channel_ids[index], IRQ_FALL); - break; - // Rising edge detection - case 1: - hal_irq_handler[index](channel_ids[index], IRQ_RISE); - break; - default: - break; - } - // Clear gpio pending interrupt - NVIC_ClearPendingIRQ((IRQn_Type)(CG_INT_SRC_01 + index)); - - // Enable interrupt request - SetSTBYReleaseINTSrc((cg_intsrc)(CG_INT_SRC_01 + index), CurrentState, ENABLE); -} - -void INT00_IRQHandler(void) -{ - INT_IRQHandler(PC0, 0); -} - -void INT01_IRQHandler(void) -{ - INT_IRQHandler(PC1, 1); -} - -void INT02_IRQHandler(void) -{ - INT_IRQHandler(PC2, 2); -} - -void INT03_IRQHandler(void) -{ - INT_IRQHandler(PB1, 3); -} - -void INT04_IRQHandler(void) -{ - INT_IRQHandler(PJ4, 4); -} - -void INT05_IRQHandler(void) -{ - INT_IRQHandler(PK1, 5); -} - -void INT06_IRQHandler(void) -{ - INT_IRQHandler(PH3, 6); -} - -void INT07_IRQHandler(void) -{ - INT_IRQHandler(PA6, 7); -} - -void INT08_IRQHandler(void) -{ - INT_IRQHandler(PL3, 8); -} - -void INT09_IRQHandler(void) -{ - INT_IRQHandler(PM2, 9); -} - -void INT10_IRQHandler(void) -{ - INT_IRQHandler(PN3, 10); -} - -void INT11_IRQHandler(void) -{ - INT_IRQHandler(PA7, 11); -} - -void INT12_IRQHandler(void) -{ - INT_IRQHandler(PL4, 12); -} - -void INT13_IRQHandler(void) -{ - INT_IRQHandler(PK7, 13); -} - -void INT14_IRQHandler(void) -{ - INT_IRQHandler(PP3, 14); -} - -void INT15_IRQHandler(void) -{ - INT_IRQHandler(PM6, 15); -} - -void INT16_IRQHandler(void) -{ - INT_IRQHandler(PB7, 16); -} - -void INT17_18_IRQHandler(void) -{ - INT_IRQHandler(PV2, 17); -} - -void INT19_22_IRQHandler(void) -{ - INT_IRQHandler(PH4, 19); -} - -#define BIT22 (0x1 << 22) -#define BIT21 (0x1 << 21) -void INT23_26_IRQHandler(void) -{ - uint32_t int_num = TSB_IMN->FLG5; - if( int_num & BIT22) { - INT_IRQHandler(PT1, 24); - } else if(int_num & BIT21) { - INT_IRQHandler(PT0, 23); - } -} - -void INT27_28_IRQHandler(void) -{ - INT_IRQHandler(PG2, 27); -} - -void INT29_IRQHandler(void) -{ - INT_IRQHandler(PT7, 29); -} - -void INT30_31_IRQHandler(void) -{ - INT_IRQHandler(PU0, 30); -} - -static void SetSTBYReleaseINTSrc(cg_intsrc intsource, cg_intactivestate ActiveState, FunctionalState NewState) -{ - __IO uint8_t *p_imc; - - if(intsource < 3U || intsource == 13U) { - if(intsource == 13U) { - intsource = (cg_intsrc)3U; - } - p_imc = (__IO uint8_t *)(&TSB_IA->IMC00 + (intsource)); - *p_imc = (uint8_t)(0xC0 | ActiveState | NewState); - } else { - if(intsource > 13U) { - intsource -= 4; - } else { - intsource -= 3; - } - p_imc = (__IO uint8_t *)(&TSB_IB->IMC066 + (intsource)); - *p_imc = (uint8_t)(0xC0 | ActiveState | NewState); - } - // Dummy read is need - { - __IO uint8_t imc = *p_imc; - } -} - -/** - * @brief Return INTSRC for gpio INT that enable more than one pin. - * @param pin PinName. - * @return GPIO IRQn_Type . - * @note You can expand func CheckPinNameIRQSRC if need to add other GPIO INT. - */ -static uint32_t CheckPinNameIRQSRC(PinName pin) -{ - switch(pin) - { - case PT0: - return CG_INT_SRC_18; - case PT1: - return CG_INT_SRC_19; - default: - break; - } - return -1; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_object.h b/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_object.h deleted file mode 100644 index 3569f438046..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/gpio_object.h +++ /dev/null @@ -1,98 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MBED_GPIO_OBJECT_H -#define MBED_GPIO_OBJECT_H - -#include "mbed_assert.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define GPIO_BIT_VALUE_1 ((uint8_t)0x01) -#define GPIO_BIT_VALUE_0 ((uint8_t)0x00) -#define GPIO_BIT_ALL ((uint8_t)0xFF) - -typedef enum { - CG_INT_SRC_01 = 0U, - CG_INT_SRC_02, - CG_INT_SRC_03, - CG_INT_SRC_04, - CG_INT_SRC_05, - CG_INT_SRC_06, - CG_INT_SRC_07, - CG_INT_SRC_08, - CG_INT_SRC_09, - CG_INT_SRC_0A, - CG_INT_SRC_0B, - CG_INT_SRC_0C, - CG_INT_SRC_0D, - CG_INT_SRC_0E, - CG_INT_SRC_0F, - CG_INT_SRC_10, - CG_INT_SRC_11, - CG_INT_SRC_12, - CG_INT_SRC_13, - CG_INT_SRC_14, - CG_INT_SRC_15, - CG_INT_SRC_16, - CG_INT_SRC_17, - CG_INT_SRC_18, - CG_INT_SRC_19, - CG_INT_SRC_1A, - CG_INT_SRC_1B, - CG_INT_SRC_1C, - CG_INT_SRC_1D, - CG_INT_SRC_1E, - CG_INT_SRC_1F, - CG_INT_SRC_20 -} cg_intsrc; - -typedef enum { - CG_INT_ACTIVE_STATE_L = 0x00U, - CG_INT_ACTIVE_STATE_H = 0x02U, - CG_INT_ACTIVE_STATE_FALLING = 0x04U, - CG_INT_ACTIVE_STATE_RISING = 0x06U, - CG_INT_ACTIVE_STATE_BOTH_EDGES = 0x08U, - CG_INT_ACTIVE_STATE_INVALID = 0x0AU -} cg_intactivestate; - -typedef struct { - PinName pin; - uint32_t mask; - PortName port; -} gpio_t; - -struct gpio_irq_s { - uint32_t mask; - PortName port; - PinName pin; - uint32_t irq_id; - cg_intactivestate event; - cg_intsrc irq_src; -}; - -static inline int gpio_is_connected(const gpio_t *obj) -{ - return obj->pin != (PinName)NC; -} - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/i2c_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/i2c_api.c deleted file mode 100644 index d4f80b1c079..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/i2c_api.c +++ /dev/null @@ -1,400 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "i2c_api.h" - -#if DEVICE_I2C - -#include "mbed_error.h" -#include "pinmap.h" -#include "gpio_include.h" - -#if DEVICE_I2C_ASYNCH -#define I2C_S(obj) (struct i2c_s *) (&((obj)->i2c)) -#else -#define I2C_S(obj) (struct i2c_s *) (obj) -#endif - -static const PinMap PinMap_I2C_SDA[] = { - {PC1, I2C_0, PIN_DATA(1, 2)}, - {PA5, I2C_1, PIN_DATA(1, 2)}, - {PL1, I2C_2, PIN_DATA(3, 2)}, - {PT0, I2C_3, PIN_DATA(1, 2)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_I2C_SCL[] = { - {PC0, I2C_0, PIN_DATA(1, 2)}, - {PA4, I2C_1, PIN_DATA(1, 2)}, - {PL0, I2C_2, PIN_DATA(3, 2)}, - {PT1, I2C_3, PIN_DATA(1, 2)}, - {NC, NC, 0} -}; - -// Clock setting structure definition -typedef struct { - uint32_t sck; - uint32_t prsck; -} I2C_clock_setting_t; - -static const uint32_t I2C_SCK_DIVIDER_TBL[8] = { - 20, 24, 32, 48, 80, 144, 272, 528 -}; // SCK Divider value table - -I2C_clock_setting_t clk; -static uint32_t start_flag = 0; - -static int32_t wait_status(i2c_t *p_obj); -static void i2c_start_bit(i2c_t *obj); - -// Initialize the I2C peripheral. It sets the default parameters for I2C -void i2c_init(i2c_t *obj, PinName sda, PinName scl) -{ - struct i2c_s *obj_s = I2C_S(obj); - MBED_ASSERT(obj_s != NULL); - - I2CName i2c_sda = (I2CName)pinmap_peripheral(sda, PinMap_I2C_SDA); - I2CName i2c_scl = (I2CName)pinmap_peripheral(scl, PinMap_I2C_SCL); - I2CName i2c_name = (I2CName)pinmap_merge(i2c_sda, i2c_scl); - MBED_ASSERT((int)i2c_name != NC); - - switch (i2c_name) { - case I2C_0: - TSB_CG_FSYSENB_IPENB11 = ENABLE; - TSB_CG_FSYSENA_IPENA02 = ENABLE; - obj_s->i2c = TSB_I2C0; - break; - case I2C_1: - TSB_CG_FSYSENB_IPENB12 = ENABLE; - TSB_CG_FSYSENA_IPENA00 = ENABLE; - obj_s->i2c = TSB_I2C1; - break; - case I2C_2: - TSB_CG_FSYSENB_IPENB13 = ENABLE; - TSB_CG_FSYSENA_IPENA10 = ENABLE; - obj_s->i2c = TSB_I2C2; - case I2C_3: - TSB_CG_FSYSENB_IPENB14 = ENABLE; - TSB_CG_FSYSENA_IPENA15 = ENABLE; - obj_s->i2c = TSB_I2C3; - break; - default: - error("I2C is not available"); - break; - } - - pinmap_pinout(sda, PinMap_I2C_SDA); - pin_mode(sda, OpenDrain); - pin_mode(sda, PullUp); - - pinmap_pinout(scl, PinMap_I2C_SCL); - pin_mode(scl, OpenDrain); - pin_mode(scl, PullUp); - - i2c_reset(obj); - i2c_frequency(obj, 100000); - obj_s->i2c->CR2 = (I2CxCR2_I2CM_ENABLE | I2CxCR2_TRX | I2CxCR2_PIN_CLEAR | - I2CxCR2_INIT); - obj_s->i2c->OP = I2CxOP_INIT; - obj_s->i2c->IE = I2CxIE_CLEAR; -} - -// Configure the I2C frequency -void i2c_frequency(i2c_t *obj, int hz) -{ - struct i2c_s *obj_s = I2C_S(obj); - uint64_t sck, tmp_sck; - uint64_t prsck, tmp_prsck; - uint64_t fscl, tmp_fscl; - uint64_t fx; - - SystemCoreClockUpdate(); - - if (hz <= 1000000) { - sck = tmp_sck = 0; - prsck = tmp_prsck = 1; - fscl = tmp_fscl = 0; - for (prsck = 1; prsck <= 32; prsck++) { - fx = ((uint64_t)SystemCoreClock / prsck); - if ((fx < 20000000U) && (fx > 6666666U)) { - for (sck = 0; sck <= 7; sck++) { - fscl = (fx / (uint64_t)I2C_SCK_DIVIDER_TBL[sck]); - if ((fscl <= (uint64_t)hz) && (fscl > tmp_fscl)) { - tmp_fscl = fscl; - tmp_sck = sck; - tmp_prsck = (prsck < 32) ? prsck : 0; - } - } - } - } - clk.sck = (uint32_t)tmp_sck; - clk.prsck = (tmp_prsck < 32) ? (uint32_t)(tmp_prsck - 1) : 0; - } - - obj_s->i2c->CR1 = (I2CxCR1_ACK | clk.sck); - obj_s->i2c->PRS = (I2CxPRS_PRCK & clk.prsck); -} - -int i2c_start(i2c_t *obj) -{ - start_flag = 1; // Start Condition - return 0; -} - -int i2c_stop(i2c_t *obj) -{ - struct i2c_s *obj_s = I2C_S(obj); - uint32_t timeout = I2C_TIMEOUT; - - obj_s->i2c->CR2 = I2CxCR2_STOP_CONDITION; - while ((obj_s->i2c->SR & I2CxSR_BB) == I2CxSR_BB) { - if (timeout == 0) - break; - timeout--; - } - return 0; -} - -void i2c_reset(i2c_t *obj) -{ - struct i2c_s *obj_s = I2C_S(obj); - obj_s->i2c->CR2 = I2CxCR2_SWRES_10; - obj_s->i2c->CR2 = I2CxCR2_SWRES_01; -} - -int i2c_read(i2c_t *obj, int address, char *data, int length, int stop) -{ - int32_t result = 0; - int32_t count = 0; - int32_t pdata = 0; - - if (length > 0) { - start_flag = 1; // Start Condition - if (i2c_byte_write(obj, (int32_t)((uint32_t)address | 1U)) == I2C_ACK) { - while (count < length) { - pdata = i2c_byte_read(obj, ((count < (length - 1)) ? 0 : 1)); - if (pdata < 0) { - break; - } - data[count++] = (uint8_t)pdata; - } - result = count; - } else { - stop = 1; - result = I2C_ERROR_NO_SLAVE; - } - - if (stop) { // Stop Condition - i2c_stop(obj); - } - } - return (result); -} - -int i2c_write(i2c_t *obj, int address, const char *data, int length, int stop) -{ - int32_t result = 0; - int32_t count = 0; - - start_flag = 1; // Start Condition - if (i2c_byte_write(obj, address) == I2C_ACK) { - while (count < length) { - if (i2c_byte_write(obj, (int32_t)data[count++]) < I2C_ACK) { - break; - } - } - result = count; - } else { - stop = 1; - result = I2C_ERROR_NO_SLAVE; - } - - if (stop) { // Stop Condition - i2c_stop(obj); - } - return (result); -} - -int i2c_byte_read(i2c_t *obj, int last) -{ - struct i2c_s *obj_s = I2C_S(obj); - int32_t result; - - obj_s->i2c->ST = I2CxST_CLEAR; - if (last) { - obj_s->i2c->OP |= I2CxOP_MFACK; - } else { - obj_s->i2c->OP &= ~I2CxOP_MFACK; - } - obj_s->i2c->DBR = (0 & I2CxDBR_DB_MASK); - if (wait_status(obj) < 0) { - result = -1; - } else { - result = (int32_t)(obj_s->i2c->DBR & I2CxDBR_DB_MASK); - } - return (result); -} - -int i2c_byte_write(i2c_t *obj, int data) -{ - struct i2c_s *obj_s = I2C_S(obj); - int32_t result; - - obj_s->i2c->ST = I2CxST_CLEAR; - if (start_flag == 1) { - obj_s->i2c->DBR = (data & I2CxDBR_DB_MASK); - i2c_start_bit(obj); - start_flag = 0; - } else { - obj_s->i2c->DBR = (data & I2CxDBR_DB_MASK); - } - - if (wait_status(obj) < 0) { - return (-1); - } - - if (!((obj_s->i2c->SR & I2CxSR_LRB) == I2CxSR_LRB)) { - result = 1; - } else { - result = 0; - } - return (result); -} - -static void i2c_start_bit(i2c_t *obj) // Send START command -{ - struct i2c_s *obj_s = I2C_S(obj); - uint32_t opreg; - opreg = obj_s->i2c->OP; - opreg &= ~(I2CxOP_RSTA | I2CxOP_SREN); - if ((obj_s->i2c->SR & I2CxSR_BB)) { - opreg |= I2CxOP_SREN; - } - obj_s->i2c->OP = opreg; - obj_s->i2c->CR2 |= I2CxCR2_START_CONDITION; -} - -static int32_t wait_status(i2c_t *p_obj) -{ - struct i2c_s *p_obj_s = I2C_S(p_obj); - volatile int32_t timeout; - timeout = I2C_TIMEOUT; - while (!((p_obj_s->i2c->ST & I2CxST_I2C) == I2CxST_I2C)) { - if ((timeout--) == 0) { - return (-1); - } - } - return (0); -} - -void i2c_slave_mode(i2c_t *obj, int enable_slave) -{ - struct i2c_s *obj_s = I2C_S(obj); - if (enable_slave) { - obj_s->i2c->OP = I2CxOP_SLAVE_INIT; - obj_s->i2c->CR1 = (I2CxCR1_ACK | clk.sck); - obj_s->i2c->CR2 = (I2CxCR2_INIT | I2CxCR2_PIN_CLEAR); - obj_s->i2c->PRS = (I2CxPRS_PRCK & clk.prsck); - obj_s->i2c->AR = (obj_s->address & I2CAR_SA_MASK); - obj_s->i2c->IE = I2CxIE_INTI2C; - } else { - i2c_reset(obj); - obj_s->i2c->CR2 = (I2CxCR2_I2CM_ENABLE | I2CxCR2_TRX | I2CxCR2_PIN_CLEAR | - I2CxCR2_INIT); - obj_s->i2c->OP = I2CxOP_INIT; - obj_s->i2c->CR1 = (I2CxCR1_ACK | clk.sck); - obj_s->i2c->PRS = (I2CxPRS_PRCK & clk.prsck); - NVIC_DisableIRQ(obj_s->IRQn); - NVIC_ClearPendingIRQ(obj_s->IRQn); - obj_s->i2c->ST = I2CxST_CLEAR; - } -} - -int i2c_slave_receive(i2c_t *obj) -{ - struct i2c_s *obj_s = I2C_S(obj); - int32_t result = I2C_NO_DATA; - - if ((obj_s->i2c->ST & I2CxST_I2C) && (obj_s->i2c->OP & I2CxOP_SAST)) { - if ((obj_s->i2c->SR & I2CxSR_TRX) == I2CxSR_TRX) { - result = I2C_READ_ADDRESSED; - } else { - result = I2C_WRITE_ADDRESSED; - } - } - return (result); -} - -int i2c_slave_read(i2c_t *obj, char *data, int length) -{ - struct i2c_s *obj_s = I2C_S(obj); - int32_t count = 0; - - while (count < length) { - int32_t pdata = i2c_byte_read(obj, ((count < (length - 1)) ? 0 : 1)); - if ((obj_s->i2c->SR & I2CxSR_TRX)) { - return (count); - } else { - if (pdata < 0) { - break; - } - data[count++] = (uint8_t)pdata; - } - } - i2c_slave_mode(obj,1); - return (count); -} - -int i2c_slave_write(i2c_t *obj, const char *data, int length) -{ - int32_t count = 0; - - while (count < length) { - if (i2c_byte_write(obj, (int32_t)data[count++]) < I2C_ACK) { - break; - } - } - i2c_slave_mode(obj,1); - return (count); -} - -void i2c_slave_address(i2c_t *obj, int idx, uint32_t address, uint32_t mask) -{ - struct i2c_s *obj_s = I2C_S(obj); - obj_s->address = address & I2CAR_SA_MASK; - i2c_slave_mode(obj,1); -} - -const PinMap *i2c_master_sda_pinmap() -{ - return PinMap_I2C_SDA; -} - -const PinMap *i2c_master_scl_pinmap() -{ - return PinMap_I2C_SCL; -} - -const PinMap *i2c_slave_sda_pinmap() -{ - return PinMap_I2C_SDA; -} - -const PinMap *i2c_slave_scl_pinmap() -{ - return PinMap_I2C_SCL; -} - -#endif // #if DEVICE_I2C diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/objects.h b/targets/TARGET_TT/TARGET_TT_M3HQ/objects.h deleted file mode 100644 index 7a27af03e9f..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/objects.h +++ /dev/null @@ -1,113 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_OBJECTS_H -#define MBED_OBJECTS_H - -#include -#include "PortNames.h" -#include "PeripheralNames.h" -#include "PinNames.h" -#include "TMPM3HQ.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - uint32_t BaudRate; - uint32_t DataBits; - uint32_t StopBits; - uint32_t Parity; - uint32_t Mode; - uint32_t FlowCtrl; -} uart_inittypedef_t; - -struct port_s { - PortName port; - uint32_t mask; -}; - -typedef struct { - uint8_t PinDATA; - uint8_t PinCR; - uint8_t PinFR[FRMAX]; - uint8_t PinOD; - uint8_t PinPUP; - uint8_t PinPDN; - uint8_t PinIE; -} gpio_regtypedef_t; - -typedef struct { - __IO uint32_t DATA; - __IO uint32_t CR; - __IO uint32_t FR[FRMAX]; - uint32_t RESERVED0[1]; - __IO uint32_t OD; - __IO uint32_t PUP; - __IO uint32_t PDN; - uint32_t RESERVED1; - __IO uint32_t IE; -} TSB_Port_TypeDef; - -struct serial_s { - PinName pin; - uint32_t index; - TSB_UART_TypeDef * UARTx; - uart_inittypedef_t uart_config; -}; - -struct analogin_s { - PinName pin; - ADCName adc; - TSB_AD_TypeDef* obj; -}; - -struct dac_s { - DACName dac; - TSB_DA_TypeDef* handler; -}; - -struct pwmout_s { - PinName pin; - TSB_T32A_TypeDef * channel; - uint16_t trailing_timing; - uint16_t leading_timing; - uint16_t divisor; - float period; -}; - -struct i2c_s { - uint32_t address; - IRQn_Type IRQn; - TSB_I2C_TypeDef *i2c; -}; - -struct spi_s { - TSB_TSPI_TypeDef *spi; - SPIName module; - uint8_t bits; -}; - -extern const gpio_regtypedef_t GPIO_SFRs[]; -extern const uint32_t GPIO_Base[]; - -#include "gpio_object.h" - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/pinmap.c b/targets/TARGET_TT/TARGET_TT_M3HQ/pinmap.c deleted file mode 100644 index 8566cd6dd7b..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/pinmap.c +++ /dev/null @@ -1,215 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "mbed_assert.h" -#include "pinmap.h" -#include "gpio_include.h" - -void pin_function(PinName pin, int function) -{ - int port = 0; - uint8_t bit = 0; - uint8_t func = 0; - uint8_t dir = 0; - uint32_t port_base = 0; - uint32_t mode_base = 0; - - /* Assert that pin is valid*/ - MBED_ASSERT(pin != NC); - - /* Calculate pin function and pin direction*/ - func = PIN_FUNC(function); - dir = PIN_DIR(function); - - /* Calculate port and pin position*/ - port = PIN_PORT(pin); - bit = PIN_POS(pin); - - port_base = BITBAND_PORT_BASE(port); - /* Initialization PxFR OFF */ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR1); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR2); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR3); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR4); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR5); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR6); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR7); - BITBAND_PORT_CLR(mode_base, bit); - - /* Initialize Input */ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, bit); - switch (func) { - case 0: - break; - case 1: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR1); - break; - case 2: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR2); - break; - case 3: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR3); - break; - case 4: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR4); - break; - case 5: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR5); - break; - case 6: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR6); - break; - case 7: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR7); - break; - default: - break; - } - if (func != 0) - BITBAND_PORT_SET(mode_base, bit); - if(dir == PIN_OUTPUT) { - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, bit); - } else if(dir == PIN_INOUT) { - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, bit); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, bit); - } -} - -void pin_mode(PinName pin, PinMode mode) -{ - int port = 0; - uint8_t bit = 0; - uint8_t val = 0; - - /* Assert that pin is valid*/ - MBED_ASSERT(pin != NC); - - /* Check if function is in range*/ - if (mode > OpenDrain) { - return; - } - - /* Calculate port and pin position*/ - port = PIN_PORT(pin); - bit = PIN_POS(pin); - val = (1 << bit); - - switch (port) { - case PortA: - if(mode == OpenDrain) TSB_PA->OD |= val; - else if(mode == PullUp) TSB_PA->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PA->PDN |= val; - break; - case PortB: - if(mode == OpenDrain) TSB_PB->OD |= val; - else if(mode == PullUp) TSB_PB->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PB->PDN |= val; - break; - case PortC: - if(mode == OpenDrain) TSB_PC->OD |= val; - else if(mode == PullUp) TSB_PC->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PC->PDN |= val; - break; - case PortD: - if(mode == OpenDrain) TSB_PD->OD |= val; - else if(mode == PullUp) TSB_PD->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PD->PDN |= val; - break; - case PortE: - if(mode == OpenDrain) TSB_PE->OD |= val; - else if(mode == PullUp) TSB_PE->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PE->PDN |= val; - break; - case PortF: - if(mode == OpenDrain) TSB_PF->OD |= val; - else if(mode == PullUp) TSB_PF->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PF->PDN |= val; - break; - case PortG: - if(mode == OpenDrain) TSB_PG->OD |= val; - else if(mode == PullUp) TSB_PG->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PG->PDN |= val; - break; - case PortH: - if(mode == PullDown) TSB_PH->PDN |= val; - break; - case PortJ: - if(mode == OpenDrain) TSB_PJ->OD |= val; - else if(mode == PullUp) TSB_PJ->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PJ->PDN |= val; - break; - case PortK: - if(mode == OpenDrain) TSB_PK->OD |= val; - else if(mode == PullUp) TSB_PK->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PK->PDN |= val; - break; - case PortL: - if(mode == OpenDrain) TSB_PL->OD |= val; - else if(mode == PullUp) TSB_PL->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PL->PDN |= val; - break; - case PortM: - if(mode == OpenDrain) TSB_PM->OD |= val; - else if(mode == PullUp) TSB_PM->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PM->PDN |= val; - break; - case PortN: - if(mode == OpenDrain) TSB_PN->OD |= val; - else if(mode == PullUp) TSB_PN->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PN->PDN |= val; - break; - case PortP: - if(mode == OpenDrain) TSB_PP->OD |= val; - else if(mode == PullUp) TSB_PP->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PP->PDN |= val; - break; - case PortR: - if(mode == OpenDrain) TSB_PR->OD |= val; - else if(mode == PullUp) TSB_PR->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PR->PDN |= val; - break; - case PortT: - if(mode == OpenDrain) TSB_PT->OD |= val; - else if(mode == PullUp) TSB_PT->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PT->PDN |= val; - break; - case PortU: - if(mode == OpenDrain) TSB_PU->OD |= val; - else if(mode == PullUp) TSB_PU->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PU->PDN |= val; - break; - case PortV: - if(mode == OpenDrain) TSB_PV->OD |= val; - else if(mode == PullUp) TSB_PV->PUP |= val; - else if(mode == PullDown || mode == PullDefault) TSB_PV->PDN |= val; - break; - default: - break; - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/port_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/port_api.c deleted file mode 100644 index 3ff6359bee2..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/port_api.c +++ /dev/null @@ -1,150 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "port_api.h" -#include "pinmap.h" -#include "gpio_include.h" - -#define PORT_PIN_NUM 8 - -PinName port_pin(PortName port, int pin_n) -{ - PinName pin = NC; - pin = (PinName) ((port << 3 ) | pin_n); - return pin; -} - -void port_init(port_t *obj, PortName port, int mask, PinDirection dir) -{ - uint8_t i = 0; - - // Assert that port is valid - MBED_ASSERT(port <= PortV); - - // Store port and port mask for future use - obj->port = port; - obj->mask = mask; - // Enabling Port Clock Supply - TSB_CG->FSYSENA |= (1<<(obj->port)); - // Set port function and port direction - for (i = 0; i < PORT_PIN_NUM; i++) { - if (obj->mask & (1 << i)) { // If the pin is used - pin_function(port_pin(obj->port, i), dir); - } - } -} - -void port_mode(port_t *obj, PinMode mode) -{ - uint8_t i = 0; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortV); - - // Set mode for masked pins - for (i = 0; i < PORT_PIN_NUM; i++) { - if (obj->mask & (1 << i)) { // If the pin is used - pin_mode(port_pin(obj->port, i), mode); - } - } -} - -void port_dir(port_t *obj, PinDirection dir) -{ - uint8_t bit = 0; - // Assert that port is valid - MBED_ASSERT(obj->port <= PortV); - // Set direction for masked pins - switch (dir) { - case PIN_INPUT: - for (bit = 0; bit < PORT_PIN_NUM; bit++) { - if (((obj->mask >> bit) & 0x01) == 0x01) { - pin_function((PinName)bit, PIN_INPUT); - } - } - break; - case PIN_OUTPUT: - for (bit = 0; bit < PORT_PIN_NUM; bit++) { - if (((obj->mask >> bit) & 0x01) == 0x01) { - pin_function((PinName)bit, PIN_OUTPUT); - } - } - break; - case PIN_INOUT: - for (bit = 0; bit < PORT_PIN_NUM; bit++) { - if (((obj->mask >> bit) & 0x01) == 0x01) { - pin_function((PinName)bit, PIN_INOUT); - } - } - break; - default: - break; - } -} - -void port_write(port_t *obj, int value) -{ - uint8_t port_data = 0; - uint8_t data = 0; - int bit = 0; - uint8_t val = 0; - uint32_t base; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortV); - base = BITBAND_PORT_BASE(obj->port); - base = BITBAND_PORT_MODE_BASE(base, GPIO_Mode_DATA); - // Get current data of port - for (bit = 7; bit >= 0; bit--) { - BITBAND_PORT_READ(val, base, bit); - port_data <<= 1; - port_data |= val; - } - // Calculate data to write to masked pins - data = (port_data & ~obj->mask) | (value & obj->mask); - for (bit = 0; bit < PORT_PIN_NUM; bit++) { - if (((obj->mask >> bit) & 0x01) == 0x01) { - if(((data >> bit) & 0x01) == GPIO_PIN_SET) { - BITBAND_PORT_SET(base, bit); - } else { - BITBAND_PORT_CLR(base, bit); - } - } - } -} - -int port_read(port_t *obj) -{ - uint8_t port_data = 0; - uint8_t data = 0; - int bit = 0; - uint8_t val = 0; - uint32_t base; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortV); - base = BITBAND_PORT_BASE(obj->port); - base = BITBAND_PORT_MODE_BASE(base, GPIO_Mode_DATA); - - // Get current data of port - for (bit = 7; bit >= 0; bit--) { - BITBAND_PORT_READ(val, base, bit); - port_data <<= 1; - port_data |= val; - } - // Calculate data of masked pins - data = port_data & obj->mask; - return data; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/pwmout_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/pwmout_api.c deleted file mode 100644 index e83666fc95a..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/pwmout_api.c +++ /dev/null @@ -1,200 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "pwmout_api.h" -#include "pinmap.h" -#include "gpio_include.h" - -static const PinMap PinMap_PWM[] = { - {PB0, PWM_0, PIN_DATA(5, 1)}, - {PC0, PWM_1, PIN_DATA(4, 1)}, - {PJ0, PWM_2, PIN_DATA(4, 1)}, - {PK2, PWM_3, PIN_DATA(4, 1)}, - {PN0, PWM_4, PIN_DATA(4, 1)}, - {PL5, PWM_5, PIN_DATA(4, 1)}, - {PG2, PWM_6, PIN_DATA(4, 1)}, - {NC, NC, 0} -}; - -static const uint32_t prescale_tbl[] = { - 2, 8, 32, 128, 256, 512, 1024 -}; - -void pwmout_init(pwmout_t* obj, PinName pin) -{ - uint16_t counter = 0; - - PWMName pwm = (PWMName)pinmap_peripheral(pin, PinMap_PWM); // Determine the pwm channel - MBED_ASSERT(pwm != (PWMName)NC); - - switch (pwm) { - case PWM_0: - obj->channel = TSB_T32A1; - TSB_CG_FSYSENA_IPENA25 = ENABLE; - TSB_CG_FSYSENA_IPENA01 = ENABLE; - break; - case PWM_1: - obj->channel = TSB_T32A2; - TSB_CG_FSYSENA_IPENA26 = ENABLE; - TSB_CG_FSYSENA_IPENA02 = ENABLE; - break; - case PWM_2: - obj->channel = TSB_T32A3; - TSB_CG_FSYSENA_IPENA27 = ENABLE; - TSB_CG_FSYSENA_IPENA08 = ENABLE; - break; - case PWM_3: - obj->channel = TSB_T32A4; - TSB_CG_FSYSENA_IPENA28 = ENABLE; - TSB_CG_FSYSENA_IPENA09 = ENABLE; - break; - case PWM_4: - obj->channel = TSB_T32A5; - TSB_CG_FSYSENA_IPENA29 = ENABLE; - TSB_CG_FSYSENA_IPENA12 = ENABLE; - break; - case PWM_5: - obj->channel = TSB_T32A6; - TSB_CG_FSYSENA_IPENA30 = ENABLE; - TSB_CG_FSYSENA_IPENA10 = ENABLE; - break; - case PWM_6: - obj->channel = TSB_T32A7; - TSB_CG_FSYSENA_IPENA31 = ENABLE; - TSB_CG_FSYSENA_IPENA06 = ENABLE; - break; - default: - obj->channel = NULL; - break; - } - - pinmap_pinout(pin, PinMap_PWM); // Set pin function as PWM - obj->pin = pin; - obj->period = DEFAULT_PERIOD; - obj->divisor = DEFAULT_CLOCK_DIVISION; - obj->channel->MOD = (T32A_MODE_32 | T32A_DBG_HALT_STOP); - obj->channel->RUNC = (T32A_COUNT_STOP | T32A_COUNT_DONT_START | T32A_RUN_DISABLE); - obj->channel->CRC = (T32A_PRSCLx_32 | T32A_WBF_ENABLE | T32A_RELOAD_TREGx); - obj->channel->OUTCRC0 = T32A_OCR_DISABLE; - obj->channel->OUTCRC1 = (T32A_OCRCMPx0_SET | T32A_OCRCMPx1_CLR); - counter = ((DEFAULT_PERIOD * (SystemCoreClock)) / obj->divisor); - obj->channel->RGC0 = counter; - obj->channel->RGC1 = counter; - obj->trailing_timing = counter; - obj->leading_timing = counter; -} - -void pwmout_free(pwmout_t* obj) -{ - // Stops and clear count operation - obj->channel->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); - pwmout_write(obj, 0); - obj->pin = NC; - obj->channel = NULL; - obj->trailing_timing = 0; - obj->leading_timing = 0; - obj->divisor = 0; -} - -void pwmout_write(pwmout_t* obj, float value) -{ - obj->channel->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); // Stop timer for setting clock again - obj->leading_timing = (obj->trailing_timing - - (obj->trailing_timing * value)); // leading_timing value - obj->channel->RGC0 = obj->leading_timing; // Setting TBxRG0 register - obj->channel->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); // Start count operation -} - -float pwmout_read(pwmout_t* obj) -{ - float duty_cycle = ((float)(obj->trailing_timing - obj->leading_timing) - / obj->trailing_timing); - return duty_cycle; -} - -void pwmout_period(pwmout_t* obj, float seconds) -{ - pwmout_period_us(obj, (int)(seconds * 1000000.0f)); -} - -void pwmout_period_ms(pwmout_t* obj, int ms) -{ - pwmout_period_us(obj, ms * 1000); -} - -void pwmout_period_us(pwmout_t* obj, int us) -{ - float seconds = 0; - int cycles = 0; - uint32_t clkdiv = 0; - int i = 0; - float duty_cycle = 0; - - seconds = (float)(us / 1000000.0f); - // Select highest timer resolution - for (i = 0; i < 7; ++i) { - cycles = (int)(((SystemCoreClock) / prescale_tbl[i]) * seconds); - if (cycles <= MAX_COUNTER_16B) { - clkdiv = i + 1; // range 1:7 - clkdiv <<= 28; - break; - } else { - cycles = MAX_COUNTER_16B; - clkdiv = 7; - clkdiv <<= 28; - } - } - // Stop timer for setting clock again - obj->channel->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); - // Restore the duty-cycle - duty_cycle = ((float)(obj->trailing_timing - obj->leading_timing) - / obj->trailing_timing); - obj->trailing_timing = cycles; - obj->leading_timing = (cycles - (cycles * duty_cycle)); - // Change the source clock division and period - obj->channel->MOD = T32A_MODE_32; - obj->channel->CRC = (clkdiv | T32A_WBF_ENABLE | T32A_RELOAD_TREGx); - obj->channel->OUTCRC0 = T32A_OCR_DISABLE; - obj->channel->OUTCRC1 = (T32A_OCRCMPx0_SET | T32A_OCRCMPx1_CLR); - obj->channel->RGC0 = obj->leading_timing; - obj->channel->RGC1 = obj->trailing_timing; - obj->channel->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); // Start count operation -} - -void pwmout_pulsewidth(pwmout_t* obj, float seconds) -{ - pwmout_pulsewidth_us(obj, seconds * 1000000.0f); -} - -void pwmout_pulsewidth_ms(pwmout_t* obj, int ms) -{ - pwmout_pulsewidth_us(obj, ms * 1000); -} - -void pwmout_pulsewidth_us(pwmout_t* obj, int us) -{ - float seconds = 0; - float value = 0; - - seconds = (float)(us / 1000000.0f); - value = (((seconds / obj->period) * 100.0f) / 100.0f); - - pwmout_write(obj, value); -} - -const PinMap *pwmout_pinmap() -{ - return PinMap_PWM; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/serial_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/serial_api.c deleted file mode 100644 index 3b85770b6dc..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/serial_api.c +++ /dev/null @@ -1,471 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include -#include "serial_api.h" -#include "pinmap.h" -#include "mbed_error.h" -#include "gpio_include.h" -#include "objects.h" - -static const PinMap PinMap_UART_TX[] = { - {PA1, SERIAL_0, PIN_DATA(1, 1)}, - {PJ1, SERIAL_1, PIN_DATA(1, 1)}, - {PB2, SERIAL_2, PIN_DATA(5, 1)}, - {PA6, SERIAL_3, PIN_DATA(2, 1)}, - {PV6, SERIAL_4, PIN_DATA(1, 1)}, - {PN2, SERIAL_5, PIN_DATA(2, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_UART_RX[] = { - {PA2, SERIAL_0, PIN_DATA(1, 0)}, - {PJ2, SERIAL_1, PIN_DATA(1, 0)}, - {PB3, SERIAL_2, PIN_DATA(5, 0)}, - {PA7, SERIAL_3, PIN_DATA(2, 0)}, - {PV7, SERIAL_4, PIN_DATA(1, 0)}, - {PN3, SERIAL_5, PIN_DATA(2, 0)}, - {NC, NC, 0} -}; - -#define UART_NUM 6 - -static uint32_t serial_irq_ids[UART_NUM] = {0}; -static uart_irq_handler irq_handler; -int stdio_uart_inited = 0; -serial_t stdio_uart; - -static void uart_init(TSB_UART_TypeDef * UARTx, uart_inittypedef_t * InitStruct); -static void uart_get_boudrate_setting(uart_boudrate_t *brddiviser, uint32_t boudrate); -static void uart_swreset(TSB_UART_TypeDef * UARTx); - -void serial_init(serial_t *obj, PinName tx, PinName rx) -{ - int is_stdio_uart = 0; - UARTName uart_tx = (UARTName)pinmap_peripheral(tx, PinMap_UART_TX); - UARTName uart_rx = (UARTName)pinmap_peripheral(rx, PinMap_UART_RX); - UARTName uart_name = (UARTName)pinmap_merge(uart_tx, uart_rx); - MBED_ASSERT((int)uart_name != NC); - - obj->index = uart_name; - switch (uart_name) { /* Initialize UART instance */ - case SERIAL_0: - obj->UARTx = UART0; - TSB_CG_FSYSENB_IPENB05 = ENABLE; - TSB_CG_FSYSENA_IPENA00 = ENABLE; - break; - case SERIAL_1: - obj->UARTx = UART1; - TSB_CG_FSYSENB_IPENB06 = ENABLE; - TSB_CG_FSYSENA_IPENA08 = ENABLE; - break; - case SERIAL_2: - obj->UARTx = UART2; - TSB_CG_FSYSENB_IPENB07 = ENABLE; - TSB_CG_FSYSENA_IPENA01 = ENABLE; - break; - case SERIAL_3: - obj->UARTx = UART3; - TSB_CG_FSYSENB_IPENB08 = ENABLE; - TSB_CG_FSYSENA_IPENA00 = ENABLE; - break; - case SERIAL_4: - obj->UARTx = UART4; - TSB_CG_FSYSENB_IPENB09 = ENABLE; - TSB_CG_FSYSENA_IPENA17 = ENABLE; - break; - case SERIAL_5: - obj->UARTx = UART5; - TSB_CG_FSYSENB_IPENB10 = ENABLE; - TSB_CG_FSYSENA_IPENA12 = ENABLE; - break; - default: - error("UART is not available"); - break; - } - - pinmap_pinout(tx, PinMap_UART_TX); - pinmap_pinout(rx, PinMap_UART_RX); - if (tx != NC && rx != NC) { - obj->uart_config.Mode = UART_ENABLE_RX | UART_ENABLE_TX; - } else { - if (tx != NC) { - obj->uart_config.Mode = UART_ENABLE_TX; - } else { - if (rx != NC) { - obj->uart_config.Mode = UART_ENABLE_RX; - } - } - } - obj->uart_config.BaudRate = 9600; - obj->uart_config.DataBits = 8; - obj->uart_config.StopBits = 0; - obj->uart_config.Parity = ParityNone; - obj->uart_config.FlowCtrl = FlowControlNone; - - uart_init(obj->UARTx, &obj->uart_config); - is_stdio_uart = (uart_name == STDIO_UART) ? (1) : (0); - - if (is_stdio_uart) { - stdio_uart_inited = 1; - memcpy(&stdio_uart, obj, sizeof(serial_t)); - } -} - -void serial_free(serial_t *obj) -{ - obj->UARTx->TRANS = 0; - obj->UARTx->CR0 = 0; - obj->UARTx->CR1 = 0; - - uart_swreset(obj->UARTx); - - obj->uart_config.BaudRate = 0; - obj->uart_config.DataBits = 0; - obj->uart_config.StopBits = 0; - obj->uart_config.Parity = 0; - obj->uart_config.Mode = 0; - obj->uart_config.FlowCtrl = 0; -} - -void serial_baud(serial_t *obj, int baudrate) -{ - obj->uart_config.BaudRate = baudrate; - uart_init(obj->UARTx, &obj->uart_config); -} -void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) -{ - MBED_ASSERT((stop_bits == 1) || (stop_bits == 2)); // 0: 1 stop bits, 1: 2 stop bits - MBED_ASSERT((parity == ParityNone) || (parity == ParityOdd) || (parity == ParityEven)); - MBED_ASSERT((data_bits > 6) && (data_bits < 10)); // 0: 7 data bits ... 2: 9 data bits - - obj->uart_config.DataBits = data_bits; - obj->uart_config.StopBits = stop_bits; - obj->uart_config.Parity = parity; - uart_init(obj->UARTx, &obj->uart_config); -} - -void INTUART0TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_0], TxIrq); -} - -void INTUART0RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_0], RxIrq); -} - -void INTUART1TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_1], TxIrq); -} - -void INTUART1RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_1], RxIrq); -} -void INTUART2TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_2], TxIrq); -} - -void INTUART2RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_2], RxIrq); -} - -void INTUART3TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_3], TxIrq); -} - -void INTUART3RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_3], RxIrq); -} - -void INTUART4TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_4], TxIrq); -} - -void INTUART4RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_4], RxIrq); -} - -void INTUART5TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_5], TxIrq); -} - -void INTUART5RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_5], RxIrq); -} - -void serial_irq_handler(serial_t *obj, uart_irq_handler handler, uint32_t id) -{ - irq_handler = handler; - serial_irq_ids[obj->index] = id; -} - -void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable) -{ - IRQn_Type irq_n = (IRQn_Type)0; - - switch (obj->index) { - case SERIAL_0: - if (irq == RxIrq) { - irq_n = INTUART0RX_IRQn; - } else { - irq_n = INTUART0TX_IRQn; - } - break; - case SERIAL_1: - if (irq == RxIrq) { - irq_n = INTUART1RX_IRQn; - } else { - irq_n = INTUART1TX_IRQn; - } - break; - case SERIAL_2: - if (irq == RxIrq) { - irq_n = INTUART2RX_IRQn; - } else { - irq_n = INTUART2TX_IRQn; - } - break; - case SERIAL_3: - if (irq == RxIrq) { - irq_n = INTUART3RX_IRQn; - } else { - irq_n = INTUART3TX_IRQn; - } - break; - case SERIAL_4: - if (irq == RxIrq) { - irq_n = INTUART4RX_IRQn; - } else { - irq_n = INTUART4TX_IRQn; - } - break; - case SERIAL_5: - if (irq == RxIrq) { - irq_n = INTUART5RX_IRQn; - } else { - irq_n = INTUART5TX_IRQn; - } - break; - default: - break; - } - NVIC_ClearPendingIRQ(irq_n); - if (enable) { - NVIC_EnableIRQ(irq_n); - } else { - NVIC_DisableIRQ(irq_n); - } -} - -int serial_getc(serial_t *obj) -{ - int data = 0; - - while (!serial_readable(obj)) { // Wait until Rx buffer is full - // Do nothing - } - - if (obj->uart_config.Mode & UART_ENABLE_TX) { - obj->UARTx->TRANS &= 0x0D; - } - - data = data | (obj->UARTx->DR & 0xFFU); - - if (obj->uart_config.Mode & UART_ENABLE_TX) { - obj->UARTx->TRANS |= UART_ENABLE_TX; - } - return data; -} - -void serial_putc(serial_t *obj, int c) -{ - - while (!serial_writable(obj)) { - // Do nothing - } - - if (obj->uart_config.Mode & UART_ENABLE_RX) { - obj->UARTx->TRANS &= 0x0E; - } - - obj->UARTx->DR = c & 0xFFU; - - if (obj->uart_config.Mode & UART_ENABLE_RX) { - obj->UARTx->TRANS |= UART_ENABLE_RX; - } -} - -int serial_readable(serial_t *obj) -{ - int ret = 0; - - if ((obj->UARTx->SR & 0x0000000F) != 0) { - ret = 1; - } - return ret; -} - -int serial_writable(serial_t *obj) -{ - int ret = 0; - - if ((obj->UARTx->SR &0x8000) == 0) { - ret = 1; - } - - return ret; -} - -void serial_clear(serial_t *obj) -{ - obj->UARTx->FIFOCLR = 0x03; -} - -void serial_pinout_tx(PinName tx) -{ - pinmap_pinout(tx, PinMap_UART_TX); -} - -void serial_break_set(serial_t *obj) -{ - obj->UARTx->TRANS |= 0x08; -} - -void serial_break_clear(serial_t *obj) -{ - obj->UARTx->TRANS &= ~(0x08); -} - -static void uart_swreset(TSB_UART_TypeDef * UARTx) -{ - while (((UARTx->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) { - // No process - } - - UARTx->SWRST = UARTxSWRST_SWRST_10; - UARTx->SWRST = UARTxSWRST_SWRST_01; - - while (((UARTx->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) { - // No process - } -} - -static void uart_get_boudrate_setting(uart_boudrate_t *brddiviser, uint32_t boudrate) -{ - uint32_t clock = 0U; - uint32_t k = 0U; - uint64_t tx = 0U; - uint64_t work = 1U; - uint64_t p_range64 = 0U; - uint64_t boud64 = 0; - uint64_t tx64 = 0; - uint64_t work64 = 1; - - SystemCoreClockUpdate(); // Get the peripheral I/O clock frequency - clock = SystemCoreClock; - tx = (uint64_t)((uint64_t)clock << 6); - tx /= work; - tx64 = (uint64_t)((uint64_t)clock << 8); - tx64 /= work64; - work = ((uint64_t)boudrate); - tx /= work; - tx >>= 4; - - boud64 = (64U * boudrate); - p_range64 = ((boud64 / 100) * 3); - - for (k=UART_RANGE_K_MIN; (k <= UART_RANGE_K_MAX); k++) { - work = tx + k; - if (work >= (uint64_t)((uint64_t)1 << 6)) { - work -= (uint64_t)((uint64_t)1 << 6); - work >>= 6; - if ((UART_RANGE_N_MIN <= (uint32_t)work) && ((uint32_t)work <= UART_RANGE_N_MAX)) { - work64 = work <<6; - work64 = (uint64_t)(work64 + (64 - (uint64_t)k)); - work64 = (tx64 / work64); - if (((boud64 - p_range64) <= work64) && (work64 <= (boud64 + p_range64))) { - brddiviser->brn = work; - brddiviser->brk = k; - break; - } - } - } - } -} - -static void uart_init(TSB_UART_TypeDef * UARTx, uart_inittypedef_t * InitStruct) -{ - uart_boudrate_t UTx_brd = {0}; - uint32_t brk; - uint32_t tmp; - uint32_t parity_check; - uint32_t data_length; - - UARTx->CLK = UART_PLESCALER_1; // Register Setting - uart_get_boudrate_setting(&UTx_brd, InitStruct->BaudRate); - UTx_brd.ken = UART_DIVISION_ENABLE; - brk = (UTx_brd.brk << 16); - UARTx->BRD = (UTx_brd.ken | brk | UTx_brd.brn); - parity_check = (InitStruct->Parity == ParityOdd) ? 1 : ((InitStruct->Parity == ParityEven) ? 3 : 0); - data_length = (InitStruct->DataBits) == 8 ? 1 : (((InitStruct->DataBits) == 7) ? 0 : 2); - tmp = (((InitStruct->FlowCtrl) << 9) | ((InitStruct->StopBits) << 4) | (parity_check << 2) | data_length); - UARTx->CR0 = tmp; - UARTx->CR1 = (UART_RX_FIFO_FILL_LEVEL | UART_TX_INT_ENABLE | UART_RX_INT_ENABLE); - UARTx->FIFOCLR = (UARTxFIFOCLR_TFCLR_CLEAR | UARTxFIFOCLR_RFCLR_CLEAR); - UARTx->TRANS = InitStruct->Mode; -} - -const PinMap *serial_tx_pinmap() -{ - return PinMap_UART_TX; -} - -const PinMap *serial_rx_pinmap() -{ - return PinMap_UART_RX; -} - -const PinMap *serial_cts_pinmap() -{ -#if !DEVICE_SERIAL_FC - static const PinMap PinMap_UART_CTS[] = { - {NC, NC, 0} - }; -#endif - - return PinMap_UART_CTS; -} - -const PinMap *serial_rts_pinmap() -{ -#if !DEVICE_SERIAL_FC - static const PinMap PinMap_UART_RTS[] = { - {NC, NC, 0} - }; -#endif - - return PinMap_UART_RTS; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/sleep.c b/targets/TARGET_TT/TARGET_TT_M3HQ/sleep.c deleted file mode 100644 index 9e1d93c2b1f..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/sleep.c +++ /dev/null @@ -1,75 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "sleep_api.h" -#include "gpio_include.h" - -static void warming_up_time(void); - -void hal_sleep(void) -{ - // Set low power consumption mode IDLE - TSB_CG->STBYCR = CG_STBY_MODE_IDLE; - __DSB(); // Enter idle mode - __WFI(); -} - -void hal_deepsleep(void) -{ - uint32_t tmp; - // WDT sysclock enable - TSB_CG_FSYSENB_IPENB31 = ENABLE; - while ((TSB_FC->SR0 & 0x01) != 0x01); // Flash Wait - // Wait for end of Warming-up for IHOSC1 - while(TSB_CG_WUPHCR_WUEF); - // Set Warm-up clock to IHOSC1 - TSB_CG_WUPHCR_WUCLK = DISABLE; - // Set Warming-up time (xxxx) for IHOSC1 return from STOP1 mode - warming_up_time(); - // Set low power consumption mode STOP1 - TSB_CG->STBYCR = CG_STBY_MODE_STOP1; - // Set PLL of fsys to fosc(= PLL no USE) - TSB_CG_PLL0SEL_PLL0SEL = DISABLE; - // Wait for PLL status of fsys until off state(fosc = 0) - while(TSB_CG_PLL0SEL_PLL0ST); - TSB_CG_PLL0SEL_PLL0ON = DISABLE; // Stop PLL of fsys - TSB_CG_OSCCR_IHOSC1EN = ENABLE; // Enable IHOSC1 - TSB_CG_OSCCR_OSCSEL = DISABLE; // Set fosc to IHOSC1 - while(TSB_CG_OSCCR_OSCF); // Wait for fosc status until IHOSC1 - tmp = TSB_CG->OSCCR; // Set EHOSC off - tmp &= EXTERNEL_OSC_MASK; - TSB_CG->OSCCR = tmp; - TSB_CG_OSCCR_IHOSC2EN = DISABLE; //Stop IHOSC2 of OFD - // Wait for status of OFD until off ”0” - while(TSB_CG_OSCCR_IHOSC2F); - __DSB(); // Enter STOP1 mode - __WFI(); -} - -static void warming_up_time(void) -{ - uint32_t work; - uint64_t x; - x = (uint64_t)((uint64_t)(IHOSC_CFG_WARM_UP_TIME) * (uint64_t)(IHOSC_CFG_CLOCK)); - x = (uint64_t)(x / (uint64_t)(1000000)); - if (x > (uint64_t)(0xFFFF)) { - // invalid value - } - work = (uint32_t)x; - work &= (uint32_t)(0xFFFFFFF0); - work <<= 16; - work |= (uint32_t)(TSB_CG->WUPHCR & ~CGWUPHCR_WUPT_HIGH_MASK); - TSB_CG->WUPHCR = work; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/spi_api.c b/targets/TARGET_TT/TARGET_TT_M3HQ/spi_api.c deleted file mode 100644 index 9865a4d0429..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/spi_api.c +++ /dev/null @@ -1,329 +0,0 @@ -/* mbed Microcontroller Library - ******************************************************************************* - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * All rights reserved. - * SPDX-License-Identifier: Apache-2.0 - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************* - */ -#include "spi_api.h" -#include "mbed_error.h" -#include "pinmap.h" -#include "gpio_include.h" - -#if DEVICE_SPI_ASYNCH -#define SPI_S(obj) (struct spi_s *) (&((obj)->spi)) -#else -#define SPI_S(obj) (struct spi_s *) (obj) -#endif - -static const PinMap PinMap_SPI_SCLK[] = { - {PM0, SPI_0, PIN_DATA(3, 1)}, - {PB2, SPI_1, PIN_DATA(3, 1)}, - {PT2, SPI_2, PIN_DATA(1, 1)}, - {PP5, SPI_3, PIN_DATA(1, 1)}, - {PH4, SPI_4, PIN_DATA(1, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_MOSI[] = { - {PM1, SPI_0, PIN_DATA(3, 1)}, - {PB3, SPI_1, PIN_DATA(3, 1)}, - {PT3, SPI_2, PIN_DATA(1, 1)}, - {PP4, SPI_3, PIN_DATA(1, 1)}, - {PH5, SPI_4, PIN_DATA(1, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_MISO[] = { - {PM2, SPI_0, PIN_DATA(3, 0)}, - {PB4, SPI_1, PIN_DATA(3, 0)}, - {PT4, SPI_2, PIN_DATA(1, 0)}, - {PP3, SPI_3, PIN_DATA(1, 0)}, - {PH6, SPI_4, PIN_DATA(1, 0)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_SSEL[] = { - {PM3, SPI_0, PIN_DATA(3, 1)}, - {PB5, SPI_1, PIN_DATA(3, 1)}, - {PT1, SPI_2, PIN_DATA(2, 1)}, - {PP6, SPI_3, PIN_DATA(1, 1)}, - {NC, NC, 0} -}; - -void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - // Check pin parameters - SPIName spi_mosi = (SPIName)pinmap_peripheral(mosi, PinMap_SPI_MOSI); - SPIName spi_miso = (SPIName)pinmap_peripheral(miso, PinMap_SPI_MISO); - SPIName spi_sclk = (SPIName)pinmap_peripheral(sclk, PinMap_SPI_SCLK); - SPIName spi_ssel = (SPIName)pinmap_peripheral(ssel, PinMap_SPI_SSEL); - SPIName spi_data = (SPIName)pinmap_merge(spi_mosi, spi_miso); - SPIName spi_cntl = (SPIName)pinmap_merge(spi_sclk, spi_ssel); - - obj_s->module = (SPIName)pinmap_merge(spi_data, spi_cntl); - spi = obj_s->spi; - switch ((int)obj_s->module) { - case SPI_0: - TSB_CG_FSYSENA_IPENA11 = ENABLE; - TSB_CG_FSYSENB_IPENB00 = ENABLE; - spi = TSB_TSPI0; - break; - case SPI_1: - TSB_CG_FSYSENA_IPENA01 = ENABLE; - TSB_CG_FSYSENB_IPENB01 = ENABLE; - spi = TSB_TSPI1; - break; - case SPI_2: - TSB_CG_FSYSENA_IPENA15 = ENABLE; - TSB_CG_FSYSENB_IPENB02 = ENABLE; - spi = TSB_TSPI2; - break; - case SPI_3: - TSB_CG_FSYSENA_IPENA13 = ENABLE; - TSB_CG_FSYSENB_IPENB03 = ENABLE; - spi = TSB_TSPI3; - break; - case SPI_4: - TSB_CG_FSYSENA_IPENA07 = ENABLE; - TSB_CG_FSYSENB_IPENB04 = ENABLE; - spi = TSB_TSPI4; - break; - default: - error("Cannot found SPI module corresponding with input pins."); - break; - } - obj_s->spi = spi; - // pin out the SPI pins - pinmap_pinout(mosi, PinMap_SPI_MOSI); - pinmap_pinout(miso, PinMap_SPI_MISO); - pinmap_pinout(sclk, PinMap_SPI_SCLK); - - if (ssel != NC) { - pinmap_pinout(ssel, PinMap_SPI_SSEL); - } - - // TTSPI Software Reset - spi->CR0 = TSPI_RESET10; - spi->CR0 = TSPI_RESET01; - - // Wait for 2 clocks of reset completion - __NOP(); - __NOP(); - - // Enable the selected TSPI peripheral (TTSPIE) - spi->CR0 = TSPI_ENABLE; - spi->CR1 = 0; - spi->CR1 = TSPI_MASTER_OPEARTION; - spi->CR2 = 0; - spi->CR2 = (TSPI_TIDLE_LOW | TSPI_TXDEMP_HI); - // Format control0 Register Set - spi->FMTR0 = (TSPI_DATA_DIRECTION_MSB | TSPI_DATA_LENGTH_8 | - TSPI_MIN_IDLE_TIME_1); - // Format control1 Register Set - spi->FMTR1 = 0; - // Enable the selected TSPI peripheral - spi->CR0 |= TSPI_ENABLE; - spi_frequency(obj, 1000000); -} - -void spi_free(spi_t *obj) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - - spi = obj_s->spi; - spi->CR0 |= TSPI_DISABLE; - spi->CR2 = TSPI_INT_ALL; // Disable all interrupt -} - -void spi_format(spi_t *obj, int bits, int mode, int slave) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - - obj_s->bits = bits; - spi = obj_s->spi; - obj_s->bits = bits; - spi->CR0 |= TSPI_DISABLE; - - if (bits >= 8 || bits <= 32) { - spi->FMTR0 |= (bits << 24); - } else { - // Do nothing - } - spi->FMTR0 |= (((mode >> 1) & 0x1) << 14); - spi->FMTR0 |= ((mode & 0x01) << 15); - spi->CR0 |= TSPI_ENABLE; -} - -void spi_frequency(spi_t *obj, int hz) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - int clk_div = 1; - uint32_t clocks = ((SystemCoreClock / 2) / hz); - obj_s->spi->CR0 |= TSPI_DISABLE; - - while (clk_div < 10) { - if (clocks < 16) { - break; - } - clk_div++; - clocks >>= 1; - } - clk_div--; - if (clk_div == 0) { - clocks++; - } - spi = obj_s->spi; - spi->CR0 |= TSPI_DISABLE; - spi->BR = ((clk_div << 4) | clocks); - spi->CR0 |= TSPI_ENABLE; -} - -int spi_master_write(spi_t *obj, int value) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - MBED_ASSERT(obj_s != NULL); - spi = obj_s->spi; - spi->CR3 |= TSPI_TX_BUFF_CLR_DONE; // FIFO Cear - // Check if the TSPI is already enabled - if((spi->CR0 & TSPI_ENABLE) != TSPI_ENABLE) { - spi->CR0 |= TSPI_ENABLE; - } - // Enable TSPI Transmission Control - spi->CR1 |= TSPI_TRXE_ENABLE; - // Check the current fill level - if(((spi->SR & TSPI_TX_REACH_FILL_LEVEL_MASK) >> 16) <= 7) { - do { - spi->DR = (value & TSPI_DR_8BIT_MASK); - // check complete transmit - } while ((spi->SR & TSPI_TX_DONE_FLAG) != TSPI_TX_DONE); - spi->CR3 |= TSPI_TX_BUFF_CLR_DONE; - spi->CR1 &= TSPI_TRXE_DISABLE_MASK; - } - if((spi->CR1 & TSPI_Transfer_Mode_MASK) == TSPI_RX_ONLY) { - // Enable TSPI Transmission Control - spi->CR1 |= TSPI_TRXE_ENABLE; - } - // Check if the TSPI is already enabled - if((spi->CR0 & TSPI_ENABLE) != TSPI_ENABLE) { - // Enable TSPI Transmission Control - spi->CR0 |= TSPI_ENABLE; - } - value = 0; - // Wait until Receive Complete Flag is set to receive data - if((spi->SR & TSPI_RX_DONE_FLAG) == TSPI_RX_DONE) { - // Check the remain data exist - if((spi->SR & TSPI_RX_REACH_FILL_LEVEL_MASK) != 0) { - value = (spi->DR & TSPI_DR_8BIT_MASK); - } - spi->SR |= TSPI_RX_DONE_CLR; // Receive Complete Flag is clear - spi->CR2 |= TSPI_RX_BUFF_CLR_DONE; // FIFO Clear - spi->CR1 &= TSPI_TRXE_DISABLE_MASK; - } - return value; -} - -int spi_master_block_write(spi_t *obj, const char *tx_buffer, int tx_length, - char *rx_buffer, int rx_length, char write_fill) -{ - int total = (tx_length > rx_length) ? tx_length : rx_length; - - for (int i = 0; i < total; i++) { - char out = (i < tx_length) ? tx_buffer[i] : write_fill; - char in = spi_master_write(obj, out); - if (i < rx_length) { - rx_buffer[i] = in; - } - } - - return total; -} - -int spi_busy(spi_t *obj) -{ - struct spi_s *obj_s = SPI_S(obj); - TSB_TSPI_TypeDef* spi; - uint8_t result = 0; - - spi = obj_s->spi; - if( (spi->SR & (1<<7)) || (spi->SR & (1<<23))) { - result = 1; - } else { - result = 0; - } - return result; -} - -uint8_t spi_get_module(spi_t *obj) -{ - struct spi_s *obj_s = SPI_S(obj); - return (uint8_t)(obj_s->module); -} - -const PinMap *spi_master_mosi_pinmap() -{ - return PinMap_SPI_MOSI; -} - -const PinMap *spi_master_miso_pinmap() -{ - return PinMap_SPI_MISO; -} - -const PinMap *spi_master_clk_pinmap() -{ - return PinMap_SPI_SCLK; -} - -const PinMap *spi_master_cs_pinmap() -{ - return PinMap_SPI_SSEL; -} - -const PinMap *spi_slave_mosi_pinmap() -{ - return PinMap_SPI_MOSI; -} - -const PinMap *spi_slave_miso_pinmap() -{ - return PinMap_SPI_MISO; -} - -const PinMap *spi_slave_clk_pinmap() -{ - return PinMap_SPI_SCLK; -} - -const PinMap *spi_slave_cs_pinmap() -{ - return PinMap_SPI_SSEL; -} diff --git a/targets/TARGET_TT/TARGET_TT_M3HQ/us_ticker.c b/targets/TARGET_TT/TARGET_TT_M3HQ/us_ticker.c deleted file mode 100644 index 6a0ef9f8517..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M3HQ/us_ticker.c +++ /dev/null @@ -1,101 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "us_ticker_api.h" -#include "gpio_include.h" - - -#define T32A_INT_MASK ((uint32_t)0x0000000F) -#define TXZ_ENABLE 1 -static bool us_ticker_inited = false; // Is ticker initialized yet? - -const ticker_info_t* us_ticker_get_info() -{ - static const ticker_info_t info = { - 1248125, // (39.94 MHz / 32 ) - 32 // 32 bit counter - }; - return &info; -} - -void us_ticker_init(void) -{ - if (us_ticker_inited) { - us_ticker_disable_interrupt(); - return; - } - us_ticker_inited = true; - - TSB_CG_FSYSENA_IPENA24 = TXZ_ENABLE; - TSB_T32A0->MOD = T32A_MODE_32; - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - TSB_T32A0->CRC = T32A_PRSCLx_32; - TSB_T32A0->IMC = (T32A_IMUFx_MASK_REQ | T32A_IMOFx_MASK_REQ); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); - - NVIC_SetVector(INTT32A00C_IRQn, (uint32_t)us_ticker_irq_handler); - NVIC_EnableIRQ(INTT32A00C_IRQn); -} - -uint32_t us_ticker_read(void) -{ - if (!us_ticker_inited) { - us_ticker_init(); - } - - return (TSB_T32A0->TMRC); -} - -void us_ticker_set_interrupt(timestamp_t timestamp) -{ - NVIC_DisableIRQ(INTT32A00C_IRQn); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - TSB_T32A0->RGC1 = timestamp; - NVIC_EnableIRQ(INTT32A00C_IRQn); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); -} - -void us_ticker_fire_interrupt(void) -{ - NVIC_SetPendingIRQ(INTT32A00C_IRQn); - NVIC_EnableIRQ(INTT32A00C_IRQn); -} - -void us_ticker_disable_interrupt(void) -{ - // Disable interrupts by NVIC - NVIC_DisableIRQ(INTT32A00C_IRQn); - NVIC_ClearPendingIRQ(INTT32A00C_IRQn); - TSB_T32A0->STC = T32A_INT_MASK; -} - -void us_ticker_clear_interrupt(void) -{ - TSB_T32A0->STC = T32A_INT_MASK; - NVIC_ClearPendingIRQ(INTT32A00C_IRQn); -} - -void us_ticker_free(void) -{ - TSB_T32A0->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); - us_ticker_inited = false; - TSB_T32A0->STC = 0x0F; - // Clear Pending interrupt in NVIC - NVIC_ClearPendingIRQ(INTT32A00C_IRQn); - // Disable interrupt in NVIC - NVIC_DisableIRQ(INTT32A00C_IRQn); - // Disable Clock. - TSB_CG_FSYSENA_IPENA24 = 0; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc.h deleted file mode 100644 index 4ffb4cd46a1..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc.h +++ /dev/null @@ -1,499 +0,0 @@ -/** - ******************************************************************************* - * @file adc.h - * @brief This file provides all the functions prototypes for ADC driver. - * @version V1.0.0.0 - * $Date:: 2017-09-12 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __ADC_H -#define __ADC_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" -#include "adc_ch.h" -/** - * @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** - * @defgroup ADC ADC - * @brief ADC Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_define ADC Exported Define - * @{ - */ - -/** - * @defgroup ADC_ChannelMax Channel Num Max - * @brief Max Num of channel. - * @{ - */ - - #define ADC_NUM_MAX ((uint32_t)24) /*!< Max Num of conversion. */ -/** - * @} - */ /* End of group ADC_ChannelMax */ -/** - * @} - */ /* End of group ADC_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - @defgroup ADC_Exported_define ADC Exported Define - @{ - */ -/** @enum adc_sampling_period0_t - @brief Outside AIN sampling period. - */ -typedef enum -{ - ADC_SAMPLING_PERIOD0_XN = 0x00, /*!< SCLK Period (1/SCLK)xN */ - ADC_SAMPLING_PERIOD0_X2N = 0x08, /*!< SCLK Period (1/SCLK)x2N */ - ADC_SAMPLING_PERIOD0_X3N = 0x10, /*!< SCLK Period (1/SCLK)x3N */ - ADC_SAMPLING_PERIOD0_X4N = 0x18, /*!< SCLK Period (1/SCLK)x4N */ - ADC_SAMPLING_PERIOD0_X16N = 0x28, /*!< SCLK Period (1/SCLK)x16N */ - ADC_SAMPLING_PERIOD0_X64N = 0x38, /*!< SCLK Period (1/SCLK)x64N */ -}adc_sampling_period0_t; -/** @enum adc_sampling_period1_t - @brief Outside AIN sampling period. - */ -typedef enum -{ - ADC_SAMPLING_PERIOD1_XN = 0x000, /*!< SCLK Period (1/SCLK)xN */ - ADC_SAMPLING_PERIOD1_X2N = 0x100, /*!< SCLK Period (1/SCLK)x2N */ - ADC_SAMPLING_PERIOD1_X3N = 0x200, /*!< SCLK Period (1/SCLK)x3N */ - ADC_SAMPLING_PERIOD1_X4N = 0x300, /*!< SCLK Period (1/SCLK)x4N */ - ADC_SAMPLING_PERIOD1_X16N = 0x500, /*!< SCLK Period (1/SCLK)x16N */ - ADC_SAMPLING_PERIOD1_X64N = 0x700, /*!< SCLK Period (1/SCLK)x64N */ -}adc_sampling_period1_t; - -/*! @enum adc_sclk_t - @brief Select AD prescaler output (SCLK). - */ -typedef enum -{ - ADC_SCLK_1 = (0x00000000U), /*!< ADCLK/1 */ - ADC_SCLK_2 = (0x00000001U), /*!< ADCLK/2 */ - ADC_SCLK_4 = (0x00000002U), /*!< ADCLK/4 */ - ADC_SCLK_8 = (0x00000003U), /*!< ADCLK/8 */ - ADC_SCLK_16 = (0x00000004U), /*!< ADCLK/16 */ -}adc_sclk_t; - -/*! @enum adc_mod1_t - @brief Select SCLK Frequency Band (MOD1). - */ -typedef enum -{ - ADC_MOD1_SCLK_1 = (0x00001000U), /*!< SCLK =< 40MHz > */ - ADC_MOD1_SCLK_2 = (0x00003000U), /*!< 40MHz < SCLK =< 50MHz > */ - ADC_MOD1_SCLK_3 = (0x00004000U), /*!< 50MHz < SCLK =< 60MHz > */ - ADC_MOD1_SCLK_4 = (0x00106011U), /*!< 60MHz < SCLK =< 80MHz > */ -}adc_mod1_t; - -/*! @enum adc_mod2_t - @brief Select ADC Product Setting Value (MOD2). - */ -typedef enum -{ - ADC_MOD2_TMPM4G9 = (0x00000000U), /*!< TMPM4G9 */ - ADC_MOD2_CLEAR = (0x00000000U), /*!< Reset Value */ -}adc_mod2_t; - -/*! @enum adc_int_t - @brief Select Interrupt Enable/Disable. - */ -typedef enum -{ - ADC_INT_DISABLE = (0x00000000U), /*!< Disable. */ - ADC_INT_ENABLE = (0x00000080U), /*!< Enable. */ -}adc_int_t; - -/*! @enum adc_conversion_t - @brief Select conversion method. - */ -typedef enum -{ - ADC_CONVERSION_DISABLE = (0x00000000U), /*!< Disable. */ - ADC_CONVERSION_CNT = (0x00000100U), /*!< Continuation. */ - ADC_CONVERSION_SGL = (0x00000200U), /*!< Single. */ - ADC_CONVERSION_TRG = (0x00000300U), /*!< Universal Trigger. */ - ADC_CONVERSION_HPTG = (0x00000400U), /*!< High Priority Trigger. */ -}adc_conversion_t; - -/*! @enum adc_dma_int_t - @brief Select DMA interrupt method. - */ -typedef enum -{ - ADC_DMA_INT_SGL_DISABLE = (0x00000000U), /*!< Disable. */ - ADC_DMA_INT_SGL_ENABLE = (0x00000020U), /*!< DMA Single interrupt Enable. */ - ADC_DMA_INT_CNT_DISABLE = (0x00000000U), /*!< Disable. */ - ADC_DMA_INT_CNT_ENABLE = (0x00000040U), /*!< DMA Continuation interrupt Enable. */ - ADC_DMA_INT_TRG_DISABLE = (0x00000000U), /*!< Disable. */ - ADC_DMA_INT_TRG_ENABLE = (0x00000010U), /*!< DMA Universal Trigger interrupt Enable. */ - ADC_TRG_DISABLE = (0x00000000U), /*!< Universal Trigger Disable. */ - ADC_TRG_ENABLE = (0x00000001U), /*!< Universal Trigger Enable. */ - ADC_HPTG_DISABLE = (0x00000000U), /*!< High Priority Trigger Disable. */ - ADC_HPTG_ENABLE = (0x00000002U), /*!< High Priority Trigger Enable. */ -}adc_dma_int_t; - -/*! @enum adc_ain_range_t - @brief Range of AIN Macro Definisiton. - Range of AIN be set "(ADC_AIN_RANGE_MIN <= Value <= ADC_AIN_RANGE_MAX)". - */ -typedef enum -{ - ADC_AIN_RANGE_MIN = (0x00000000U), /*!< Minimum Value :AINx00 */ - ADC_AIN_RANGE_MAX = (0x00000017U), /*!< Maximum Value :AINx23 */ -}adc_ain_range_t; - -/*! @enum adc_status_t - @brief AD Running Status. - */ -typedef enum -{ - ADC_STATUS_MASK = (0x00000080U), /*!< for Mask. */ - ADC_STATUS_SLEEP = (0x00000000U), /*!< Sleep. */ - ADC_STATUS_RUNNING = (0x00000080U), /*!< Running. */ -}adc_status_t; - -/*! @enum adc_cnt_status_t - @brief Continuity Conversion Running Status. - */ -typedef enum -{ - ADC_CNT_STATUS_MASK = (0x00000008U), /*!< for Mask. */ - ADC_CNT_STATUS_SLEEP = (0x00000000U), /*!< Sleep. */ - ADC_CNT_STATUS_RUNNING = (0x00000008U), /*!< Running. */ -}adc_cnt_status_t; - -/*! @enum adc_sgl_status_t - @brief Single Conversion Running Status. - */ -typedef enum -{ - ADC_SGL_STATUS_MASK = (0x00000004U), /*!< for Mask. */ - ADC_SGL_STATUS_SLEEP = (0x00000000U), /*!< Sleep. */ - ADC_SGL_STATUS_RUNNING = (0x00000004U), /*!< Running. */ -}adc_sgl_status_t; - -/*! @enum adc_trg_status_t - @brief Trigger Conversion Running Status. - */ -typedef enum -{ - ADC_TRG_STATUS_MASK = (0x00000002U), /*!< for Mask. */ - ADC_TRG_STATUS_SLEEP = (0x00000000U), /*!< Sleep. */ - ADC_TRG_STATUS_RUNNING = (0x00000002U), /*!< Running. */ -}adc_trg_status_t; - -/*! @enum adc_hpri_status_t - @brief Trigger Conversion Running Status. - */ -typedef enum -{ - ADC_HPTG_STATUS_MASK = (0x00000001U), /*!< for Mask. */ - ADC_HPTG_STATUS_SLEEP = (0x00000000U), /*!< Sleep. */ - ADC_HPTG_STATUS_RUNNING = (0x00000001U), /*!< Running. */ -}adc_hpri_status_t; - -/*! @enum adcmpxen_t - @brief Select Enable, Disable setting(ADxCMPEN). - */ -typedef enum -{ - ADCMP3EN_DISABLE = (0x00000000U), /*!< Disable. */ - ADCMP3EN_ENABLE = (0x00000008U), /*!< Enable. */ - ADCMP2EN_DISABLE = (0x00000000U), /*!< Disable. */ - ADCMP2EN_ENABLE = (0x00000004U), /*!< Enable. */ - ADCMP1EN_DISABLE = (0x00000000U), /*!< Disable. */ - ADCMP1EN_ENABLE = (0x00000002U), /*!< Enable. */ - ADCMP0EN_DISABLE = (0x00000000U), /*!< Disable. */ - ADCMP0EN_ENABLE = (0x00000001U), /*!< Enable. */ -}adcmpxen_t; - -/*! @enum adcmpcnt_t - @brief Select Compare count num. - */ -typedef enum -{ - ADCMPCNT_1 = (0x00000000U), /*!< 1 time */ - ADCMPCNT_2 = (0x00000100U), /*!< 2 times */ - ADCMPCNT_3 = (0x00000200U), /*!< 3 times */ - ADCMPCNT_4 = (0x00000300U), /*!< 4 times */ - ADCMPCNT_5 = (0x00000400U), /*!< 5 times */ - ADCMPCNT_6 = (0x00000500U), /*!< 6 times */ - ADCMPCNT_7 = (0x00000600U), /*!< 7 times */ - ADCMPCNT_8 = (0x00000700U), /*!< 8 times */ - ADCMPCNT_9 = (0x00000800U), /*!< 9 times */ - ADCMPCNT_10 = (0x00000900U), /*!< 10 times */ - ADCMPCNT_11 = (0x00000a00U), /*!< 11 times */ - ADCMPCNT_12 = (0x00000b00U), /*!< 12 times */ - ADCMPCNT_13 = (0x00000c00U), /*!< 13 times */ - ADCMPCNT_14 = (0x00000d00U), /*!< 14 times */ - ADCMPCNT_15 = (0x00000e00U), /*!< 15 times */ - ADCMPCNT_16 = (0x00000f00U), /*!< 16 times */ -}adcmpcnt_t; - -/*! @enum adcmpcond_t - @brief Compare condition - */ -typedef enum -{ - ADCMPCond_CNT = (0x00000000U), /*!< Continuous */ - ADCMPCond_ACC = (0x00000040U), /*!< Accumulation */ -}adcmpcond_t; - -/*! @enum adcmpbigsml_t - @brief Compare Big, Small condition - */ -typedef enum -{ - ADCMPBigSml_Big = (0x00000000U), /*!< Big */ - ADCMPBigSml_Sml = (0x00000020U), /*!< Small */ -}adcmpbigsml_t; - -/*! @enum adcmpstr_t - @brief Select Compare Store register - */ -typedef enum -{ - ADCMPStr_Reg0 = (0x00000000U), /*!< ADxREG0 */ - ADCMPStr_Reg1 = (0x00000001U), /*!< ADxREG1 */ - ADCMPStr_Reg2 = (0x00000002U), /*!< ADxREG2 */ - ADCMPStr_Reg3 = (0x00000003U), /*!< ADxREG3 */ - ADCMPStr_Reg4 = (0x00000004U), /*!< ADxREG4 */ - ADCMPStr_Reg5 = (0x00000005U), /*!< ADxREG5 */ - ADCMPStr_Reg6 = (0x00000006U), /*!< ADxREG6 */ - ADCMPStr_Reg7 = (0x00000007U), /*!< ADxREG7 */ - ADCMPStr_Reg8 = (0x00000008U), /*!< ADxREG8 */ - ADCMPStr_Reg9 = (0x00000009U), /*!< ADxREG9 */ - ADCMPStr_Reg10 = (0x0000000aU), /*!< ADxREG10 */ - ADCMPStr_Reg11 = (0x0000000bU), /*!< ADxREG11 */ - ADCMPStr_Reg12 = (0x0000000cU), /*!< ADxREG12 */ - ADCMPStr_Reg13 = (0x0000000dU), /*!< ADxREG13 */ - ADCMPStr_Reg14 = (0x0000000eU), /*!< ADxREG14 */ - ADCMPStr_Reg15 = (0x0000000fU), /*!< ADxREG15 */ - ADCMPStr_Reg16 = (0x00000010U), /*!< ADxREG16 */ - ADCMPStr_Reg17 = (0x00000011U), /*!< ADxREG17 */ - ADCMPStr_Reg18 = (0x00000012U), /*!< ADxREG18 */ - ADCMPStr_Reg19 = (0x00000013U), /*!< ADxREG19 */ - ADCMPStr_Reg20 = (0x00000014U), /*!< ADxREG20 */ - ADCMPStr_Reg21 = (0x00000015U), /*!< ADxREG21 */ - ADCMPStr_Reg22 = (0x00000016U), /*!< ADxREG22 */ - ADCMPStr_Reg23 = (0x00000017U), /*!< ADxREG23 */ -}adcmpstr_t; -/*! @enum adcexazain_t - @brief Select AIN no. - */ - -typedef enum -{ - ADCEXAZSEL_AIN0 = 0, /*!< AIN0 */ - ADCEXAZSEL_AIN1, /*!< AIN1 */ - ADCEXAZSEL_AIN2, /*!< AIN2 */ - ADCEXAZSEL_AIN3, /*!< AIN3 */ - ADCEXAZSEL_AIN4, /*!< AIN4 */ - ADCEXAZSEL_AIN5, /*!< AIN5 */ - ADCEXAZSEL_AIN6, /*!< AIN6 */ - ADCEXAZSEL_AIN7, /*!< AIN7 */ - ADCEXAZSEL_AIN8, /*!< AIN8 */ - ADCEXAZSEL_AIN9, /*!< AIN9 */ - ADCEXAZSEL_AIN10, /*!< AIN10 */ - ADCEXAZSEL_AIN11, /*!< AIN11 */ - ADCEXAZSEL_AIN12, /*!< AIN12 */ - ADCEXAZSEL_AIN13, /*!< AIN13 */ - ADCEXAZSEL_AIN14, /*!< AIN14 */ - ADCEXAZSEL_AIN15, /*!< AIN15 */ - ADCEXAZSEL_AIN16, /*!< AIN16 */ - ADCEXAZSEL_AIN17, /*!< AIN17 */ - ADCEXAZSEL_AIN18, /*!< AIN18 */ - ADCEXAZSEL_AIN19, /*!< AIN19 */ - ADCEXAZSEL_AIN20, /*!< AIN20 */ - ADCEXAZSEL_AIN21, /*!< AIN21 */ - ADCEXAZSEL_AIN22, /*!< AIN22 */ - ADCEXAZSEL_AIN23, /*!< AIN23 */ -}adcexazain_t; -/*! @enum adcexazsel_t - @brief Select sampling period, EXAS0 or EXAS1. - */ -typedef enum -{ - ADCEXAZSEL_EXAZ0 = (0x00000000), /*< EXAZ0 */ - ADCEXAZSEL_EXAZ1 = (0x00000001), /*< EXAZ1 */ -}adcexazsel_t; - -/*! - @} - */ /* End of group ADC_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/*! - @defgroup ADC_Exported_typedef ADC Exported Typedef - @{ - */ - -/*----------------------------------*/ -/*! @struct adc_clock_t - @brief Clock information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - adc_sampling_period0_t exaz0; /*!< Outside AIN0 Sampling period. - : Use @ref adc_sampling_period0_t. */ - adc_sampling_period1_t exaz1; /*!< Outside AIN1 Sampling period. - : Use @ref adc_sampling_period1_t. */ - adc_sclk_t vadcld; /*!< Select AD prescaler output (SCLK). - : Use @ref adc_sclk_t. */ - uint32_t sampling_select; /*!< Sampling period select. : bit0-bit23 */ -} adc_clock_t; - -/*----------------------------------*/ -/*! @struct adc_cmpx_t - @brief Clock information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t CMPEN; /*!< Enable Register status */ - uint32_t CMPCNT; /*!< Compare count num. */ - uint32_t CMPCond; /*!< Compare condition */ - uint32_t CMPBigSml; /*!< Compare Big/Small condition */ - uint32_t StrReg; /*!< Compare Store register */ - uint32_t ADComp; /*!< ADxCMP0 register data */ - void (*handle)(uint32_t id, TXZ_Result result); /*!< Notity Compare Done. */ -} adc_cmpx_t; - -/*----------------------------------*/ -/*! @struct adc_initial_setting_t - @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t id; /*!< ID: User value. */ - adc_clock_t clk; /*!< Clock setting. - : Use @ref adc_clock_t. */ - uint32_t mod1; /*!< AVDD3 voltage band setting. - : Use @ref adc_mod1_t. */ - uint32_t mod2; /*!< Product info setting. - : Use @ref adc_mod2_t. */ - adc_cmpx_t CMPxEN[4]; /*!< adc_cmpx_t. */ - - -} adc_initial_setting_t; - -/*----------------------------------*/ -/*! @struct adc_channel_setting_t - @brief Channel Setting. \n -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t interrupt; /*!< Interrupt Enable/Disable. - : Use @ref adc_dma_int_t. */ - uint32_t type; /*!< Conversion Type. - : Use @ref adc_conversion_t. */ - uint32_t ain; /*!< AIN. */ -} adc_channel_setting_t; - -/*----------------------------------*/ -/*! @struct adc_internal_info_t - @brief Driver internal information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - adc_ch_t ch[ADC_NUM_MAX]; /*!< Channel Instance. */ -} adc_internal_info_t; - -/*----------------------------------*/ -/*! @struct adc_t - @brief ADC handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_AD_TypeDef *p_instance; /*!< Registers base address. */ - adc_initial_setting_t init; /*!< Initial setting. */ - adc_internal_info_t info; /*!< Driver internal information. */ - struct - { - void (*single)(uint32_t id, TXZ_Result result); /*!< Notity Single Conversion Done. */ - void (*continuity)(uint32_t id, TXZ_Result result); /*!< Notity Continuity Conversion Done. */ - void (*trigger)(uint32_t id, TXZ_Result result); /*!< Notity Trigger Conversion Done. */ - void (*highpriority)(uint32_t id, TXZ_Result result); /*!< Notity HighPriority Conversion Done. */ - } handler; /*!< Handler structure. */ -} adc_t; - -/** - * @} - */ /* End of group ADC_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_functions ADC Exported Functions - * @{ - */ -TXZ_Result adc_init(adc_t *p_obj); -TXZ_Result adc_deinit(adc_t *p_obj); -TXZ_Result adc_mode1_setting(void); -TXZ_Result adc_channel_setting(adc_t *p_obj, uint32_t ch, adc_channel_setting_t *p_setting); -TXZ_Result adc_channel_clear(adc_t *p_obj, uint32_t ch); -TXZ_Result adc_cmp_init(adc_t *p_obj, adc_cmpx_t *p_cmpx_t); -TXZ_Result adc_cmp_deinit(adc_t *p_obj, adc_cmpx_t *p_cmpx_t); -TXZ_Result adc_channel_get_value(adc_t *p_obj, uint32_t ch, uint32_t *p_value); -TXZ_Result adc_start(adc_t *p_obj); -TXZ_Result adc_stop(adc_t *p_obj); -TXZ_Result adc_get_status(adc_t *p_obj, uint32_t *p_status); -TXZ_WorkState adc_poll_conversion(adc_t *p_obj, uint32_t timeout); -void adc_compa_irq_handler( void ); -void adc_compb_irq_handler( void ); -void adc_single_irq_handler( void ); -void adc_continuity_irq_handler( void ); -void adc_trigger_irq_handler( void ); -/** - * @} - */ /* End of group ADC_Exported_functions */ - -/** - * @} - */ /* End of group ADC */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __ADC_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_ch.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_ch.h deleted file mode 100644 index 098d889a8e6..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_ch.h +++ /dev/null @@ -1,135 +0,0 @@ -/** - ******************************************************************************* - * @file adc_ch.h - * @brief This file provides all the functions prototypes for ADC driver. \n - * Channel Class. - * @version V1.0.0.0 - * $Date:: 2017-09-07 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __ADC_CH_H -#define __ADC_CH_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** - * @defgroup ADC ADC - * @brief ADC Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_define ADC Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_define ADC Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_typedef ADC Exported Typedef - * @{ - */ - -/*----------------------------------*/ -/*! @struct adc_ch_initial_setting_t - * @brief Initialize Setting. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t interrupt; /*!< Interrupt Enable/Disable. - : Use @ref adc_dma_int_t. */ - uint32_t type; /*!< Conversion Type. - : Use @ref adc_conversion_t. */ - uint32_t ain; /*!< AIN. */ -} adc_ch_initial_setting_t; - -/*----------------------------------*/ -/*! @struct adc_ch_t - * @brief ADC handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - __IO uint32_t *p_tset; /*!< ADxTSETn Address. */ - __I uint32_t *p_reg; /*!< ADxREGx Address. */ - adc_ch_initial_setting_t init; /*!< Initial setting. */ -} adc_ch_t; - -/** - * @} - */ /* End of group ADC_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Exported_functions ADC Exported Functions - * @{ - */ -uint32_t get_conversion_data(uint32_t reg); -TXZ_Result adc_ch_init(adc_ch_t *p_obj); -TXZ_Result adc_ch_deinit(adc_ch_t *p_obj); -TXZ_Result adc_ch_int_enable(adc_ch_t *p_obj); -TXZ_Result adc_ch_int_disable(adc_ch_t *p_obj); -TXZ_Result adc_ch_get_value(adc_ch_t *p_obj, uint32_t *p_value); -/** - * @} - */ /* End of group ADC_Exported_functions */ - -/** - * @} - */ /* End of group ADC */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __ADC_CH_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_include.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_include.h deleted file mode 100644 index 011bc2967d4..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/adc_include.h +++ /dev/null @@ -1,349 +0,0 @@ -/** - ******************************************************************************* - * @file adc_include.h - * @brief This file provides internal common definition. - * @version V1.0.0.0 - * $Date:: 2017-09-07 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __ADC_INCLUDE_H -#define __ADC_INCLUDE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" -#include "txz_hal.h" - -/** - * @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** - * @defgroup ADC ADC - * @brief ADC Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - -/** - * @defgroup NULL_Pointer NULL Pointer - * @brief NULL Pointer. - * @{ - */ -#define ADC_NULL ((void *)0) /*!< NULL Pointer. */ -/** - * @} - */ /* End of group NULL_Pointer */ - -/** - * @defgroup Parameter_Result Parameter Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define ADC_PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define ADC_PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of group Parameter_Result */ - -/** - * @defgroup ADxCR0 ADxCR0 - * @brief ADxCR0 Register. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-8 | - | - * | 7 | ADEN | - * | 6-3 | - | - * | 2 | HPSGL | - * | 1 | SGL | - * | 0 | CNT | - * @{ - */ -/* ADEN */ -#define ADxCR0_ADEN_DISABLE ((uint32_t)0x00000000) /*!< ADEN :Disable */ -#define ADxCR0_ADEN_ENABLE ((uint32_t)0x00000080) /*!< ADEN :Enable */ -/* HPSGL */ -#define ADxCR0_HPSGL_ENABLE ((uint32_t)0x00000004) /*!< HPSGL :Enable */ -/* SGL */ -#define ADxCR0_SGL_ENABLE ((uint32_t)0x00000002) /*!< SGL :Enable */ -/* CNT */ -#define ADxCR0_CNT_MASK ((uint32_t)0x00000001) /*!< CNT :Mask */ -#define ADxCR0_CNT_DISABLE ((uint32_t)0x00000000) /*!< CNT :Disable */ -#define ADxCR0_CNT_ENABLE ((uint32_t)0x00000001) /*!< CNT :Enable */ -/** - * @} - */ /* End of group ADxCR0 */ - -/** - * @defgroup ADxCR1 ADxCR1 - * @brief ADxCR1 Register. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-8 | - | - * | 7 | HPDMEN | - * | 6 | CNTDMEN | - * | 5 | SGLDMEN | - * | 4 | TRGDMEN | - * | 3:2 | - | - * | 1 | HPTRGEN | - * | 0 | TRGEN | - * @{ - */ -/* HPDMEN */ -#define ADxCR1_HPDMEN_DISABLE ((uint32_t)0x00000000) /*!< HPDMEN :Disable */ -#define ADxCR1_HPDMEN_ENABLE ((uint32_t)0x00000080) /*!< HPDMEN :Enable */ -/* CNTDMEN */ -#define ADxCR1_CNTDMEN_DISABLE ((uint32_t)0x00000000) /*!< CNTDMEN :Disable */ -#define ADxCR1_CNTDMEN_ENABLE ((uint32_t)0x00000040) /*!< CNTDMEN :Enable */ -/* SGLDMEN */ -#define ADxCR1_SGLDMEN_DISABLE ((uint32_t)0x00000000) /*!< SGLDMEN :Disable */ -#define ADxCR1_SGLDMEN_ENABLE ((uint32_t)0x00000020) /*!< SGLDMEN :Enable */ -/* TRGDMEN */ -#define ADxCR1_TRGDMEN_DISABLE ((uint32_t)0x00000000) /*!< TRGDMEN :Disable */ -#define ADxCR1_TRGDMEN_ENABLE ((uint32_t)0x00000010) /*!< TRGDMEN :Enable */ -/* HPTRGEN */ -#define ADxCR1_HPTRGEN_DISABLE ((uint32_t)0x00000000) /*!< HPTRGEN :Disable */ -#define ADxCR1_HPTRGEN_ENABLE ((uint32_t)0x00000002) /*!< HPTRGEN :Enable */ -/* TRGEN */ -#define ADxCR1_TRGEN_DISABLE ((uint32_t)0x00000000) /*!< TRGEN :Disable */ -#define ADxCR1_TRGEN_ENABLE ((uint32_t)0x00000001) /*!< TRGEN :Enable */ -/** - * @} - */ /* End of group ADxCR1 */ - -/** - * @defgroup ADxST ADxST - * @brief ADxST Register. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-8 | - | - * | 7 | ADBF | - * | 6-4 | - | - * | 3 | CNTF | - * | 2 | SNGF | - * | 1 | TRGF | - * | 0 | HPF | - * @{ - */ -/* ADBF */ -#define ADxST_ADBF_MASK ((uint32_t)0x00000080) /*!< ADBF :Mask. */ -#define ADxST_ADBF_IDLE ((uint32_t)0x00000000) /*!< ADBF :Idle. Can stop ADCLK. */ -#define ADxST_ADBF_RUN ((uint32_t)0x00000080) /*!< ADBF :Running. Can't stop ADCLK. */ -/* CNTF */ -#define ADxST_CNTF_MASK ((uint32_t)0x00000008) /*!< CNTF :Mask. */ -#define ADxST_CNTF_IDLE ((uint32_t)0x00000000) /*!< CNTF :Idle. */ -#define ADxST_CNTF_RUN ((uint32_t)0x00000008) /*!< CNTF :Running. */ -/* SNGF */ -#define ADxST_SNGF_MASK ((uint32_t)0x00000004) /*!< SNGF :Mask. */ -#define ADxST_SNGF_IDLE ((uint32_t)0x00000000) /*!< SNGF :Idle. */ -#define ADxST_SNGF_RUN ((uint32_t)0x00000004) /*!< SNGF :Running. */ -/* TRGF */ -#define ADxST_TRGF_MASK ((uint32_t)0x00000002) /*!< TRGF :Mask. */ -#define ADxST_TRGF_IDLE ((uint32_t)0x00000000) /*!< TRGF :Idle. */ -#define ADxST_TRGF_RUN ((uint32_t)0x00000002) /*!< TRGF :Running. */ -/* PMDF */ -#define ADxST_HPF_MASK ((uint32_t)0x00000001) /*!< HPF :Mask. */ -#define ADxST_HPF_IDLE ((uint32_t)0x00000000) /*!< HPF :Idle. */ -#define ADxST_HPF_RUN ((uint32_t)0x00000001) /*!< HPF :Running. */ -/** - * @} - */ /* End of group ADxST */ - -/** - * @defgroup ADxMOD0 ADxMOD0. - * @brief ADxMOD0 Register. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-2 | - | - * | 1 | RCUT | - * | 0 | DACON | - * @{ - */ -/* RCUT */ -#define ADxMOD0_RCUT_NORMAL ((uint32_t)0x00000000) /*!< RCUT :Normal */ -#define ADxMOD0_RCUT_IREF_CUT ((uint32_t)0x00000002) /*!< RCUT :Iref cut */ -/* DACON */ -#define ADxMOD0_DACON_OFF ((uint32_t)0x00000000) /*!< DACON :DAC off */ -#define ADxMOD0_DACON_ON ((uint32_t)0x00000001) /*!< DACON :DAC on */ -/** - * @} - */ /* End of group ADxMOD0 */ - -/** - * @name ADxCMPEN Macro Definition. - * @brief ADxCMPEN Register Macro Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-4 | - | - * | 3 | CMP3EN | - * | 2 | CMP2EN | - * | 1 | CMP1EN | - * | 0 | CMP0EN | - * @{ - */ -/* CMP3EN */ -#define ADxCMPEN_CMP3EN_DISABLE ((uint32_t)0x00000000) /*!< CMP3EN :Disable */ -#define ADxCMPEN_CMP3EN_ENABLE ((uint32_t)0x00000008) /*!< CMP3EN :Enable */ -/* CMP2EN */ -#define ADxCMPEN_CMP2EN_DISABLE ((uint32_t)0x00000000) /*!< CMP2EN :Disable */ -#define ADxCMPEN_CMP2EN_ENABLE ((uint32_t)0x00000004) /*!< CMP2EN :Enable */ -/* CMP1EN */ -#define ADxCMPEN_CMP1EN_DISABLE ((uint32_t)0x00000000) /*!< CMP1EN :Disable */ -#define ADxCMPEN_CMP1EN_ENABLE ((uint32_t)0x00000002) /*!< CMP1EN :Enable */ -/* CMP0EN */ -#define ADxCMPEN_CMP0EN_DISABLE ((uint32_t)0x00000000) /*!< CMP0EN :Disable */ -#define ADxCMPEN_CMP0EN_ENABLE ((uint32_t)0x00000001) /*!< CMP0EN :Enable */ -/** - * @} - */ /* End of name ADxCMPEN Macro Definition */ - -/** - * @name ADxTSETn Macro Definition. - * @brief ADxTSETn Register Macro Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-8 | - | - * | 7 | ENINT0 | - * | 6-5 | TRGS0[1:0] | - * | 4-0 | AINST0[4:0]| - * @{ - */ -/* ENINT0 */ -#define ADxTSETn_ENINT_MASK ((uint32_t)0x00000080) /*!< ENINT :Mask */ -#define ADxTSETn_ENINT_DISABLE ((uint32_t)0x00000000) /*!< ENINT :Disable */ -#define ADxTSETn_ENINT_ENABLE ((uint32_t)0x00000080) /*!< ENINT :Enable */ -/* TRGS0[1:0] */ -#define ADxTSETn_TRGS_DISABLE ((uint32_t)0x00000000) /*!< TRGS :Disable */ -#define ADxTSETn_TRGS_CNT ((uint32_t)0x00000100) /*!< TRGS :Continuation */ -#define ADxTSETn_TRGS_SGL ((uint32_t)0x00000200) /*!< TRGS :Single */ -#define ADxTSETn_TRGS_TRG ((uint32_t)0x00000300) /*!< TRGS :Universal Trigger */ -#define ADxTSETn_TRGS_PRI ((uint32_t)0x00000400) /*!< TRGS :Priority Trigger */ -/** - * @} - */ /* End of name ADxTSETn Macro Definition */ - -/** - * @name ADxREGn Macro Definition. - * @brief ADxREGn Register Macro Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-30 | - | - * | 29 | ADOVRF_Mn | - * | 28 | ADRF_Mn | - * | 27-16 | ADR_Mn[11:0] | - * | 15-4 | ADRn[11:0] | - * | 3-2 | - | - * | 1 | ADOVRFn | - * | 0 | ADRFn | - * @{ - */ -/* ADOVRF_Mn */ -#define ADxREGn_ADOVRF_Mn_MASK ((uint32_t)0x20000000) /*!< ADOVRF_Mn :Mask */ -#define ADxREGn_ADOVRF_Mn_OFF ((uint32_t)0x00000000) /*!< ADOVRF_Mn :Flag off. */ -#define ADxREGn_ADOVRF_Mn_ON ((uint32_t)0x20000000) /*!< ADOVRF_Mn :Flag on */ -/* ADRF_Mn */ -#define ADxREGn_ADRF_Mn_MASK ((uint32_t)0x10000000) /*!< ADRF_Mn :Mask */ -#define ADxREGn_ADRF_Mn_OFF ((uint32_t)0x00000000) /*!< ADRF_Mn :Flag off. */ -#define ADxREGn_ADRF_Mn_ON ((uint32_t)0x10000000) /*!< ADRF_Mn :Flag on */ -/* ADR_Mn */ -#define ADxREGn_ADR_Mn_MASK ((uint32_t)0x0FFF0000) /*!< ADR_Mn :Mask */ -/* ADRn */ -#define ADxREGn_ADRn_MASK ((uint32_t)0x0000FFF0) /*!< ADRn :Mask */ -/* ADOVRFn */ -#define ADxREGn_ADOVRFn_MASK ((uint32_t)0x00000002) /*!< ADOVRF_Mn :Mask */ -#define ADxREGn_ADOVRFn_OFF ((uint32_t)0x00000000) /*!< ADOVRF_Mn :Flag off. */ -#define ADxREGn_ADOVRFn_ON ((uint32_t)0x00000002) /*!< ADOVRF_Mn :Flag on */ -/* ADRFn */ -#define ADxREGn_ADRFn_MASK ((uint32_t)0x00000001) /*!< ADRFn :Mask */ -#define ADxREGn_ADRFn_OFF ((uint32_t)0x00000000) /*!< ADRFn :Flag off. */ -#define ADxREGn_ADRFn_ON ((uint32_t)0x00000001) /*!< ADRFn :Flag on */ -/** - * @} - */ /* End of name ADxREGn Macro Definition */ - -/** - * @} - */ /* End of group ADC_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_typedef ADC Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Inline Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_fuctions ADC Private Fuctions - * @{ - */ -/* no define */ -/** - * @} - */ /* End of group ADC_Private_functions */ - -/** - * @} - */ /* End of group ADC */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __ADC_INCLUDE_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_fc.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_fc.h deleted file mode 100644 index c9f80b2e027..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_fc.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - ******************************************************************************* - * @file fc.h - * @brief Flash_Userboot Sample Application. - * @version V1.0.0.0 - * $date:: $ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __FC_H -#define __FC_H - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* Includes ------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -#if defined(__FC_H) -/** @addtogroup Periph driver - * @{ - */ - -/** @defgroup fc - * @brief fc - * @{ - */ - - -/** @defgroup FlashApi_Exported_Types - * @{ - */ - -/** - * @enum fc_sr0_t - * @brief Enumerated type definition of the FCSR0 register. - */ -typedef enum { - FC_SR0_RDYBSY = (0x00000001UL) /*!< 0:Busy, 1:Ready all flash */ -} fc_sr0_t; - -/*----------------------------------*/ -/** - * @enum fc_erase_kind_t - * @brief FC Erase Flash Kind structure definenition. -*/ -/*----------------------------------*/ -typedef enum { - FC_ERASE_KIND_PAGE = (0x00000040UL), /*!< Page Erase */ - FC_ERASE_KIND_BLOCK = (0x00000030UL) /*!< Block Erase */ -} fc_erase_kind_t; - -typedef enum { - FC_CODE_FLASH_PAGE0 = 0, /*!< (0x5E000000UL), CODE FLASH Page0 */ - FC_CODE_FLASH_PAGE1, /*!< (0x5E001000UL), CODE FLASH Page1 */ - FC_CODE_FLASH_PAGE2, /*!< (0x5E002000UL), CODE FLASH Page2 */ - FC_CODE_FLASH_PAGE3, /*!< (0x5E003000UL), CODE FLASH Page3 */ - FC_CODE_FLASH_PAGE4, /*!< (0x5E004000UL), CODE FLASH Page4 */ - FC_CODE_FLASH_PAGE5, /*!< (0x5E005000UL), CODE FLASH Page5 */ - FC_CODE_FLASH_PAGE6, /*!< (0x5E006000UL), CODE FLASH Page6 */ - FC_CODE_FLASH_PAGE7, /*!< (0x5E007000UL), CODE FLASH Page7 */ - FC_CODE_FLASH_PAGE8, /*!< (0x5E008000UL), CODE FLASH Page8 */ - FC_CODE_FLASH_PAGE9, /*!< (0x5E009000UL), CODE FLASH Page9 */ - FC_CODE_FLASH_PAGE10, /*!< (0x5E00A000UL), CODE FLASH Page10 */ - FC_CODE_FLASH_PAGE11, /*!< (0x5E00B000UL), CODE FLASH Page11 */ - FC_CODE_FLASH_PAGE12, /*!< (0x5E00C000UL), CODE FLASH Page12 */ - FC_CODE_FLASH_PAGE13, /*!< (0x5E00D000UL), CODE FLASH Page13 */ - FC_CODE_FLASH_PAGE14, /*!< (0x5E00E000UL), CODE FLASH Page14 */ - FC_CODE_FLASH_PAGE15, /*!< (0x5E00F000UL), CODE FLASH Page15 */ - FC_CODE_FLASH_PAGE16, /*!< (0x5E010000UL), CODE FLASH Page16 */ - FC_CODE_FLASH_PAGE17, /*!< (0x5E011000UL), CODE FLASH Page17 */ - FC_CODE_FLASH_PAGE18, /*!< (0x5E012000UL), CODE FLASH Page18 */ - FC_CODE_FLASH_PAGE19, /*!< (0x5E013000UL), CODE FLASH Page19 */ - FC_CODE_FLASH_PAGE20, /*!< (0x5E014000UL), CODE FLASH Page20 */ - FC_CODE_FLASH_PAGE21, /*!< (0x5E015000UL), CODE FLASH Page21 */ - FC_CODE_FLASH_PAGE22, /*!< (0x5E016000UL), CODE FLASH Page22 */ - FC_CODE_FLASH_PAGE23, /*!< (0x5E017000UL), CODE FLASH Page23 */ - FC_CODE_FLASH_PAGE24, /*!< (0x5E018000UL), CODE FLASH Page24 */ - FC_CODE_FLASH_PAGE25, /*!< (0x5E019000UL), CODE FLASH Page25 */ - FC_CODE_FLASH_PAGE26, /*!< (0x5E01A000UL), CODE FLASH Page26 */ - FC_CODE_FLASH_PAGE27, /*!< (0x5E01B000UL), CODE FLASH Page27 */ - FC_CODE_FLASH_PAGE28, /*!< (0x5E01C000UL), CODE FLASH Page28 */ - FC_CODE_FLASH_PAGE29, /*!< (0x5E01D000UL), CODE FLASH Page29 */ - FC_CODE_FLASH_PAGE30, /*!< (0x5E01E000UL), CODE FLASH Page30 */ - FC_CODE_FLASH_PAGE31 /*!< (0x5E01F000UL), CODE FLASH Page31 */ -} fc_code_flash_page_number_t; - -/** @} */ -/* End of group FlashApi_Exported_Types */ - -/** @defgroup FlashApi_Exported_Constants - * @{ - */ - -//#define FC_RAMADDRESSTOP (0x20000000UL) /*!< RAM Address Top */ -//#define FC_RAMADDRESSEND (0x20003fffUL) /*!< RAM Address End */ -#define FC_CODE_FLASH_ADDRESS_TOP (0x5E000000UL) /*!< CODE FLASH Address Top */ -//#define FC_CODEFLASHADDRESSEND (0x5E01FFFFUL) /*!< CODE FLASH Address End */ -#define FC_PAGE_SIZE (0x1000) /*!< The number of bytes in a page. */ -//#define FC_CODEFLASHPAGESIZE (0x1000) /*!< CODE FLASH PAGE SIZE */ -#define FC_CODE_FLASH_WRITE_SIZE (sizeof(uint32_t)*4) /*!< CODE FLASH WRITE SIZE */ - -/** @} */ -/* End of group FlashApi_Exported_Constants */ - - - -/** @weakgroup FlashApi_Exported_FunctionPrototypes - * @{ - */ -TXZ_WorkState fc_get_status(fc_sr0_t status); -TXZ_Result fc_write_code_flash(uint32_t* src_address, uint32_t* dst_address, uint32_t size); -TXZ_Result fc_erase_page_code_flash(fc_code_flash_page_number_t first_page, uint8_t num_of_pages); -TXZ_Result fc_blank_check_page_code_flash(fc_code_flash_page_number_t first_page, fc_code_flash_page_number_t lasr_page); -TXZ_Result fc_erase_block_code_flash(uint32_t *top_addr, uint32_t *blk_addr); - -/** @} */ -/* End of group FlashApi_Exported_FunctionPrototypes */ - - -/** @} */ -/* End of group fc */ - -/** @} */ -/* End of group Periph_driver */ - -#endif /* defined(__FC_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __FC_H */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_rtc.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_rtc.h deleted file mode 100644 index 75380e3e6c7..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/tmpm4g9_rtc.h +++ /dev/null @@ -1,386 +0,0 @@ -/** - ******************************************************************************* - * @file bsp_rtc.h - * @brief This file provides all the functions prototypes for RTC Class. - * @version V1.0.0.1 - * $Date:: 2017-09-01 08:26:38 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __BSP_RTC_H -#define __BSP_RTC_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -//#include "txz_sample_def.h" -#include "txz_driver_def.h" - -/** - * @addtogroup Example - * @{ - */ - -/** - * @addtogroup BSP_UTILITIES - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup BSP_UTILITIES_Exported_macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup BSP_UTILITIES_Exported_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup BSP_UTILITIES_Exported_define - * @{ - */ - -/** - * @defgroup RTC_RangeSec Range Second - * @brief Range of Second. - * @brief Range of Second "(RTC_RANGE_SEC_MIN <= Value <= RTC_RANGE_SEC_MAX)". - * @{ - */ -#define RTC_RANGE_SEC_MIN ((uint8_t)0x00) /*!< Minimum Value : 0 sec */ -#define RTC_RANGE_SEC_MAX ((uint8_t)0x3B) /*!< Maximum Value :59 sec */ -/** - * @} - */ /* End of group RTC_RangeSec */ - -/** - * @defgroup RTC_RangeMin Range Minute - * @brief Range of Minute. - * @brief Range of Minute "(RTC_RANGE_MIN_MIN <= Value <= RTC_RANGE_MIN_MAX)". - * @{ - */ -#define RTC_RANGE_MIN_MIN ((uint8_t)0x00) /*!< Minimum Value : 0 min */ -#define RTC_RANGE_MIN_MAX ((uint8_t)0x3B) /*!< Maximum Value :59 min */ -/** - * @} - */ /* End of group RTC_RangeMin */ - -/** - * @defgroup RTC_AlarmMin Alarm Minute - * @brief Compare/No Compare minute. - * @{ - */ -#define RTC_ALARM_MIN_OFF ((uint8_t)0x7F) /*!< No compare. */ -#define RTC_ALARM_MIN_ON ((uint8_t)0x00) /*!< Compare. */ -/** - * @} - */ /* End of group RTC_AlarmMin */ - -/** - * @defgroup RTC_Range24Hour Range 24 Hour - * @brief Range of 24 Hour. - * @brief Range of 24 Hour "(RTC_RANGE_24_HOUR_MIN <= Value <= RTC_RANGE_24_HOUR_MAX)". - * @{ - */ -#define RTC_RANGE_24_HOUR_MIN ((uint8_t)0x00) /*!< Minimum Value : 0 hour */ -#define RTC_RANGE_24_HOUR_MAX ((uint8_t)0x17) /*!< Maximum Value :23 hour */ -/** - * @} - */ /* End of group RTC_Range24Hour */ - -/** - * @defgroup RTC_Range12Hour Range 12 Hour - * @brief Range of 12 Hour. - * @brief Range of 12 Hour "(RTC_RANGE_12_HOUR_MIN <= Value <= RTC_RANGE_12_HOUR_MAX)". - * @{ - */ -#define RTC_RANGE_12_HOUR_MIN ((uint8_t)0x00) /*!< Minimum Value : 0 hour */ -#define RTC_RANGE_12_HOUR_MAX ((uint8_t)0x0B) /*!< Maximum Value :11 hour */ -/** - * @} - */ /* End of group RTC_Range12Hour */ - -/** - * @defgroup RTC_Meridiem Meridiem - * @brief AM/PM. - * @{ - */ -#define RTC_MERIDIEM_AM ((uint8_t)0x00) /*!< A.M. */ -#define RTC_MERIDIEM_PM ((uint8_t)0x20) /*!< P.M. */ -/** - * @} - */ /* End of group RTC_Meridiem */ - -/** - * @defgroup RTC_AlarmHour Alarm Hour - * @brief Compare/No Compare hour. - * @{ - */ -#define RTC_ALARM_HOUR_OFF ((uint8_t)0x3F) /*!< No compare. */ -#define RTC_ALARM_HOUR_ON ((uint8_t)0x00) /*!< Compare. */ -/** - * @} - */ /* End of group RTC_AlarmHour */ - -/** - * @defgroup RTC_Day Day Of Week - * @brief Day of week. - * @{ - */ -#define RTC_DAY_SUNDAY ((uint8_t)0x00) /*!< Sunday. */ -#define RTC_DAY_MONDAY ((uint8_t)0x01) /*!< Monday. */ -#define RTC_DAY_TUESDAY ((uint8_t)0x02) /*!< Tuesday. */ -#define RTC_DAY_WEDNESDAY ((uint8_t)0x03) /*!< Wednesday. */ -#define RTC_DAY_THURSDAY ((uint8_t)0x04) /*!< Thursday. */ -#define RTC_DAY_FRIDAY ((uint8_t)0x05) /*!< Friday. */ -#define RTC_DAY_SATURDAY ((uint8_t)0x06) /*!< Saturday. */ -/** - * @} - */ /* End of group RTC_Day */ - -/** - * @defgroup RTC_AlarmDay Alarm Day - * @brief Compare/No Compare day. - * @{ - */ -#define RTC_ALARM_DAY_OFF ((uint8_t)0x03) /*!< No compare. */ -#define RTC_ALARM_DAY_ON ((uint8_t)0x00) /*!< Compare. */ -/** - * @} - */ /* End of group RTC_AlarmDay */ - -/** - * @defgroup RTC_RangeDate Range Date - * @brief Range of Date. - * @brief Range of Date "(RTC_RANGE_DATE_MIN <= Value <= RTC_RANGE_DATE_MAX)". - * @{ - */ -#define RTC_RANGE_DATE_MIN ((uint8_t)0x00) /*!< Minimum Value :date 00 */ -#define RTC_RANGE_DATE_MAX ((uint8_t)0x1F) /*!< Maximum Value :date 31 */ -/** - * @} - */ /* End of group RTC_RangeDate */ - -/** - * @defgroup RTC_AlarmDate Alarm Date - * @brief Compare/No Compare date. - * @{ - */ -#define RTC_ALARM_DATE_OFF ((uint8_t)0x3F) /*!< No compare. */ -#define RTC_ALARM_DATE_ON ((uint8_t)0x00) /*!< Compare. */ -/** - * @} - */ /* End of group RTC_AlarmDate */ - -/** - * @defgroup RTC_Month Month - * @brief Month. - * @{ - */ -#define RTC_MONTH_JAN ((uint8_t)0x01) /*!< January. */ -#define RTC_MONTH_FEB ((uint8_t)0x02) /*!< February. */ -#define RTC_MONTH_MAR ((uint8_t)0x03) /*!< March. */ -#define RTC_MONTH_APR ((uint8_t)0x04) /*!< April. */ -#define RTC_MONTH_MAY ((uint8_t)0x05) /*!< May. */ -#define RTC_MONTH_JUN ((uint8_t)0x06) /*!< June. */ -#define RTC_MONTH_JUL ((uint8_t)0x07) /*!< July. */ -#define RTC_MONTH_AUG ((uint8_t)0x08) /*!< August. */ -#define RTC_MONTH_SEP ((uint8_t)0x09) /*!< September. */ -#define RTC_MONTH_OCT ((uint8_t)0x10) /*!< October. */ -#define RTC_MONTH_NOV ((uint8_t)0x11) /*!< November. */ -#define RTC_MONTH_DEC ((uint8_t)0x12) /*!< December. */ -/** - * @} - */ /* End of group RTC_Month */ - -/** - * @defgroup BSP_RTC_HourNotation Hour Notation - * @brief 24/12 Hour Notation. - * @{ - */ -#define RTC_HOUR_NOTATION_12 ((uint8_t)0x00) /*!< 12-hour notation. */ -#define RTC_HOUR_NOTATION_24 ((uint8_t)0x01) /*!< 24-hour notation. */ -/** - * @} - */ /* End of group BSP_RTC_HourNotation */ - -/** - * @defgroup RTC_RangeYear Range Year - * @brief Range of Year. - * @brief Range of Year "(RTC_RANGE_YEAR_MIN <= Value <= RTC_RANGE_YEAR_MAX)". - * @{ - */ -#define RTC_RANGE_YEAR_MIN ((uint8_t)0x00) /*!< Minimum Value :year 00 */ -#define RTC_RANGE_YEAR_MAX ((uint8_t)0x63) /*!< Maximum Value :year 99 */ -/** - * @} - */ /* End of group RTC_RangeYear */ - -/** - * @defgroup RTC_LeapYear Leap Year - * @brief Leap Year. - * @{ - */ -#define RTC_LEAP_YEAR_0 ((uint8_t)0x00) /*!< Leap year. */ -#define RTC_LEAP_YEAR_1 ((uint8_t)0x01) /*!< 1 year since leap year. */ -#define RTC_LEAP_YEAR_2 ((uint8_t)0x02) /*!< 2 years since leap year. */ -#define RTC_LEAP_YEAR_3 ((uint8_t)0x03) /*!< 3 years since leap year. */ -/** - * @} - */ /* End of group RTC_LeapYear */ - -/** - * @defgroup RTC_IntSource Interrupt Source Signal - * @brief Interrupt Source Signal. - * @{ - */ -#define RTC_INT_SRC_1HZ ((uint8_t)0x47) /*!< 1 Hz. */ -#define RTC_INT_SRC_2HZ ((uint8_t)0xC3) /*!< 2 Hz. */ -#define RTC_INT_SRC_4HZ ((uint8_t)0xC5) /*!< 4 Hz. */ -#define RTC_INT_SRC_8HZ ((uint8_t)0x01) /*!< 8 Hz. */ -#define RTC_INT_SRC_16HZ ((uint8_t)0xC6) /*!< 16 Hz. */ -#define RTC_INT_SRC_ALARM ((uint8_t)0xC7) /*!< Alarm. */ -/** - * @} - */ /* End of group RTC_IntSource */ - -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup BSP_UTILITIES_Exported_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup BSP_UTILITIES_Exported_typedef - * @{ - */ -/*----------------------------------*/ -/** - * @brief RTC handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct uart_handle -{ - TSB_RTC_TypeDef *p_instance; /*!< Registers base address. */ -} rtc_t; -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup BSP_UTILITIES_Exported_functions - * @{ - */ -TXZ_Result m4g9_rtc_init(rtc_t *p_obj); -TXZ_Result rtc_deinit(rtc_t *p_obj); -TXZ_Result rtc_enable_int(rtc_t *p_obj); -TXZ_Result rtc_disable_int(rtc_t *p_obj); -TXZ_Result rtc_set_int_source(rtc_t *p_obj, uint8_t src); -TXZ_Result rtc_set_hour_notation(rtc_t *p_obj, uint8_t notation); -TXZ_Result rtc_get_hour_notation(rtc_t *p_obj, uint8_t *p_notation); -/* clock */ -TXZ_Result rtc_clock_enable(rtc_t *p_obj); -TXZ_Result rtc_clock_disable(rtc_t *p_obj); -TXZ_Result rtc_clock_reset_counter(rtc_t *p_obj); -TXZ_Result rtc_clock_set_sec(rtc_t *p_obj, uint8_t sec); -TXZ_Result rtc_clock_get_sec(rtc_t *p_obj, uint8_t *p_sec); -TXZ_Result rtc_clock_set_min(rtc_t *p_obj, uint8_t min); -TXZ_Result rtc_clock_get_min(rtc_t *p_obj, uint8_t *p_min); -TXZ_Result rtc_clock_set_hour_24(rtc_t *p_obj, uint8_t hour); -TXZ_Result rtc_clock_get_hour_24(rtc_t *p_obj, uint8_t *p_hour); -TXZ_Result rtc_clock_set_hour_12(rtc_t *p_obj, uint8_t meridiem, uint8_t hour); -TXZ_Result rtc_clock_get_hour_12(rtc_t *p_obj, uint8_t *p_meridiem, uint8_t *p_hour); -TXZ_Result rtc_clock_set_day(rtc_t *p_obj, uint8_t day); -TXZ_Result rtc_clock_get_day(rtc_t *p_obj, uint8_t *p_day); -TXZ_Result rtc_clock_set_date(rtc_t *p_obj, uint8_t date); -TXZ_Result rtc_clock_get_date(rtc_t *p_obj, uint8_t *p_date); -TXZ_Result rtc_clock_set_month(rtc_t *p_obj, uint8_t month); -TXZ_Result rtc_clock_get_month(rtc_t *p_obj, uint8_t *p_month); -TXZ_Result rtc_clock_set_year(rtc_t *p_obj, uint8_t year); -TXZ_Result rtc_clock_get_year(rtc_t *p_obj, uint8_t *p_year); -TXZ_Result rtc_clock_set_leap(rtc_t *p_obj, uint8_t leap); -TXZ_Result rtc_clock_get_leap(rtc_t *p_obj, uint8_t *p_leap); -/* alarm */ -TXZ_Result rtc_alarm_enable(rtc_t *p_obj); -TXZ_Result rtc_alarm_disable(rtc_t *p_obj); -TXZ_Result rtc_alarm_reset(rtc_t *p_obj); -TXZ_Result rtc_alarm_set_min(rtc_t *p_obj, uint8_t compare, uint8_t min); -TXZ_Result rtc_alarm_get_min(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_min); -TXZ_Result rtc_alarm_set_hour_24(rtc_t *p_obj, uint8_t compare, uint8_t hour); -TXZ_Result rtc_alarm_get_hour_24(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_hour); -TXZ_Result rtc_alarm_set_hour_12(rtc_t *p_obj, uint8_t compare, uint8_t meridiem, uint8_t hour); -TXZ_Result rtc_alarm_get_hour_12(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_meridiem, uint8_t *p_hour); -TXZ_Result rtc_alarm_set_day(rtc_t *p_obj, uint8_t compare, uint8_t day); -TXZ_Result rtc_alarm_get_day(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_day); -TXZ_Result rtc_alarm_set_date(rtc_t *p_obj, uint8_t compare, uint8_t date); -TXZ_Result rtc_alarm_get_date(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_date); -/** - * @} - */ /* End of group BSP_UTILITIES_Exported_functions */ - -/** - * @} - */ /* End of group BSP_UTILITIES */ - -/** - * @} - */ /* End of group Sample_Appli */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __BSP_RTC_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_cg.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_cg.h deleted file mode 100644 index 4244e9fa7f3..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_cg.h +++ /dev/null @@ -1,113 +0,0 @@ -/** - ******************************************************************************* - * @file txz_cg.h - * @brief This file provides all the functions prototypes for CG driver. - * @version V1.0.0.0 - * $Date:: 2018-04-02 19:31:41 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __CG_H -#define __CG_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup CG CG - * @brief CG Driver. - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup CG_Exported_define CG Exported Define - * @{ - */ -/* no define */ -/** - * @} - */ /* End of group CG_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup CG_Exported_define CG Exported Define - * @{ - */ -/* no define */ -/** - * @} - */ /* End of group CG_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup CG_Exported_typedef CG Exported Typedef - * @{ - */ -/** - * @brief CG member. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_CG_TypeDef *p_instance; /*!< Registers base address. */ -} cg_t; - -/** - * @} - */ /* End of group CG_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup CG_Exported_functions CG Exported Functions - * @{ - */ -uint32_t cg_get_fsysm(cg_t *p_obj); -uint32_t cg_get_phyt0(cg_t *p_obj); -uint32_t cg_get_mphyt0(cg_t *p_obj); -TXZ_Result cg_ihosc_enable(cg_t *p_obj); -TXZ_Result cg_ihosc_disable(cg_t *p_obj); -/** - * @} - */ /* End of group CG_Exported_functions */ - -/** - * @} - */ /* End of group CG */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __CG_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_driver_def.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_driver_def.h deleted file mode 100644 index 61fbc050717..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_driver_def.h +++ /dev/null @@ -1,96 +0,0 @@ -/** - ******************************************************************************* - * @file txz_driver_def.h - * @brief All common macro and definition for TXZ peripheral drivers - * @version V1.0.0.0 - * $Date:: 2017-07-21 15:39:36 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __TXZ_DRIVER_DEF_H -#define __TXZ_DRIVER_DEF_H - -#ifdef __cplusplus - extern "C" { -#endif - -/** @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** @defgroup TXZ_DRIVER_DEF TXZ DRIVER DEF - * @brief All common macro and definition for TXZ peripheral drivers - * @{ - */ - -/** @defgroup Device_Header_Included Device Header Included - * @brief Include the Device header file of a Target. - * @{ - */ -#include "TMPM4G9.h" /*!< TMPM4Gx Group Header file. */ -/** - * @} - */ /* End of group Device_Header */ - - -/** @defgroup TXZ_Exported_typedef TXZ Exported typedef - * @{ - */ -typedef enum { - TXZ_SUCCESS = 0U, - TXZ_ERROR = 1U -} TXZ_Result; - -typedef enum { - TXZ_BUSY = 0U, - TXZ_DONE = 1U -} TXZ_WorkState; - -typedef enum { - TXZ_DISABLE = 0U, - TXZ_ENABLE = 1U -} TXZ_FunctionalState; -/** - * @} - */ /* End of group TXZ_Exported_typedef */ - -/** @defgroup TXZ_Exported_macro TXZ Exported macro - * @{ - */ -#define IS_TXZ_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE)) - -#define IS_POINTER_NOT_NULL(param) ((void*)(param)!=(void*)0) - -/** - * @brief To report the name of the source file and source line number where the - * assert_param error has occurred, "DEBUG" must be defined. And detailed - * definition of assert_failed() is needed to be implemented, which can be - * done, for example, in the main.c file. - */ -#ifdef DEBUG -void assert_failed(char *file, int32_t line); -#define assert_param(expr) ((expr) ? (void)0 : assert_failed((char *)__FILE__, __LINE__)) -#else -#define assert_param(expr) -#endif /* DEBUG */ -/** - * @} - */ /* End of group TXZ_Exported_macro */ - -/** - * @} - */ /* End of group Periph_Driver */ - -/** - * @} - */ /* End of group TXZ_DRIVER_DEF */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __TXZ_DRIVER_DEF_H */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart.h deleted file mode 100644 index 4cd694b17e0..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart.h +++ /dev/null @@ -1,552 +0,0 @@ -/** - ******************************************************************************* - * @file txz_fuart.h - * @brief This file provides all the functions prototypes for FUART driver. - * @version V1.0.0.0 - * $Date:: 2017-08-06 10:43:01 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __FUART_H -#define __FUART_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup FUART FUART - * @brief FUART Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Exported_define FUART Exported Define - * @{ - */ - -/** - * @defgroup FUART_FifoMax Max Num of FIFO - * @brief Max Num of Tx/Rx Fifo. - * @{ - */ -#define FUART_TX_FIFO_MAX ((uint32_t)0x00000020) /*!< TX FIFO Max. */ -#define FUART_RX_FIFO_MAX ((uint32_t)0x00000020) /*!< RX FIFO Max. */ -/** - * @} - */ /* End of group UART_FifoMax */ - -/** - * @defgroup FUART_CTSHandshake CTS Handshake - * @brief Available CTS Handshake Macro Definisiton. - * @{ - */ -#define FUART_CTS_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define FUART_CTS_ENABLE ((uint32_t)0x00008000) /*!< Available. */ -/** - * @} - */ /* End of group FUART_CTSHandshake */ - - -/** - * @defgroup FUART_RTSHandshake RTS Handshake - * @brief Available RTS Handshake Macro Definisiton. - * @{ - */ -#define FUART_RTS_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define FUART_RTS_ENABLE ((uint32_t)0x00004000) /*!< Available. */ -/** - * @} - */ /* End of group FUART_RTSHandshake */ - -/** - * @defgroup FUART_FIFO FIFO Enable - * @brief FIFO Enable Bit Macro Definisiton. - * @{ - */ -#define FUART_FIFO_DISABLE ((uint32_t)0x00000000) /*!< Disable. */ -#define FUART_FIFO_ENABLE ((uint32_t)0x00000010) /*!< Enable. */ -/** - * @} - */ /* End of group FUART_FIFO */ - - -/** - * @defgroup FUART_StopBit Stop Bit - * @brief Stop Bit Macro Definisiton. - * @{ - */ -#define FUART_STOP_BIT_1 ((uint32_t)0x00000000) /*!< 1 bit */ -#define FUART_STOP_BIT_2 ((uint32_t)0x00000008) /*!< 2 bit */ -/** - * @} - */ /* End of group FUART_StopBit */ - - -/** - * @defgroup FUART_ParityBit Parity Bit - * @brief Parity Bit Macro Definisiton. - * @{ - */ -#define FUART_PARITY_BIT_ODD ((uint32_t)0x00000000) /*!< Odd Parity */ -#define FUART_PARITY_BIT_EVEN ((uint32_t)0x00000004) /*!< Even Parity */ -/** - * @} - */ /* End of group FUART_ParityBit */ - - -/** - * @defgroup FUART_ParityEnable Parity Enable - * @brief Enable/Disable Parity Macro Definisiton. - * @{ - */ -#define FUART_PARITY_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_PARITY_ENABLE ((uint32_t)0x00000002) /*!< Enable */ -/** - * @} - */ /* End of group FUART_ParityEnable */ - -/** - * @defgroup FUART_StaticParityEnable Static Parity Enable - * @brief Enable/Disable Static Parity Macro Definisiton. - * @{ - */ -#define FUART_STATIC_PARITY_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_STATIC_PARITY_ENABLE ((uint32_t)0x00000080) /*!< Enable */ -/** - * @} - */ /* End of group FUART_ParityEnable */ - -/** - * @defgroup FUART_DataLength Data Length - * @brief Data Length Macro Definisiton. - * @{ - */ -#define FUART_DATA_LENGTH_5 ((uint32_t)0x00000000) /*!< 5 bit */ -#define FUART_DATA_LENGTH_6 ((uint32_t)0x00000020) /*!< 6 bit */ -#define FUART_DATA_LENGTH_7 ((uint32_t)0x00000040) /*!< 7 bit */ -#define FUART_DATA_LENGTH_8 ((uint32_t)0x00000060) /*!< 8 bit */ -/** - * @} - */ /* End of group FUART_DataLength */ - -/** - * @defgroup FUART_FIFO_Level FIFO Level - * @brief FIFO Level Macro Definisiton. - * @{ - */ -#define FUART_FIFO_LEVEL_4 ((uint32_t)0x00000000) /*!< 4 level */ -#define FUART_FIFO_LEVEL_8 ((uint32_t)0x00000001) /*!< 8 level */ -#define FUART_FIFO_LEVEL_16 ((uint32_t)0x00000002) /*!< 16 level */ -#define FUART_FIFO_LEVEL_24 ((uint32_t)0x00000003) /*!< 24 level */ -#define FUART_FIFO_LEVEL_28 ((uint32_t)0x00000004) /*!< 28 level */ - -/** - * @} - */ /* End of group FUART_DataLength */ - -/** - * @defgroup FUART_TxInterrupt Tx Interrpt - * @brief Available Transmit Interrupt Macro Definisiton. - * @{ - */ -#define FUART_TX_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define FUART_TX_INT_ENABLE ((uint32_t)0x00000020) /*!< Available. */ -/** - * @} - */ /* End of group FUART_TxInterrupt */ - - -/** - * @defgroup FUART_RxInterrupt Rx Interrpt - * @brief Available Receive Interrupt Macro Definisiton. - * @{ - */ -#define FUART_RX_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define FUART_RX_INT_ENABLE ((uint32_t)0x00000010) /*!< Available. */ -/** - * @} - */ /* End of group FUART_RxInterrupt */ - - -/** - * @defgroup FUART_ErrorInterrupt Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -/** - * @defgroup FUART_OVER_RUN_ErrorInterrupt Over Run Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define FUART_OV_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_OV_ERR_INT_ENABLE ((uint32_t)0x00000400) /*!< Enable */ -/** - * @} - */ /* End of group FUART_OVER_RUN_ErrorInterrupt */ - -/** - * @defgroup FUART_BREAK_ErrorInterrupt Break Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define FUART_BK_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_BK_ERR_INT_ENABLE ((uint32_t)0x00000200) /*!< Enable */ -/** - * @} - */ /* End of group FUART_BREAK_ErrorInterrupt */ - -/** - * @defgroup FUART_PARITY_ErrorInterrupt Parity Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define FUART_PA_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_PA_ERR_INT_ENABLE ((uint32_t)0x00000100) /*!< Enable */ -/** - * @} - */ /* End of group FUART_PARITY_ErrorInterrupt */ - -/** - * @defgroup FUART_FRAMING_ErrorInterrupt Framing Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define FUART_FR_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_FR_ERR_INT_ENABLE ((uint32_t)0x00000080) /*!< Enable */ -/** - * @} - */ /* End of group FUART_FRAMING_ErrorInterrupt */ - -/** - * @defgroup FUART_RX_TIMEOUT_ErrorInterrupt Rx Timeout Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define FUART_TO_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define FUART_TO_ERR_INT_ENABLE ((uint32_t)0x00000040) /*!< Enable */ -/** - * @} - */ /* End of group FUART_RX_TIMEOUT_RUN_ErrorInterrupt */ -/** - * @} - */ /* End of group FUART_ErrorInterrupt */ - - -/** - * @defgroup FUART_RangeK Range K - * @brief Range of K Macro Definisiton. - * @brief Range of K be set "(UART_RANGE_K_MIN <= Value <= FUART_RANGE_K_MAX)". - * @{ - */ -#define FUART_RANGE_K_MIN ((uint32_t)0x00000000) /*!< Minimum Value :K=0 */ -#define FUART_RANGE_K_MAX ((uint32_t)0x0000003F) /*!< Maximum Value :K=63 */ -/** - * @} - */ /* End of group FUART_RangeK */ - - -/** - * @defgroup FUART_RangeN Range N - * @brief Range of N Macro Definisiton. - * @brief Range of N be set "(UART_RANGE_N_MIN <= Value <= FUART_RANGE_N_MAX)". - * @{ - */ -#define FUART_RANGE_N_MIN ((uint32_t)0x00000002) /*!< Minimum Value :N=2 */ -#define FUART_RANGE_N_MAX ((uint32_t)0x0000FFFF) /*!< Maximum Value :N=65535 */ -/** - * @} - */ /* End of group FUART_RangeN */ - - -/** - * @defgroup FUART_OverrunErr Overrun Error - * @brief Overrun Error Macro Definisiton. - * @{ - */ -#define FUART_OVERRUN_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define FUART_OVERRUN_ERR ((uint32_t)0x00000008) /*!< Error */ -/** - * @} - */ /* End of group FUART_OverrunErr */ - - -/** - * @defgroup FUART_BreakErr Break Error - * @brief Break Error Macro Definisiton. - * @{ - */ -#define FUART_BREAK_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define FUART_BREAK_ERR ((uint32_t)0x00000004) /*!< Error */ -/** - * @} - */ /* End of group FUART_BreakErr */ - - -/** - * @defgroup FUART_ParityErr Parity Error - * @brief Parity Error Macro Definisiton. - * @{ - */ -#define FUART_PARITY_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define FUART_PARITY_ERR ((uint32_t)0x00000002) /*!< Error */ -/** - * @} - */ /* End of group FUART_ParityErr */ - - -/** - * @defgroup FUART_FramingErr Framing Error - * @brief Framing Error Macro Definisiton. - * @{ - */ -#define FUART_FRAMING_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define FUART_FRAMING_ERR ((uint32_t)0x00000001) /*!< Error */ -/** - * @} - */ /* End of group FUART_FramingErr */ - -/** - * @defgroup FUARTxFR FUARTxFR Register - * @brief FUARTxFR Register Definition. - * @{ - */ -/* FR */ -#define FUARTxFR_TXFE_MASK ((uint32_t)0x00000080) /*!< TXFE :Mask */ -#define FUARTxFR_RXFF_MASK ((uint32_t)0x00000040) /*!< RXFF :Mask */ -#define FUARTxFR_TXFF_MASK ((uint32_t)0x00000020) /*!< TXFF :Mask */ -#define FUARTxFR_RXFE_MASK ((uint32_t)0x00000010) /*!< RXFE :Mask */ -#define FUARTxFR_BUSY_MASK ((uint32_t)0x00000008) /*!< BUSY :Mask */ -#define FUARTxFR_CTS_MASK ((uint32_t)0x00000001) /*!< CTS :Mask */ - -#define FUARTxFR_TXFE_FLAG_SET ((uint32_t)0x00000080) /*!< TXFE :Flag Set */ -#define FUARTxFR_RXFF_FLAG_SET ((uint32_t)0x00000040) /*!< RXFF :Flag Set */ -#define FUARTxFR_TXFF_FLAG_SET ((uint32_t)0x00000020) /*!< TXFF :Flag Set */ -#define FUARTxFR_RXFE_FLAG_SET ((uint32_t)0x00000010) /*!< RXFE :Flag Set */ -#define FUARTxFR_BUSY_FLAG_SET ((uint32_t)0x00000008) /*!< BUSY :Flag Set */ -#define FUARTxFR_CTS_FLAG_SET ((uint32_t)0x00000001) /*!< CTS :Flag Set */ - -#define FUARTxFR_TXFE_FLAG_CLR ((uint32_t)0x00000000) /*!< TXFE :Flag Clear */ -#define FUARTxFR_RXFF_FLAG_CLR ((uint32_t)0x00000000) /*!< RXFF :Flag Clear */ -#define FUARTxFR_TXFF_FLAG_CLR ((uint32_t)0x00000000) /*!< TXFF :Flag Clear */ -#define FUARTxFR_RXFE_FLAG_CLR ((uint32_t)0x00000000) /*!< RXFE :Flag Clear */ -#define FUARTxFR_BUSY_FLAG_CLR ((uint32_t)0x00000000) /*!< BUSY :Flag Clear */ -#define FUARTxFR_CTS_FLAG_CLR ((uint32_t)0x00000000) /*!< CTS :Flag Clear */ -/** - * @} - */ /* End of group FUARTxFR */ - -/** - * @} - */ /* End of group FUART_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Exported_define FUART Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Exported_typedef FUART Exported Typedef - * @{ - */ - -/*----------------------------------*/ -/** - * @brief Receive event information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} fuart_receive_t; - -/*----------------------------------*/ -/** - * @brief Transmit data information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to transmit data. */ - uint32_t num; /*!< The number of transmit data. */ -} fuart_transmit_t; - -/*----------------------------------*/ -/** - * @brief Boudrate setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t brk; /*!< Division Value K. - : K Range ( FUART_RANGE_K_MIN <= K =< FUART_RANGE_K_MAX ) @ref FUART_RangeK */ - uint32_t brn; /*!< Division Value N. - : N Range ( FUART_RANGE_N_MIN <= N =< FUART_RANGE_N_MAX ) @ref FUART_RangeN */ -} fuart_boudrate_t; - -/*----------------------------------*/ -/** - * @brief Transmit FIFO setting. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t inttx; /*!< Available Transmit Interrupt. - : Use @ref FUART_TxInterrupt */ - uint32_t level; /*!< Transmit Fill Level. - : Use @ref FUART_FIFO_Level */ -} fuart_tx_int_t; - -/*----------------------------------*/ -/** - * @brief Receive FIFO setting. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t intrx; /*!< Available Receive Interrupt. - : Use @ref FUART_RxInterrupt */ - uint32_t level; /*!< Receive Fill Level. - : Use @ref FUART_FIFO_Level */ -} fuart_rx_int_t; - -/*----------------------------------*/ -/** - * @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t id; /*!< ID: User value. */ - fuart_boudrate_t boudrate; /*!< Boudrate setting. - : Use @ref fuart_boudrate_t */ - uint32_t interr; /*!< Available Error Interrupt. - : Use @ref FUART_ErrorInterrupt */ - fuart_tx_int_t tx_int; /*!< Transmit Interrupt setting. - : Use @ref fuart_tx_int_t */ - fuart_rx_int_t rx_int; /*!< Receive Interrupt setting. - : Use @ref fuart_rx_int_t */ - uint32_t ctse; /*!< Available CTS Handshake. - : Use @ref FUART_CTSHandshake */ - uint32_t rtse; /*!< Available RTS Handshake. - : Use @ref FUART_RTSHandshake */ - uint32_t stpa; /*!< Enable/Disable Static Parity. - : Use @ref FUART_StaticParityEnable */ - uint32_t sm; /*!< Data Length. - : Use @ref FUART_DataLength */ - uint32_t fifo; /*!< Available FIFO. - : Use @ref FUART_FIFO */ - uint32_t sblen; /*!< Stop Bit. - : Use @ref FUART_StopBit */ - uint32_t even; /*!< Odd/Even Parity Bit. - : Use @ref FUART_ParityBit */ - uint32_t pe; /*!< Enable/Disable Parity Bit. - : Use @ref FUART_ParityEnable */ -} fuart_initial_setting_t; - -/*----------------------------------*/ -/** - * @brief FUART handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_FURT_TypeDef *p_instance; /*!< Registers base address. */ - fuart_initial_setting_t init; /*!< Initial setting. */ - /*------------------------------------------*/ - /*! - @brief Transmit Informatin. - */ - /*------------------------------------------*/ - struct - { - uint32_t rp; /*!< Num of transmited data. */ - fuart_transmit_t info; /*!< Transmit Data Information. */ - void (*handler)(uint32_t id, TXZ_Result result); /*!< Transmit Event handler. */ - } transmit; - /*------------------------------------------*/ - /*! - @brief Receive Informatin. - */ - /*------------------------------------------*/ - struct - { - uint32_t wp; /*!< Num of received data. */ - fuart_receive_t info; /*!< Receive Data Information. */ - void (*handler)(uint32_t id, TXZ_Result result, fuart_receive_t *p_info); /*!< Receive Event handler. */ - } receive; -} fuart_t; - -/** - * @} - */ /* End of group FUART_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Exported_functions FUART Exported Functions - * @{ - */ -TXZ_Result fuart_init(fuart_t *p_obj); -TXZ_Result fuart_deinit(fuart_t *p_obj); -TXZ_Result fuart_discard_transmit(fuart_t *p_obj); -TXZ_Result fuart_discard_receive(fuart_t *p_obj); -TXZ_Result fuart_transmitIt(fuart_t *p_obj, fuart_transmit_t *p_info); -TXZ_Result fuart_receiveIt(fuart_t *p_obj, fuart_receive_t *p_info); -void fuart_transmit_irq_handler(fuart_t *p_obj); -void fuart_receive_irq_handler(fuart_t *p_obj); -void fuart_error_irq_handler(fuart_t *p_obj); -void fuart_irq_handler(fuart_t *p_obj); -TXZ_Result fuart_get_status(fuart_t *p_obj, uint32_t *p_status); -TXZ_Result fuart_get_error(fuart_t *p_obj, uint32_t *p_error); -TXZ_Result fuart_get_boudrate_setting(uint32_t clock, uint32_t boudrate, fuart_boudrate_t *p_setting); -/** - * @} - */ /* End of group FUART_Exported_functions */ - -/** - * @} - */ /* End of group FUART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __UART_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_ex.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_ex.h deleted file mode 100644 index 674772d8322..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_ex.h +++ /dev/null @@ -1,110 +0,0 @@ -/** - ******************************************************************************* - * @file txz_fuart_ex.h - * @brief This file provides all the functions prototypes for FUART driver. - * @brief Extended functionality. - * @version V1.0.0.0 - * $Date:: 2017-08-06 10:43:01 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __FUART_EX_H -#define __FUART_EX_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" -#include "txz_fuart.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup FUART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Exported_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_functions - * @{ - */ -TXZ_Result fuart_send_break(fuart_t *p_obj); -TXZ_Result fuart_stop_break(fuart_t *p_obj); -/** - * @} - */ /* End of group FUART_Exported_functions */ - -/** - * @} - */ /* End of group FUART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __FUART_EX_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_include.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_include.h deleted file mode 100644 index f94dc388510..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_fuart_include.h +++ /dev/null @@ -1,390 +0,0 @@ -/** - ******************************************************************************* - * @file txz_fuart_include.h - * @brief This file provides internal common definition. - * @version V1.0.0.0 - * $Date:: 2017-08-06 10:43:01 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __FUART_INCLUDE_H -#define __FUART_INCLUDE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup FUART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_define - * @{ - */ - -/** - * @defgroup FUART_NullPointer Null Pointer - * @brief Null Pointer. - * @{ - */ -#define FUART_NULL ((void *)0) /*!< Null Pointer. */ -/** - * @} - */ /* End of group FUART_NullPointer */ - -/** - * @defgroup FUART_ParameterResult Parameter Check Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define FUART_PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define FUART_PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of group FUART_ParameterResult */ - -/** - * @defgroup FUARTxDR FUARTxDR Register - * @brief FUARTxDR Register Definition. - * @{ - */ -/* DR */ -#define FUARTxDR_DR_8BIT_MASK ((uint32_t)0x000000FF) /*!< DR :Mask for 8bit */ -/** - * @} - */ /* End of group FUARTxDR */ - -/** - * @defgroup FUARTxCR FUARTxCR Register - * @brief FUARTxCR Register Definition. - * @{ - */ -#define FUARTxCR_CTSEN_MASK ((uint32_t)0x00008000) /*!< CTSEN :MASK. */ -#define FUARTxCR_RTSEN_MASK ((uint32_t)0x00004000) /*!< RTSEN :MASK. */ -#define FUARTxCR_RXE_MASK ((uint32_t)0x00000200) /*!< RXE :MASK. */ -#define FUARTxCR_TXE_MASK ((uint32_t)0x00000100) /*!< TXE :MASK. */ -#define FUARTxCR_UARTEN_MSK ((uint32_t)0x00000001) /*!< UARTEN :MASK. */ - -#define FUARTxCR_CTSEN_DISABLE ((uint32_t)0x00000000) /*!< CTSEN :Not Available. */ -#define FUARTxCR_RTSEN_DISABLE ((uint32_t)0x00000000) /*!< RTSEN :Not Available. */ -#define FUARTxCR_RXE_DISABLE ((uint32_t)0x00000000) /*!< RXE :Disable. */ -#define FUARTxCR_TXE_DISABLE ((uint32_t)0x00000000) /*!< TXE :Disable. */ -#define FUARTxCR_UARTEN_DISABLE ((uint32_t)0x00000000) /*!< UARTEN :Disable. */ - -#define FUARTxCR_CTSEN_ENABLE ((uint32_t)0x00008000) /*!< CTSEN :Available. */ -#define FUARTxCR_RTSEN_ENABLE ((uint32_t)0x00004000) /*!< RTSEN :Available. */ -#define FUARTxCR_RXE_ENABLE ((uint32_t)0x00000200) /*!< RXE :Enable. */ -#define FUARTxCR_TXE_ENABLE ((uint32_t)0x00000100) /*!< TXE :Enable. */ -#define FUARTxCR_UARTEN_ENABLE ((uint32_t)0x00000001) /*!< UARTEN :Enable. */ -/** - * @} - */ /* End of group FUARTxRSR */ - -/** - * @defgroup FUARTxRSR FUARTxRSR Register - * @brief FUARTxRSR Register Definition. - * @{ - */ -#define FUARTxRSR_OE_MASK ((uint32_t)0x00000008) /*!< OE :Mask */ -#define FUARTxRSR_BE_MASK ((uint32_t)0x00000004) /*!< BE :Mask */ -#define FUARTxRSR_PE_MASK ((uint32_t)0x00000002) /*!< PE :Mask */ -#define FUARTxRSR_FE_MASK ((uint32_t)0x00000001) /*!< FE :Mask */ - -#define FUARTxRSR_OE_ERR ((uint32_t)0x00000008) /*!< OE :Error */ -#define FUARTxRSR_BE_ERR ((uint32_t)0x00000004) /*!< BE :Error */ -#define FUARTxRSR_PE_ERR ((uint32_t)0x00000002) /*!< PE :Error */ -#define FUARTxRSR_FE_ERR ((uint32_t)0x00000001) /*!< FE :Error */ -/** - * @} - */ /* End of group FUARTxRSR */ - -/** - * @defgroup FUARTxECR FUARTxECR Register - * @brief FUARTxECR Register Definition. - * @{ - */ -/* ECR */ -#define FUARTxECR_OE_MASK ((uint32_t)0x00000008) /*!< OE :Mask */ -#define FUARTxECR_BE_MASK ((uint32_t)0x00000004) /*!< BE :Mask */ -#define FUARTxECR_PE_MASK ((uint32_t)0x00000002) /*!< PE :Mask */ -#define FUARTxECR_FE_MASK ((uint32_t)0x00000001) /*!< FE :Mask */ - -#define FUARTxECR_OE_CLR ((uint32_t)0x00000008) /*!< OE :Clear */ -#define FUARTxECR_BE_CLR ((uint32_t)0x00000004) /*!< BE :Clear */ -#define FUARTxECR_PE_CLR ((uint32_t)0x00000002) /*!< PE :Clear */ -#define FUARTxECR_FE_CLR ((uint32_t)0x00000001) /*!< FE :Clear */ - -/** - * @} - */ /* End of group FUARTxECR */ - -/** - * @defgroup FUARTxLCR_H FUARTxRSR Register - * @brief FUARTxLCR_H Register Definition. - * @{ - */ -#define FUARTxLCR_H_BRK_MASK ((uint32_t)0x00000001) /*!< BRK :Mask */ - -#define FUARTxLCR_H_BRK_SEND ((uint32_t)0x00000001) /*!< BRK :Send */ -#define FUARTxLCR_H_BRK_STOP ((uint32_t)0x00000000) /*!< BRK :Stop */ -/** - * @} - */ /* End of group FUARTxLCR_H */ - -/** - * @defgroup FUARTxRIS FUARTxRIS Register - * @brief FUARTxRIS Register Definition. - * @{ - */ -#define FUARTxRIS_OERIS_MASK ((uint32_t)0x00000400) /*!< OERIS :Mask */ -#define FUARTxRIS_BERIS_MASK ((uint32_t)0x00000200) /*!< BERIS :Mask */ -#define FUARTxRIS_PERIS_MASK ((uint32_t)0x00000100) /*!< PRRIS :Mask */ -#define FUARTxRIS_FERIS_MASK ((uint32_t)0x00000080) /*!< FERIS :Mask */ -#define FUARTxRIS_RTRIS_MASK ((uint32_t)0x00000040) /*!< RTRIS :Mask */ -#define FUARTxRIS_TXRIS_MASK ((uint32_t)0x00000020) /*!< TXRIS :Mask */ -#define FUARTxRIS_RXRIS_MASK ((uint32_t)0x00000010) /*!< RXRIS :Mask */ - -#define FUARTxRIS_OERIS_REQ ((uint32_t)0x00000400) /*!< OERIS :Request */ -#define FUARTxRIS_BERIS_REQ ((uint32_t)0x00000200) /*!< BERIS :Request */ -#define FUARTxRIS_PERIS_REQ ((uint32_t)0x00000100) /*!< PRRIS :Request */ -#define FUARTxRIS_FERIS_REQ ((uint32_t)0x00000080) /*!< FERIS :Request */ -#define FUARTxRIS_RTRIS_REQ ((uint32_t)0x00000040) /*!< RTRIS :Request */ -#define FUARTxRIS_TXRIS_REQ ((uint32_t)0x00000020) /*!< TXRIS :Request */ -#define FUARTxRIS_RXRIS_REQ ((uint32_t)0x00000010) /*!< RXRIS :Request */ - -/** - * @} - */ /* End of group FUARTxRIS */ - -/** - * @defgroup FUARTxMIS FUARTxMIS Register - * @brief FUARTxMIS Register Definition. - * @{ - */ -#define FUARTxMIS_OEMIS_MASK ((uint32_t)0x00000400) /*!< OEMIS :Mask */ -#define FUARTxMIS_BEMIS_MASK ((uint32_t)0x00000200) /*!< BEMIS :Mask */ -#define FUARTxMIS_PEMIS_MASK ((uint32_t)0x00000100) /*!< PRMIS :Mask */ -#define FUARTxMIS_FEMIS_MASK ((uint32_t)0x00000080) /*!< FEMIS :Mask */ -#define FUARTxMIS_RTMIS_MASK ((uint32_t)0x00000040) /*!< RTMIS :Mask */ -#define FUARTxMIS_TXMIS_MASK ((uint32_t)0x00000020) /*!< TXMIS :Mask */ -#define FUARTxMIS_RXMIS_MASK ((uint32_t)0x00000010) /*!< RXMIS :Mask */ - -#define FUARTxMIS_OEMIS_REQ ((uint32_t)0x00000400) /*!< OEMIS :Request */ -#define FUARTxMIS_BEMIS_REQ ((uint32_t)0x00000200) /*!< BEMIS :Request */ -#define FUARTxMIS_PEMIS_REQ ((uint32_t)0x00000100) /*!< PRMIS :Request */ -#define FUARTxMIS_FEMIS_REQ ((uint32_t)0x00000080) /*!< FEMIS :Request */ -#define FUARTxMIS_RTMIS_REQ ((uint32_t)0x00000040) /*!< RTMIS :Request */ -#define FUARTxMIS_TXMIS_REQ ((uint32_t)0x00000020) /*!< TXMIS :Request */ -#define FUARTxMIS_RXMIS_REQ ((uint32_t)0x00000010) /*!< RXMIS :Request */ - -/** - * @} - */ /* End of group FUARTxMIS */ - -/** - * @defgroup FUARTxICR FUARTxICR Register - * @brief FUARTxICR Register Definition. - * @{ - */ -#define FUARTxICR_OEIC_MASK ((uint32_t)0x00000400) /*!< OEIC :Mask */ -#define FUARTxICR_BEIC_MASK ((uint32_t)0x00000200) /*!< BEIC :Mask */ -#define FUARTxICR_PEIC_MASK ((uint32_t)0x00000100) /*!< PRIC :Mask */ -#define FUARTxICR_FEIC_MASK ((uint32_t)0x00000080) /*!< FEIC :Mask */ -#define FUARTxICR_RTIC_MASK ((uint32_t)0x00000040) /*!< RTIC :Mask */ -#define FUARTxICR_TXIC_MASK ((uint32_t)0x00000020) /*!< TXIC :Mask */ -#define FUARTxICR_RXIC_MASK ((uint32_t)0x00000010) /*!< RXIC :Mask */ - -#define FUARTxICR_OEIC_CLR ((uint32_t)0x00000400) /*!< OEIC :Request */ -#define FUARTxICR_BEIC_CLR ((uint32_t)0x00000200) /*!< BEIC :Request */ -#define FUARTxICR_PEIC_CLR ((uint32_t)0x00000100) /*!< PRIC :Request */ -#define FUARTxICR_FEIC_CLR ((uint32_t)0x00000080) /*!< FEIC :Request */ -#define FUARTxICR_RTIC_CLR ((uint32_t)0x00000040) /*!< RTIC :Request */ -#define FUARTxICR_TXIC_CLR ((uint32_t)0x00000020) /*!< TXIC :Request */ -#define FUARTxICR_RXIC_CLR ((uint32_t)0x00000010) /*!< RXIC :Request */ - -/** - * @} - */ /* End of group FUARTxICR */ - -/** - * @defgroup FUARTxDMACR FUARTxDMACR Register - * @brief FUARTxDMACR Register Definition. - * @{ - */ -#define FUARTxDMACR_RXDMAE_MASK ((uint32_t)0x00000001) /*!< RXDMAE :Mask */ -#define FUARTxDMACR_TXDMAE_MASK ((uint32_t)0x00000002) /*!< TXDMAE :Mask */ - -#define FUARTxDMACR_RXDMAE_ENABLE ((uint32_t)0x00000001) /*!< RXDMAE :Enable */ -#define FUARTxDMACR_TXDMAE_ENABLE ((uint32_t)0x00000002) /*!< TXDMAE :Enable */ - -#define FUARTxDMACR_RXDMAE_DISABLE ((uint32_t)0x00000000) /*!< RXDMAE :Disable */ -#define FUARTxDMACR_TXDMAE_DISABLE ((uint32_t)0x00000000) /*!< TXDMAE :Disable */ -/** - * @} - */ /* End of group FUARTxDMACR */ - - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Inline Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_fuctions - * @{ - */ -__STATIC_INLINE void disable_FUARTxCR_TXE(TSB_FURT_TypeDef *p_instance); -__STATIC_INLINE void enable_FUARTxCR_TXE(TSB_FURT_TypeDef *p_instance); -__STATIC_INLINE void disable_FUARTxCR_RXE(TSB_FURT_TypeDef *p_instance); -__STATIC_INLINE void enable_FUARTxCR_RXE(TSB_FURT_TypeDef *p_instance); -/*--------------------------------------------------*/ -/** - * @brief Disable FUARTxCR TXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void disable_FUARTxCR_TXE(TSB_FURT_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,8))) = 0; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,8))) = 0; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable FUARTxCR TXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void enable_FUARTxCR_TXE(TSB_FURT_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,8))) = 1; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,8))) = 1; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Disable FUARTxCR RXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void disable_FUARTxCR_RXE(TSB_FURT_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,9))) = 0; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,9))) = 0; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable FUARTxCR RXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void enable_FUARTxCR_RXE(TSB_FURT_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,9))) = 1; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->CR,9))) = 1; -#endif -} - - -/** - * @} - */ /* End of group FUART_Private_functions */ - -/** - * @} - */ /* End of group FUART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __UART_EX_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_gpio.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_gpio.h deleted file mode 100644 index fc21163d8c7..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_gpio.h +++ /dev/null @@ -1,2406 +0,0 @@ -/** - ******************************************************************************* - * @file txz_gpio.h - * @brief This file provides all the functions prototypes for GPIO driver. - * @version V1.0.0. - * $Date:: 2017-11-09 16:44:27 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __GPIO_H -#define __GPIO_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define TMPM4G9 - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup GPIO GPIO - * @brief GPIO Driver. - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Exported_define GPIO Exported Define - * @{ - */ - - -/** - * @defgroup GPIO_Result Result - * @brief GPIO Result Macro Definition. - * @{ - */ -#define GPIO_RESULT_SUCCESS (0) /*!< Success */ -#define GPIO_RESULT_FAILURE (-1) /*!< Failure */ -#define GPIO_READ_FAILURE (0xFFFFFFFF) /*!< Failure */ -/** - * @} - */ /* End of group GPIO_Result */ - -/** - * @} - */ /* End of group GPIO_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** @defgroup GPIO_Exported_Typedef GPIO Exported Typedef - * @{ - */ - -/** - * @enum gpio_pinstate_t - * @brief Pin State Reset/Set Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PIN_RESET = 0, /*!< 0: Clear */ - GPIO_PIN_SET, /*!< 1: Set */ -}gpio_pinstate_t; - -/** - * @enum gpio_pininout_t - * @brief Pin Input/Output Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PIN_INPUT = 0, /*!< 0: Input */ - GPIO_PIN_OUTPUT, /*!< 1: Output */ - GPIO_PIN_INOUT, /*!< 2: Input/Output */ - GPIO_PIN_NOTINOUT, /*!< 3: Not Input/Output */ -}gpio_pininout_t; - -/** - * @enum gpio_gr_t - * @brief Port Group Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PORT_A = 0x0, /*!< 0: PA */ - GPIO_PORT_B, /*!< 1: PB */ - GPIO_PORT_C, /*!< 2: PC */ - GPIO_PORT_D, /*!< 3: PD */ - GPIO_PORT_E, /*!< 4: PE */ - GPIO_PORT_F, /*!< 5: PF */ - GPIO_PORT_G, /*!< 6: PG */ - GPIO_PORT_H, /*!< 7: PH */ - GPIO_PORT_J, /*!< 8: PJ */ - GPIO_PORT_K, /*!< 9: PK */ - GPIO_PORT_L, /*!< 10:PL */ - GPIO_PORT_M, /*!< 11: PM */ - GPIO_PORT_N, /*!< 12: PN */ - GPIO_PORT_P, /*!< 13: PP */ - GPIO_PORT_R, /*!< 14: PR */ - GPIO_PORT_T, /*!< 15: PT */ - GPIO_PORT_U, /*!< 16: PU */ - GPIO_PORT_V, /*!< 17: PV */ - GPIO_PORT_W, /*!< 18: PW */ - GPIO_PORT_Y, /*!< 19: PY */ - GPIO_GROUP_Max /*!< Max Number */ -}gpio_gr_t; - -/** - * @enum gpio_num_t - * @brief Port Number Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PORT_0 = 0x0, /*!< 0: Port0 */ - GPIO_PORT_1, /*!< 1: Port1 */ - GPIO_PORT_2, /*!< 2: Port2 */ - GPIO_PORT_3, /*!< 3: Port3 */ - GPIO_PORT_4, /*!< 4: Port4 */ - GPIO_PORT_5, /*!< 5: Port5 */ - GPIO_PORT_6, /*!< 6: Port6 */ - GPIO_PORT_7, /*!< 7: Port7 */ - GPIO_PORT_Max /*!< Max Number */ -}gpio_num_t; - -/** - * @enum gpio_fr_t - * @brief Port Function Number Enumerated Type Definition. - */ -typedef enum -{ - GPIO_FR_1 = 1, /*!< 1: PxFR1 */ - GPIO_FR_2, /*!< 2: PxFR2 */ - GPIO_FR_3, /*!< 3: PxFR3 */ - GPIO_FR_4, /*!< 4: PxFR4 */ - GPIO_FR_5, /*!< 5: PxFR5 */ - GPIO_FR_6, /*!< 6: PxFR6 */ - GPIO_FR_7, /*!< 7: PxFR7 */ - GPIO_FR_NA, /*!< 8: N/A */ - GPIO_FR_Max, /*!< Max Number */ -}gpio_fr_t; - -/** - * @enum gpio_mode_t - * @brief Port Mode Enumerated Type Definition. - */ -typedef enum -{ - GPIO_Mode_DATA = 0x0, /*!< 0x0: PxDATA */ - GPIO_Mode_CR = 0x4, /*!< 0x4: PxCR */ - GPIO_Mode_FR1 = 0x8, /*!< 0x8: PxFR1 */ - GPIO_Mode_FR2 = 0xC, /*!< 0xC: PxFR2 */ - GPIO_Mode_FR3 = 0x10, /*!< 0x10: PxFR3 */ - GPIO_Mode_FR4 = 0x14, /*!< 0x14: PxFR4 */ - GPIO_Mode_FR5 = 0x18, /*!< 0x18: PxFR5 */ - GPIO_Mode_FR6 = 0x1C, /*!< 0x1C: PxFR6 */ - GPIO_Mode_FR7 = 0x20, /*!< 0x20: PxFR7 */ - GPIO_Mode_OD = 0x28, /*!< 0x28: PxOD */ - GPIO_Mode_PUP = 0x2C, /*!< 0x2C: PxPUP */ - GPIO_Mode_PDN = 0x30, /*!< 0x30: PxPDN */ - GPIO_Mode_IE = 0x38 /*!< 0x38: PxIE */ -}gpio_mode_t; - -/** - * @enum gpio_pa0_func_t - * @brief PortA0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA0_INT02a = 0, /*!< 0: INT02a */ - GPIO_PA0_EA00 = GPIO_FR_1, /*!< PAFR1: EA00 */ - GPIO_PA0_T32A00INB1 = GPIO_FR_2, /*!< PAFR2: T32A00INB1 */ - GPIO_PA0_T32A00INA0 = GPIO_FR_3, /*!< PAFR3: T32A00INA0 */ - GPIO_PA0_T32A00INC0 = GPIO_FR_5, /*!< PAFR5: T32A00INC0 */ - GPIO_PA0_TSPI0CSIN = GPIO_FR_6, /*!< PAFR6: TSPI0CSIN */ - GPIO_PA0_TSPI0CS0 = GPIO_FR_7, /*!< PAFR7: TSPI0CS0 */ -}gpio_pa0_func_t; - -/** - * @enum gpio_pa1_func_t - * @brief PortA1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA1_EA01 = GPIO_FR_1, /*!< PAFR1: EA01 */ - GPIO_PA1_T32A00OUTA = GPIO_FR_3, /*!< PAFR3: T32A00OUTA */ - GPIO_PA1_T32A00OUTC = GPIO_FR_5, /*!< PAFR5: T32A00OUTC */ - GPIO_PA1_TSPI0CLK = GPIO_FR_7, /*!< PAFR7: TSPI0CLK */ -}gpio_pa1_func_t; - -/** - * @enum gpio_pa2_func_t - * @brief PortA2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA2_EA02 = GPIO_FR_1, /*!< PAFR1: EA02 */ - GPIO_PA2_T32A00OUTB = GPIO_FR_3, /*!< PAFR3: T32A00OUTB */ - GPIO_PA2_TSPI0RXD = GPIO_FR_7, /*!< PAFR7: TSPI0RXD */ -}gpio_pa2_func_t; - - /** - * @enum gpio_pa3_func_t - * @brief PortA3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA3_EA03 = GPIO_FR_1, /*!< PAFR1: EA03 */ - GPIO_PA3_T32A00INA1 = GPIO_FR_2, /*!< PAFR2: T32A00INA1 */ - GPIO_PA3_T32A00INB0 = GPIO_FR_3, /*!< PAFR3: T32A00INB0 */ - GPIO_PA3_T32A00INC1 = GPIO_FR_5, /*!< PAFR5: T32A00INC1 */ - GPIO_PA3_TSPI2CS1 = GPIO_FR_6, /*!< PAFR6: TSPI2CS1 */ - GPIO_PA3_TSPI0TXD = GPIO_FR_7, /*!< PAFR6: TSPI2CS1 */ -}gpio_pa3_func_t; - - /** - * @enum gpio_pa4_func_t - * @brief PortA4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA4_EA04 = GPIO_FR_1, /*!< PAFR1: EA04 */ - GPIO_PA4_T32A01INB1 = GPIO_FR_2, /*!< PAFR2: T32A01INB1 */ - GPIO_PA4_T32A01INA0 = GPIO_FR_3, /*!< PAFR3: T32A01INA0 */ - GPIO_PA4_T32A01INC0 = GPIO_FR_5, /*!< PAFR5: T32A01INC0 */ - GPIO_PA4_TSPI0CS1 = GPIO_FR_6, /*!< PAFR6: TSPI0CS1 */ - GPIO_PA4_TSPI2TXD = GPIO_FR_7, /*!< PAFR7: TSPI2TXD */ -}gpio_pa4_func_t; - -/** - * @enum gpio_pa5_func_t - * @brief PortA5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA5_EA05 = GPIO_FR_1, /*!< PAFR1: EA05 */ - GPIO_PA5_T32A01OUTA = GPIO_FR_3, /*!< PAFR3: T32A01OUTA */ - GPIO_PA5_T32A01OUTC = GPIO_FR_5, /*!< PAFR5: T32A01OUTC */ - GPIO_PA5_TSPI0CS2 = GPIO_FR_6, /*!< PAFR6: TSPI0CS2 */ - GPIO_PA5_TSPI2RXD = GPIO_FR_7, /*!< PAFR7: TSPI2RXD */ -}gpio_pa5_func_t; - -/** - * @enum gpio_pa6_func_t - * @brief PortA6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA6_EA06 = GPIO_FR_1, /*!< PAFR1: EA06 */ - GPIO_PA6_T32A01OUTB = GPIO_FR_3, /*!< PAFR3: T32A01OUTB */ - GPIO_PA6_TSPI0CS3 = GPIO_FR_6, /*!< PAFR6: TSPI0CS3 */ - GPIO_PA6_TSPI2SCK = GPIO_FR_7, /*!< PAFR7: TSPI2SCK */ -}gpio_pa6_func_t; - - -/** - * @enum gpio_pa7_func_t - * @brief PortA6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PA7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PA7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PA7_INT03a = 0, /*!< 0: INT03a */ - GPIO_PA7_EA07 = GPIO_FR_1, /*!< PAFR1: EA07 */ - GPIO_PA7_T32A01INA1 = GPIO_FR_2, /*!< PAFR2: T32A01INA1 */ - GPIO_PA7_T32A01INB0 = GPIO_FR_3, /*!< PAFR3: T32A01INB0 */ - GPIO_PA7_T32A01INC1 = GPIO_FR_5, /*!< PAFR5: T32A01INC1 */ - GPIO_PA7_TSPI2CSIN = GPIO_FR_6, /*!< PAFR6: TSPI2CSIN */ - GPIO_PA7_TSPI2CS0 = GPIO_FR_7, /*!< PAFR7: TSPI2CS0 */ -}gpio_pa7_func_t; - - - -/** - * @enum gpio_pb0_func_t - * @brief PortB0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB0_INT04a = 0, /*!< 0: INT04a */ - GPIO_PB0_EA08 = GPIO_FR_1, /*!< PBFR1: EA08 */ - GPIO_PB0_T32A02INB1 = GPIO_FR_2, /*!< PBFR2: T32A02INB1 */ - GPIO_PB0_T32A02INA0 = GPIO_FR_3, /*!< PBFR3: T32A02INA0 */ - GPIO_PB0_T32A02INC0 = GPIO_FR_5, /*!< PBFR5: T32A02INC0 */ -}gpio_pb0_func_t; - -/** - * @enum gpio_pb1_func_t - * @brief PortB1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB1_INT05a = 0, /*!< 0: INT05a */ - GPIO_PB1_EA09 = GPIO_FR_1, /*!< PBFR1: EA09 */ - GPIO_PB1_T32A02INA1 = GPIO_FR_2, /*!< PBFR2: T32A02INA1 */ - GPIO_PB1_T32A02INB0 = GPIO_FR_3, /*!< PBFR3: T32A02INB0 */ - GPIO_PB1_T32A02INC1 = GPIO_FR_5, /*!< PBFR5: T32A02INC1 */ - GPIO_PB1_HDMAREQB = GPIO_FR_6, /*!< PBFR6: HDMAREQB */ -}gpio_pb1_func_t; - -/** - * @enum gpio_pb2_func_t - * @brief PortB2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB2_EA10 = GPIO_FR_1, /*!< PBFR1: EA10 */ - GPIO_PB2_T32A02OUTA = GPIO_FR_3, /*!< PBFR3: T32A02OUTA */ - GPIO_PB2_T32A02OUTC = GPIO_FR_5, /*!< PBFR5: T32A02OUTC */ -}gpio_pb2_func_t; - - /** - * @enum gpio_pb3_func_t - * @brief PortB3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB3_EA11 = GPIO_FR_1, /*!< PBFR1: EA11 */ - GPIO_PB3_T32A02OUTB = GPIO_FR_3, /*!< PBFR3: T32A02OUTB */ -}gpio_pb3_func_t; - - /** - * @enum gpio_pb4_func_t - * @brief PortB4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB4_EA12 = GPIO_FR_1, /*!< PBFR1: EA12 */ - GPIO_PB4_T32A03OUTA = GPIO_FR_3, /*!< PBFR3: T32A03OUTA */ - GPIO_PB4_T32A03OUTC = GPIO_FR_5, /*!< PBFR5: T32A03OUTC */ -}gpio_pb4_func_t; - -/** - * @enum gpio_pb5_func_t - * @brief PortB5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB5_EA13 = GPIO_FR_1, /*!< PBFR1: EA13 */ - GPIO_PB5_T32A03OUTB = GPIO_FR_3, /*!< PBFR3: T32A03OUTB */ -}gpio_pb5_func_t; - -/** - * @enum gpio_pb6_func_t - * @brief PortB6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB6_INT06a = 0, /*!< 0: INT06a */ - GPIO_PB6_EA14 = GPIO_FR_1, /*!< PBFR1: EA14 */ - GPIO_PB6_T32A03INB1 = GPIO_FR_2, /*!< PBFR2: T32A03INB1 */ - GPIO_PB6_T32A03INA0 = GPIO_FR_3, /*!< PBFR3: T32A03INA0 */ - GPIO_PB6_T32A03INC0 = GPIO_FR_5, /*!< PBFR5: T32A03INC0 */ -}gpio_pb6_func_t; - -/** - * @enum gpio_pb7_func_t - * @brief PortB7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PB7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PB7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PB7_INT07a = 0, /*!< 0: INT07a */ - GPIO_PB7_EA15 = GPIO_FR_1, /*!< PBFR1: EA15 */ - GPIO_PB7_T32A03INA1 = GPIO_FR_2, /*!< PBFR2: T32A03INA1 */ - GPIO_PB7_T32A03INB0 = GPIO_FR_3, /*!< PBFR3: T32A03INB0 */ - GPIO_PB7_T32A03INC1 = GPIO_FR_5, /*!< PBFR5: T32A03INC1 */ -}gpio_pb7_func_t; - - -/** - * @enum gpio_pc0_func_t - * @brief PortC0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC0_INT12a = 0, /*!< 0: INT12a */ - GPIO_PC0_EA16 = GPIO_FR_1, /*!< PCFR1: EA16 */ - GPIO_PC0_T32A08INA0 = GPIO_FR_3, /*!< PCFR3: T32A08INA0 */ - GPIO_PC0_T32A08INC0 = GPIO_FR_5, /*!< PCFR5: T32A08INC0 */ -}gpio_pc0_func_t; - -/** - * @enum gpio_pc1_func_t - * @brief PortC1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC1_INT13a = 0, /*!< 0: INT13a */ - GPIO_PC1_EA17 = GPIO_FR_1, /*!< PCFR1: EA17 */ - GPIO_PC1_T32A08INB0 = GPIO_FR_3, /*!< PCFR3: T32A08INB0 */ - GPIO_PC1_T32A08INC1 = GPIO_FR_5, /*!< PCFR5: T32A08INC1 */ -}gpio_pc1_func_t; - -/** - * @enum gpio_pc2_func_t - * @brief PortC2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC2_EA18 = GPIO_FR_1, /*!< PCFR1: UT4TXDB */ - GPIO_PC2_T32A08OUTA = GPIO_FR_3, /*!< PCFR3: T32A08OUTA */ - GPIO_PC2_T32A08OUTC = GPIO_FR_5, /*!< PCFR5: T32A08OUTC */ -}gpio_pc2_func_t; - - /** - * @enum gpio_pc3_func_t - * @brief PortC3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC3_EA19 = GPIO_FR_1, /*!< PCFR1: EA19 */ - GPIO_PC3_T32A08OUTB = GPIO_FR_3, /*!< PCFR3: T32A08OUTB */ -}gpio_pc3_func_t; - - /** - * @enum gpio_pc4_func_t - * @brief PortC4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC4_EA20 = GPIO_FR_1, /*!< PCFR1: EA20 */ - GPIO_PC4_T32A10OUTA = GPIO_FR_3, /*!< PCFR3: T32A10OUTA */ - GPIO_PC4_T32A10OUTC = GPIO_FR_5, /*!< PCFR5: T32A10OUTC */ -}gpio_pc4_func_t; - -/** - * @enum gpio_pc5_func_t - * @brief PortC5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC5_EA21 = GPIO_FR_1, /*!< PCFR1: EA21 */ - GPIO_PC5_T32A10OUTB = GPIO_FR_3, /*!< PCFR3: T32A10OUTB */ -}gpio_pc5_func_t; - -/** - * @enum gpio_pc6_func_t - * @brief PortC6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC6_INT14a = 0, /*!< 0: INT14a */ - GPIO_PC6_EA22 = GPIO_FR_1, /*!< PCFR1: EA22 */ -}gpio_pc6_func_t; - -/** - * @enum gpio_pc7_func_t - * @brief PortC7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PC7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PC7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PC7_INT15a = 0, /*!< 0: INT15a */ - GPIO_PC7_EA23 = GPIO_FR_1, /*!< PCFR1: EA23 */ -}gpio_pc7_func_t; - -/** - * @enum gpio_pd0_func_t - * @brief PortD0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD0_ED00 = GPIO_FR_1, /*!< PCFR1: ED00 */ - GPIO_PD0_T32A04INB1 = GPIO_FR_2, /*!< PCFR2: T32A04INB1 */ - GPIO_PD0_T32A04INA0 = GPIO_FR_3, /*!< PCFR3: T32A04INA0 */ - GPIO_PD0_TSPI4CS0 = GPIO_FR_4, /*!< PCFR4: TSPI4CS0 */ - GPIO_PD0_T32A04INC0 = GPIO_FR_5, /*!< PCFR5: T32A04INC0 */ - GPIO_PD0_TSPI4CSIN = GPIO_FR_6, /*!< PCFR6: TSPI4CSIN */ - GPIO_PD0_UO0 = GPIO_FR_7, /*!< PCFR7: UO0 */ -}gpio_pd0_func_t; - -/** - * @enum gpio_pd1_func_t - * @brief PortD1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD1_ED01 = GPIO_FR_1, /*!< PCFR1: ED01 */ - GPIO_PD1_T32A04INA1 = GPIO_FR_2, /*!< PCFR2: T32A04INA1 */ - GPIO_PD1_T32A04INB0 = GPIO_FR_3, /*!< PCFR3: T32A04INB0 */ - GPIO_PD1_TSPI4SCK = GPIO_FR_4, /*!< PCFR4: TSPI4SCK */ - GPIO_PD1_T32A04INC1 = GPIO_FR_5, /*!< PCFR5: T32A04INC1 */ - GPIO_PD1_XO0 = GPIO_FR_7, /*!< PCFR7: XO0 */ -}gpio_pd1_func_t; - -/** - * @enum gpio_pd2_func_t - * @brief PortD2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD2_ED02 = GPIO_FR_1, /*!< PCFR1: ED02 */ - GPIO_PD2_T32A04OUTA = GPIO_FR_3, /*!< PCFR3: T32A04OUTA */ - GPIO_PD2_TSPI4RXD = GPIO_FR_4, /*!< PCFR4: TSPI4RXD */ - GPIO_PD2_T32A04OUTC = GPIO_FR_5, /*!< PCFR5: T32A04OUTC */ - GPIO_PD2_VO0 = GPIO_FR_7, /*!< PCFR7: VO0 */ -}gpio_pd2_func_t; - - /** - * @enum gpio_pd3_func_t - * @brief PortD3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD3_ED03 = GPIO_FR_1, /*!< PCFR1: ED03 */ - GPIO_PD3_T32A04OUTB = GPIO_FR_3, /*!< PCFR3: T32A04OUTB */ - GPIO_PD3_TSPI4TXD = GPIO_FR_4, /*!< PCFR4: TSPI4TXD */ - GPIO_PD3_YO0 = GPIO_FR_7, /*!< PCFR7: YO0 */ -}gpio_pd3_func_t; - -/** - * @enum gpio_pd4_func_t - * @brief PortD4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD4_ED04 = GPIO_FR_1, /*!< PCFR1: ED04 */ - GPIO_PD4_T32A05OUTA = GPIO_FR_3, /*!< PCFR3: T32A05OUTA */ - GPIO_PD4_T32A05OUTC = GPIO_FR_5, /*!< PCFR5: T32A05OUTC */ - GPIO_PD4_WO0 = GPIO_FR_7, /*!< PCFR7: WO0 */ -}gpio_pd4_func_t; - -/** - * @enum gpio_pd5_func_t - * @brief PortD5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD5_ED05 = GPIO_FR_1, /*!< PCFR1: ED05 */ - GPIO_PD5_T32A05OUTB = GPIO_FR_3, /*!< PCFR3: T32A05OUTB */ - GPIO_PD5_ZO0 = GPIO_FR_7, /*!< PCFR7: WO0 */ -}gpio_pd5_func_t; - -/** - * @enum gpio_pd6_func_t - * @brief PortD6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD6_ED06 = GPIO_FR_1, /*!< PCFR1: ED06 */ - GPIO_PD6_T32A05INB1 = GPIO_FR_2, /*!< PCFR2: T32A05INB1 */ - GPIO_PD6_T32A05INA0 = GPIO_FR_3, /*!< PCFR3: T32A05INA0 */ - GPIO_PD6_T32A05INC0 = GPIO_FR_5, /*!< PCFR5: T32A05INC0 */ - GPIO_PD6_EMG_N = GPIO_FR_7, /*!< PCFR7: EMG_N */ -}gpio_pd6_func_t; - -/** - * @enum gpio_pd7_func_t - * @brief PortD7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PD7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PD7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PD7_ED07 = GPIO_FR_1, /*!< PCFR1: ED07 */ - GPIO_PD7_T32A05INA1 = GPIO_FR_2, /*!< PCFR2: T32A05INA1 */ - GPIO_PD7_T32A05INB0 = GPIO_FR_3, /*!< PCFR3: T32A05INB0 */ - GPIO_PD7_T32A05INC1 = GPIO_FR_5, /*!< PCFR5: T32A05INC1 */ - GPIO_PD7_OVV0_N = GPIO_FR_7, /*!< PCFR7: OVV0_N */ -}gpio_pd7_func_t; - -/** - * @enum gpio_pe0_func_t - * @brief PortE0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE0_ED08 = GPIO_FR_1, /*!< PCFR1: ED08 */ - GPIO_PE0_T32A06INB1 = GPIO_FR_2, /*!< PCFR2: T32A06INB1 */ - GPIO_PE0_T32A06OUTB = GPIO_FR_3, /*!< PCFR3: T32A06OUTB */ - GPIO_PE0_EA23 = GPIO_FR_4, /*!< PCFR4: EA23 */ - GPIO_PE0_T32A06INA1 = GPIO_FR_5, /*!< PCFR5: T32A06INA1 */ - GPIO_PE0_UT0RTS_N = GPIO_FR_7, /*!< PCFR7: UT0RTS_N */ -}gpio_pe0_func_t; - -/** - * @enum gpio_pe1_func_t - * @brief PortE1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE1_ED09 = GPIO_FR_1, /*!< PCFR1: ED09 */ - GPIO_PE1_T32A06OUTA = GPIO_FR_3, /*!< PCFR3: T32A06OUTA */ - GPIO_PE1_EA22 = GPIO_FR_4, /*!< PCFR4: EA22 */ - GPIO_PE1_T32A06OUTC = GPIO_FR_5, /*!< PCFR5: T32A06OUTC */ - GPIO_PE1_UT0CTS_N = GPIO_FR_7, /*!< PCFR7: UT0CTS_N */ -}gpio_pe1_func_t; - -/** - * @enum gpio_pe2_func_t - * @brief PortE2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE2_ED10 = GPIO_FR_1, /*!< PCFR1: ED10 */ - GPIO_PE2_T32A06INA0 = GPIO_FR_3, /*!< PCFR3: T32A06INA0 */ - GPIO_PE2_EA21 = GPIO_FR_4, /*!< PCFR4: EA21 */ - GPIO_PE2_T32A06INC0 = GPIO_FR_5, /*!< PCFR5: T32A06INC0 */ - GPIO_PE2_UT0RXD = GPIO_FR_7, /*!< PCFR7: UT0RXD */ -}gpio_pe2_func_t; - - /** - * @enum gpio_pe3_func_t - * @brief PortE3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE3_ED11 = GPIO_FR_1, /*!< PCFR1: ED11 */ - GPIO_PE3_T32A06INB0 = GPIO_FR_3, /*!< PCFR3: T32A06INB0 */ - GPIO_PE3_EA20 = GPIO_FR_4, /*!< PCFR4: EA20 */ - GPIO_PE3_T32A06INC1 = GPIO_FR_5, /*!< PCFR5: T32A06INC1 */ - GPIO_PE3_UT0TXDA = GPIO_FR_7, /*!< PCFR7: UT0TXDA */ -}gpio_pe3_func_t; - - /** - * @enum gpio_pe4_func_t - * @brief PortE4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE4_ED12 = GPIO_FR_1, /*!< PCFR1: ED12 */ - GPIO_PE4_T32A07INA0 = GPIO_FR_3, /*!< PCFR3: T32A07INA0 */ - GPIO_PE4_EA19 = GPIO_FR_4, /*!< PCFR4: EA19 */ - GPIO_PE4_T32A07INC0 = GPIO_FR_5, /*!< PCFR5: T32A07INC0 */ - GPIO_PE4_ISDAIN0 = 0, /*!< 0: ISDAIN0 */ -}gpio_pe4_func_t; - -/** - * @enum gpio_pe5_func_t - * @brief PortE5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE5_ED13 = GPIO_FR_1, /*!< PCFR1: ED13 */ - GPIO_PE5_T32A07INB0 = GPIO_FR_3, /*!< PCFR3: T32A07INB0 */ - GPIO_PE5_EA18 = GPIO_FR_4, /*!< PCFR4: EA18 */ - GPIO_PE5_T32A07INC1 = GPIO_FR_5, /*!< PCFR5: T32A07INC1 */ - GPIO_PE5_ISDAIN1 = 0, /*!< 0: ISDAIN1 */ -}gpio_pe5_func_t; - -/** - * @enum gpio_pe6_func_t - * @brief PortE6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE6_ED14 = GPIO_FR_1, /*!< PCFR1: ED14 */ - GPIO_PE6_T32A07OUTA = GPIO_FR_3, /*!< PCFR3: T32A07OUTA */ - GPIO_PE6_EA17 = GPIO_FR_4, /*!< PCFR4: EA17 */ - GPIO_PE6_T32A07OUTC = GPIO_FR_5, /*!< PCFR5: T32A07OUTC */ - GPIO_PE6_ISDAIN2 = 0, /*!< 0: ISDAIN2 */ -}gpio_pe6_func_t; - -/** - * @enum gpio_pe7_func_t - * @brief PortE7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PE7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PE7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PE7_ED15 = GPIO_FR_1, /*!< PCFR1: ED15 */ - GPIO_PE7_T32A07INB1 = GPIO_FR_2, /*!< PCFR2: T32A07INB1 */ - GPIO_PE7_T32A07OUTB = GPIO_FR_3, /*!< PCFR3: T32A07OUTB */ - GPIO_PE7_EA16 = GPIO_FR_4, /*!< PCFR4: EA16 */ - GPIO_PE7_T32A07INA1 = GPIO_FR_5, /*!< PCFR5: T32A07INA1 */ - GPIO_PE7_ISDAIN3 = 0, /*!< 0: ISDAIN3 */ -}gpio_pe7_func_t; - -/** - * @enum gpio_pf0_func_t - * @brief PortF0 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF0_INT04b = 0, /*!< 0: INT04b */ - GPIO_PF0_ERD_N = GPIO_FR_1, /*!< PCFR1: ERD_N */ -}gpio_pf0_func_t; - -/** - * @enum gpio_pf1_func_t - * @brief PortF1 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF1_EWR_N = GPIO_FR_1, /*!< PCFR1: EWR_N */ -}gpio_pf1_func_t; - -/** - * @enum gpio_pf2_func_t - * @brief PortF2 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF2_I2C1SDA = GPIO_FR_7, /*!< PCFR7: I2C1SDA */ -}gpio_pf2_func_t; - - /** - * @enum gpio_pf3_func_t - * @brief PortF3 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF3_I2C1SCL = GPIO_FR_7, /*!< PCFR7: I2C1SCL */ -}gpio_pf3_func_t; - - /** - * @enum gpio_pf4_func_t - * @brief PortF4 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF4_ECS2_N = GPIO_FR_1, /*!< PCFR1: ECS2_N */ -}gpio_pf4_func_t; - - /** - * @enum gpio_pf5_func_t - * @brief PortF5 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF5_ECS3_N = GPIO_FR_1, /*!< PCFR1: ECS3_N */ -}gpio_pf5_func_t; - - /** - * @enum gpio_pf6_func_t - * @brief PortF6 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF6_EBELL_N = GPIO_FR_1, /*!< PCFR1: EBELL_N */ -}gpio_pf6_func_t; - - /** - * @enum gpio_pf7_func_t - * @brief PortF7 Function Enumerated TyPF Definition. - */ -typedef enum -{ - GPIO_PF7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PF7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PF7_INT05b = 0, /*!< 0: INT05b */ - GPIO_PF7_EBELH_N = GPIO_FR_1, /*!< PCFR1: EBELH_N */ -}gpio_pf7_func_t; - -/** - * @enum gpio_pg0_func_t - * @brief PortG0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG0_INT08a = 0, /*!< 0: INT08a */ - GPIO_PG0_EALE = GPIO_FR_1, /*!< PCFR1: EALE */ - GPIO_PG0_UT2RXD = GPIO_FR_3, /*!< PCFR3: UT2RXD */ - GPIO_PG0_UT2TXDA = GPIO_FR_5, /*!< PCFR5: UT2TXDA */ -}gpio_pg0_func_t; - -/** - * @enum gpio_pg1_func_t - * @brief PortG1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG1_INT09a = 0, /*!< 0: INT09a */ - GPIO_PG1_EWAIT_N = GPIO_FR_1, /*!< PCFR1: EWAIT_N */ - GPIO_PG1_UT2TXDA = GPIO_FR_3, /*!< PCFR3: UT2TXDA */ - GPIO_PG1_UT2RXD = GPIO_FR_5, /*!< PCFR5: UT2RXD */ -}gpio_pg1_func_t; - -/** - * @enum gpio_pg2_func_t - * @brief PortG2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG2_UT2RTS_N = GPIO_FR_3, /*!< PCFR3: UT2RTS_N */ - GPIO_PG2_RTCALARM = GPIO_FR_4, /*!< PCFR4: RTCALARM */ - GPIO_PG2_UT2CTS_N = GPIO_FR_5, /*!< PCFR5: UT2CTS_N */ - GPIO_PG2_I2C0SDA = GPIO_FR_7, /*!< PCFR7: I2C0SDA */ -}gpio_pg2_func_t; - -/** - * @enum gpio_pg3_func_t - * @brief PortG3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG3_UT2CTS_N = GPIO_FR_3, /*!< PCFR3: UT2CTS_N */ - GPIO_PG3_TRGIN = GPIO_FR_4, /*!< PCFR4: TRGIN */ - GPIO_PG3_UT2RTS_N = GPIO_FR_5, /*!< PCFR5: UT2RTS_N */ - GPIO_PG3_I2C0SCL = GPIO_FR_7, /*!< PCFR7: I2C0SCL */ -}gpio_pg3_func_t; - -/** - * @enum gpio_pg4_func_t - * @brief PortG4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG4_T32A02OUTB = GPIO_FR_2, /*!< PCFR2: T32A02OUTB */ - GPIO_PG4_FUT0IROUT = GPIO_FR_4, /*!< PCF41: FUT0IROUT */ - GPIO_PG4_FUT0TXD = GPIO_FR_5, /*!< PCFR5: FUT0TXD */ - GPIO_PG4_I2C2SDA = GPIO_FR_7, /*!< PCFR7: I2C2SDA */ -}gpio_pg4_func_t; - -/** - * @enum gpio_pg5_func_t - * @brief PortG5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG5_T32A02OUTA = GPIO_FR_2, /*!< PCFR2: T32A02OUTB */ - GPIO_PG5_T32A02OUTC = GPIO_FR_3, /*!< PCFR3: T32A02OUTC */ - GPIO_PG5_FUT0SI_SIRIN = GPIO_FR_4, /*!< PCFR4: FUT0SI_SIRIN */ - GPIO_PG5_FUT0RXD = GPIO_FR_5, /*!< PCFR5: FUT0RXD */ - GPIO_PG5_I2C2SCL = GPIO_FR_7, /*!< PCFR7: I2C2SCL */ -}gpio_pg5_func_t; - -/** - * @enum gpio_pg6_func_t - * @brief PortG6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG6_TRACECLK = GPIO_FR_1, /*!< PCFR1: TRACECLK */ - GPIO_PG6_NBD0CLK = GPIO_FR_4, /*!< PCFR4: NBD0CLK */ - GPIO_PG6_FUT0RTS_N = GPIO_FR_5, /*!< PCFR5: FUT0RTS_N */ -}gpio_pg6_func_t; - -/** - * @enum gpio_pg7_func_t - * @brief PortG7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PG7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PG7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PG7_TRACEDATA0 = GPIO_FR_1, /*!< PCFR1: TRACEDATA0 */ - GPIO_PG7_NBD0DATA0 = GPIO_FR_4, /*!< PCFR4: NBD0DATA0 */ - GPIO_PG7_FUT0CTS_N = GPIO_FR_5, /*!< PCFR5: FUT0CTS_N */ -}gpio_pg7_func_t; - -/** - * @enum gpio_ph0_func_t - * @brief PortH0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH0_TRACEDATA1 = GPIO_FR_1, /*!< PCFR1: TRACEDATA1 */ - GPIO_PH0_UT1RXD = GPIO_FR_3, /*!< PCFR3: UT1RXD */ - GPIO_PH0_NBD0DATA1 = GPIO_FR_4, /*!< PCFR4: NBD0DATA1 */ - GPIO_PH0_UT1TXDA = GPIO_FR_5, /*!< PCFR5: UT1TXDA */ -}gpio_ph0_func_t; - -/** - * @enum gpio_ph1_func_t - * @brief PortH1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH1_TRACEDATA2 = GPIO_FR_1, /*!< PCFR1: TRACEDATA2 */ - GPIO_PH1_UT1TXDA = GPIO_FR_3, /*!< PCFR3: UT1TXDA */ - GPIO_PH1_NBD0DATA2 = GPIO_FR_4, /*!< PCFR4: NBD0DATA2 */ - GPIO_PH1_UT1RXD = GPIO_FR_5, /*!< PCFR5: UT1RXD */ -}gpio_ph1_func_t; - -/** - * @enum gpio_ph2_func_t - * @brief PortH2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH2_TRACEDATA3 = GPIO_FR_1, /*!< PCFR1: TRACEDATA3 */ - GPIO_PH2_UT1RTS_N = GPIO_FR_3, /*!< PCFR3: UT1RTS_N */ - GPIO_PH2_NBD0DATA3 = GPIO_FR_4, /*!< PCFR4: NBD0DATA3 */ - GPIO_PH2_UT1CTS_N = GPIO_FR_5, /*!< PCFR5: UT1CTS_N */ -}gpio_ph2_func_t; - - /** - * @enum gpio_ph3_func_t - * @brief PortH3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH3_TDI = GPIO_FR_1, /*!< PCFR1: TDI */ - GPIO_PH3_UT1CTS_N = GPIO_FR_3, /*!< PCFR3: UT1CTS_N */ - GPIO_PH3_NBD0SYNC = GPIO_FR_4, /*!< PCFR4: NBD0SYNC */ - GPIO_PH3_UT1RTS_N = GPIO_FR_5, /*!< PCFR5: UT1RTS_N */ -}gpio_ph3_func_t; - - /** - * @enum gpio_ph4_func_t - * @brief PortH4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH4_SWDIO = GPIO_FR_1, /*!< PCFR1: SWDIO */ - GPIO_PH4_UT0RXD = GPIO_FR_3, /*!< PCFR3: UT0RXD */ - GPIO_PH4_UT0TXDA = GPIO_FR_5, /*!< PCFR5: UT0TXDA */ -}gpio_ph4_func_t; - - /** - * @enum gpio_ph5_func_t - * @brief PortH5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH5_TCK = GPIO_FR_1, /*!< PCFR1: TCK */ - GPIO_PH5_UT0TXDA = GPIO_FR_3, /*!< PCFR3: UT0TXDA */ - GPIO_PH5_UT0RXD = GPIO_FR_5, /*!< PCFR5: UT0RXD */ -}gpio_ph5_func_t; - - /** - * @enum gpio_ph6_func_t - * @brief PortH6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH6_TDO = GPIO_FR_1, /*!< PCFR1: TDO */ - GPIO_PH6_UT0RTS_N = GPIO_FR_3, /*!< PCFR3: UT0RTS_N */ - GPIO_PH6_UT0CTS_N = GPIO_FR_5, /*!< PCFR5: UT0CTS_N */ -}gpio_ph6_func_t; - - /** - * @enum gpio_ph7_func_t - * @brief PortH7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PH7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PH7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PH7_TRST_N = GPIO_FR_1, /*!< PCFR1: TRST_N */ - GPIO_PH7_UT0CTS_N = GPIO_FR_3, /*!< PCFR3: UT0CTS_N */ - GPIO_PH7_UT0RTS_N = GPIO_FR_5, /*!< PCFR5: UT0RTS_N */ -}gpio_ph7_func_t; - -/** - * @enum gpio_pj0_func_t - * @brief PortJ0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ0_UT5RXD = GPIO_FR_3, /*!< PJFR3: UT5RXD */ - GPIO_PJ0_UT5TXDA = GPIO_FR_5, /*!< PJFR5: UT5TXDA */ -}gpio_pj0_func_t; - -/** - * @enum gpio_pj1_func_t - * @brief PortJ1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ1_UT5TXDA = GPIO_FR_3, /*!< PJFR3: UT5TXDA */ - GPIO_PJ1_UT5RXD = GPIO_FR_5, /*!< PJFR5: UT5RXD */ -}gpio_pj1_func_t; - -/** - * @enum gpio_pj2_func_t - * @brief PortJ2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ2_UT5RTS_N = GPIO_FR_3, /*!< PJFR3: UT5RTS_N */ - GPIO_PJ2_UT5CTS_N = GPIO_FR_5, /*!< PJFR5: UT5CTS_N */ - GPIO_PJ2_I2C4SCL = GPIO_FR_7, /*!< PJFR7: I2C4SCL */ -}gpio_pj2_func_t; - - /** - * @enum gpio_pj3_func_t - * @brief PortJ3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ3_UT5CTS_N = GPIO_FR_3, /*!< PJFR3: UT5CTS_N */ - GPIO_PJ3_UT5RTS_N = GPIO_FR_5, /*!< PJFR5: UT5RTS_N */ - GPIO_PJ3_I2C4SDA = GPIO_FR_7, /*!< PJFR7: I2C4SDA */ -}gpio_pj3_func_t; - - /** - * @enum gpio_pj4_func_t - * @brief PortJ4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ4_T32A03INA0 = GPIO_FR_2, /*!< PJFR2: T32A03INA0 */ - GPIO_PJ4_T32A03INC0 = GPIO_FR_3, /*!< PJFR3: T32A03INC0 */ - GPIO_PJ4_FUT0TXD = GPIO_FR_5, /*!< PJFR5: FUT0TXD */ -}gpio_pj4_func_t; - -/** - * @enum gpio_pj5_func_t - * @brief PortJ5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ5_T32A03INB0 = GPIO_FR_2, /*!< PJFR2: T32A03INB0 */ - GPIO_PJ5_T32A03INC1 = GPIO_FR_3, /*!< PJFR3: T32A03INC1 */ - GPIO_PJ5_FUT0RXD = GPIO_FR_5, /*!< PJFR5: FUT0RXD */ -}gpio_pj5_func_t; - -/** - * @enum gpio_pj6_func_t - * @brief PortJ6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ6_FUT1TXD = GPIO_FR_5, /*!< PJFR5: FUT1TXD */ - GPIO_PJ6_I2C3SDA = GPIO_FR_7, /*!< PJFR7: I2C3SDA */ -}gpio_pj6_func_t; - -/** - * @enum gpio_pj7_func_t - * @brief PortJ7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PJ7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PJ7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PJ7_FUT1RXD = GPIO_FR_5, /*!< PJFR5: FUT1RXD */ - GPIO_PJ7_I2C3SCL = GPIO_FR_7, /*!< PJFR7: I2C3SCL */ -}gpio_pj7_func_t; - -/** - * @enum gpio_pk0_func_t - * @brief PortK0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK0_INT10a = 0, /*!< 0: INT10a */ - GPIO_PK0_ISDAOUT = GPIO_FR_1, /*!< PKFR1: ISDAOUT */ - GPIO_PK0_T32A00INA0 = GPIO_FR_2, /*!< PKFR2: T32A00INA0 */ - GPIO_PK0_T32A00INC0 = GPIO_FR_3, /*!< PKFR3: T32A00INC0 */ - GPIO_PK0_SMI0CS1_N = GPIO_FR_6, /*!< PKFR6: ISDAOUT */ -}gpio_pk0_func_t; - -/** - * @enum gpio_pk1_func_t - * @brief PortK1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK1_INT11a = 0, /*!< 0: INT11a */ - GPIO_PK1_ISDBOUT = GPIO_FR_1, /*!< PKFR1: ISDBOUT */ - GPIO_PK1_T32A00INB0 = GPIO_FR_2, /*!< PKFR2: T32A00INB0 */ - GPIO_PK1_T32A00INC1 = GPIO_FR_3, /*!< PKFR3: T32A00INC1 */ - GPIO_PK1_HDMAREQA = GPIO_FR_4, /*!< PKFR4: HDMAREQA */ -}gpio_pk1_func_t; - -/** - * @enum gpio_pk2_func_t - * @brief PortK2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK2_ECS0_N = GPIO_FR_1, /*!< PKFR1: ECS0_N */ - GPIO_PK2_SMI0D0 = GPIO_FR_6, /*!< PKFR6: SMI0D0 */ -}gpio_pk2_func_t; - - /** - * @enum gpio_pk3_func_t - * @brief PortK3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK3_ECS1_N = GPIO_FR_1, /*!< PKFR1: ECS1_N */ - GPIO_PK3_SMI0D1 = GPIO_FR_6, /*!< PKFR6: SMI0D1 */ -}gpio_pk3_func_t; - - /** - * @enum gpio_pk4_func_t - * @brief PortK4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK4_TSPI1CS1 = GPIO_FR_1, /*!< PKFR1: TSPI1CS1 */ - GPIO_PK4_TSPI3TXD = GPIO_FR_4, /*!< PKFR4: TSPI3TXD */ - GPIO_PK4_SMI0D2 = GPIO_FR_6, /*!< PKFR6: SMI0D2 */ -}gpio_pk4_func_t; - -/** - * @enum gpio_pk5_func_t - * @brief PortK5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK5_TSPI1CS2 = GPIO_FR_1, /*!< PKFR1: TSPI1CS2 */ - GPIO_PK5_TSPI3RXD = GPIO_FR_4, /*!< PKFR4: TSPI3RXD */ - GPIO_PK5_SMI0D3 = GPIO_FR_6, /*!< PKFR6: SMI0D3 */ -}gpio_pk5_func_t; - -/** - * @enum gpio_pk6_func_t - * @brief PortK6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK6_TSPI1CS3 = GPIO_FR_1, /*!< PKFR1: TSPI1CS3 */ - GPIO_PK6_T32A01INA0 = GPIO_FR_2, /*!< PKFR2: T32A01INA0 */ - GPIO_PK6_T32A01INC0 = GPIO_FR_3, /*!< PKFR3: T32A01INC0 */ - GPIO_PK6_TSPI3SCK = GPIO_FR_4, /*!< PKFR4: TSPI3SCK */ - GPIO_PK6_SMI0SCK = GPIO_FR_6, /*!< PKFR6: SMI0SCK */ -}gpio_pk6_func_t; - -/** - * @enum gpio_pk7_func_t - * @brief PortK7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PK7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PK7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PK7_INT00a = 0, /*!< 0: INT00a */ - GPIO_PK7_T32A01INB0 = GPIO_FR_2, /*!< PKFR2: T32A01INB0 */ - GPIO_PK7_T32A01INC1 = GPIO_FR_3, /*!< PKFR3: T32A01INC1 */ - GPIO_PK7_TSPI3CS0 = GPIO_FR_4, /*!< PKFR4: TSPI3CS0 */ - GPIO_PK7_SMI0CS0_N = GPIO_FR_6, /*!< PKFR6: SMI0CS0_N */ - GPIO_PK7_TSPI3CSIN = GPIO_FR_7, /*!< PKFR7: TSPI3CSIN */ -}gpio_pk7_func_t; - -/** - * @enum gpio_pl0_func_t - * @brief PortL0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL0_INT01a = 0, /*!< 0: INT01a */ - GPIO_PL0_T32A02INA0 = GPIO_FR_2, /*!< PLFR2: T32A02INA0 */ - GPIO_PL0_T32A02INC0 = GPIO_FR_3, /*!< PLFR3: T32A02INC0 */ - GPIO_PL0_TSPI1CSIN = GPIO_FR_6, /*!< PLFR6: TSPI1CSIN */ - GPIO_PL0_TSPI1CS0 = GPIO_FR_7, /*!< PLFR7: TSPI1CS0 */ -}gpio_pl0_func_t; - -/** - * @enum gpio_pl1_func_t - * @brief PortL1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL1_TPI1SCK = GPIO_FR_7, /*!< PLFR7: TPI1SCK */ -}gpio_pl1_func_t; - -/** - * @enum gpio_pl2_func_t - * @brief PortL2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL2_TSPI1RXD = GPIO_FR_7, /*!< PLFR7: TSPI1RXD */ -}gpio_pl2_func_t; - - /** - * @enum gpio_pl3_func_t - * @brief PortL3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL3_T32A02INB0 = GPIO_FR_2, /*!< PLFR2: T32A02INB0 */ - GPIO_PL3_T32A02INC1 = GPIO_FR_3, /*!< PLFR3: T32A02INC1 */ - GPIO_PL3_TSPI3CS1 = GPIO_FR_6, /*!< PLFR6: TSPI3CS1 */ - GPIO_PL3_TSPI1TXD = GPIO_FR_7, /*!< PLFR7: TSPI1TXD */ -}gpio_pl3_func_t; - - /** - * @enum gpio_pl4_func_t - * @brief PortL4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL4_INT12b = 0, /*!< 0: IN112b */ - GPIO_PL4_T32A08OUTA = GPIO_FR_2, /*!< PLFR2: T32A08OUTA */ - GPIO_PL4_T32A08OUTC = GPIO_FR_3, /*!< PLFR3: T32A08OUTC */ -}gpio_pl4_func_t; - -/** - * @enum gpio_pl5_func_t - * @brief PortL5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL5_INT13b = 0, /*!< 0: INT13b */ - GPIO_PL5_T32A08OUTB = GPIO_FR_2, /*!< PLFR2: T32A08OUTB */ -}gpio_pl5_func_t; - -/** - * @enum gpio_pl6_func_t - * @brief PortL6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL6_INT03b = 0, /*!< 0: INT03b */ - GPIO_PL6_T32A09OUTA = GPIO_FR_2, /*!< PLFR2: T32A09OUTA */ - GPIO_PL6_T32A09OUTC = GPIO_FR_3, /*!< PLFR3: T32A09OUTC */ -}gpio_pl6_func_t; - -/** - * @enum gpio_pl7_func_t - * @brief PortL7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PL7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PL7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PL7_TRGIN = GPIO_FR_1, /*!< PLFR1: TRGIN */ - GPIO_PL7_T32A09OUTB = GPIO_FR_2, /*!< PLFR2: T32A09OUTB */ -}gpio_pl7_func_t; - -/** - * @enum gpio_pm0_func_t - * @brief PortM0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM0_I2C3SDA = GPIO_FR_4, /*!< PMFR4: I2C3SDA */ - GPIO_PM0_UT4RXD = GPIO_FR_5, /*!< PMFR5: UT4RXD */ - GPIO_PM0_TSPI6TXD = GPIO_FR_6, /*!< PMFR6: TSPI6TXD */ - GPIO_PM0_UT4TXDA = GPIO_FR_7, /*!< PMFR7: UT4TXDA */ -}gpio_pm0_func_t; - -/** - * @enum gpio_pm1_func_t - * @brief PortM1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM1_I2C3SCL = GPIO_FR_4, /*!< PMFR4: I2C3SCL */ - GPIO_PM1_UT4TXDA = GPIO_FR_5, /*!< PMFR5: UT4TXDA */ - GPIO_PM1_TSPI6RXD = GPIO_FR_6, /*!< PMFR6: TSPI6RXD */ - GPIO_PM1_UT4RXD = GPIO_FR_7, /*!< PMFR7: UT4RXD */ -}gpio_pm1_func_t; - -/** - * @enum gpio_pm2_func_t - * @brief PortM2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM2_T32A11OUTA = GPIO_FR_2, /*!< PMFR2: T32A11OUTA */ - GPIO_PM2_T32A11OUTC = GPIO_FR_3, /*!< PMFR3: T32A11OUTC */ - GPIO_PM2_UT4RTS_N = GPIO_FR_5, /*!< PMFR5: UT4RTS_N */ - GPIO_PM2_TSPI6SCK = GPIO_FR_6, /*!< PMFR6: TSPI6SCK */ - GPIO_PM2_UT4CTS_N = GPIO_FR_7, /*!< PMFR7: UT4CTS_N */ -}gpio_pm2_func_t; - - /** - * @enum gpio_pm3_func_t - * @brief PortM3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM3_INT14b = 0, /*!< 0: INT14b */ - GPIO_PM3_T32A11OUTB = GPIO_FR_2, /*!< PMFR2: T32A11OUTB */ - GPIO_PM3_TSPI6CSIN = GPIO_FR_4, /*!< PMFR4: TSPI6CSIN */ - GPIO_PM3_UT4CTS_N = GPIO_FR_5, /*!< PMFR5: UT4CTS_N */ - GPIO_PM3_TSPI6CS0 = GPIO_FR_6, /*!< PMFR6: TSPI6CS0 */ - GPIO_PM3_UT4RTS_N = GPIO_FR_7, /*!< PMFR7: UT4RTS_N */ -}gpio_pm3_func_t; - - /** - * @enum gpio_pm4_func_t - * @brief PortM4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM4_INT15b = 0, /*!< 0: INT15b */ - GPIO_PM4_T32A06OUTB = GPIO_FR_2, /*!< PMFR2: T32A06OUTB */ - GPIO_PM4_TSPI7CSIN = GPIO_FR_4, /*!< PMFR4: TSPI7CSIN */ - GPIO_PM4_TSPI7CS0 = GPIO_FR_6, /*!< PMFR6: TSPI7CS0 */ - GPIO_PM4_FUT1CTS_N = GPIO_FR_7, /*!< PMFR7: FUT1CTS_N */ -}gpio_pm4_func_t; - -/** - * @enum gpio_pm5_func_t - * @brief PortM5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM5_T32A06OUTA = GPIO_FR_2, /*!< PMFR2: T32A06OUTA */ - GPIO_PM5_T32A06OUTC = GPIO_FR_3, /*!< PMFR3: T32A06OUTC */ - GPIO_PM5_TSPI7SCK = GPIO_FR_6, /*!< PMFR6: TSPI7SCK */ - GPIO_PM5_FUT1RTS_N = GPIO_FR_7, /*!< PMFR7: FUT1RTS_N */ -}gpio_pm5_func_t; - -/** - * @enum gpio_pm6_func_t - * @brief PortM6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM6_T32A07OUTA = GPIO_FR_2, /*!< PMFR2: T32A07OUTA */ - GPIO_PM6_T32A76OUTC = GPIO_FR_3, /*!< PMFR3: T32A07OUTC */ - GPIO_PM6_I2C4SDA = GPIO_FR_4, /*!< PMFR4: I2C4SDA */ - GPIO_PM6_FUT1IRIN = GPIO_FR_5, /*!< PMFR5: FUT1IRIN */ - GPIO_PM6_TSPI7RXD = GPIO_FR_6, /*!< PMFR6: TSPI7RXD */ - GPIO_PM6_FUT1RXD = GPIO_FR_7, /*!< PMFR7: FUT1RXD */ -}gpio_pm6_func_t; - -/** - * @enum gpio_pm7_func_t - * @brief PortM7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PM7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PM7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PM7_T32A07OUTB = GPIO_FR_2, /*!< PMFR2: T32A07OUTB */ - GPIO_PM7_I2C4SCL = GPIO_FR_4, /*!< PMFR4: I2C4SCL */ - GPIO_PM7_FUT1IROUT = GPIO_FR_5, /*!< PMFR5: FUT1IROUT */ - GPIO_PM7_TSPI7TXD = GPIO_FR_6, /*!< PMFR6: TSPI7TXD */ - GPIO_PM7_FUT1TXD = GPIO_FR_7, /*!< PMFR7: FUT1TXD */ -}gpio_pm7_func_t; - -/** - * @enum gpio_pn0_func_t - * @brief PortN0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN0_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN0_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN0_AINA00 = GPIO_FR_NA, /*!< N/A: AINA00 */ -}gpio_pn0_func_t; - -/** - * @enum gpio_pn1_func_t - * @brief PortN1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN1_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN1_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN1_AINA01 = GPIO_FR_NA, /*!< N/A: AINA01 */ -}gpio_pn1_func_t; - -/** - * @enum gpio_pn2_func_t - * @brief PortN2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN2_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN2_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN2_AINA02 = GPIO_FR_NA, /*!< N/A: AINA02 */ -}gpio_pn2_func_t; - -/** - * @enum gpio_pn3_func_t - * @brief PortN3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN3_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN3_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN3_AINA03 = GPIO_FR_NA, /*!< N/A: AINA03 */ -}gpio_pn3_func_t; - - /** - * @enum gpio_pn4_func_t - * @brief PortN4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN4_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN4_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN4_AINA04 = GPIO_FR_NA, /*!< N/A: AINA04 */ -}gpio_pn4_func_t; - -/** - * @enum gpio_pn5_func_t - * @brief PortN5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN5_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN5_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN5_AINA05 = GPIO_FR_NA, /*!< N/A: AINA05 */ -}gpio_pn5_func_t; - -/** - * @enum gpio_pn6_func_t - * @brief PortN6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN6_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN6_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN6_AINA06 = GPIO_FR_NA, /*!< N/A: AINA06 */ -}gpio_pn6_func_t; - -/** - * @enum gpio_pn7_func_t - * @brief PortN7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PN7_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PN7_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PN7_AINA07 = GPIO_FR_NA, /*!< N/A: AINA07 */ -}gpio_pn7_func_t; - -/** - * @enum gpio_pp0_func_t - * @brief PortP0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP0_AINA08 = 0, /*!< 0: AINA08 */ - GPIO_PP0_T32A04INA0 = GPIO_FR_2, /*!< PPFR2: T32A04INA0 */ - GPIO_PP0_T32A04INC0 = GPIO_FR_3, /*!< PPFR3: T32A04INC0 */ - GPIO_PP0_T32A04INB1 = GPIO_FR_5, /*!< PPFR5: T32A04INB1 */ -}gpio_pp0_func_t; - -/** - * @enum gpio_pp1_func_t - * @brief PortP1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP1_AINA09 = 0, /*!< 0: AINA09 */ - GPIO_PP1_T32A04INB0 = GPIO_FR_2, /*!< PPFR2: T32A04INB0 */ - GPIO_PP1_T32A04INC1 = GPIO_FR_3, /*!< PPFR3: T32A04INC1 */ - GPIO_PP1_T32A04INA1 = GPIO_FR_5, /*!< PPFR5: T32A04INA1 */ -}gpio_pp1_func_t; - -/** - * @enum gpio_pp2_func_t - * @brief PortP2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP2_AINA10 = 0, /*!< 0: AINA10 */ - GPIO_PP2_T32A05INA0 = GPIO_FR_2, /*!< PPFR2: T32A05INA0 */ - GPIO_PP2_T32A05INC0 = GPIO_FR_3, /*!< PPFR3: T32A05INC0 */ - GPIO_PP2_T32A05INB1 = GPIO_FR_5, /*!< PPFR5: T32A05INB1 */ -}gpio_pp2_func_t; - - /** - * @enum gpio_pp3_func_t - * @brief PortP3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP3_AINA11 = 0, /*!< 0: AINA11 */ - GPIO_PP3_T32A05INB0 = GPIO_FR_2, /*!< PPFR2: T32A05INB0 */ - GPIO_PP3_T32A05INC1 = GPIO_FR_3, /*!< PPFR3: T32A05INC1 */ - GPIO_PP3_T32A05INA1 = GPIO_FR_5, /*!< PPFR5: T32A05INA1 */ -}gpio_pp3_func_t; - - /** - * @enum gpio_pp4_func_t - * @brief PortP4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP4_AINA12 = 0, /*!< 0: AINA12 */ - GPIO_PP4_T32A06INA0 = GPIO_FR_2, /*!< PPFR2: T32A06INA0 */ - GPIO_PP4_T32A06INC0 = GPIO_FR_3, /*!< PPFR3: T32A06INC0 */ - GPIO_PP4_T32A06INB1 = GPIO_FR_5, /*!< PPFR5: T32A06INB1 */ -}gpio_pp4_func_t; - - /** - * @enum gpio_pp5_func_t - * @brief PortP5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP5_AINA13 = 0, /*!< 0: AINA13 */ - GPIO_PP5_T32A06INB0 = GPIO_FR_2, /*!< PPFR2: T32A06INB0 */ - GPIO_PP5_T32A06INC1 = GPIO_FR_3, /*!< PPFR3: T32A06INC1 */ - GPIO_PP5_T32A06INA1 = GPIO_FR_5, /*!< PPFR5: T32A06INA1 */ -}gpio_pp5_func_t; - -/** - * @enum gpio_pp6_func_t - * @brief PortP6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP6_AINA14 = 0, /*!< 0: AINA14 */ - GPIO_PP6_INT10b = 0, /*!< 0: INT10b */ - GPIO_PP6_T32A07INA0 = GPIO_FR_2, /*!< PPFR2: T32A07INA0 */ - GPIO_PP6_T32A07INC0 = GPIO_FR_3, /*!< PPFR3: T32A07INC0 */ - GPIO_PP6_T32A07INB1 = GPIO_FR_5, /*!< PPFR5: T32A07INB1 */ -}gpio_pp6_func_t; - - /** - * @enum gpio_pp7_func_t - * @brief PortP7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PP7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PP7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PP7_AINA15 = 0, /*!< 0: AINA15 */ - GPIO_PP7_INT11b = 0, /*!< 0: INT11b */ - GPIO_PP7_T32A07INB0 = GPIO_FR_2, /*!< PPFR2: T32A07INB0 */ - GPIO_PP7_T32A07INC1 = GPIO_FR_3, /*!< PPFR3: T32A07INC1 */ - GPIO_PP7_T32A07INA1 = GPIO_FR_5, /*!< PPFR5: T32A07INA1 */ -}gpio_pp7_func_t; - -/** - * @enum gpio_pr0_func_t - * @brief PortR0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR0_AINA16 = 0, /*!< 0: AINA16 */ - GPIO_PR0_T32A08INA0 = GPIO_FR_2, /*!< PRFR2: T32A08INA0 */ - GPIO_PR0_T32A08INC0 = GPIO_FR_3, /*!< PRFR3: T32A08INC0 */ -}gpio_pr0_func_t; - -/** - * @enum gpio_pr1_func_t - * @brief PortR1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR1_AINA17 = 0, /*!< 0: AINA17 */ - GPIO_PR1_T32A08INB0 = GPIO_FR_2, /*!< PRFR2: T32A08INB0 */ - GPIO_PR1_T32A08INC1 = GPIO_FR_3, /*!< PRFR3: T32A08INC1 */ -}gpio_pr1_func_t; - -/** - * @enum gpio_pr2_func_t - * @brief PortR2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR2_AINA18 = 0, /*!< 0: AINA18 */ - GPIO_PR2_T32A09INA0 = GPIO_FR_2, /*!< PRFR2: T32A09INA0 */ - GPIO_PR2_T32A09INC0 = GPIO_FR_3, /*!< PRFR3: T32A09INC0 */ -}gpio_pr2_func_t; - -/** - * @enum gpio_pr3_func_t - * @brief PortR3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR3_AINA19 = 0, /*!< 0: AINA19 */ - GPIO_PR3_T32A09INB0 = GPIO_FR_2, /*!< PRFR2: T32A09INB0 */ - GPIO_PR3_T32A09INC1 = GPIO_FR_3, /*!< PRFR3: T32A09INC1 */ -}gpio_pr3_func_t; - -/** - * @enum gpio_pr4_func_t - * @brief PortR4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR4_AINA20 = 0, /*!< 0: AINA20 */ - GPIO_PR4_T32A10INA0 = GPIO_FR_2, /*!< PRFR2: T32A10INA0 */ - GPIO_PR4_T32A10INC0 = GPIO_FR_3, /*!< PRFR3: T32A10INC0 */ -}gpio_pr4_func_t; - -/** - * @enum gpio_pr5_func_t - * @brief PortR5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR5_AINA21 = 0, /*!< 0: AINA21 */ - GPIO_PR5_T32A10INB0 = GPIO_FR_2, /*!< PRFR2: T32A10INB0 */ - GPIO_PR5_T32A10INC1 = GPIO_FR_3, /*!< PRFR3: T32A10INC1 */ -}gpio_pr5_func_t; - -/** - * @enum gpio_pr6_func_t - * @brief PortR6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR6_AINA22 = 0, /*!< 0: AINA22 */ - GPIO_PR6_T32A11INA0 = GPIO_FR_2, /*!< PRFR2: T32A11INA0 */ - GPIO_PR6_T32A11INC0 = GPIO_FR_3, /*!< PRFR3: T32A11INC0 */ -}gpio_pr6_func_t; - -/** - * @enum gpio_pr7_func_t - * @brief PortR7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PR7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PR7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PR7_AINA23 = 0, /*!< 0: AINA23 */ - GPIO_PR7_T32A11INB0 = GPIO_FR_2, /*!< PRFR2: T32A11INB0 */ - GPIO_PR7_T32A11INC0 = GPIO_FR_3, /*!< PRFR3: T32A11INC1 */ -}gpio_pr7_func_t; - - -/** - * @enum gpio_pt0_func_t - * @brief PortT0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT0_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PT0_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PT0_DAC0 = GPIO_FR_NA, /*!< N/A: DAC0 */ -}gpio_pt0_func_t; - -/** - * @enum gpio_pt1_func_t - * @brief PortT1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT1_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PT1_OUTPUT = GPIO_FR_NA, /*!< N/A: Output Port */ - GPIO_PT1_DAC1 = GPIO_FR_NA, /*!< N/A: DAC1 */ -}gpio_pt1_func_t; - -/** - * @enum gpio_pt2_func_t - * @brief PortT2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PT2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PT2_CEC0 = GPIO_FR_7, /*!< PTFR1: CEC0 Input/Output */ -}gpio_pt2_func_t; - -/** - * @enum gpio_pt3_func_t - * @brief PortT3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PT3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PT3_INT00b = 0, /*!< 0: INT00b */ - GPIO_PT3_RTCCLK = GPIO_FR_1, /*!< PTFR1: RTCCLK */ - GPIO_PT3_T32A03OUTA = GPIO_FR_2, /*!< PTFR2: T32A03OUTA */ - GPIO_PT3_T32A03OUTC = GPIO_FR_3, /*!< PTFR3: T32A03OUTC */ - GPIO_PT3_RXIN0 = 0, /*!< 0: RXIN0 */ - GPIO_PT3_MDMAREQA = GPIO_FR_6, /*!< PTFR6: MDMAREQA */ -}gpio_pt3_func_t; - -/** - * @enum gpio_pt4_func_t - * @brief PortT4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PT4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PT4_INT01b = 0, /*!< 0: INT01b */ - GPIO_PT4_RXIN1 = 0, /*!< 0: RXIN1 */ -}gpio_pt4_func_t; - -/** - * @enum gpio_pt5_func_t - * @brief PortT5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PT5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PT5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PT5_INT02b = 0, /*!< 0: INT02b */ - GPIO_PT5_T32A03OUTB = GPIO_FR_2, /*!< PTFR2: T32A03OUTB */ -}gpio_pt5_func_t; - -/** - * @enum gpio_pu0_func_t - * @brief PortU0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU0_T32A12OUTA = GPIO_FR_2, /*!< PUFR2: T32A12OUTA */ - GPIO_PU0_T32A12OUTC = GPIO_FR_3, /*!< PUFR3: T32A12OUTC */ - GPIO_PU0_UT4TXDA = GPIO_FR_7, /*!< PUFR7: UT4TXDA */ -}gpio_pu0_func_t; - -/** - * @enum gpio_pu1_func_t - * @brief PortU1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU1_T32A12OUTB = GPIO_FR_2, /*!< PUFR2: T32A12OUTB */ - GPIO_PU1_UT4RXD = GPIO_FR_7, /*!< PUFR7: UT4RXD */ -}gpio_pu1_func_t; - -/** - * @enum gpio_pu2_func_t - * @brief PortU2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU2_INT06b = 0, /*!< 0: INT06b */ - GPIO_PU2_T32A12INA0 = GPIO_FR_2, /*!< PUFR2: T32A12INA0 */ - GPIO_PU2_T32A12INC0 = GPIO_FR_3, /*!< PUFR3: T32A12INC0 */ - GPIO_PU2_UT4CTS_N = GPIO_FR_7, /*!< PUFR7: UT4CTS_N */ -}gpio_pu2_func_t; - -/** - * @enum gpio_pu3_func_t - * @brief PortU3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU3_INT07b = 0, /*!< 0: INT07b */ - GPIO_PU3_T32A12INB0 = GPIO_FR_2, /*!< PUFR2: T32A12INB0 */ - GPIO_PU3_T32A12INC1 = GPIO_FR_3, /*!< PUFR3: T32A12INC1 */ - GPIO_PU3_UT4RTS_N = GPIO_FR_7, /*!< PUFR7: UT4RTS_N */ -}gpio_pu3_func_t; - -/** - * @enum gpio_pu4_func_t - * @brief PortU4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU4_INT08b = 0, /*!< 0: INT08b */ - GPIO_PU4_T32A13INB0 = GPIO_FR_2, /*!< PUFR2: T32A13INB0 */ - GPIO_PU4_T32A13INC1 = GPIO_FR_3, /*!< PUFR3: T32A13INC1 */ - GPIO_PU4_UT3RTS_N = GPIO_FR_7, /*!< PUFR7: UT3RTS_N */ -}gpio_pu4_func_t; - -/** - * @enum gpio_pu5_func_t - * @brief PortU5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU5_INT09b = 0, /*!< 0: INT09b */ - GPIO_PU5_T32A13INA0 = GPIO_FR_2, /*!< PUFR2: T32A13INA0 */ - GPIO_PU5_T32A13INC0 = GPIO_FR_3, /*!< PUFR3: T32A13INC0 */ - GPIO_PU5_UT3CTS_N = GPIO_FR_7, /*!< PUFR7: UT3CTS_N */ -}gpio_pu5_func_t; - -/** - * @enum gpio_pu6_func_t - * @brief PortU6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU6_T32A13OUTA = GPIO_FR_2, /*!< PUFR2: T32A13OUTA */ - GPIO_PU6_T32A13OUTC = GPIO_FR_3, /*!< PUFR3: T32A13OUTC */ - GPIO_PU6_UT3RXD = GPIO_FR_7, /*!< PUFR7: UT3RXD */ -}gpio_pu6_func_t; - -/** - * @enum gpio_pu7_func_t - * @brief PortU7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PU7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PU7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PU7_T32A13OUTB = GPIO_FR_2, /*!< PUFR2: T32A13OUTB */ - GPIO_PU7_UT3TXDA = GPIO_FR_7, /*!< PUFR7: UT3TXDA */ -}gpio_pu7_func_t; - -/** - * @enum gpio_pv0_func_t - * @brief PortV0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV0_T32A09INA0 = GPIO_FR_2, /*!< PVFR2: T32A09INA0 */ - GPIO_PV0_T32A09INC0 = GPIO_FR_3, /*!< PVFR3: T32A09INC0 */ - GPIO_PV0_ISDBIN0 = 0, /*!< 0: ISDBIN0 */ - GPIO_PV0_UO0 = GPIO_FR_5, /*!< PVFR5: UO0 */ - GPIO_PV0_UT3RXD = GPIO_FR_6, /*!< PVFR6: UT3RXD */ - GPIO_PV0_UT3TXDA = GPIO_FR_7, /*!< PVFR7: UT3TXDA */ -}gpio_pv0_func_t; - -/** - * @enum gpio_pv1_func_t - * @brief PortV1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV1_T32A09INB0 = GPIO_FR_2, /*!< PVFR2: T32A09INB0 */ - GPIO_PV1_T32A09INC1 = GPIO_FR_3, /*!< PVFR3: T32A09INC1 */ - GPIO_PV1_ISDBIN1 = 0, /*!< 0: ISDBIN1 */ - GPIO_PV1_XO0 = GPIO_FR_5, /*!< PVFR5: XO0 */ - GPIO_PV1_UT3TXDA = GPIO_FR_6, /*!< PVFR6: UT3TXDA */ - GPIO_PV1_UT3RXD = GPIO_FR_7, /*!< PVFR7: UT3RXD */ -}gpio_pv1_func_t; - -/** - * @enum gpio_pv2_func_t - * @brief PortV2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV2_T32A09OUTA = GPIO_FR_2, /*!< PVFR2: T32A09OUTA */ - GPIO_PV2_T32A09OUTC = GPIO_FR_3, /*!< PVFR3: T32A09OUTC */ - GPIO_PV2_ISDBIN2 = 0, /*!< 0: ISDBIN2 */ - GPIO_PV2_VO0 = GPIO_FR_5, /*!< PVFR5: VO0 */ - GPIO_PV2_UT3RTS_N = GPIO_FR_6, /*!< PVFR6: UT3RTS_N */ - GPIO_PV2_UT3CTS_N = GPIO_FR_7, /*!< PVFR7: UT3CTS_N */ -}gpio_pv2_func_t; - -/** - * @enum gpio_pv3_func_t - * @brief PortV3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV3_T32A09OUTB = GPIO_FR_2, /*!< PVFR2: T32A09OUTB */ - GPIO_PV3_ISDBIN3 = 0, /*!< 0: ISDBIN3 */ - GPIO_PV3_YO0 = GPIO_FR_5, /*!< PVFR5: YO0 */ - GPIO_PV3_UT3CTS_N = GPIO_FR_6, /*!< PVFR6: UT3CTS_N */ - GPIO_PV3_UT3RTS_N = GPIO_FR_7, /*!< PVFR7: UT3RTS_N */ -}gpio_pv3_func_t; - -/** - * @enum gpio_pv4_func_t - * @brief PortV4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV4_T32A04OUTB = GPIO_FR_2, /*!< PVFR2: T32A04OUTB */ - GPIO_PV4_TSPI5RXD = GPIO_FR_4, /*!< PVFR4: TSPI5RXD */ - GPIO_PV4_WO0 = GPIO_FR_5, /*!< PVFR5: WO0 */ - GPIO_PV4_I2C2SCL = GPIO_FR_6, /*!< PVFR6: I2C2SCL */ - GPIO_PV4_UT1RXD = GPIO_FR_7, /*!< PVFR7: UT1RXD */ -}gpio_pv4_func_t; - -/** - * @enum gpio_pv5_func_t - * @brief PortV5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV5_T32A04OUTA = GPIO_FR_2, /*!< PVFR2: T32A04OUTA */ - GPIO_PV5_T32A04OUTC = GPIO_FR_3, /*!< PVFR3: T32A04OUTC */ - GPIO_PV5_TSPI5TXD = GPIO_FR_4, /*!< PVFR4: TSPI5TXD */ - GPIO_PV5_ZO0 = GPIO_FR_5, /*!< PVFR5: ZO0 */ - GPIO_PV5_I2CSDA = GPIO_FR_6, /*!< PVFR6: I2CSDA */ - GPIO_PV5_UT1TXDA = GPIO_FR_7, /*!< PVFR7: UT1TXDA */ -}gpio_pv5_func_t; - -/** - * @enum gpio_pv6_func_t - * @brief PortV6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV6_T32A05OUTA = GPIO_FR_2, /*!< PVFR2: T32A05OUTA */ - GPIO_PV6_T32A05OUTC = GPIO_FR_3, /*!< PVFR3: T32A05OUTC */ - GPIO_PV6_TSPI5SCK = GPIO_FR_4, /*!< PVFR4: TSPI5SCK */ - GPIO_PV6_EMG0_N = GPIO_FR_5, /*!< PVFR5: EMG0_N */ - GPIO_PV6_UT1CTS_N = GPIO_FR_7, /*!< PVFR7: UT1CTS_N */ -}gpio_pv6_func_t; - -/** - * @enum gpio_pv7_func_t - * @brief PortV7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PV7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PV7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PV7_T32A05OUTB = GPIO_FR_2, /*!< PVFR2: T32A05OUTB */ - GPIO_PV7_TSPI5CS0 = GPIO_FR_4, /*!< PVFR4: TSPI5CS0 */ - GPIO_PV7_OVV0_N = GPIO_FR_5, /*!< PVFR5: OVV0_N */ - GPIO_PV7_TSPI5CSIN = GPIO_FR_6, /*!< PVFR6: TSPI5CSIN */ - GPIO_PV7_UT1RTS_N = GPIO_FR_7, /*!< PVFR7: UT1RTS_N */ -}gpio_pv7_func_t; - -/** - * @enum gpio_pw0_func_t - * @brief PortW0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW0_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW0_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW0_TSPI8CS0 = GPIO_FR_4, /*!< PWFR4: TSPI8CS0 */ - GPIO_PW0_T32A00OUTB = GPIO_FR_5, /*!< PWFR5: T32A00OUTB */ - GPIO_PW0_TSPI8CSIN = GPIO_FR_6, /*!< PWFR6: TSPI8CSIN */ -}gpio_pw0_func_t; - -/** - * @enum gpio_pw1_func_t - * @brief PortW1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW1_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW1_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW1_TSPI8SCK = GPIO_FR_4, /*!< PWFR4: TSPI8SCK */ - GPIO_PW1_T32A00OUTA = GPIO_FR_5, /*!< PWFR5: T32A00OUTA */ - GPIO_PW1_T32A00OUTC = GPIO_FR_7, /*!< PWFR7: T32A00OUTC */ -}gpio_pw1_func_t; - -/** - * @enum gpio_pw2_func_t - * @brief PortW2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW2_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW2_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW2_TSPI8RXD = GPIO_FR_4, /*!< PWFR4: TSPI8RXD */ - GPIO_PW2_T32A01OUTA = GPIO_FR_5, /*!< PWFR5: T32A01OUTA */ - GPIO_PW2_T32A01OUTC = GPIO_FR_7, /*!< PWFR7: T32A01OUTC */ -}gpio_pw2_func_t; - -/** - * @enum gpio_pw3_func_t - * @brief PortW3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW3_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW3_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW3_TSPI8TXD = GPIO_FR_4, /*!< PWFR4: TSPI8TXD */ - GPIO_PW3_T32A01OUTB = GPIO_FR_5, /*!< PWFR5: T32A01OUTB */ -}gpio_pw3_func_t; - -/** - * @enum gpio_pw4_func_t - * @brief PortW4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW4_T32A11INA1 = GPIO_FR_3, /*!< PWFR3: T32A11INA1 */ - GPIO_PW4_T32A10OUTB = GPIO_FR_5, /*!< PWFR5: T32A10OUTB */ - GPIO_PW4_ISDCIN0 = 0, /*!< 0: ISDCIN0 */ - GPIO_PW4_T32A10INA0 = GPIO_FR_7, /*!< PWFR7: T32A10INA0 */ -}gpio_pw4_func_t; - -/** - * @enum gpio_pw5_func_t - * @brief PortW5 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW5_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW5_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW5_T32A10OUTA = GPIO_FR_5, /*!< PWFR5: T32A10OUTA */ - GPIO_PW5_ISDCIN1 = 0, /*!< 0: ISDCIN1 */ - GPIO_PW5_T32A10OUTC = GPIO_FR_7, /*!< PWFR7: T32A10OUTC */ -}gpio_pw5_func_t; - -/** - * @enum gpio_pw6_func_t - * @brief PortW6 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW6_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW6_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW6_T32A11OUTA = GPIO_FR_5, /*!< PWFR5: T32A11OUTA */ - GPIO_PW6_ISDCIN2 = 0, /*!< 0: ISDCIN2 */ - GPIO_PW6_T32A11OUTC = GPIO_FR_7, /*!< PWFR7: T32A11OUTC */ -}gpio_pw6_func_t; - -/** - * @enum gpio_pw7_func_t - * @brief PortW7 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PW7_INPUT = 0, /*!< 0: Input Port */ - GPIO_PW7_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PW7_T32A10INA1 = GPIO_FR_3, /*!< PWFR3: T32A10INA1 */ - GPIO_PW7_T32A11OUTB = GPIO_FR_5, /*!< PWFR5: T32A11OUTB */ - GPIO_PW7_ISDCIN3 = 0, /*!< 0: ISDCIN3 */ - GPIO_PW7_T32A11INA0 = GPIO_FR_7, /*!< PWFR7: T32A11INA0 */ -}gpio_pw7_func_t; - -/** - * @enum gpio_py0_func_t - * @brief PortY0 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PY0_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PY0_X1 = GPIO_FR_NA, /*!< N/A: X1 */ -}gpio_py0_func_t; - -/** - * @enum gpio_py1_func_t - * @brief PortY1 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PY1_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PY1_X2 = GPIO_FR_NA, /*!< N/A: X2 */ -}gpio_py1_func_t; - -/** - * @enum gpio_py2_func_t - * @brief PortY2 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PY2_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PY2_XT1 = GPIO_FR_NA, /*!< N/A: XT1 */ -}gpio_py2_func_t; - -/** - * @enum gpio_py3_func_t - * @brief PortY3 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PY3_INPUT = GPIO_FR_NA, /*!< N/A: Input Port */ - GPIO_PY3_XT2 = GPIO_FR_NA, /*!< N/A: XT2 */ -}gpio_py3_func_t; - -/** - * @enum gpio_py4_func_t - * @brief PortY4 Function Enumerated Type Definition. - */ -typedef enum -{ - GPIO_PY4_INPUT = 0, /*!< 0: Input Port */ - GPIO_PY4_OUTPUT = 0, /*!< 0: Output Port */ - GPIO_PY4_ISDCOUT = GPIO_FR_1, /*!< PYFR1: ISDCOUT */ - GPIO_PY4_EEXBCLK = GPIO_FR_4, /*!< PYFR4: EEXBCLK */ -}gpio_py4_func_t; - -/** - * @} - */ /* End of group GPIO_Exported_Typedef */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup GPIO_Exported_Typedef GPIO Exported Typedef - * @{ - */ -/*----------------------------------*/ -/** - * @brief GPIO handle structure definenition. -*/ -/*----------------------------------*/ -#if defined(TMPM4G6) -typedef struct gpio_pa_handle -{ - TSB_PA_TypeDef *p_pa_instance; /*!< Registers base address. */ - TSB_PB_TypeDef *p_pb_instance; /*!< Registers base address. */ - TSB_PD_TypeDef *p_pd_instance; /*!< Registers base address. */ - TSB_PE_TypeDef *p_pe_instance; /*!< Registers base address. */ - TSB_PF_TypeDef *p_pf_instance; /*!< Registers base address. */ - TSB_PG_TypeDef *p_pg_instance; /*!< Registers base address. */ - TSB_PH_TypeDef *p_ph_instance; /*!< Registers base address. */ - TSB_PK_TypeDef *p_pk_instance; /*!< Registers base address. */ - TSB_PL_TypeDef *p_pl_instance; /*!< Registers base address. */ - TSB_PN_TypeDef *p_pn_instance; /*!< Registers base address. */ - TSB_PP_TypeDef *p_pp_instance; /*!< Registers base address. */ - TSB_PT_TypeDef *p_pt_instance; /*!< Registers base address. */ - TSB_PY_TypeDef *p_py_instance; /*!< Registers base address. */ -} _gpio_t; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) -typedef struct gpio_pa_handle -{ - TSB_PA_TypeDef *p_pa_instance; /*!< Registers base address. */ - TSB_PB_TypeDef *p_pb_instance; /*!< Registers base address. */ - TSB_PC_TypeDef *p_pc_instance; /*!< Registers base address. */ - TSB_PD_TypeDef *p_pd_instance; /*!< Registers base address. */ - TSB_PE_TypeDef *p_pe_instance; /*!< Registers base address. */ - TSB_PF_TypeDef *p_pf_instance; /*!< Registers base address. */ - TSB_PG_TypeDef *p_pg_instance; /*!< Registers base address. */ - TSB_PH_TypeDef *p_ph_instance; /*!< Registers base address. */ - TSB_PK_TypeDef *p_pk_instance; /*!< Registers base address. */ - TSB_PL_TypeDef *p_pl_instance; /*!< Registers base address. */ - TSB_PN_TypeDef *p_pn_instance; /*!< Registers base address. */ - TSB_PP_TypeDef *p_pp_instance; /*!< Registers base address. */ - TSB_PR_TypeDef *p_pr_instance; /*!< Registers base address. */ - TSB_PT_TypeDef *p_pt_instance; /*!< Registers base address. */ - TSB_PV_TypeDef *p_pv_instance; /*!< Registers base address. */ - TSB_PY_TypeDef *p_py_instance; /*!< Registers base address. */ -} _gpio_t; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) -typedef struct gpio_pa_handle -{ - TSB_PA_TypeDef *p_pa_instance; /*!< Registers base address. */ - TSB_PB_TypeDef *p_pb_instance; /*!< Registers base address. */ - TSB_PC_TypeDef *p_pc_instance; /*!< Registers base address. */ - TSB_PD_TypeDef *p_pd_instance; /*!< Registers base address. */ - TSB_PE_TypeDef *p_pe_instance; /*!< Registers base address. */ - TSB_PF_TypeDef *p_pf_instance; /*!< Registers base address. */ - TSB_PG_TypeDef *p_pg_instance; /*!< Registers base address. */ - TSB_PH_TypeDef *p_ph_instance; /*!< Registers base address. */ - TSB_PK_TypeDef *p_pk_instance; /*!< Registers base address. */ - TSB_PL_TypeDef *p_pl_instance; /*!< Registers base address. */ - TSB_PM_TypeDef *p_pm_instance; /*!< Registers base address. */ - TSB_PN_TypeDef *p_pn_instance; /*!< Registers base address. */ - TSB_PP_TypeDef *p_pp_instance; /*!< Registers base address. */ - TSB_PR_TypeDef *p_pr_instance; /*!< Registers base address. */ - TSB_PT_TypeDef *p_pt_instance; /*!< Registers base address. */ - TSB_PV_TypeDef *p_pv_instance; /*!< Registers base address. */ - TSB_PY_TypeDef *p_py_instance; /*!< Registers base address. */ -} _gpio_t; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) -typedef struct gpio_pa_handle -{ - TSB_PA_TypeDef *p_pa_instance; /*!< Registers base address. */ - TSB_PB_TypeDef *p_pb_instance; /*!< Registers base address. */ - TSB_PC_TypeDef *p_pc_instance; /*!< Registers base address. */ - TSB_PD_TypeDef *p_pd_instance; /*!< Registers base address. */ - TSB_PE_TypeDef *p_pe_instance; /*!< Registers base address. */ - TSB_PF_TypeDef *p_pf_instance; /*!< Registers base address. */ - TSB_PG_TypeDef *p_pg_instance; /*!< Registers base address. */ - TSB_PH_TypeDef *p_ph_instance; /*!< Registers base address. */ - TSB_PJ_TypeDef *p_pj_instance; /*!< Registers base address. */ - TSB_PK_TypeDef *p_pk_instance; /*!< Registers base address. */ - TSB_PL_TypeDef *p_pl_instance; /*!< Registers base address. */ - TSB_PM_TypeDef *p_pm_instance; /*!< Registers base address. */ - TSB_PN_TypeDef *p_pn_instance; /*!< Registers base address. */ - TSB_PP_TypeDef *p_pp_instance; /*!< Registers base address. */ - TSB_PR_TypeDef *p_pr_instance; /*!< Registers base address. */ - TSB_PT_TypeDef *p_pt_instance; /*!< Registers base address. */ - TSB_PU_TypeDef *p_pu_instance; /*!< Registers base address. */ - TSB_PV_TypeDef *p_pv_instance; /*!< Registers base address. */ - TSB_PW_TypeDef *p_pw_instance; /*!< Registers base address. */ - TSB_PY_TypeDef *p_py_instance; /*!< Registers base address. */ -} _gpio_t; -#endif /* TMPM4G9 */ - -/** - * @} - */ /* End of group GPIO_Exported_Typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Exported_functions GPIO Exported Functions - * @{ - */ -TXZ_Result _gpio_init(_gpio_t *p_obj, uint32_t group); -TXZ_Result gpio_deinit(_gpio_t *p_obj, uint32_t group); -TXZ_Result gpio_write_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t val); -TXZ_Result gpio_read_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t *val); -TXZ_Result gpio_func(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, uint32_t func, gpio_pininout_t inout); -TXZ_Result gpio_SetPullUp(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val); -TXZ_Result gpio_SetPullDown(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val); -TXZ_Result gpio_SetOpenDrain(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val); -TXZ_Result gpio_write_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, uint32_t val); -TXZ_Result gpio_read_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, gpio_pinstate_t *pinstate); - -/** - * @} - */ /* End of group GPIO_Exported_functions */ - -/** - * @} - */ /* End of group GPIO */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __GPIO_H */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_hal.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_hal.h deleted file mode 100644 index 0828e9f586e..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_hal.h +++ /dev/null @@ -1,126 +0,0 @@ -/** - ******************************************************************************* - * @file txz_hal.h - * @brief This file provides all the functions prototypes for driver common part. - * @version V1.0.0.0 - * $Date:: 2017-08-09 11:01:04 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __HAL_H -#define __HAL_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup HAL HAL - * @brief HAL Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Exported_macro HAL Exported Macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Exported_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Exported_define HAL Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Exported_define HAL Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Exported_typedef HAL Exported Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Exported_functions HAL Exported Functions - * @{ - */ - -void hal_inc_tick(void); -uint32_t hal_get_tick(void); - - -/** - * @} - */ /* End of group HAL_Exported_functions */ - -/** - * @} - */ /* End of group HAL */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __HAL_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c.h deleted file mode 100644 index 5150ea196c8..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c.h +++ /dev/null @@ -1,843 +0,0 @@ -/** - ******************************************************************************* - * @file txz_i2c.h - * @brief This file provides all the functions prototypes for I2C Class. - * @version V1.0.0.4 - * $Date:: 2016-11-24 00:00:00 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __I2C_H -#define __I2C_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Example - * @{ - */ - -/** - * @addtogroup UTILITIES - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -#ifdef DEBUG -/** - * @name I2C_NULL Pointer - * @brief NULL Pointer. - * @{ - */ -#define I2C_NULL ((void *)0) -/** - * @} - */ /* End of name I2C_NULL Pointer */ -#endif - -/** - * @name I2CxST Macro Definition. - * @brief I2CxST Register Macro Definition. - * @{ - */ -#define I2CxST_NACK ((uint32_t)0x00000008) /*!< NACK Interrupt Status. */ -#define I2CxST_I2CBF ((uint32_t)0x00000004) /*!< I2CBF Interrupt Status. */ -#define I2CxST_I2CAL ((uint32_t)0x00000002) /*!< I2CAL Interrupt Status. */ -#define I2CxST_I2C ((uint32_t)0x00000001) /*!< I2C Interrupt Status. */ -#define I2CxST_CLEAR ((uint32_t)0x0000000F) /*!< All Bits Clear. */ -/** - * @} - */ /* End of name I2CxST Macro Definition */ - -/** - * @name I2CxCR1 Macro Definition. - * @brief I2CxCR1 Register Macro Definition. - * @{ - */ -#define I2CxCR1_ACK ((uint32_t)0x00000010) /*!< ACK */ -#define I2CxCR1_NOACK ((uint32_t)0x00000008) /*!< NOACK */ -#define I2CxCR1_BC ((uint32_t)0x000000E0) /*!< BC */ - -/** - * @} - */ /* End of name I2CxCR1 Macro Definition */ - -/** - * @name I2CxDBR Macro Definition. - * @brief I2CxDBR Register Macro Definition. - * @{ - */ -#define I2CxDBR_DB_MASK ((uint32_t)0x000000FF) /* !< DB 7-0 bits mask. */ -/** - * @} - */ /* End of name I2CxDBR Macro Definition */ - - -/** - * @name I2CxCR2 Macro Definition. - * @brief I2CxCR2 Register Macro Definition. - * @{ - */ -#define I2CxCR2_PIN_CLEAR ((uint32_t)0x00000010) /*!< PIN=1 */ -#define I2CxCR2_I2CM_DISABLE ((uint32_t)0x00000000) /*!< I2CM=0 */ -#define I2CxCR2_I2CM_ENABLE ((uint32_t)0x00000008) /*!< I2CM=1 */ -#define I2CxCR2_SWRES_10 ((uint32_t)0x00000002) /*!< SWRES=10 */ -#define I2CxCR2_SWRES_01 ((uint32_t)0x00000001) /*!< SWRES=01 */ -#define I2CxCR2_START_CONDITION ((uint32_t)0x000000F8) /*!< MST=1,TRX=1,BB=1,PIN=1,I2CM=1 */ -#define I2CxCR2_STOP_CONDITION ((uint32_t)0x000000D8) /*!< MST=1,TRX=1,BB=0,PIN=1,I2CM=1 */ -#define I2CxCR2_INIT ((uint32_t)0x00000008) /*!< MST=0,TRX=0,BB=0,PIN=0,I2CM=1,SWRES=00 */ - -/** - * @} - */ /* End of name I2CxCR2 Macro Definition */ - -/** - * @name I2CxSR Macro Definition. - * @brief I2CxSR Register Macro Definition. - * @{ - */ -#define I2CxSR_MST ((uint32_t)0x00000080) /*!< MST */ -#define I2CxSR_TRX ((uint32_t)0x00000040) /*!< TRX */ -#define I2CxSR_BB ((uint32_t)0x00000020) /*!< BB */ -#define I2CxSR_PIN ((uint32_t)0x00000010) /*!< PIN */ -#define I2CxSR_AL ((uint32_t)0x00000008) /*!< AL */ -#define I2CxSR_AAS ((uint32_t)0x00000004) /*!< AAS */ -#define I2CxSR_AD0 ((uint32_t)0x00000002) /*!< AD0 */ -#define I2CxSR_LRB ((uint32_t)0x00000001) /*!< LRB */ -/** - * @} - */ /* End of name I2CxSR Macro Definition */ - -/** - * @name I2CxPRS Macro Definition. - * @brief I2CxPRS Register Macro Definition. - * @{ - */ -#define I2CxPRS_PRCK ((uint32_t)0x0000001F) /*!< PRCK */ -/** - * @} - */ /* End of name I2CxPRS Macro Definition */ - -/** - * @name I2CxIE Macro Definition. - * @brief I2CxIE Register Macro Definition. - * @{ - */ -#define I2CxIE_SELPINCD ((uint32_t)0x00000040) /*!< SELPINCD */ -#define I2CxIE_DMARI2CTX ((uint32_t)0x00000020) /*!< DMARI2CTX */ -#define I2CxIE_DMARI2CRX ((uint32_t)0x00000010) /*!< DMARI2CRX */ -#define I2CxIE_I2C ((uint32_t)0x00000001) /*!< INTI2C */ -#define I2CxIE_CLEAR ((uint32_t)0x00000000) /*!< All Clear Setting */ - -/** - * @} - */ /* End of name I2CxIE Macro Definition */ - - -/** - * @name I2CxOP Macro Definition. - * @brief I2CxOP Register Macro Definition. - * @{ - */ -#define I2CxOP_DISAL ((uint32_t)0x00000080) /*!< DISAL */ -#define I2CxOP_SA2ST ((uint32_t)0x00000040) /*!< SA2ST */ -#define I2CxOP_SAST ((uint32_t)0x00000020) /*!< SAST */ -#define I2CxOP_NFSEL ((uint32_t)0x00000010) /*!< NFSEL */ -#define I2CxOP_RSTA ((uint32_t)0x00000008) /*!< RSTA */ -#define I2CxOP_GCDI ((uint32_t)0x00000004) /*!< GDDI */ -#define I2CxOP_SREN ((uint32_t)0x00000002) /*!< SREN */ -#define I2CxOP_MFACK ((uint32_t)0x00000001) /*!< MFACK */ -#ifndef I2C_MULTI_MASTER - #define I2CxOP_INIT ((uint32_t)0x00000084) /*!< Initial Settings. */ -#else - #define I2CxOP_INIT ((uint32_t)0x00000004) /*!< Initial Settings. */ -#endif -#define I2CxOP_SLAVE_INIT ((uint32_t)0x00000084) /*!< Slave Initial Settings. */ -/** - * @} - */ /* End of name I2CxOP Macro Definition */ - -/** - * @name I2CxAR Macro Definition. - * @brief I2CxAR Register Macro Definition. - * @{ - */ -#define I2CxAR_ALS ((uint32_t)0x00000001) /*!< ALS. */ -#define I2CxAR_INIT ((uint32_t)0x00000000) /*!< Initial Settings. */ -#define I2CxAR2_INIT ((uint32_t)0x00000000) /*!< Initial Settings. */ - -/** - * @} - */ /* End of name I2CxAR Macro Definition */ - - -/** - * @name I2CxPM Macro Definition. - * @brief I2CxPM Register Macro Definition. - * @{ - */ -#define I2CxPM_SDA_SCL ((uint32_t)0x00000003) /* SDA and SCL level. */ -/** - * @} - */ /* End of name I2CxPM Macro Definition */ - -/** - * @name I2CxWUPCR_INT Macro Definition. - * @brief I2CxWUPCR_INT Register Macro Definition. - * @{ - */ -#define I2CxWUPCR_INT_RELESE ((uint32_t)0x00000001) /* Interrupt Release. */ -#define I2CxWUPCR_INT_HOLD ((uint32_t)0x00000000) /* Interrupt setting keep it. */ -/** - * @} - */ /* End of name I2CxWUPCR_INT Macro Definition */ - -/** - * @name I2CxWUPCR_RST Macro Definition. - * @brief I2CxWUPCR_RST Register Macro Definition. - * @{ - */ -#define I2CxWUPCR_RST_RESET ((uint32_t)0x00000010) /* I2C BUS Reset. */ -#define I2CxWUPCR_RST_RELEASE ((uint32_t)0x00000000) /* I2C BUS Reset Release. */ -/** - * @} - */ /* End of name I2CxWUPCR_RST Macro Definition */ - - -/** - * @name I2CxWUPCR_ACK Macro Definition. - * @brief I2CxWUPCR_ACK Register Macro Definition. - * @{ - */ -#define I2CxWUPCR_ACK ((uint32_t)0x00000020) /* ACK Output. Output "0" */ -#define I2CxWUPCR_NACK ((uint32_t)0x00000000) /* ACL No Output. Output "1" NACK Output */ -/** - * @} - */ /* End of name I2CxWUPCR_RST Macro Definition */ -/** - * @} - */ /* End of group UTILITIES_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_typedef - * @{ - */ - -/*----------------------------------*/ -/** - * @brief Clock setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t sck; /*!< Select internal SCL output clock frequency. */ - uint32_t prsck; /*!< Prescaler clock frequency for generating the Serial clock. */ -} I2C_clock_setting_t; - -/*----------------------------------*/ -/** - * @brief Wakeup Control setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t sgcdi; /*!< Select general call detect ON/OFF. */ - uint32_t ack; /*!< Select ACK output. */ - uint32_t reset; /*!< I2C BUS Rest. */ - uint32_t intend; /*!< Interrupt release. */ -} I2CS_wup_setting_t; - -/*----------------------------------*/ -/** - * @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - I2C_clock_setting_t clock; /*!< Serial clock setting. */ -} I2C_initial_setting_t; - -/*----------------------------------*/ -/** - * @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - I2CS_wup_setting_t wup; /*!< Wakeup Control setting. */ -} I2CS_initial_setting_t; - -/*----------------------------------*/ -/** - * @brief I2C handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_I2C_TypeDef *p_instance; /*!< Registers base address. */ - I2C_initial_setting_t init; /*!< Initial setting. */ -} I2C_t; -#if defined(I2CSxWUP_EN) -/*----------------------------------*/ -/** - * @brief I2CS handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_I2CS_TypeDef *p_instance; /*!< Registers base address. */ - I2CS_initial_setting_t init; /*!< Initial setting. */ -} I2CS_t; -#endif -/** - * @} - */ /* End of group UTILITIES_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Inline Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_functions - * @{ - */ -__STATIC_INLINE void I2C_reset(I2C_t *p_obj); -__STATIC_INLINE int32_t I2C_port_high(I2C_t *p_obj); -__STATIC_INLINE void I2C_stop_condition(I2C_t *p_obj); -__STATIC_INLINE uint32_t I2C_read_data(I2C_t *p_obj); -__STATIC_INLINE void I2C_write_data(I2C_t *p_obj, uint32_t data); -__STATIC_INLINE int32_t I2C_restart(I2C_t *p_obj); -__STATIC_INLINE void I2C_set_ack(I2C_t *p_obj, int32_t nack); -__STATIC_INLINE int32_t I2C_get_ack(I2C_t *p_obj); -__STATIC_INLINE int32_t I2C_status_busy(I2C_t *p_obj); -__STATIC_INLINE int32_t I2C_master(I2C_t *p_obj); -__STATIC_INLINE int32_t I2C_transmitter(I2C_t *p_obj); -__STATIC_INLINE int32_t I2C_int_status(I2C_t *p_obj); -__STATIC_INLINE void I2C_clear_int_status(I2C_t *p_obj); -__STATIC_INLINE void I2C_enable_interrupt(I2C_t *p_obj); -__STATIC_INLINE void I2C_enable_interrupt_dma(I2C_t *p_obj, int32_t tx); -__STATIC_INLINE void I2C_disable_interrupt(I2C_t *p_obj); -__STATIC_INLINE void I2C_set_address(I2C_t *p_obj, uint32_t addr); -__STATIC_INLINE int32_t I2C_slave_detected(I2C_t *p_obj); - -/*--------------------------------------------------*/ -/** - * @brief I2C software reset. - * @param p_obj :I2C object. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_reset(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->CR2 = I2CxCR2_SWRES_10; - p_obj->p_instance->CR2 = I2CxCR2_SWRES_01; - } -#else - p_obj->p_instance->CR2 = I2CxCR2_SWRES_10; - p_obj->p_instance->CR2 = I2CxCR2_SWRES_01; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief I2C bus port high - * @param p_obj :I2C object. - * @retval true :SDA and SCL Port High. - * @retval false :Bus Error. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_port_high(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return (((p_obj->p_instance->PM & I2CxPM_SDA_SCL) == I2CxPM_SDA_SCL)); - } - return (0); -#else - return (((p_obj->p_instance->PM & I2CxPM_SDA_SCL) == I2CxPM_SDA_SCL)); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Generate stop condition. - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_stop_condition(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->CR2 = I2CxCR2_STOP_CONDITION; - } -#else - p_obj->p_instance->CR2 = I2CxCR2_STOP_CONDITION; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Read from Data buffer - * @param p_obj :I2C object. - * @retval result :Read data. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE uint32_t I2C_read_data(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return (p_obj->p_instance->DBR & I2CxDBR_DB_MASK); - } - return (0); -#else - return (p_obj->p_instance->DBR & I2CxDBR_DB_MASK); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Write to Data buffer. - * @param p_obj :I2C object. - * @param data :Write data. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_write_data(I2C_t *p_obj, uint32_t data) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->DBR = (data & I2CxDBR_DB_MASK); - } -#else - p_obj->p_instance->DBR = (data & I2CxDBR_DB_MASK); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Return restart condition - * @param p_obj :I2C object. - * @retval true :Restart Detected. - * @retval false :Restart Non-Detected. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_restart(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - __IO uint32_t opreg = p_obj->p_instance->OP; - p_obj->p_instance->OP &= ~I2CxOP_RSTA; - return ((opreg & I2CxOP_RSTA) == I2CxOP_RSTA); - } - return (0); -#else - __IO uint32_t opreg = p_obj->p_instance->OP; - p_obj->p_instance->OP &= ~I2CxOP_RSTA; - return ((opreg & I2CxOP_RSTA) == I2CxOP_RSTA); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Set Ack condition - * @param p_obj :I2C object. - * @param nack :1 NACK, 0 ACK. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_set_ack(I2C_t *p_obj, int32_t nack) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - if (nack) - { - p_obj->p_instance->OP |= I2CxOP_MFACK; - } - else - { - p_obj->p_instance->OP &= ~I2CxOP_MFACK; - } - } -#else - if (nack) - { - p_obj->p_instance->OP |= I2CxOP_MFACK; - } - else - { - p_obj->p_instance->OP &= ~I2CxOP_MFACK; - } -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Return received Ack condition - * @param p_obj :I2C object. - * @retval true :NACK Received. - * @retval false :ACK Received. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_get_ack(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->SR & I2CxSR_LRB) == I2CxSR_LRB); - } - return (0); -#else - return ((p_obj->p_instance->SR & I2CxSR_LRB) == I2CxSR_LRB); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Return Busy condition - * @param p_obj :I2C object. - * @retval true :I2C bus busy. - * @retval false :I2C bus free. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_status_busy(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->SR & I2CxSR_BB) == I2CxSR_BB); - } - return (0); -#else - return ((p_obj->p_instance->SR & I2CxSR_BB) == I2CxSR_BB); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Return The Master status - * @param p_obj :I2C object. - * @retval true :Master mode. - * @retval false :Slave mode. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_master(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->SR & I2CxSR_MST) == I2CxSR_MST); - } - return (0); -#else - return ((p_obj->p_instance->SR & I2CxSR_MST) == I2CxSR_MST); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Return The Transmitter - * @param p_obj :I2C object. - * @retval true :Transmitter. - * @retval false :Receiver. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_transmitter(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->SR & I2CxSR_TRX) == I2CxSR_TRX); - } - return (0); -#else - return ((p_obj->p_instance->SR & I2CxSR_TRX) == I2CxSR_TRX); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Interrupt Status - * @param p_obj :I2C object. - * @retval true :Interruput Occured. - * @retval false :No Interruput Occured. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_int_status(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->ST & I2CxST_I2C) == I2CxST_I2C); - } - return (0); -#else - return ((p_obj->p_instance->ST & I2CxST_I2C) == I2CxST_I2C); -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Interrupt Status Clear - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_clear_int_status(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->ST = I2CxST_CLEAR; - } -#else - p_obj->p_instance->ST = I2CxST_CLEAR; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable Interrupt setting. - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_enable_interrupt(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->IE = I2CxIE_I2C; - } -#else - p_obj->p_instance->IE = I2CxIE_I2C; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable Interrupt setting. - * @param p_obj :I2C object. - * @param tx :Direction of transfer(1=tx 0=rx). - * @retval - - * @note For DMA transfer. - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_enable_interrupt_dma(I2C_t *p_obj, int32_t tx) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - if (tx) - { - p_obj->p_instance->IE = (I2CxIE_SELPINCD | I2CxIE_DMARI2CTX); - } - else - { - p_obj->p_instance->IE = (I2CxIE_SELPINCD | I2CxIE_DMARI2CRX); - } - } -#else - if (tx) - { - p_obj->p_instance->IE = (I2CxIE_SELPINCD | I2CxIE_DMARI2CTX); - } - else - { - p_obj->p_instance->IE = (I2CxIE_SELPINCD | I2CxIE_DMARI2CRX); - } -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Disable Interrupt setting. - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_disable_interrupt(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->IE = I2CxIE_CLEAR; - } -#else - p_obj->p_instance->IE = I2CxIE_CLEAR; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Set slave address. - * @param p_obj :I2C object. - * @param addr :slave address. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void I2C_set_address(I2C_t *p_obj, uint32_t addr) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - p_obj->p_instance->AR = (addr & ~I2CxAR_ALS); - p_obj->p_instance->AR2 = I2CxAR2_INIT; - } -#else - p_obj->p_instance->AR = (addr & ~I2CxAR_ALS); - p_obj->p_instance->AR2 = I2CxAR2_INIT; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Detecting Slave Address - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t I2C_slave_detected(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return (((p_obj->p_instance->SR & I2CxSR_AAS) == I2CxSR_AAS) - && ((p_obj->p_instance->OP & I2CxOP_SAST) == I2CxOP_SAST)); - } - return (0); -#else - return (((p_obj->p_instance->SR & I2CxSR_AAS) == I2CxSR_AAS) - && ((p_obj->p_instance->OP & I2CxOP_SAST) == I2CxOP_SAST)); -#endif -} - -/** - * @} - */ /* End of group UTILITIES_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_functions - * @{ - */ -void I2C_init(I2C_t *p_obj); -void I2C_start_condition(I2C_t *p_obj, uint32_t data); -uint32_t I2C_get_clock_setting(I2C_t *p_obj, uint32_t frequency, uint32_t fsys, I2C_clock_setting_t *p_setting); -void I2C_slave_init(I2C_t *p_obj); -#if defined(I2CSxWUP_EN) -void I2CS_init(I2CS_t *p_obj); -void I2CS_Primary_slave_adr_set(I2CS_t *p_obj, uint32_t adr); -void I2CS_Secondary_slave_adr_set(I2CS_t *p_obj, uint32_t adr); -#endif -/** - * @} - */ /* End of group UTILITIES_Private_functions */ - -/** - * @} - */ /* End of group UTILITIES */ - -/** - * @} - */ /* End of group Example */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __I2C_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c_api.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c_api.h deleted file mode 100644 index bc7c862515e..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_i2c_api.h +++ /dev/null @@ -1,311 +0,0 @@ -/** - ******************************************************************************* - * @file bsp_i2c.h - * @brief This file provides all the functions prototypes for I2C Driver. - * @version V1.0.0.2 - * $Date:: 2017-10-03 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __BSP_I2C_H -#define __BSP_I2C_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_i2c.h" - -/** - * @addtogroup Example - * @{ - */ - -/** - * @addtogroup UTILITIES - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Exported_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_define - * @{ - */ -/** - * @defgroup I2C_NullPointer Null Pointer - * @brief I2C NULL Pointer. - * @{ - */ -#define I2C_NULL ((void *)0) -/** - * @} - */ /* End of group I2C_NullPointer */ - -/** - * @} - */ /* End of group UTILITIES_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_define - * @{ - */ - -/** - * @defgroup I2C_ACK I2C ACK Macros - * @brief I2C Type of Acknowledge. - * @{ - */ -#define I2C_NACK (0) /*!< NACK Received. */ -#define I2C_ACK (1) /*!< ACK Received. */ -/** - * @} - */ /* End of group I2C_ACK */ - - -/** - * @defgroup I2C_ERROR I2C ERROR Macros - * @brief I2C Error definitions. - * @{ - */ -#define I2C_ERROR_NO_ERROR (0) /*!< No Error. */ -#if 0 -#define I2C_ERROR_NO_SLAVE (-1) /*!< No Slave Error. */ -#define I2C_ERROR_BUS_BUSY (-2) /*!< Bus Busy Error.(now, not support) */ -#endif -#define I2C_ERROR_PARAM (-3) /*!< Parameter Error. */ -#define I2C_ERROR_OTHERS (-4) /*!< Others Error. */ -#define I2C_ERROR_ARBITRATION (-5) /*!< Arbitration Error. */ -/** - * @} - */ /* End of group I2C_ERROR */ - - -/** - * @defgroup I2C_Events I2C Events Macros - * @brief I2C Asynch Events. - * @{ - */ -#define I2C_EVENT_ERROR (1 << 1) /*!< Error. */ -#define I2C_EVENT_ERROR_NO_SLAVE (1 << 2) /*!< No Slave. */ -#define I2C_EVENT_TRANSFER_COMPLETE (1 << 3) /*!< Transfer Complete. */ -#define I2C_EVENT_TRANSFER_EARLY_NACK (1 << 4) /*!< End of Transfer. */ -#define I2C_EVENT_ALL (I2C_EVENT_ERROR | I2C_EVENT_TRANSFER_COMPLETE | I2C_EVENT_ERROR_NO_SLAVE | I2C_EVENT_TRANSFER_EARLY_NACK) -/** - * @} - */ /* End of group I2C_Events */ - -/** - * @defgroup I2C_SlaveReceive I2C Slave Receive Return Macros - * @brief I2C Received Contents of Slave. - * @{ - */ -#define I2C_NO_DATA (0) /*!< the slave has not been addressed. */ -#define I2C_READ_ADDRESSED (1) /*!< the master has requested a read from this slave. */ -#define I2C_WRITE_GENERAL (2) /*!< the master is writing to all slave.(now, not support) */ -#define I2C_WRITE_ADDRESSED (3) /*!< the master is writing to this slave. */ -/** - * @} - */ /* End of group I2C_SlaveReceive */ - -/** - * @} - */ /* End of group UTILITIES_Exported_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_define - * @{ - */ - -/*----------------------------------*/ -/** - * @brief i2c Port Enumerated Type Definition. -*/ -/*----------------------------------*/ -typedef enum { - I2C_PORT_PG2 = 0, /*!< 0: PG2 I2C0 */ - I2C_PORT_PG3, /*!< 1: PG3 I2C0 */ - I2C_PORT_PF2, /*!< 2: PF2 I2C1 */ - I2C_PORT_PF3, /*!< 3: PF3 I2C1 */ - I2C_PORT_PG4, /*!< 4: PG4 I2C2 */ - I2C_PORT_PG5, /*!< 5: PG5 I2C2 */ - I2C_PORT_PJ6, /*!< 6: PJ6 I2C3 */ - I2C_PORT_PJ7, /*!< 7: PJ7 I2C3 */ - I2C_PORT_PJ2, /*!< 8: PJ2 I2C4 */ - I2C_PORT_PJ3, /*!< 9: PJ3 I2C4 */} -i2c_port_t; - -/*----------------------*/ -/* I2C Setting */ -/*----------------------*/ -/* #define I2C_CHANNEL0 */ -#define I2C_CHANNEL3 -/* #define I2C_CHANNEL2 */ -/* #define I2C_CHANNEL3 */ -/* #define I2C_CHANNEL4 */ -#if defined(I2C_CHANNEL0) - #define I2Cx_TEXT "I2C0" - #define I2C_CFG_PORT_SCL (I2C_PORT_PG3) /*!< SCL Port. */ - #define I2C_CFG_PORT_SDA (I2C_PORT_PG2) /*!< SDA Port. */ -#elif defined(I2C_CHANNEL1) - #define I2Cx_TEXT "I2C1" - #define I2C_CFG_PORT_SCL (I2C_PORT_PF3) /*!< SCL Port. */ - #define I2C_CFG_PORT_SDA (I2C_PORT_PF2) /*!< SDA Port. */ -#elif defined(I2C_CHANNEL2) - #define I2Cx_TEXT "I2C2" - #define I2C_CFG_PORT_SCL (I2C_PORT_PG5) /*!< SCL Port. */ - #define I2C_CFG_PORT_SDA (I2C_PORT_PG4) /*!< SDA Port. */ -#elif defined(I2C_CHANNEL3) - #define I2Cx_TEXT "I2C3" - #define I2C_CFG_PORT_SCL (I2C_PORT_PJ7) /*!< SCL Port. */ - #define I2C_CFG_PORT_SDA (I2C_PORT_PJ6) /*!< SDA Port. */ -#elif defined(I2C_CHANNEL4) - #define I2Cx_TEXT "I2C4" - #define I2C_CFG_PORT_SCL (I2C_PORT_PJ3) /*!< SCL Port. */ - #define I2C_CFG_PORT_SDA (I2C_PORT_PJ2) /*!< SDA Port. */ -#else - #error "target channel is non-select." -#endif - -/** - * @} - */ /* End of group UTILITIES_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_typedef - * @{ - */ -/*----------------------------------*/ -/** - * @brief I2C internal information structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t bus_free; /*!< Bus free information. */ - uint8_t start; /*!< Start condition information. */ - uint32_t irqn; /*!< IRQ number table pointer. */ - struct - { - uint32_t address; /*!< Slave address. */ - uint32_t stop; /*!< Stop control */ - uint32_t event; /*!< I2C Event information. */ - uint32_t state; /*!< Transfer State. */ - } asynch; -} i2c_internal_info_t; - -/*----------------------------------*/ -/** - * @brief I2C buffer structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_buffer; /*!< Buffer address. */ - uint32_t length; /*!< Buffer length. */ - uint32_t pos; /*!< Buffer pointer. */ -} i2c_buffer_t; - -/*----------------------------------*/ -/** - * @brief I2C handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - I2C_t i2c; /*!< I2C class structure. */ - i2c_internal_info_t info; /*!< Internal Information. */ - i2c_buffer_t tx_buff; /*!< Tx buffer structure. */ - i2c_buffer_t rx_buff; /*!< Rx buffer structure. */ -} _i2c_t; - -/** - * @} - */ /* End of group UTILITIES_Exported_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_functions - * @{ - */ -TXZ_Result i2c_init_t(_i2c_t *p_obj, i2c_port_t sda, i2c_port_t scl); -TXZ_Result i2c_frequency_t(_i2c_t *p_obj, int32_t hz); -void i2c_reset_t(_i2c_t *p_obj); -TXZ_Result i2c_check_bus_free_t(_i2c_t *p_obj); -TXZ_Result i2c_start_t(_i2c_t *p_obj); -TXZ_Result i2c_stop_t(_i2c_t *p_obj); -int32_t i2c_read_t(_i2c_t *p_obj, int32_t address, uint8_t *p_data, int32_t length, int32_t stop); -int32_t i2c_write_t(_i2c_t *p_obj, int32_t address, uint8_t *p_data, int32_t length, int32_t stop); -int32_t i2c_byte_read_t(_i2c_t *p_obj, int32_t last); -int32_t i2c_byte_write_t(_i2c_t *p_obj, int32_t data); -uint8_t i2c_active_t(_i2c_t *p_obj); -TXZ_Result i2c_transfer_asynch_t(_i2c_t *p_obj, uint8_t *p_tx, int32_t tx_length, uint8_t *p_rx, int32_t rx_length, int32_t address, int32_t stop); -uint32_t i2c_irq_handler_asynch_t(_i2c_t *p_obj); -void i2c_abort_asynch_t(_i2c_t *p_obj); - -/* For slave */ -void i2c_slave_mode_t(_i2c_t *p_obj, int32_t enable_slave); -int32_t i2c_slave_receive_t(_i2c_t *p_obj); -int32_t i2c_slave_read_t(_i2c_t *p_obj, uint8_t *p_data, int32_t length); -int32_t i2c_slave_write_t(_i2c_t *p_obj, uint8_t *p_data, int32_t length); -void i2c_slave_address_t(_i2c_t *p_obj, uint32_t address); -TXZ_Result i2c_slave_transfer_asynch_t(_i2c_t *p_obj, uint8_t *p_tx, int32_t tx_length, uint8_t *p_rx, int32_t rx_length); -uint32_t i2c_slave_irq_handler_asynch_t(_i2c_t *p_obj); -void i2c_slave_abort_asynch_t(_i2c_t *p_obj); - -/** - * @} - */ /* End of group UTILITIES_Exported_functions */ - -/** - * @} - */ /* End of group UTILITIES */ - -/** - * @} - */ /* End of group Example */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __BSP_I2C_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_sample_def.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_sample_def.h deleted file mode 100644 index 8bbbd7e45e8..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_sample_def.h +++ /dev/null @@ -1,30 +0,0 @@ -/** - ******************************************************************************* - * @file txz_sample_def.h - * @brief This file includes header files for sample application. - * @version V1.0.0.3 - * $Date:: 2017-10-26 13:33:43 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __TXZ_SAMPLE_DEF_H -#define __TXZ_SAMPLE_DEF_H - -#include "txz_driver_def.h" -#include "txz_hal.h" -#if defined(TMPM4G9) - #include "txz_cg.h" - #include "txz_gpio.h" -#else - #include "txz_cg.h" - #include "txz_gpio.h" - #include "txz_dma.h" -#endif -#include "txz_uart.h" -#include "txz_t32a.h" -#endif /* __TXZ_SAMPLE_DEF_H */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_t32a.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_t32a.h deleted file mode 100644 index 35d2c87d835..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_t32a.h +++ /dev/null @@ -1,1024 +0,0 @@ -/** - ******************************************************************************* - * @file txz_t32a.h - * @brief This file provides all the functions prototypes for T32A driver. - * @version V1.0.0.7 - * $Date:: 2017-11-30 17:34:52 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __T32A_H -#define __T32A_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup T32A T32A - * @brief T32A Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Exported_define T32A Exported Define - * @{ - */ - -/** - * @defgroup T32A_Result Result - * @brief T32A Result Macro Definition. - * @{ - */ -#define T32A_RESULT_SUCCESS (0) /*!< Success */ -#define T32A_RESULT_FAILURE (-1) /*!< Failure */ -#define T32A_READ_FAILURE (0xFFFFFFFF) /*!< Failure */ -/** - * @} - */ /* End of group T32A_Result */ - -/** - * @defgroup T32A_NullPointer Null Pointer - * @brief Null Pointer. - * @{ - */ -#define T32A_NULL ((void *)0) /*!< NULL Pointer For T32A */ -/** - * @} - */ /* End of group T32A_NullPointer */ - - /** - * @defgroup T32A_HALT T32A Debug HALT Control - * @brief Debug HALT Control Run/Stop HALT Macro Definition. - * @{ - */ -#define T32A_DBG_HALT_RUN ((uint32_t)0x00000000) /*!< Run */ -#define T32A_DBG_HALT_STOP ((uint32_t)0x00000002) /*!< Stop */ -/** - * @} - */ /* End of group T32A_HALT */ - - /** - * @defgroup T32A_MODE32 T32A 16bit/32bit MODE - * @brief T32A 16bit/32bit MODE MODE32 Macro Definition. - * @{ - */ -#define T32A_MODE_16 ((uint32_t)0x00000000) /*!< 16bit Mode */ -#define T32A_MODE_32 ((uint32_t)0x00000001) /*!< 32bit Mode */ -/** - * @} - */ /* End of group T32A_MODE32 */ - - /** - * @defgroup T32A_RUNFLGx T32A RUNFLG Control - * @brief Run/Stop RUNFLGx Macro Definition. - * @{ - */ -#define T32A_RUNFLG_RUN ((uint32_t)0x00000010) /*!< Run */ -#define T32A_RUNFLG_STOP ((uint32_t)0x00000000) /*!< Stop */ -/** - * @} - */ /* End of group T32A_RUNFLGx */ - -/** - * @defgroup T32A_SFTSTPx T32A SW STOP Control - * @brief T32A SW STOPx SFTSTPx Macro Definition. - * @{ - */ -#define T32A_COUNT_DONT_STOP ((uint32_t)0x0000000) /*!< No effect */ -#define T32A_COUNT_STOP ((uint32_t)0x0000004) /*!< Counter Stop */ -/** - * @} - */ /* End of group T32A_SFTSTPx */ - -/** - * @defgroup T32A_SFTSTAx T32A SW START Control - * @brief T32A SW STARTx SFTSTAx Macro Definition. - * @{ - */ -#define T32A_COUNT_DONT_START ((uint32_t)0x0000000) /*!< No effect */ -#define T32A_COUNT_START ((uint32_t)0x0000002) /*!< Counter Start */ -/** - * @} - */ /* End of group T32A_SFTSTAx */ - -/** - * @defgroup T32A_RUNx T32A RUN Disable/Enable Control - * @brief RUN Disable/Enable RUNx Macro Definition. - * @{ - */ -#define T32A_RUN_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define T32A_RUN_ENABLE ((uint32_t)0x00000001) /*!< Enable */ -/** - * @} - */ /* End of group T32A_RUNx */ - - -/** - * @defgroup T32A_PRSCLx T32A PRESCALER Control - * @brief PRESCALER Control PRSCLx Macro Definition. - * @{ - */ -#define T32A_PRSCLx_1 ((uint32_t)0x00000000) /*!< 1/1 */ -#define T32A_PRSCLx_2 ((uint32_t)0x10000000) /*!< 1/2 */ -#define T32A_PRSCLx_8 ((uint32_t)0x20000000) /*!< 1/8 */ -#define T32A_PRSCLx_32 ((uint32_t)0x30000000) /*!< 1/32 */ -#define T32A_PRSCLx_128 ((uint32_t)0x40000000) /*!< 1/128 */ -#define T32A_PRSCLx_256 ((uint32_t)0x50000000) /*!< 1/256 */ -#define T32A_PRSCLx_512 ((uint32_t)0x60000000) /*!< 1/512 */ -#define T32A_PRSCLx_1024 ((uint32_t)0x70000000) /*!< 1/1024 */ -/** - * @} - */ /* End of group T32A_PRSCLx */ - -/** - * @defgroup T32A_CLKx T32A COLCK Control - * @brief CLOCK Control CLKA Macro Definition. - * @{ - */ -#define T32A_CLKx_PRSCLx ((uint32_t)0x00000000) /*!< prescaler */ -#define T32A_CLKx_INTRG ((uint32_t)0x01000000) /*!< internal triger */ -#define T32A_CLKx_TIM_RISING_EDGE ((uint32_t)0x02000000) /*!< other timer rising edge */ -#define T32A_CLKx_TIM_TRAILING_EDGE ((uint32_t)0x03000000) /*!< other timer trailing edge */ -#define T32A_CLKx_EXTTRG_RISING_EDGE ((uint32_t)0x04000000) /*!< external triger rising edge */ -#define T32A_CLKx_EXTTRG_TRAILING_EDGE ((uint32_t)0x05000000) /*!< external triger trailing edge */ -/** - * @} - */ /* End of group T32A_CLKx */ - -/** - * @defgroup T32A_WBFx T32A Double Buffer Disable/Enable Control - * @brief Double Buffer Disable/Enable WBFx Macro Definition. - * @{ - */ -#define T32A_WBF_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define T32A_WBF_ENABLE ((uint32_t)0x00100000) /*!< Enable */ -/** - * @} - */ /* End of group T32A_WBFx */ - - /** - * @defgroup T32A_UPDNx T32A Counter Up/Down Control - * @brief Counter Up/Down Control UPDNx Macro Definition. - * @{ - */ -#define T32A_COUNT_UP ((uint32_t)0x00000000) /*!< count up */ -#define T32A_COUNT_DOWN ((uint32_t)0x00010000) /*!< count down */ -#define T32A_COUNT_UPDOWN ((uint32_t)0x00020000) /*!< count updown */ -#define T32A_COUNT_PLS ((uint32_t)0x00030000) /*!< count pulse */ -/** - * @} - */ /* End of group T32A_UPDNx */ - - /** - * @defgroup T32A_RELDx T32A Counter Reload Control - * @brief Counter Reload Control RELDx Macro Definition. - * @{ - */ -#define T32A_RELOAD_NON ((uint32_t)0x00000000) /*!< Nothing(Free run) */ -#define T32A_RELOAD_INTRG ((uint32_t)0x00000100) /*!< internal trigger */ -#define T32A_RELOAD_EXTTRG_RISING_EDGE ((uint32_t)0x00000200) /*!< external trigger rising edge */ -#define T32A_RELOAD_EXTTRG_TRAILING_EDGE ((uint32_t)0x00000300) /*!< external trigger trailing edge */ -#define T32A_RELOAD_TIM_RISING_EDGE ((uint32_t)0x00000400) /*!< other timer rising edge */ -#define T32A_RELOAD_TIM_TRAILING_EDGE ((uint32_t)0x00000500) /*!< other timer trailing edge */ -#define T32A_RELOAD_SYNC ((uint32_t)0x00000600) /*!< sync(slave channel) */ -#define T32A_RELOAD_TREGx ((uint32_t)0x00000700) /*!< match up Timer Register */ -/** - * @} - */ /* End of group T32A_RELDx */ - - /** - * @defgroup T32A_STOPx T32A Counter Stop Control - * @brief Counter Stop Control STOPx Macro Definition. - * @{ - */ -#define T32A_STOP_NON ((uint32_t)0x00000000) /*!< No use trigger */ -#define T32A_STOP_INTRG ((uint32_t)0x00000010) /*!< internal trigger */ -#define T32A_STOP_EXTTRG_RISING_EDGE ((uint32_t)0x00000020) /*!< external trigger rising edge */ -#define T32A_STOP_EXTTRG_TRAILING_EDGE ((uint32_t)0x00000030) /*!< external trigger trailing edge */ -#define T32A_STOP_TIM_RISING_EDGE ((uint32_t)0x00000040) /*!< other timer rising edge */ -#define T32A_STOP_TIM_TRAILING_EDGE ((uint32_t)0x00000050) /*!< other timer trailing edge */ -#define T32A_STOP_SYNC ((uint32_t)0x00000060) /*!< sync(slave channel) */ -#define T32A_STOP_TREGx ((uint32_t)0x00000070) /*!< match up Timer Register A */ -/** - * @} - */ /* End of group T32A_STOPx */ - - - /** - * @defgroup T32A_STARTx T32A Counter Start Control - * @brief Counter Start Control STARTx Macro Definition. - * @{ - */ -#define T32A_START_NON ((uint32_t)0x00000000) /*!< No use trigger */ -#define T32A_START_INTRG ((uint32_t)0x00000001) /*!< internal trigger */ -#define T32A_START_EXTTRG_RISING_EDGE ((uint32_t)0x00000002) /*!< external trigger rising edge */ -#define T32A_START_EXTTRG_TRAILING_EDGE ((uint32_t)0x00000003) /*!< external trigger trailing edge */ -#define T32A_START_TIM_RISING_EDGE ((uint32_t)0x00000004) /*!< other timer rising edge */ -#define T32A_START_TIM_TRAILING_EDGE ((uint32_t)0x00000005) /*!< other timer trailing edge */ -#define T32A_START_SYNC ((uint32_t)0x00000006) /*!< sync(slave channel) */ -#define T32A_START_Rsvd ((uint32_t)0x00000007) /*!< Reserved */ -/** - * @} - */ /* End of group T32A_STARTx */ - -/** - * @defgroup T32A_OCRx T32AxOUTA Control - * @brief T32AxOUTA Control OCRx Macro Definition. - * @{ - */ -#define T32A_OCR_DISABLE ((uint32_t)0x00000000) /*!< Nothig */ -#define T32A_OCR_SET ((uint32_t)0x00000001) /*!< Hi */ -#define T32A_OCR_CLR ((uint32_t)0x00000002) /*!< Low */ -#define T32A_OCR_INVERSION ((uint32_t)0x00000003) /*!< inversion */ -/** - * @} - */ /* End of group T32A_OCRx */ - -/** - * @defgroup T32A_OCRCAPx1 T32AxOUTA Control of T32AxCAPx1 T32AxRGx1 - * @brief T32AxOUTA Control of T32AxCAPx1 T32AxRGx1 OCRCAPx1 Macro Definition. - * @{ - */ -#define T32A_OCRCAPx1_DISABLE ((uint32_t)0x00000000) /*!< No effect */ -#define T32A_OCRCAPx1_SET ((uint32_t)0x00000040) /*!< Hi */ -#define T32A_OCRCAPx1_CLR ((uint32_t)0x00000080) /*!< Low */ -#define T32A_OCRCAPx1_INVERSION ((uint32_t)0x000000C0) /*!< inversion */ -/** - * @} - */ /* End of group T32A_OCRCAPx1 */ - -/** - * @defgroup T32A_OCRCAPx0 T32AxOUTA Control of T32AxCAPx0 counter value - * @brief T32AxOUTA Control of T32AxCAPx0 T32AxRGx1 OCRCAPx0 Macro Definition. - * @{ - */ -#define T32A_OCRCAPx0_DISABLE ((uint32_t)0x00000000) /*!< No effect */ -#define T32A_OCRCAPx0_SET ((uint32_t)0x00000010) /*!< Hi */ -#define T32A_OCRCAPx0_CLR ((uint32_t)0x00000020) /*!< Low */ -#define T32A_OCRCAPx0_INVERSION ((uint32_t)0x00000030) /*!< inversion */ -/** - * @} - */ /* End of group T32A_OCRCAPx0 */ - -/** - * @defgroup T32A_OCRCMPx1 T32AxOUTA Control of T32AxRGx1 Counter Value - * @brief T32AxOUTA Control of T32AxRGx1 Counter Value OCRCMPx1 Macro Definition. - * @{ - */ -#define T32A_OCRCMPx1_DISABLE ((uint32_t)0x00000000) /*!< No effect */ -#define T32A_OCRCMPx1_SET ((uint32_t)0x00000004) /*!< Hi */ -#define T32A_OCRCMPx1_CLR ((uint32_t)0x00000008) /*!< Low */ -#define T32A_OCRCMPx1_INVERSION ((uint32_t)0x0000000C) /*!< inversion */ -/** - * @} - */ /* End of group T32A_OCRCMPx1 */ - -/** - * @defgroup T32A_OCRCMPx0 T32AxOUTA Control of T32AxRGx0 Counter Value - * @brief T32AxOUTA Control of T32AxRGx0 Counter Value OCRCMPx0 Macro Definition. - * @{ - */ -#define T32A_OCRCMPx0_DISABLE ((uint32_t)0x00000000) /*!< No effect */ -#define T32A_OCRCMPx0_SET ((uint32_t)0x00000001) /*!< Hi */ -#define T32A_OCRCMPx0_CLR ((uint32_t)0x00000002) /*!< Low */ -#define T32A_OCRCMPx0_INVERSION ((uint32_t)0x00000003) /*!< inversion */ -/** - * @} - */ /* End of group T32A_OCRCMPx0 */ - -/** - * @defgroup T32A_RGx0 T32A Timer Register x0 MASK - * @brief T32A Timer Register A0 MASK RGx0 Macro Definition. - * @{ - */ -#define T32A_RGx0_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_RGC0_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_RGx0 */ - -/** - * @defgroup T32A_RGx1 T32A Timer Register x1 MASK - * @brief T32A Timer Register A1 MASK RGx1 Macro Definition. - * @{ - */ -#define T32A_RGx1_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_RGC1_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_RGx0 */ - -/** - * @defgroup T32A_TMRx T32A Counter Capture Register x MASK - * @brief T32A Counter Capture Register x MASK TMRx Macro Definition. - * @{ - */ -#define T32A_TMRx_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_TMRC_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_TMRx */ - -/** - * @defgroup T32A_RELD T32A Counter Reload Register x MASK - * @brief T32A Counter Reload Register x MASK TMRx Macro Definition. - * @{ - */ -#define T32A_RELDx_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_RELDC_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_RELD */ - - /** - * @defgroup T32A_CAPMx1 T32A Capture Control Register x1 - * @brief Capture Control Register A1 CAPMx1 Macro Definition. - * @{ - */ -#define T32A_CAPMx1_DISABLE ((uint32_t)0x00000000) /*!< No use trigger */ -#define T32A_CAPMx1_INTRG ((uint32_t)0x00000010) /*!< internal trigger */ -#define T32A_CAPMx1_INx0_RISING_EDGE ((uint32_t)0x00000020) /*!< INx0 rising edge */ -#define T32A_CAPMx1_INx0_TRAILING_EDGE ((uint32_t)0x00000030) /*!< INx0 trailing edge */ -#define T32A_CAPMx1_INx1_RISING_EDGE ((uint32_t)0x00000040) /*!< INx1 rising edge */ -#define T32A_CAPMx1_INx1_TRAILING_EDGE ((uint32_t)0x00000050) /*!< INx1 trailing edge */ -#define T32A_CAPMx1_TIM_RISING_EDGE ((uint32_t)0x00000060) /*!< other timer rising edge */ -#define T32A_CAPMx1_TIM_TRAILING_EDGE ((uint32_t)0x00000070) /*!< other timer trailing edge */ -/** - * @} - */ /* End of group T32A_CAPMx1 */ - - /** - * @defgroup T32A_CAPMx0 T32A Capture Control Register x0 - * @brief Capture Control Register x0 CAPMx0 Macro Definition. - * @{ - */ -#define T32A_CAPMx0_DISABLE ((uint32_t)0x00000000) /*!< No use trigger */ -#define T32A_CAPMx0_INTRG ((uint32_t)0x00000001) /*!< internal trigger */ -#define T32A_CAPMx0_INx0_RISING_EDGE ((uint32_t)0x00000002) /*!< INx0 rising edge */ -#define T32A_CAPMx0_INx0_TRAILING_EDGE ((uint32_t)0x00000003) /*!< INx0 trailing edge */ -#define T32A_CAPMx0_INx1_RISING_EDGE ((uint32_t)0x00000004) /*!< INx1 rising edge */ -#define T32A_CAPMx0_INx1_TRAILING_EDGE ((uint32_t)0x00000005) /*!< INx1 trailing edge */ -#define T32A_CAPMx0_TIM_RISING_EDGE ((uint32_t)0x00000006) /*!< other timer rising edge */ -#define T32A_CAPMx0_TIM_TRAILING_EDGE ((uint32_t)0x00000007) /*!< other timer trailing edge */ -/** - * @} - */ /* End of group T32A_CAPMx0 */ - -/** - * @defgroup T32A_CAPx0 T32A Capture Register x0 MASK - * @brief T32A Capture Register x0 MASK CAPx0 Macro Definition. - * @{ - */ -#define T32A_CAPx0_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_CAPC0_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_CAPx0 */ - -/** - * @defgroup T32A_CAPx1 T32A Capture Register x1 MASK - * @brief T32A Capture Register x1 MASK CAPx1 Macro Definition. - * @{ - */ -#define T32A_CAPx1_MASK ((uint32_t)0x0000FFFF) /*!< register value mask */ -#define T32A_CAPC1_MASK ((uint32_t)0xFFFFFFFF) /*!< register value mask */ -/** - * @} - */ /* End of group T32A_CAPx1 */ - -/** - * @defgroup T32A_IMSTERR T32A Statuserr Interrupt Request MASK - * @brief T32A Statuserr Interrupt Request MASK IMSTERR Macro Definition. - * @{ - */ -#define T32A_IMSTERR_MASK_NOREQ ((uint32_t)0x00000000) -#define T32A_IMSTERR_MASK_REQ ((uint32_t)0x00000010) -/** - * @} - */ /* End of group T32A_IMSTERR */ - -/** - * @defgroup T32A_IMUFx T32A Underflow Interrupt Request MASK - * @brief T32A Underflow Interrupt Request MASK IMUFx Macro Definition. - * @{ - */ -#define T32A_IMUFx_MASK_NOREQ ((uint32_t)0x00000000) /*!< don't request */ -#define T32A_IMUFx_MASK_REQ ((uint32_t)0x00000008) /*!< request */ -/** - * @} - */ /* End of group T32A_IMUFx */ - -/** - * @defgroup T32A_IMOFx T32A Overflow Interrupt Request MASK - * @brief T32A Overflow Interrupt Request MASK IMOFx Macro Definition. - * @{ - */ -#define T32A_IMOFx_MASK_NOREQ ((uint32_t)0x00000000) /*!< don't request */ -#define T32A_IMOFx_MASK_REQ ((uint32_t)0x00000004) /*!< request */ -/** - * @} - */ /* End of group T32A_IMOFx */ - -/** - * @defgroup T32A_IMx1 T32A Match Up T32AxRGx1 Interrupt Request MASK - * @brief T32A Match Up T32AxRGx1 Interrupt Request MASK IMx1 Macro Definition. - * @{ - */ -#define T32A_IMx1_MASK_NOREQ ((uint32_t)0x00000000) /*!< don't request */ -#define T32A_IMx1_MASK_REQ ((uint32_t)0x00000002) /*!< request */ -/** - * @} - */ /* End of group T32A_IMx1 */ - -/** - * @defgroup T32A_IMx0 T32A Match Up T32AxRGx0 Interrupt Request MASK - * @brief T32A Match Up T32AxRGx0 Interrupt Request MASK IMx0 Macro Definition. - * @{ - */ -#define T32A_IMx0_MASK_NOREQ ((uint32_t)0x00000000) /*!< don't request */ -#define T32A_IMx0_MASK_REQ ((uint32_t)0x00000001) /*!< request */ -/** - * @} - */ /* End of group T32A_IMx0 */ - -/** - * @defgroup T32A_INTSTERR T32A_Statuerr Flag Status - * @brief T32A Statuserr Flag Status INTSTERR Macro Definition. - * @{ - */ -#define T32A_INTSTERR_FLG_MASK ((uint32_t)0x00000010) -#define T32A_INTSTERR_FLG_CLR ((uint32_t)0x00000010) -/** - * @} - */ /* End of group T32A_INTSTERR */ - -/** - * @defgroup T32A_INTUFA T32A Underflow Flag Status - * @brief T32A Underflow Flag Status INTUFA Macro Definition. - * @{ - */ -#define T32A_INTUFx_FLG_MASK ((uint32_t)0x00000008) /*!< Underflow Flag Mask */ -#define T32A_INTUFx_FLG_CLR ((uint32_t)0x00000008) /*!< Underflow Flag Clear */ -/** - * @} - */ /* End of group T32A_INTUFA */ - -/** - * @defgroup T32A_INTOFA T32A Overflow Flag Status - * @brief T32A Overflow Flag Status INTOFA Macro Definition. - * @{ - */ -#define T32A_INTOFx_FLG_MASK ((uint32_t)0x00000004) /*!< Overflow Flag Mask */ -#define T32A_INTOFx_FLG_CLR ((uint32_t)0x00000004) /*!< Overflow Flag Clear */ -/** - * @} - */ /* End of group T32A_INTOFA */ - -/** - * @defgroup T32A_INTA1 T32A Match Up T32AxRGx1 Flag Status - * @brief T32A Match Up T32AxRGx1 Flag Status INTA1 Macro Definition. - * @{ - */ -#define T32A_INTx1_FLG_MASK ((uint32_t)0x00000002) /*!< Match Up T32AxRGx1 Flag Mask */ -#define T32A_INTx1_FLG_CLR ((uint32_t)0x00000002) /*!< Match Up T32AxRGx1 Flag Clear */ -/** - * @} - */ /* End of group T32A_INTA1 */ - -/** - * @defgroup T32A_INTA0 T32A Match Up T32AxRGx0 Flag Status - * @brief T32A Match Up T32AxRGx0 Flag Status INTA0 Macro Definition. - * @{ - */ -#define T32A_INTx0_FLG_MASK ((uint32_t)0x00000001) /*!< Match Up T32AxRGx0 Flag Mask */ -#define T32A_INTx0_FLG_CLR ((uint32_t)0x00000001) /*!< Match Up T32AxRGx0 Flag Clear */ -/** - * @} - */ /* End of group T32A_INTA0 */ - -/** - * @defgroup T32A_DMAENx2 T32A DMA Converter1 Request control - * @brief T32A DMA Converter1 Disable/Enable DMAENx2 Macro Definition. - * @{ - */ -#define T32A_DMAENx2_DISABLE ((uint32_t)0x00000000) /*!< disable */ -#define T32A_DMAENx2_ENABLE ((uint32_t)0x00000004) /*!< enable */ -/** - * @} - */ /* End of group T32A_DMAENx2 */ - -/** - * @defgroup T32A_DMAENx1 T32A DMA InputCapture1 Request control - * @brief T32A DMA InputCapture1 Disable/Enable DMAENx1 Macro Definition. - * @{ - */ -#define T32A_DMAENx1_DISABLE ((uint32_t)0x00000000) /*!< disable */ -#define T32A_DMAENx1_ENABLE ((uint32_t)0x00000002) /*!< enable */ -/** - * @} - */ /* End of group T32A_DMAENx1 */ - -/** - * @defgroup T32A_DMAENx0 T32A DMA InputCapture0 Request control - * @brief T32A DMA InputCapture0 Disable/Enable DMAENx0 Macro Definition. - * @{ - */ -#define T32A_DMAENx0_DISABLE ((uint32_t)0x00000000) /*!< disable */ -#define T32A_DMAENx0_ENABLE ((uint32_t)0x00000001) /*!< enable */ -/** - * @} - */ /* End of group T32A_DMAENx0 */ - - /** - * @defgroup T32A_PDN T32A Pulse Mode Count Down Control - * @brief Pulse Mode Count Down Control PDN Macro Definition. - * @{ - */ -#define T32A_PDN_NON0 ((uint32_t)0x00000000) /*!< Do not count down */ -#define T32A_PDN_NON1 ((uint32_t)0x00001000) /*!< Do not count down */ -#define T32A_PDN_INC0_RISING_EDGE ((uint32_t)0x00002000) /*!< T32AxINC0 rising edge */ -#define T32A_PDN_INC0_TRAILING_EDGE ((uint32_t)0x00003000) /*!< T32AxINC0 trailing edge */ -#define T32A_PDN_INC1_RISING_EDGE ((uint32_t)0x00004000) /*!< T32AxINC1 rising edge */ -#define T32A_PDN_INC1_TRAILING_EDGE ((uint32_t)0x00005000) /*!< T32AxINC1 trailing edge */ -#define T32A_PDN_INC0_BOTH_EDGE ((uint32_t)0x00006000) /*!< T32AxINC0 rising edge/trailing edge */ -#define T32A_PDN_INC1_BOTH_EDGE ((uint32_t)0x00007000) /*!< T32AxINC1 rising edge/trailing edge */ -/** - * @} - */ /* End of group T32A_PDN */ - - /** - * @defgroup T32A_PUP T32A Pulse Mode Count UP Control - * @brief Pulse Mode Count UP Control PUP Macro Definition. - * @{ - */ -#define T32A_PUP_NON0 ((uint32_t)0x00000000) /*!< Do not count up */ -#define T32A_PUP_NON1 ((uint32_t)0x00000100) /*!< Do not count up */ -#define T32A_PUP_INC0_RISING_EDGE ((uint32_t)0x00000200) /*!< T32AxINC0 rising edge */ -#define T32A_PUP_INC0_TRAILING_EDGE ((uint32_t)0x00000300) /*!< T32AxINC0 trailing edge */ -#define T32A_PUP_INC1_RISING_EDGE ((uint32_t)0x00000400) /*!< T32AxINC1 rising edge */ -#define T32A_PUP_INC1_TRAILING_EDGE ((uint32_t)0x00000500) /*!< T32AxINC1 trailing edge */ -#define T32A_PUP_INC0_BOTH_EDGE ((uint32_t)0x00000600) /*!< T32AxINC0 rising edge/trailing edge */ -#define T32A_PUP_INC1_BOTH_EDGE ((uint32_t)0x00000700) /*!< T32AxINC1 rising edge/trailing edge */ -/** - * @} - */ /* End of group T32A_PUP */ - - /** - * @defgroup T32A_NF T32A Noise Filter control - * @brief Noise Filter control NF Macro Definition. - * @{ - */ -#define T32A_NF_NON ((uint32_t)0x00000000) /*!< Nothing */ -#define T32A_NF_2 ((uint32_t)0x00000010) /*!< Noise Filter less than 2/��T0 */ -#define T32A_NF_4 ((uint32_t)0x00000020) /*!< Noise Filter less than 4/��T0 */ -#define T32A_NF_8 ((uint32_t)0x00000030) /*!< Noise Filter less than 8/��T0 */ -/** - * @} - */ /* End of group T32A_NF */ - -/** - * @defgroup T32A_PDIR T32A Phase 2 Pulse Direction control - * @brief Phase 2 Pulse Direction control PDIR Macro Definition. - * @{ - */ -#define T32A_PDIR_FORWARD ((uint32_t)0x00000000) /*!< forward */ -#define T32A_PDIR_BACKWARD ((uint32_t)0x00000002) /*!< backward */ -/** - * @} - */ /* End of group T32A_PDIR */ - -/** - * @defgroup T32A_PMODE T32A Pulse Count Mode control - * @brief Pulse Count Mode control PDIR Macro Definition. - * @{ - */ -#define T32A_PMODE_PHASE_2 ((uint32_t)0x00000000) /*!< Phase 2 Pulse Counter Mode */ -#define T32A_PMODE_PHASE_1 ((uint32_t)0x00000001) /*!< Phase 1 Pulse Counter Mode */ -/** - * @} - */ /* End of group T32A_PMODE */ - -/** - * @} - */ /* End of group T32A_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** @defgroup T32A_Exported_Typedef T32A Exported Typedef - * @{ - */ - -/** - * @enum t32_type_t - * @brief Use of Timer register. - */ -typedef enum -{ - T32A_TIMERA = 0, /*!< 0: Timer A */ - T32A_TIMERB, /*!< 1: Timer B */ - T32A_TIMERC, /*!< 2: Timer C */ - T32A_TIMERMAX, -}t32_type_t; - -/** - * @enum t32_regnum_t - * @brief Use of Timer register number. - */ -typedef enum -{ - T32A_REG0 = 0, /*!< 0: Register 0 */ - T32A_REG1, /*!< 1: Register 1 */ - T32A_RELOAD, /*!< 2: Reload Register */ -}t32_regnum_t; -/** - * @enum t32_mode_t - * @brief Use of Timer register. - */ -typedef enum -{ - T32A_MATCH = 0, /*!< 0: compare match detection 0 */ - T32A_OVERFLOW, /*!< 1: Overfloe detection */ - T32A_UNDERFLOW, /*!< 2: Underflow detection */ - T32A_CAPTURE0, /*!< 3: Capture 0 */ - T32A_CAPTURE1, /*!< 4: Capture 0 */ -}t32_mode_t; - -/** - * @enum t32_triger_t - * @brief Use of Timer register. - */ -typedef enum -{ - T32A_INTRG = 0, /*!< 0: internal triger */ - T32A_TIM_RISING_EDGE, /*!< 1: Same Channel other timer rising edge */ - T32A_TIM_TRAILING_EDGE, /*!< 2: Same Channel other timer trailing edge */ - T32A_EXTTRG_RISING_EDGE, /*!< 3: external triger rising edge */ - T32A_EXTTRG_TRAILING_EDGE, /*!< 4: external triger trailing edge */ -}t32_triger_t; -/** - * @} - */ /* End of group T32A_Exported_Typedef */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup T32A_Exported_Typedef T32A Exported Typedef - * @{ - */ -/*----------------------------------*/ -/** - * @struct t32a_mode_t - * @brief TimerA Mode Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t halt; /*!< T32A Debug HALT Control. - : Use @ref T32A_HALT */ - uint32_t mode; /*!< T32A 16bit/32bit MODE . - : Use @ref T32A_MODE32 */ -} t32a_mode_t; - -/*----------------------------------*/ -/** - * @struct t32a_runx_t - * @brief TimerA Run Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t runflg; /*!< TimerA Run Control Flag. - : Use @ref T32A_RUNFLGx */ - uint32_t sftstp; /*!< SW Counter STOP Control. - : Use @ref T32A_SFTSTPx */ - uint32_t sftsta; /*!< SW Counter START Control. - : Use @ref T32A_SFTSTAx */ - uint32_t run; /*!< TimerA Run Control. - : Use @ref T32A_RUNx */ -} t32a_runx_t; - -/*----------------------------------*/ -/** - * @struct t32a_crx_t - * @brief Counter Register Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t prscl; /*!< T32A PRESCALER Control. - : Use @ref T32A_PRSCLx */ - uint32_t clk; /*!< T32A COLCK Control. - : Use @ref T32A_CLKx */ - uint32_t wbf; /*!< T32A Double Buffer Disable/Enable Control. - : Use @ref T32A_WBFx */ - uint32_t updn; /*!< T32A Counter Up/Down Control. - : Use @ref T32A_UPDNx */ - uint32_t reld; /*!< T32A Counter Reload Control. - : Use @ref T32A_RELDx */ - uint32_t stop; /*!< T32A Counter Stop Control. - : Use @ref T32A_STOPx */ - uint32_t start; /*!< T32A Counter Start Controlc. - : Use @ref T32A_STARTx */ -} t32a_crx_t; - -/*----------------------------------*/ -/** - * @struct t32a_outcrx0_t - * @brief TimerA Output Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t ocr; /*!< T32AxOUTA Control. - : Use @ref T32A_OCRx */ -} t32a_outcrx0_t; - -/*----------------------------------*/ -/** - * @struct t32a_outcrx1_t - * @brief T32AxOUTA Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t ocrcap1; /*!< T32AxOUTA Control of T32AxCAPx1 T32AxRGx1. - : Use @ref T32A_OCRCAPx1 */ - uint32_t ocrcap0; /*!< T32AxOUTA Control of T32AxCAPx0 T32AxRGx1. - : Use @ref T32A_OCRCAPx0 */ - uint32_t ocrcmp1; /*!< T32AxOUTA Control of T32AxRGx1 Counter Value - : Use @ref T32A_OCRCMPx1 */ - uint32_t ocrcmp0; /*!< T32AxOUTA Control of T32AxRGx0 Counter Value - : Use @ref T32A_OCRCMPx0 */ -} t32a_outcrx1_t; - -/*----------------------------------*/ -/** - * @struct t32a_capcrx_t - * @brief Capture Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t capmx1; /*!< T32A Capture Control Register x1. - : Use @ref T32A_CAPMx1 */ - uint32_t capmx0; /*!< T32A Capture Control Register A0. - : Use @ref T32A_CAPMx0 */ -} t32a_capcrx_t; - -/*----------------------------------*/ -/** - * @struct t32a_rgx0_t - * @brief T32A Timer Register x0 Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t rgx0; /*!< T32A Timer Register x0. - : Use @ref T32A_RGx0 */ -} t32a_rgx0_t; - -/*----------------------------------*/ -/** - * @struct t32a_rgx1_t - * @brief T32A Timer Register x1 Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t rgx1; /*!< T32A Timer Register x1. - : Use @ref T32A_RGx1 */ -} t32a_rgx1_t; - -/*----------------------------------*/ -/** - * @struct t32a_tmrx_t - * @brief T32A Counter Capture Register A Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t tmrx; /*!< T32A Counter Capture Register x. - : Use @ref T32A_TMRx */ -} t32a_tmrx_t; - -/*----------------------------------*/ -/** - * @struct t32a_reldx_t - * @brief T32A Counter Reload Register Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t reld; /*!< T32A Counter Reload Register. - : Use @ref T32A_RELD */ -} t32a_reldx_t; - -/*----------------------------------*/ -/** - * @struct t32a_capx0_t - * @brief T32A Capture Register x0 Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t capx0; /*!< T32A Capture Register x0. - : Use @ref T32A_CAPx0 */ -} t32a_capx0_t; - -/*----------------------------------*/ -/** - * @struct t32a_capx1_t - * @brief T32A Capture Register x0 Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t capx1; /*!< T32A Capture Register x1. - : Use @ref T32A_CAPx1 */ -} t32a_capx1_t; - -/*----------------------------------*/ -/** - * @struct t32a_imx_t - * @brief Interrupt mask register Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t imsterr; /*!< T32A State Transition Err Interrupt Request MASK (Only use Timer C). - : Use @ref T32A_IMSTERR */ - uint32_t imuf; /*!< T32A Underflow Interrupt Request MASK. - : Use @ref T32A_IMUFx */ - uint32_t imof; /*!< T32A Underflow Interrupt Request MASK. - : Use @ref T32A_IMOFx */ - uint32_t imx1; /*!< T32A Match Up T32AxRGx1 Interrupt Request MASK. - : Use @ref T32A_IMx1 */ - uint32_t imx0; /*!< T32A Match Up T32AxRGx0 Interrupt Request MASK. - : Use @ref T32A_IMx0 */ -} t32a_imx_t; - -/*----------------------------------*/ -/** - * @struct t32a_stx_t - * @brief Status register structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t intsterr; /*!< T32A State Transition Err Flag Status (Only use Timer C). - : Use @ref T32A_INTSTERR */ - uint32_t intuf; /*!< T32A Underflow Flag Status. - : Use @ref T32A_INTUFA */ - uint32_t intof; /*!< T32A Overflow Flag Status. - : Use @ref T32A_INTOFA */ - uint32_t intx1; /*!< T32A Match Up T32AxRGx1 Flag Status. - : Use @ref T32A_INTA1 */ - uint32_t intx0; /*!< T32A Match Up T32AxRGx0 Flag Status. - : Use @ref T32A_INTA0 */ -} t32a_stx_t; - -/*----------------------------------*/ -/** - * @struct t32a_dma_req_t - * @brief DMA Request register setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t dmaenx2; /*!< T32A DMA Converter1 Request control. - : Use @ref T32A_DMAENx2 */ - uint32_t dmaenx1; /*!< T32A DMA InputCapture1 Request control. - : Use @ref T32A_DMAENx1 */ - uint32_t dmaenx0; /*!< T32A DMA InputCapture0 Request control. - : Use @ref T32A_DMAENx0 */ -} t32a_dma_req_t; - -/*----------------------------------*/ -/** - * @struct t32a_pulse_cr_t - * @brief Pulse Count Control register setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t pdn; /*!< Pulse Mode Count Down Control. - : Use @ref T32A_PDN */ - uint32_t pup; /*!< Pulse Mode Count UP Control. - : Use @ref T32A_PUP */ - uint32_t nf; /*!< Noise Filter control. - : Use @ref T32A_NF */ - uint32_t pdir; /*!< Phase 2 Pulse Direction control. - : Use @ref T32A_PDIR */ - uint32_t pmode; /*!< Pulse Count Mode control. - : Use @ref T32A_PMODE */ -} t32a_pulse_cr_t; - -/** - * @struct t32a_initial_setting_t - * @brief Initial Timer setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t id; /*!< ID: User value. */ - t32a_runx_t runx; /*!< Timer Run Control Setting */ - t32a_crx_t crx; /*!< Counter Register Control Setting */ - t32a_outcrx0_t outcrx0; /*!< Timer Output Control Setting */ - t32a_outcrx1_t outcrx1; /*!< T32AxOUTx Control Setting */ - t32a_capcrx_t capcrx; /*!< Capture Control Setting */ - t32a_rgx0_t rgx0; /*!< T32A Timer Register x0 Setting */ - t32a_rgx1_t rgx1; /*!< T32A Timer Register x1 Setting */ - t32a_tmrx_t tmrx; /*!< T32A Counter Capture Register Setting */ - t32a_reldx_t reldx; /*!< T32A Counter Reload Register Setting */ - t32a_capx0_t capx0; /*!< T32A Capture Register x0 Setting */ - t32a_capx1_t capx1; /*!< T32A Capture Register x1 Setting */ - t32a_imx_t imx; /*!< Interrupt mask register Setting */ - t32a_dma_req_t dma_req; /*!< DMA Request register Setting */ - t32a_pulse_cr_t pls_cr; /*!< Pulse Count Control Register Setting (Only use Timer C) */ - void (*handler_T)(uint32_t id, uint32_t status, TXZ_Result result); /*!< Timer Event handler. */ - void (*handler_TC0)(uint32_t id, uint32_t status, TXZ_Result result); /*!< Timer Cap0 Event handler. */ - void (*handler_TC1)(uint32_t id, uint32_t status, TXZ_Result result); /*!< Timer Cap1 Event handler. */ -} t32a_initial_setting_t; - -/** - * @struct t32a_initial_mode_t - * @brief Initial Mode setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - t32a_mode_t mode; /*!< Timer Mode Setting */ -} t32a_initial_mode_t; - - -/*----------------------------------*/ -/** - * @brief T32A handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct t32a_handle -{ - TSB_T32A_TypeDef *p_instance; /*!< Registers base address. */ - t32a_initial_mode_t init_mode; /*!< Timer Mode Initial Setting */ - t32a_initial_setting_t init[T32A_TIMERMAX]; /*!< Initial setting. */ -}t32a_t; - -/** @} */ -/* End of group T32A_Exported_Types */ -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Exported_functions T32A Exported Functions - * @{ - */ -TXZ_Result t32a_mode_init(t32a_t *p_obj); -TXZ_Result t32a_timer_init(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_deinit(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_timer_stopIT(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_timer_startIT(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_SWcounter_start(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_SWcounter_stop(t32a_t *p_obj, uint32_t type); -TXZ_Result t32a_reg_set(t32a_t *p_obj, uint32_t type, uint32_t num, uint32_t value); -TXZ_Result t32a_tmr_read(t32a_t *p_obj, uint32_t type, uint32_t *p_val); -TXZ_Result t32a_get_status(t32a_t *p_obj, uint32_t *p_status, uint32_t type); -void t32a_timer_IRQHandler(t32a_t *p_obj); -void t32a_timer_cap0_IRQHandler(t32a_t *p_obj); -void t32a_timer_cap1_IRQHandler(t32a_t *p_obj); -TXZ_Result t32a_Calculator(uint32_t *p_value, uint32_t time, uint32_t prescaler, uint32_t prscl); -/** - * @} - */ /* End of group T32A_Exported_functions */ - -/** - * @} - */ /* End of group T32A */ - -/** - * @} - */ /* End of group Periph_Driver */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __T32A_H */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_tspi.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_tspi.h deleted file mode 100644 index 1f422aa07d1..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_tspi.h +++ /dev/null @@ -1,1322 +0,0 @@ -/** - ******************************************************************************* - * @file txz_tspi.h - * @brief This file provides all the functions prototypes for TSPI driver. - * @version V1.0.0.3 - * $Date:: 2018-02-28 13:37:55 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __TSPI_H -#define __TSPI_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup TSPI TSPI - * @brief TSPI Driver. - * @{ - */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Exported_define TSPI Exported Define - * @{ - */ -/** - * @defgroup TSPI_NullPointer Null Pointer - * @brief Null Pointer. - * @{ - */ -#define TSPI_NULL ((void *)0) -/** - * @} - */ /* End of group TSPI_NullPointer */ - -/** - * @defgroup TSPI_ParameterResult Parameter Check Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define TSPI_PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define TSPI_PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of group TSPI_ParameterResult */ - - -/** - * @defgroup TSPI_Result Result - * @brief TSPI Result Macro Definition. - * @{ - */ -#define TSPI_RESULT_SUCCESS (0) /*!< Success */ -#define TSPI_RESULT_FAILURE (-1) /*!< Failure */ -/** - * @} - */ /* End of group TSPI_Result */ - -/** - * @defgroup TSPI_SW_Reset SW Reset - * @brief Software Rest Macro Definition. - * @{ - */ -#define TSPI_RESET10 ((uint32_t)0x00000080) /*!< RESET Pattarn 10 */ -#define TSPI_RESET01 ((uint32_t)0x00000040) /*!< RESET Pattarn 01 */ -/** - * @} - */ /* End of group TSPI_SW_Reset */ - - -/** - * @defgroup TSPI_Enable TSPI Enable/Disable Control - * @brief Enable/Disable TSPIE Macro Definition. - * @{ - */ -#define TSPI_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_ENABLE ((uint32_t)0x00000001) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_Enable */ - -/** - * @defgroup TSPI_Triger_Control Triger Control - * @brief Enable/Disable TRGEN Macro Definition. - * @{ - */ -#define TSPI_TRGEN_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TRGEN_ENABLE ((uint32_t)0x00008000) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_Transmission_Control */ - -/** - * @defgroup TSPI_Transmission_Control Transmission Control - * @brief Enable/Disable TRXE Macro Definition. - * @{ - */ -#define TSPI_TRXE_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TRXE_ENABLE ((uint32_t)0x00004000) /*!< Enable */ -#define TSPI_TRXE_DISABLE_MASK ((uint32_t)0xFFFFBFFF) /*!< Disable MASK*/ -/** - * @} - */ /* End of group TSPI_Transmission_Control */ - -/** - * @defgroup TSPI_Transmission_Mode Transmission Mode - * @brief TSPIIMS Mode Macro Definisiton. - * @{ - */ -#define TSPI_SPI_MODE ((uint32_t)0x00000000) /*!< TSPI MODE */ -#define TSPI_SIO_MODE ((uint32_t)0x00002000) /*!< SIO MODE */ -/** - * @} - */ /* End of group TSPI_Transmission_Mode */ - - -/** - * @defgroup TSPI_Operation_Select Operation Select - * @brief Master/Slave MSTR Operation Macro Definisiton. - * @{ - */ -#define TSPI_MASTER_OPEARTION ((uint32_t)0x00001000) /*!< MASTER MODE */ -#define TSPI_SLAVE_OPERATION ((uint32_t)0x00000000) /*!< SLAVE MODE */ -/** - * @} - */ /* End of group TSPI_Operation_Select */ - - -/** - * @defgroup TSPI_Transfer_Mode Transfer Mode - * @brief Transfer Mode TMMD Macro Definisiton. - * @{ - */ -#define TSPI_TX_ONLY ((uint32_t)0x00000400) /*!< SEND ONLY */ -#define TSPI_RX_ONLY ((uint32_t)0x00000800) /*!< RECEIVE ONLY */ -#define TSPI_TWO_WAY ((uint32_t)0x00000C00) /*!< TWO WAY */ -#define TSPI_Transfer_Mode_MASK ((uint32_t)0x00000C00) /*!< Transfer Mode bit MASK */ -/** - * @} - */ /* End of group TSPI_Transfer_Mode */ - - -/** - * @defgroup TSPI_CSSEL_Select CSSEL Select - * @brief TSPIIxCS0/1/2/3 Select Macro Definisiton. - * @{ - */ -#define TSPI_TSPIxCS0_ENABLE ((uint32_t)0x00000000) /*!< TSPIIxCS0 */ -#define TSPI_TSPIxCS1_ENABLE ((uint32_t)0x00000100) /*!< TSPIIxCS1 */ -#define TSPI_TSPIxCS2_ENABLE ((uint32_t)0x00000200) /*!< TSPIIxCS2 */ -#define TSPI_TSPIxCS3_ENABLE ((uint32_t)0x00000300) /*!< TSPIIxCS3 */ -/** - * @} - */ /* End of group TSPI_CSSEL_Select */ - -/** - * @defgroup TSPI_Transfer_Frame_Range Transfer Frame Range - * @brief Transfer Frame Range Macro Definisiton. - * @{ - */ -#define TSPI_TRANS_RANGE_SINGLE ((uint32_t)0x00000000) /*!< Single Transfer Frame :0 */ -#define TSPI_TRANS_RANGE_MAX ((uint32_t)0x000000FF) /*!< Maximum Transfer Frame Value :=255 */ -/** - * @} - */ /* End of group TSPI_Transfer_Frame_Range */ -/** - * @defgroup TSPI_IDLE_Output_value IDLE Output Value - * @brief IDLE time Output Value TIDLE Macro Definisiton. - * @{ - */ -#define TSPI_TIDLE_Hiz ((uint32_t)0x00000000) /*!< Hi-z */ -#define TSPI_TIDLE_LAST_DATA ((uint32_t)0x00400000) /*!< Last DATA */ -#define TSPI_TIDLE_LOW ((uint32_t)0x00800000) /*!< Low */ -#define TSPI_TIDLE_HI ((uint32_t)0x00C00000) /*!< Hi */ -/** - * @} - */ /* End of group TSPI_IDLE_Output_value */ - -/** - * @defgroup TSPI_RXDLY_value RXDLY Value - * @brief IDLE time Output Value TIDLE Macro Definisiton. - * @{ - */ -#define TSPI_RXDLY_SET ((uint32_t)0x00010000) /*!< RXDLY SET */ -/** - * @} - */ /* End of group TSPI_RXDLY_value*/ - - - /** - * @defgroup TSPI_Underrun_Output_value Underrun Occur Output Value - * @brief In case of Under Run Output Value TXDEMP Macro Definisiton. - * @{ - */ -#define TSPI_TXDEMP_LOW ((uint32_t)0x00000000) /*!< Low */ -#define TSPI_TXDEMP_HI ((uint32_t)0x00200000) /*!< Hi */ -/** - * @} - */ /* End of group TSPI_Underrun_Output_value */ - - -/** - * @defgroup TSPI_TxFillLevel Tx Fill Level - * @brief Transmit Fill Level Macro Definisiton. - * @{ - */ -#define TSPI_TX_FILL_LEVEL_0 ((uint32_t)0x00000000) /*!< 0 */ -#define TSPI_TX_FILL_LEVEL_1 ((uint32_t)0x00001000) /*!< 1 */ -#define TSPI_TX_FILL_LEVEL_2 ((uint32_t)0x00002000) /*!< 2 */ -#define TSPI_TX_FILL_LEVEL_3 ((uint32_t)0x00003000) /*!< 3 */ -#define TSPI_TX_FILL_LEVEL_4 ((uint32_t)0x00004000) /*!< 4 */ -#define TSPI_TX_FILL_LEVEL_5 ((uint32_t)0x00005000) /*!< 5 */ -#define TSPI_TX_FILL_LEVEL_6 ((uint32_t)0x00006000) /*!< 6 */ -#define TSPI_TX_FILL_LEVEL_7 ((uint32_t)0x00007000) /*!< 7 */ -#define TSPI_TX_FILL_LEVEL_MASK ((uint32_t)0x00007000) /*!< MASK */ -/*! - * @} - */ /* End of group TSPI_TxFillLevel */ - - -/** - * @defgroup TSPI_RxFillLevel Rx Fill Level - * @brief Receive Fill Level Macro Definisiton. - * @{ - */ -#define TSPI_RX_FILL_LEVEL_0 ((uint32_t)0x00000000) /*!< 8 */ -#define TSPI_RX_FILL_LEVEL_1 ((uint32_t)0x00000100) /*!< 1 */ -#define TSPI_RX_FILL_LEVEL_2 ((uint32_t)0x00000200) /*!< 2 */ -#define TSPI_RX_FILL_LEVEL_3 ((uint32_t)0x00000300) /*!< 3 */ -#define TSPI_RX_FILL_LEVEL_4 ((uint32_t)0x00000400) /*!< 4 */ -#define TSPI_RX_FILL_LEVEL_5 ((uint32_t)0x00000500) /*!< 5 */ -#define TSPI_RX_FILL_LEVEL_6 ((uint32_t)0x00000600) /*!< 6 */ -#define TSPI_RX_FILL_LEVEL_7 ((uint32_t)0x00000700) /*!< 7 */ -#define TSPI_RX_FILL_LEVEL_MASK ((uint32_t)0x00000700) /*!< MASK */ -/** - * @} - */ /* End of group TSPI_RxFillLevel */ - - -/** - * @defgroup TSPI_TxFIFOInterrupt Tx FIFO Interrpt - * @brief Enable/Disable Transmit FIFO Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_TX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TX_FIFO_INT_ENABLE ((uint32_t)0x00000080) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_TxFIFOInterrupt */ - - -/** - * @defgroup TSPI_TxInterrupt Tx Interrpt - * @brief Enable/Disable Transmit Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_TX_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TX_INT_ENABLE ((uint32_t)0x00000040) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_TxInterrupt */ - - -/** - * @defgroup TSPI_RxFIFOInterrupt Rx FIFO Interrpt - * @brief Enable/Disable Receive FIFO Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_RX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_RX_FIFO_INT_ENABLE ((uint32_t)0x00000020) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_RxFIFOInterrupt */ - - -/** - * @defgroup TSPI_RxInterrupt Rx Interrpt - * @brief Enable/Disable Receive Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_RX_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_RX_INT_ENABLE ((uint32_t)0x00000010) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_RxInterrupt */ - - -/** - * @defgroup TSPI_ErrorInterrupt Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_ERR_INT_ENABLE ((uint32_t)0x00000004) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_ErrorInterrupt */ - - -/** - * @defgroup TSPI_TxDMAInterrupt Tx DMA Interrupt - * @brief Enable/Disable Transmit DMA Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_TX_DMA_INT_MASK ((uint32_t)0x00000002) /*!< Mask Data */ -#define TSPI_TX_DMA_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TX_DMA_INT_ENABLE ((uint32_t)0x00000002) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_TxDMAInterrupt */ - - -/** - * @defgroup TSPI_RxDMAInterrupt Rx DMA Interrupt - * @brief Enable/Disable Receive DMA Interrupt Macro Definisiton. - * @{ - */ -#define TSPI_RX_DMA_INT_MASK ((uint32_t)0x00000001) /*!< Mask Data */ -#define TSPI_RX_DMA_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_RX_DMA_INT_ENABLE ((uint32_t)0x00000001) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_RxDMAInterrupt */ - - -/** - * @defgroup TSPI_Tx_Buffer_Clear Tx Buffer Clear - * @brief Tx Buffer Clear Macro Definisiton. - * @{ - */ -#define TSPI_TX_BUFF_CLR_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_TX_BUFF_CLR_DONE ((uint32_t)0x00000002) /*!< Clear */ -/** - * @} - */ /* End of group TSPI_Tx_Buffer_Clear */ - - -/** - * @defgroup TSPI_Rx_Buffer_Clear Rx Buffer Clear - * @brief Rx Buffer Clear Macro Definisiton. - * @{ - */ -#define TSPI_RX_BUFF_CLR_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_RX_BUFF_CLR_DONE ((uint32_t)0x00000001) /*!< Clear */ -/** - * @} - */ /* End of group TSPI_Rx_Buffer_Clear */ - - -/** - * @defgroup TSPI_Baudrate_Clock Baudrate Input Clock - * @brief Baudrate Input Clock Macro Definisiton. - * @{ - */ -#define TSPI_BR_CLOCK_0 ((uint32_t)0x00000000) /*!< T0 */ -#define TSPI_BR_CLOCK_1 ((uint32_t)0x00000010) /*!< T1 */ -#define TSPI_BR_CLOCK_2 ((uint32_t)0x00000020) /*!< T2 */ -#define TSPI_BR_CLOCK_4 ((uint32_t)0x00000030) /*!< T4 */ -#define TSPI_BR_CLOCK_8 ((uint32_t)0x00000040) /*!< T8 */ -#define TSPI_BR_CLOCK_16 ((uint32_t)0x00000050) /*!< T16 */ -#define TSPI_BR_CLOCK_32 ((uint32_t)0x00000060) /*!< T32 */ -#define TSPI_BR_CLOCK_64 ((uint32_t)0x00000070) /*!< T64 */ -#define TSPI_BR_CLOCK_128 ((uint32_t)0x00000080) /*!< T128 */ -#define TSPI_BR_CLOCK_256 ((uint32_t)0x00000090) /*!< T256 */ -/** - * @} - */ /* End of group TSPI_Baudrate_Clock */ - - -/** - * @defgroup TSPI_Baudrate_Divider Baudrate Divider - * @brief Baudrate IDivider Macro Definisiton. - * @{ - */ -#define TSPI_BR_DIVIDER_16 ((uint32_t)0x00000000) /*!< 1/16 */ -#define TSPI_BR_DIVIDER_1 ((uint32_t)0x00000001) /*!< 1/1 */ -#define TSPI_BR_DIVIDER_2 ((uint32_t)0x00000002) /*!< 1/2 */ -#define TSPI_BR_DIVIDER_3 ((uint32_t)0x00000003) /*!< 1/3 */ -#define TSPI_BR_DIVIDER_4 ((uint32_t)0x00000004) /*!< 1/4 */ -#define TSPI_BR_DIVIDER_5 ((uint32_t)0x00000005) /*!< 1/5 */ -#define TSPI_BR_DIVIDER_6 ((uint32_t)0x00000006) /*!< 1/6 */ -#define TSPI_BR_DIVIDER_7 ((uint32_t)0x00000007) /*!< 1/7 */ -#define TSPI_BR_DIVIDER_8 ((uint32_t)0x00000008) /*!< 1/8 */ -#define TSPI_BR_DIVIDER_9 ((uint32_t)0x00000009) /*!< 1/9 */ -#define TSPI_BR_DIVIDER_10 ((uint32_t)0x0000000a) /*!< 1/10 */ -#define TSPI_BR_DIVIDER_11 ((uint32_t)0x0000000b) /*!< 1/11 */ -#define TSPI_BR_DIVIDER_12 ((uint32_t)0x0000000c) /*!< 1/12 */ -#define TSPI_BR_DIVIDER_13 ((uint32_t)0x0000000d) /*!< 1/13 */ -#define TSPI_BR_DIVIDER_14 ((uint32_t)0x0000000e) /*!< 1/14 */ -#define TSPI_BR_DIVIDER_15 ((uint32_t)0x0000000f) /*!< 1/15 */ -/** - * @} - */ /* End of group TSPI_Baudrate_Divider */ - - -/** - * @defgroup TSPI_DataDirection Data Direction - * @brief Data Direction Macro Definisiton. - * @{ - */ -#define TSPI_DATA_DIRECTION_LSB ((uint32_t)0x00000000) /*!< LSB first */ -#define TSPI_DATA_DIRECTION_MSB ((uint32_t)0x80000000) /*!< MSB first */ -/*! - * @} - */ /* End of group TSPI_DataDirection */ - - -/** - * @defgroup TSPI_DataLength Data Length - * @brief Data Length Macro Definisiton. - * @{ - */ -#define TSPI_DATA_LENGTH_8 ((uint32_t)0x08000000) /*!< 8 bit */ -#define TSPI_DATA_LENGTH_9 ((uint32_t)0x09000000) /*!< 9 bit */ -#define TSPI_DATA_LENGTH_10 ((uint32_t)0x0a000000) /*!< 10 bit */ -#define TSPI_DATA_LENGTH_11 ((uint32_t)0x0b000000) /*!< 11 bit */ -#define TSPI_DATA_LENGTH_12 ((uint32_t)0x0c000000) /*!< 12 bit */ -#define TSPI_DATA_LENGTH_13 ((uint32_t)0x0d000000) /*!< 13 bit */ -#define TSPI_DATA_LENGTH_14 ((uint32_t)0x0e000000) /*!< 14 bit */ -#define TSPI_DATA_LENGTH_15 ((uint32_t)0x0f000000) /*!< 15 bit */ -#define TSPI_DATA_LENGTH_16 ((uint32_t)0x10000000) /*!< 16 bit */ -#define TSPI_DATA_LENGTH_17 ((uint32_t)0x11000000) /*!< 17 bit */ -#define TSPI_DATA_LENGTH_18 ((uint32_t)0x12000000) /*!< 18 bit */ -#define TSPI_DATA_LENGTH_19 ((uint32_t)0x13000000) /*!< 19 bit */ -#define TSPI_DATA_LENGTH_20 ((uint32_t)0x14000000) /*!< 20 bit */ -#define TSPI_DATA_LENGTH_21 ((uint32_t)0x15000000) /*!< 21 bit */ -#define TSPI_DATA_LENGTH_22 ((uint32_t)0x16000000) /*!< 22 bit */ -#define TSPI_DATA_LENGTH_23 ((uint32_t)0x17000000) /*!< 23 bit */ -#define TSPI_DATA_LENGTH_24 ((uint32_t)0x18000000) /*!< 24 bit */ -#define TSPI_DATA_LENGTH_25 ((uint32_t)0x19000000) /*!< 25 bit */ -#define TSPI_DATA_LENGTH_26 ((uint32_t)0x1a000000) /*!< 26 bit */ -#define TSPI_DATA_LENGTH_27 ((uint32_t)0x1b000000) /*!< 27 bit */ -#define TSPI_DATA_LENGTH_28 ((uint32_t)0x1c000000) /*!< 28 bit */ -#define TSPI_DATA_LENGTH_29 ((uint32_t)0x1d000000) /*!< 29 bit */ -#define TSPI_DATA_LENGTH_30 ((uint32_t)0x1e000000) /*!< 30 bit */ -#define TSPI_DATA_LENGTH_31 ((uint32_t)0x1f000000) /*!< 31 bit */ -#define TSPI_DATA_LENGTH_32 ((uint32_t)0x20000000) /*!< 32 bit */ -#define TSPI_DATA_LENGTH_MASK ((uint32_t)0x3F000000) /*!< 32 bit */ -/** - * @} - */ /* End of group TSPI_DataLength */ - - -/** - * @defgroup TSPI_Frame_Interval_Time Frame Interval time - * @brief Frame Interval time Macro Definisiton. - * @{ - */ -#define TSPI_INTERVAL_TIME_0 ((uint32_t)0x00000000) /*!< 0 */ -#define TSPI_INTERVAL_TIME_1 ((uint32_t)0x00100000) /*!< 1 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_2 ((uint32_t)0x00200000) /*!< 2 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_3 ((uint32_t)0x00300000) /*!< 3 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_4 ((uint32_t)0x00400000) /*!< 4 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_5 ((uint32_t)0x00500000) /*!< 5 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_6 ((uint32_t)0x00600000) /*!< 6 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_7 ((uint32_t)0x00700000) /*!< 7 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_8 ((uint32_t)0x00800000) /*!< 8 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_9 ((uint32_t)0x00900000) /*!< 9 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_10 ((uint32_t)0x00a00000) /*!< 10 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_11 ((uint32_t)0x00b00000) /*!< 11 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_12 ((uint32_t)0x00c00000) /*!< 12 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_13 ((uint32_t)0x00d00000) /*!< 13 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_14 ((uint32_t)0x00e00000) /*!< 14 x TSPIIxSCK */ -#define TSPI_INTERVAL_TIME_15 ((uint32_t)0x00f00000) /*!< 15 x TSPIIxSCK */ -/** - * @} - */ /* End of group TSPI_Frame_Interval_Time */ - - -/** - * @defgroup TSPI_TSPIxCS3_Polarity TSPIxCS3 Polarity - * @brief TSPIxCS3 Polarity Macro Definisiton. - * @{ - */ -#define TSPI_TSPIxCS3_NEGATIVE ((uint32_t)0x00000000) /*!< negative logic */ -#define TSPI_TSPIxCS3_POSITIVE ((uint32_t)0x00080000) /*!< positive logic */ -/** - * @} - */ /* End of group TSPI_TSPIxCS3_Polarity */ - - -/** - * @defgroup TSPI_TSPIxCS2_Polarity TSPIxCS2 Polarity - * @brief TSPIxCS2 Polarity Macro Definisiton. - * @{ - */ -#define TSPI_TSPIxCS2_NEGATIVE ((uint32_t)0x00000000) /*!< negative logic */ -#define TSPI_TSPIxCS2_POSITIVE ((uint32_t)0x00040000) /*!< positive logic */ -/** - * @} - */ /* End of group TSPI_TSPIxCS2_Polarity */ - - -/** - * @defgroup TSPI_TSPIxCS1_Polarity TSPIxCS1 Polarity - * @brief TSPIxCS1 Polarity Macro Definisiton. - * @{ - */ -#define TSPI_TSPIxCS1_NEGATIVE ((uint32_t)0x00000000) /*!< negative logic */ -#define TSPI_TSPIxCS1_POSITIVE ((uint32_t)0x00020000) /*!< positive logic */ -/** - * @} - */ /* End of group TSPI_TSPIxCS1_Polarity */ - - -/** - * @defgroup TSPI_TSPIxCS0_Polarity TSPIxCS0 Polarity - * @brief TSPIxCS0 Polarity Macro Definisiton. - * @{ - */ -#define TSPI_TSPIxCS0_NEGATIVE ((uint32_t)0x00000000) /*!< negative logic */ -#define TSPI_TSPIxCS0_POSITIVE ((uint32_t)0x00010000) /*!< positive logic */ -/** - * @} - */ /* End of group TSPI_TSPIxCS0_Polarity */ - - -/** - * @defgroup TSPI_Serial_Clock_Polarity Serial Clock Polarity - * @brief Serial Clock Polarity Macro Definisiton. - * @{ - */ -#define TSPI_SERIAL_CK_1ST_EDGE ((uint32_t)0x00000000) /*!< 1st Edge Sampling */ -#define TSPI_SERIAL_CK_2ND_EDGE ((uint32_t)0x00008000) /*!< 2nd Edge Sampling */ -/** - * @} - */ /* End of group Serial Clock Polarity */ - - -/** - * @defgroup TSPI_Serial_Clock_IDLE_Polarity Serial Clock IDLE Polarity - * @brief Serial Clock IDLE Polarity Macro Definisiton. - * @{ - */ -#define TSPI_SERIAL_CK_IDLE_LOW ((uint32_t)0x00000000) /*!< IDLE Term TSPII??SCK LOW */ -#define TSPI_SERIAL_CK_IDLE_HI ((uint32_t)0x00004000) /*!< IDLE Term TSPII??SCK HI */ -/** - * @} - */ /* End of group TSPI_Serial_Clock_IDLE_Polarity */ - - -/** - * @defgroup TSPI_Minimum_IDLE_Time Minimum IDLE Time - * @brief Minimum IDLE Time Macro Definisiton. - * @{ - */ -#define TSPI_MIN_IDLE_TIME_1 ((uint32_t)0x00000400) /*!< 1 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_2 ((uint32_t)0x00000800) /*!< 2 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_3 ((uint32_t)0x00000c00) /*!< 3 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_4 ((uint32_t)0x00001000) /*!< 4 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_5 ((uint32_t)0x00001400) /*!< 5 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_6 ((uint32_t)0x00001800) /*!< 6 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_7 ((uint32_t)0x00001c00) /*!< 7 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_8 ((uint32_t)0x00002000) /*!< 8 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_9 ((uint32_t)0x00002400) /*!< 9 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_10 ((uint32_t)0x00002800) /*!< 10 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_11 ((uint32_t)0x00002C00) /*!< 11 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_12 ((uint32_t)0x00003000) /*!< 12 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_13 ((uint32_t)0x00003400) /*!< 13 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_14 ((uint32_t)0x00003800) /*!< 14 x TSPIIxSCK */ -#define TSPI_MIN_IDLE_TIME_15 ((uint32_t)0x00003C00) /*!< 15 x TSPIIxSCK */ -/** - * @} - */ /* End of group TSPI_Minimum_IDLE_Time */ - - -/** - * @defgroup TSPI_Serial_Clock_Delay Serial Clock Delay - * @brief Serial Clock Delay Macro Definisiton. - * @{ - */ -#define TSPI_SERIAL_CK_DELAY_1 ((uint32_t)0x00000000) /*!< 1 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_2 ((uint32_t)0x00000010) /*!< 2 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_3 ((uint32_t)0x00000020) /*!< 3 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_4 ((uint32_t)0x00000030) /*!< 4 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_5 ((uint32_t)0x00000040) /*!< 5 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_6 ((uint32_t)0x00000050) /*!< 6 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_7 ((uint32_t)0x00000060) /*!< 7 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_8 ((uint32_t)0x00000070) /*!< 8 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_9 ((uint32_t)0x00000080) /*!< 9 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_10 ((uint32_t)0x00000090) /*!< 10 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_11 ((uint32_t)0x000000a0) /*!< 11 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_12 ((uint32_t)0x000000b0) /*!< 12 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_13 ((uint32_t)0x000000c0) /*!< 13 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_14 ((uint32_t)0x000000d0) /*!< 14 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_15 ((uint32_t)0x000000e0) /*!< 15 x TSPIIxSCK */ -#define TSPI_SERIAL_CK_DELAY_16 ((uint32_t)0x000000f0) /*!< 16 x TSPIIxSCK */ -/** - * @} - */ /* End of group TSPI_Serial_Clock_Delay */ - - -/** - * @defgroup TSPI_Negate_Delay Negate Delay - * @brief Negate Delay Macro Definisiton. - * @{ - */ -#define TSPI_NEGATE_1 ((uint32_t)0x00000000) /*!< 1 x TSPIIxSCK */ -#define TSPI_NEGATE_2 ((uint32_t)0x00000001) /*!< 2 x TSPIIxSCK */ -#define TSPI_NEGATE_3 ((uint32_t)0x00000002) /*!< 3 x TSPIIxSCK */ -#define TSPI_NEGATE_4 ((uint32_t)0x00000003) /*!< 4 x TSPIIxSCK */ -#define TSPI_NEGATE_5 ((uint32_t)0x00000004) /*!< 5 x TSPIIxSCK */ -#define TSPI_NEGATE_6 ((uint32_t)0x00000005) /*!< 6 x TSPIIxSCK */ -#define TSPI_NEGATE_7 ((uint32_t)0x00000006) /*!< 7 x TSPIIxSCK */ -#define TSPI_NEGATE_8 ((uint32_t)0x00000007) /*!< 8 x TSPIIxSCK */ -#define TSPI_NEGATE_9 ((uint32_t)0x00000008) /*!< 9 x TSPIIxSCK */ -#define TSPI_NEGATE_10 ((uint32_t)0x00000009) /*!< 10 x TSPIIxSCK */ -#define TSPI_NEGATE_11 ((uint32_t)0x0000000a) /*!< 11 x TSPIIxSCK */ -#define TSPI_NEGATE_12 ((uint32_t)0x0000000b) /*!< 12 x TSPIIxSCK */ -#define TSPI_NEGATE_13 ((uint32_t)0x0000000c) /*!< 13 x TSPIIxSCK */ -#define TSPI_NEGATE_14 ((uint32_t)0x0000000d) /*!< 14 x TSPIIxSCK */ -#define TSPI_NEGATE_15 ((uint32_t)0x0000000e) /*!< 15 x TSPIIxSCK */ -#define TSPI_NEGATE_16 ((uint32_t)0x0000000f) /*!< 16 x TSPIIxSCK */ -/** - * @} - */ /* End of group TSPI_Negate_Delay */ - - -/** - * @defgroup TSPI_ParityEnable Parity Enable - * @brief Enable/Disable Parity Macro Definisiton. - * @{ - */ -#define TSPI_PARITY_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define TSPI_PARITY_ENABLE ((uint32_t)0x00000002) /*!< Enable */ -/** - * @} - */ /* End of group TSPI_ParityEnable */ - - -/** - * @defgroup TSPI_ParityBit Parity Bit - * @brief Parity Bit Macro Definisiton. - * @{ - */ -#define TSPI_PARITY_BIT_ODD ((uint32_t)0x00000000) /*!< Odd Parity */ -#define TSPI_PARITY_BIT_EVEN ((uint32_t)0x00000001) /*!< Even Parity */ -/** - * @} - */ /* End of group TSPI_ParityBit */ - - -/** - * @defgroup TSPI_Status_Setting_flag Status Setting Flag - * @brief Enable/Disable Status Setting Flag Macro Definisiton. - * @{ - */ -#define TSPI_STATUS_SETTING_ENABLE ((uint32_t)0x00000000) /*!< Setting Enable */ -#define TSPI_STATUS_SETTING_DISABLE ((uint32_t)0x80000000) /*!< Setting Disable */ -/** - * @} - */ /* End of group TSPI_Status_Setting_flag */ - - -/** - * @defgroup TSPI_TxState Transmitting State Flag - * @brief Transmitting State Flag Macro Definisiton. - * @{ - */ -#define TSPI_TX_FLAG_STOP ((uint32_t)0x00000000) /*!< Not Sending Data */ -#define TSPI_TX_FLAG_ACTIVE ((uint32_t)0x00800000) /*!< Active Sending Data */ -#define TSPI_TX_FLAG_MASK ((uint32_t)0x00800000) /*!< Active Flag Mask */ -/** - * @} - */ /* End of group TSPI_TxState */ - - -/** - * @defgroup TSPI_TxDone Transmitting Complete Flag - * @brief Transmitting Complete Flag Macro Definisiton. - * @{ - */ -#define TSPI_TX_DONE_FLAG ((uint32_t)0x00400000) /*!< Send Data Complete Flag */ -#define TSPI_TX_DONE ((uint32_t)0x00400000) /*!< Send Data Complete */ -#define TSPI_TX_DONE_CLR ((uint32_t)0x00400000) /*!< Send Data Complete Flag Clear */ -/** - * @} - */ /* End of group TSPI_TxDone */ - - -/** - * @defgroup TSPI_TxFIFOInterruptFlag Transmitting FIFO Interrpt Flag - * @brief Transmitting FIFO Interrpt Flag Macro Definisiton. - * @{ - */ -#define TSPI_TX_FIFO_INT_STOP ((uint32_t)0x00000000) /*!< Not active Interrupt */ -#define TSPI_TX_FIFO_INT_ACTIVE ((uint32_t)0x00200000) /*!< Active Interrupt */ -#define TSPI_TX_FIFO_INT_CLR ((uint32_t)0x00200000) /*!< Interrupt Flag Clear */ -/** - * @} - */ /* End of group TSPI_TxFIFOInterruptFlag */ - -/** - * @defgroup TSPI_TxFIFOEmptyFlag Transmitting FIFO Empty Flag - * @brief Transmitting FIFO Empty Flag Macro Definisiton. - * @{ - */ -#define TSPI_TX_FIFO_NOT_EMP ((uint32_t)0x00000000) /*!< Remain Data in FIFO */ -#define TSPI_TX_FIFO_EMP ((uint32_t)0x00100000) /*!< FIFO is empty */ -/** - * @} - */ /* End of group TSPI_TxFIFOEmptyFlag */ - -/** - * @defgroup TSPI_TxReachFillLevel Current Transmitting FIFO Level - * @brief Current Transmitting FIFO Level Macro Definisiton. - * @{ - */ -#define TSPI_TX_REACH_FILL_LEVEL_0 ((uint32_t)0x00000000) /*!< 0 */ -#define TSPI_TX_REACH_FILL_LEVEL_1 ((uint32_t)0x00010000) /*!< 1 */ -#define TSPI_TX_REACH_FILL_LEVEL_2 ((uint32_t)0x00020000) /*!< 2 */ -#define TSPI_TX_REACH_FILL_LEVEL_3 ((uint32_t)0x00030000) /*!< 3 */ -#define TSPI_TX_REACH_FILL_LEVEL_4 ((uint32_t)0x00040000) /*!< 4 */ -#define TSPI_TX_REACH_FILL_LEVEL_5 ((uint32_t)0x00050000) /*!< 5 */ -#define TSPI_TX_REACH_FILL_LEVEL_6 ((uint32_t)0x00060000) /*!< 6 */ -#define TSPI_TX_REACH_FILL_LEVEL_7 ((uint32_t)0x00070000) /*!< 7 */ -#define TSPI_TX_REACH_FILL_LEVEL_MASK ((uint32_t)0x00070000) /*!< TX_REACH_FILL_LEVEL_MASK */ -/** - * @} - */ /* End of group TSPI_TxReachFillLevel */ - - -/** - * @defgroup TSPI_RxState Receive State Flag - * @brief Receive State Flag Macro Definisiton. - * @{ - */ -#define TSPI_RX_FLAG_STOP ((uint32_t)0x00000000) /*!< Not Sending Data */ -#define TSPI_RX_FLAG_ACTIVE ((uint32_t)0x00000080) /*!< Active Sending Data */ -#define TSPI_RX_FLAG_MASK ((uint32_t)0x00000080) /*!< Active Flag Mask */ -/** - * @} - */ /* End of group TSPI_RxState */ - - -/** - * @defgroup TSPI_RxDone Receive Complete Flag - * @brief Receive Complete Flag Macro Definisiton. - * @{ - */ -#define TSPI_RX_DONE_FLAG ((uint32_t)0x00000040) /*!< Receive Data Complete Flag */ -#define TSPI_RX_DONE ((uint32_t)0x00000040) /*!< Send Data Complete */ -#define TSPI_RX_DONE_CLR ((uint32_t)0x00000040) /*!< Receive Data Complete Flag Clear */ -/** - * @} - */ /* End of group TSPI_RxDone */ - - -/** - * @defgroup TSPI_RxFIFOInterruptFlag Receiving FIFO Interrpt Flag - * @brief Rx FIFO Interrpt Flag Macro Definisiton. - * @{ - */ -#define TSPI_RX_FIFO_INT_STOP ((uint32_t)0x00000000) /*!< Not active Interrupt */ -#define TSPI_RX_FIFO_INT_ACTIVE ((uint32_t)0x00000020) /*!< Active Interrupt */ -#define TSPI_RX_FIFO_INT_CLR ((uint32_t)0x00000020) /*!< Interrupt Flag Clear */ -/** - * @} - */ /* End of group TSPI_RxFIFOInterruptFlag */ - -/** - * @defgroup TSPI_RxFIFOFullFlag Receiving FIFO Full Flag - * @brief Receiving FIFO Full Flag Macro Definisiton. - * @{ - */ -#define TSPI_RX_FIFO_NOT_FULL ((uint32_t)0x00000000) /*!< Remain Data in FIFO */ -#define TSPI_RX_FIFO_FULL ((uint32_t)0x00000010) /*!< FIFO is empty */ -/** - * @} - */ /* End of group TSPI_RxFIFOFullFlag */ - - -/** - * @defgroup TSPI_RxReachFillLevel Current Receive FIFO Level - * @brief Current Receive FIFO Level Macro Definisiton. - * @{ - */ -#define TSPI_RX_REACH_FILL_LEVEL_0 ((uint32_t)0x00000000) /*!< 0 */ -#define TSPI_RX_REACH_FILL_LEVEL_1 ((uint32_t)0x00000001) /*!< 1 */ -#define TSPI_RX_REACH_FILL_LEVEL_2 ((uint32_t)0x00000002) /*!< 2 */ -#define TSPI_RX_REACH_FILL_LEVEL_3 ((uint32_t)0x00000003) /*!< 3 */ -#define TSPI_RX_REACH_FILL_LEVEL_4 ((uint32_t)0x00000004) /*!< 4 */ -#define TSPI_RX_REACH_FILL_LEVEL_5 ((uint32_t)0x00000005) /*!< 5 */ -#define TSPI_RX_REACH_FILL_LEVEL_6 ((uint32_t)0x00000006) /*!< 6 */ -#define TSPI_RX_REACH_FILL_LEVEL_7 ((uint32_t)0x00000007) /*!< 7 */ -#define TSPI_RX_REACH_FILL_LEVEL_MASK ((uint32_t)0x0000000F) /*!< TX_REACH_FILL_LEVEL_MASK */ -/** - * @} - */ /* End of group TSPI_RxReachFillLevel */ - - -/** - * @defgroup TSPI_TRGErr Triger Error - * @brief Triger Error Macro Definisiton. - * @{ - */ -#define TSPI_TRGERR_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define TSPI_TRGERR_ERR ((uint32_t)0x00000008) /*!< Error */ -#define TSPI_TRGERR_MASK ((uint32_t)0x00000008) /*!< MASK */ -/** - * @} - */ /* End of group TSPI_TRGErr */ - -/** - * @defgroup TSPI_UnderrunErr Underrun Error - * @brief Underrun Error Macro Definisiton. - * @{ - */ -#define TSPI_UNDERRUN_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define TSPI_UNDERRUN_ERR ((uint32_t)0x00000004) /*!< Error */ -#define TSPI_UNDERRUN_MASK ((uint32_t)0x00000004) /*!< MASK */ -/** - * @} - */ /* End of group TSPI_UnderrunErr */ - -/** - * @defgroup TSPI_OverrunErr Overrun Error - * @brief Overrun Error Macro Definisiton. - * @{ - */ -#define TSPI_OVERRUN_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define TSPI_OVERRUN_ERR ((uint32_t)0x00000002) /*!< Error */ -#define TSPI_OVERRUN_MASK ((uint32_t)0x00000002) /*!< MASK */ -/** - * @} - */ /* End of group TSPI_OverrunErr */ - - -/** - * @defgroup TSPI_ParityErr Parity Error - * @brief Parity Error Macro Definisiton. - * @{ - */ -#define TSPI_PARITY_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define TSPI_PARITY_ERR ((uint32_t)0x00000001) /*!< Error */ -#define TSPI_PARITY_MASK ((uint32_t)0x00000001) /*!< MASK */ -/** - * @} - */ /* End of group TSPI_ParityErr */ - - /** - * @defgroup TSPI_Data_allign Data allign - * @brief Data allign Macro Definisiton. - * @{ - */ -#define TSPI_DATA_ALLIGN_8 ((uint32_t)0x00000000) /*!< Data length byte */ -#define TSPI_DATA_ALLIGN_16 ((uint32_t)0x00000001) /*!< Data length half word */ -#define TSPI_DATA_ALLIGN_32 ((uint32_t)0x00000002) /*!< Data length word */ -/** - * @} - */ /* End of group TSPI_Data_allign */ - - /** - * @defgroup TSPI_FifoMax FIFO MAX - * @brief FIFO MAX LEVEL - * @{ - */ -#define TSPI_FIFO_MAX ((uint32_t)0x00000008) /*!< Data length byte */ -/** - * @} - */ /* End of group TSPI_FifoMax */ - - /** - * @defgroup TSPI_ErrCode Error Code - * @brief Error Code Macro Definisiton. - * @{ - */ -#define NOERROR ((uint32_t)0x00000000) /*!< no error */ -#define TIMEOUTERR ((uint32_t)0x00000001) /*!< transmit/receive timeout error */ -#define DATALENGTHERR ((uint32_t)0x00000002) /*!< frame length setting error */ -#define DATABUFEMPERR ((uint32_t)0x00000003) /*!< transmit data empty error */ -#define DATALACKERR ((uint32_t)0x00000004) /*!< transmit data insufficient error */ -#define FIFOFULLERR ((uint32_t)0x00000005) /*!< FIFO Full error */ -#define TRANSMITMODEERR ((uint32_t)0x00000006) /*!< transmit mode error */ -#define UNDERRUNERR ((uint32_t)0x00000007) /*!< transmit mode error */ -#define OVERRUNERR ((uint32_t)0x00000008) /*!< transmit mode error */ -#define PARITYERR ((uint32_t)0x00000009) /*!< transmit mode error */ -#define INITERR ((uint32_t)0x000000) /*!< transmit mode error */ -/** -* @} - */ /* End of group TSPI_ErrCode */ - - /** - * @defgroup TSPI_Buffer_Size Receive Buffer size - * @brief Error Code Macro Definisiton. - * @{ - */ -#define BUFFSIZE ((uint32_t)0x000000010 /*!< Buffer Size */ -/** -* @} - */ /* End of group TSPI_Buffer_Size */ -/** - * @} - */ /* End of group TSPI_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup TSPI_Exported_Typedef TSPI Exported Typedef - * @{ - */ -/* No define */ -/** - * @} - */ /* End of group TSPI_Exported_Typedef */ -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup TSPI_Exported_Typedef TSPI Exported Typedef - * @{ - */ -/*----------------------------------*/ -/** - * @struct tspi_receive8_t - * @brief Receive event information structure definenition. - * @brief When data length definenition is "8bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} tspi_receive8_t; - -/*----------------------------------*/ -/** - * @struct tspi_receive16_t - * @brief Receive event information structure definenition. - * @brief When data length definenition is "9 - 16 bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint16_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} tspi_receive16_t; - -/** - * @struct tspi_receive32_t - * @brief Receive event information structure definenition. - * @brief When data length definenition is "17 - 32 bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} tspi_receive32_t; - -/*----------------------------------*/ -/** - * @struct tspi_receive_t - * @brief Receive event information structure definenition. -*/ -/*----------------------------------*/ -typedef union -{ - tspi_receive8_t rx8; /*!< @ref tspi_receive8_t */ - tspi_receive16_t rx16; /*!< @ref tspi_receive16_t */ - tspi_receive32_t rx32; /*!< @ref tspi_receive16_t */ -} tspi_receive_t; - -/*----------------------------------*/ -/** - * @struct tspi_transmit8_t - * @brief Transmit data information structure definenition. - * @brief When data length definenition is "8bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to transmit data. */ - uint32_t num; /*!< The number of transmit data. */ -} tspi_transmit8_t; - -/*----------------------------------*/ -/** - * @struct tspi_transmit16_t - * @brief Transmit data information structure definenition. - * @brief When data length definenition is "9 - 16 bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint16_t *p_data; /*!< The buffer to transmit data. */ - uint32_t num; /*!< The number of transmit data. */ -} tspi_transmit16_t; -/*----------------------------------*/ -/** - * @struct tspi_transmit32_t - * @brief Transmit data information structure definenition. - * @brief When data length definenition is "17 - 32 bit"( @ref TSPI_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t *p_data; /*!< The buffer to transmit data. */ - uint32_t num; /*!< The number of transmit data. */ -} tspi_transmit32_t; - -/*----------------------------------*/ -/** - * @struct tspi_transmit_t - * @brief Transmit data information structure definenition. -*/ -/*----------------------------------*/ -typedef union -{ - tspi_transmit8_t tx8; /*!< @ref tspi_transmit8_t */ - tspi_transmit16_t tx16; /*!< @ref tspi_transmit16_t */ - tspi_transmit32_t tx32; /*!< @ref tspi_transmit16_t */ -} tspi_transmit_t; - -/*----------------------------------*/ -/** - * @struct tspi_control1_t - * @brief Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t trgen; /*!< TRGEN Transmission Triger Control. - : Use @ref TSPI_Triger_Control */ - uint32_t trxe; /*!< TRXE Transmission Control. - : Use @ref TSPI_Transmission_Control */ - uint32_t tspims; /*!< TSPI/SIO Transmission Mode. - : Use @ref TSPI_Transmission_Mode */ - uint32_t mstr; /*!< Master/Slave Operation Select. - : Use @ref TSPI_Operation_Select */ - uint32_t tmmd; /*!< Transfer Mode Select. - : Use @ref TSPI_Transfer_Mode */ - uint32_t cssel; /*!< CSSEL Select. - : Use @ref TSPI_CSSEL_Select */ - uint32_t fc; /*!< Transfer Frame Value. - : Range ( TSPI_TRANS_RANGE_SINGLE <= N =< TSPI_TRANS_RANGE_MAX ) @ref TSPI_Transfer_Frame_Range */ -} tspi_control1_t; - -/*----------------------------------*/ -/** - * @struct tspi_control2_t - * @brief Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t tidle; /*!< IDLE Output Value. - : Use @ref TSPI_IDLE_Output_value */ - uint32_t txdemp; /*!< Under Run Occur Output Value. - : Use @ref TSPI_IDLE_Output_value */ - uint32_t rxdly; /*!< Fsys Select. - : Use @ref TSPI_RXDLY_value */ - uint32_t til; /*!< Transmit Fill Level. - : Use @ref TSPI_TxFillLevel */ - uint32_t ril; /*!< Receive Fill Level. - : Use @ref TSPI_RxFillLevel */ - uint32_t inttxfe; /*!< Enable/Disable Transmit FIFO Interrupt. - : Use @ref TSPI_TxFIFOInterrupt */ - uint32_t inttxwe; /*!< Enable/Disable Transmit Interrupt. - : Use @ref TSPI_TxInterrupt */ - uint32_t intrxfe; /*!< Enable/Disable Receive FIFO Interrupt. - : Use @ref TSPI_RxFIFOInterrupt */ - uint32_t intrxwe; /*!< Enable/Disable Receive Interrupt. - : Use @ref TSPI_RxInterrupt */ - uint32_t interr; /*!< Enable/Disable Error Interrupt. - : Use @ref TSPI_ErrorInterrupt */ - uint32_t dmate; /*!< Enable/Disable Transmit DMA Interrupt. - : Use @ref TSPI_TxDMAInterrupt */ - uint32_t dmare; /*!< Enable/Disable Receive DMA Interrupt. - : Use @ref TSPI_RxDMAInterrupt */ -} tspi_control2_t; - -/*----------------------------------*/ -/** - * @struct tspi_control3_t - * @brief Control Setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t tfempclr; /*!< Transmit Buffer Clear. - : Use @ref TSPI_Tx_Buffer_Clear */ - uint32_t rffllclr; /*!< Receive Buffer Clear. - : Use @ref TSPI_Rx_Buffer_Clear */ -} tspi_control3_t; - -/*----------------------------------*/ -/** - * @struct tspi_baudrate_t - * @brief Clock setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t brck; /*!< Baudrate Input Clock. - : Use @ref TSPI_Baudrate_Clock */ - uint32_t brs; /*!< Baudrate Divider. - : Use @ref TSPI_Baudrate_Divider */ -} tspi_baudrate_t; - -/*----------------------------------*/ -/** - * @struct tspi_fmtr0_t - * @brief Format control0. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t dir; /*!< Data Direction. - : Use @ref TSPI_DataDirection */ - uint32_t fl; /*!< Data Length. - : Use @ref TSPI_DataLength */ - uint32_t fint; /*!< Frame Interval time. - : Use @ref TSPI_Frame_Interval_Time */ - uint32_t cs3pol; /*!< TSPIIxCS3 Polarity negative/positive. - : Use @ref TSPI_TSPIxCS3_Polarity */ - uint32_t cs2pol; /*!< TSPIIxCS2 Polarity negative/positive. - : Use @ref TSPI_TSPIxCS2_Polarity */ - uint32_t cs1pol; /*!< TSPIIxCS1 Polarity negative/positive. - : Use @ref TSPI_TSPIxCS1_Polarity */ - uint32_t cs0pol; /*!< TSPIIxCS0 Polarity negative/positive. - : Use @ref TSPI_TSPIxCS0_Polarity */ - uint32_t ckpha; /*!< Serial Clock Polarity 1st/2nd edge. - : Use @ref TSPI_Serial_Clock_Polarity */ - uint32_t ckpol; /*!< Serial Clock IDLE Polarity Hi/Low. - : Use @ref TSPI_Serial_Clock_IDLE_Polarity */ - uint32_t csint; /*!< Minimum IDLE Time. - : Use @ref TSPI_Minimum_IDLE_Time */ - uint32_t cssckdl; /*!< Serial Clock Delay. - : Use @ref TSPI_Serial_Clock_Delay */ - uint32_t sckcsdl; /*!< Negate Delay. - : Use @ref TSPI_Negate_Delay */ -} tspi_fmtr0_t; - -/*----------------------------------*/ -/** - * @struct tspi_fmtr1_t - * @brief Format control1. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t reserved; /*!< SIO Slave MOde. - : */ - uint32_t vpe; /*!< Enable/Disable Parity Function. - : Use @ref TSPI_ParityEnable */ - uint32_t vpm; /*!< Odd/Even Parity Bit. - : Use @ref TSPI_ParityBit */ -} tspi_fmtr1_t; - -/*----------------------------------*/ -/** - * @struct tspi_status_t - * @brief Status register. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t tspisue; /*!< Enable/Disable Status Setting Flag. - : Use @ref TSPI_Status_Setting_flag */ - uint32_t txrun; /*!< Stop/Active Tx Active Flag. - : Use @ref TSPI_TxState */ - uint32_t txend; /*!< Tx Data Send Complete Flag. - : Use @ref TSPI_TxDone */ - uint32_t inttxwf; /*!< Tx FIFO Interrpt Flag. - : Use @ref TSPI_TxFIFOInterruptFlag */ - uint32_t tfemp; /*!< Tx FIFO Empty Flag. - : Use @ref TSPI_TxFIFOEmptyFlag */ - uint32_t tlvll; /*!< Tx Reach Fill Level - : Use @ref TSPI_TxReachFillLevel */ - uint32_t rxrun; /*!< Stop/Active Rx Active Flag. - : Use @ref TSPI_RxState */ - uint32_t rxend; /*!< Rx Data Receive Complete Flag. - : Use @ref TSPI_RxDone */ - uint32_t intrxff; /*!< Rx FIFO Interrpt Flag - : Use @ref TSPI_RxFIFOInterruptFlag */ - uint32_t rffll; /*!< Rx FIFO Full Flag - : Use @ref TSPI_RxFIFOFullFlag */ - uint32_t rlvl; /*!< Rx Reach Fill Level - : Use @ref TSPI_RxReachFillLevel */ -} tspi_status_t; - -/*----------------------------------*/ -/** - * @struct tspi_error_t - * @brief Error flag. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t udrerr; /*!< Underrun Error. - : Use @ref TSPI_UnderrunErr */ - uint32_t ovrerr; /*!< Overrun Error. - : Use @ref TSPI_OverrunErr */ - uint32_t perr; /*!< Parity Error. - : Use @ref TSPI_ParityErr */ -} tspi_error_t; - - -/*----------------------------------*/ -/** - * @struct tspi_initial_setting_t - * @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t id; /*!< ID: User value. */ - tspi_control1_t cnt1; /*!< Control1 setting. - : Use @ref tspi_control1_t */ - tspi_control2_t cnt2; /*!< Control2 setting. - : Use @ref tspi_control2_t */ - tspi_control3_t cnt3; /*!< Control2 setting. - : Use @ref tspi_control2_t */ - tspi_baudrate_t brd; /*!< Baudrate setting. - : Use @ref tspi_baudrate_t */ - tspi_fmtr0_t fmr0; /*!< Format control0 setting. - : Use @ref tspi_fmtr0_t */ - tspi_fmtr1_t fmr1; /*!< Format control1 setting. - : Use @ref tspi_fmtr1_t */ -} tspi_initial_setting_t; - -/*----------------------------------*/ -/** - * @brief TSPI handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct tspi_handle -{ - TSB_TSPI_TypeDef *p_instance; /*!< Registers base address. */ - tspi_initial_setting_t init; /*!< Initial setting. */ - uint32_t errcode; /*!< ErrorCode */ - /*------------------------------------------*/ - /*! - @brief Transmit Informatin. - */ - /*------------------------------------------*/ - struct - { - uint32_t rp; /*!< Num of transmited data. */ - tspi_transmit_t info; /*!< Transmit Data Information. */ - uint8_t tx_allign; /*!< Transmit Data length Information. */ - void (*handler)(uint32_t id, TXZ_Result result); /*!< Transmit Event handler. */ - } transmit; - /*------------------------------------------*/ - /*! - @brief Receive Informatin. - */ - /*------------------------------------------*/ - struct - { - tspi_receive_t info; /*!< Receive Data Information. */ - uint8_t rx_allign; /*!< Receive Data length Information. */ - void (*handler)(uint32_t id, TXZ_Result result, tspi_receive_t *p_info); /*!< Receive Event handler. */ - } receive; -} tspi_t; -/** - * @} - */ /* End of group TSPI_Exported_Typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Exported_functions TSPI Exported Functions - * @{ - */ -TXZ_Result tspi_init(tspi_t *p_obj); -TXZ_Result tspi_deinit(tspi_t *p_obj); -TXZ_Result tspi_format(tspi_t *p_obj); -TXZ_Result tspi_master_write(tspi_t *p_obj, tspi_transmit_t *p_info, uint32_t timeout); -TXZ_Result tspi_master_read(tspi_t *p_obj, tspi_receive_t *p_info, uint32_t timeout); -TXZ_Result tspi_master_transfer(tspi_t *p_obj, tspi_transmit_t *p_info); -TXZ_Result tspi_master_receive(tspi_t *p_obj, tspi_receive_t *p_info); -TXZ_Result tspi_master_dma_transfer(tspi_t *p_obj, tspi_transmit_t *p_info); -TXZ_Result tspi_master_dma_receive(tspi_t *p_obj, tspi_receive_t *p_info); -void tspi_irq_handler_transmit(tspi_t *p_obj); -void tspi_irq_handler_receive(tspi_t *p_obj); -void tspi_error_irq_handler(tspi_t *p_obj); -TXZ_Result tspi_get_status(tspi_t *p_obj, uint32_t *p_status); -TXZ_Result tspi_get_error(tspi_t *p_obj, uint32_t *p_error); -TXZ_Result tspi_error_clear(tspi_t *p_obj); -TXZ_Result tspi_discard_transmit(tspi_t *p_obj); -TXZ_Result tspi_discard_receive(tspi_t *p_obj); -/** - * @} - */ /* End of group TSPI_Exported_functions */ -/** - * @} - */ /* End of group TSPI */ -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __TSPI_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart.h deleted file mode 100644 index fb78eb6e171..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart.h +++ /dev/null @@ -1,812 +0,0 @@ -/** - ******************************************************************************* - * @file txz_uart.h - * @brief This file provides all the functions prototypes for UART driver. - * @version V1.0.0.0 - * $Date:: 2017-07-21 15:39:36 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __UART_H -#define __UART_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @defgroup UART UART - * @brief UART Driver. - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Exported_define UART Exported Define - * @{ - */ - -/** - * @defgroup UART_FifoMax Max Num of FIFO - * @brief Max Num of Tx/Rx Fifo. - * @{ - */ -#define UART_TX_FIFO_MAX ((uint32_t)0x00000008) /*!< TX FIFO Max. */ -#define UART_RX_FIFO_MAX ((uint32_t)0x00000008) /*!< RX FIFO Max. */ -/** - * @} - */ /* End of group UART_FifoMax */ - -/** - * @defgroup UART_HalfClockSelect Half Clock Select - * @brief Output Terminal Select - * @{ - */ -#define UART_HALF_CLOCK_UTxTXDA ((uint32_t)0x00000000) /*!< Half Clock output terminal select UTxTXDA. */ -#define UART_HALF_CLOCK_UTxTXDB ((uint32_t)0x00040000) /*!< Half Clock output terminal select UTxTXDB. */ -/** - * @} - */ /* End of group UART_HalfClockSelect */ - -/** - * @defgroup UART_HalfClockMode Half Clock Mode - * @brief Half Clock Mode Setting. - * @{ - */ -#define UART_HALF_CLOCK_MODE_1 ((uint32_t)0x00000000) /*!< Half Clock 1 terminal Mode. */ -#define UART_HALF_CLOCK_MODE_2 ((uint32_t)0x00020000) /*!< Half Clock 2 terminal Mode. */ -/** - * @} - */ /* End of group UART_HalfClockMode */ - -/** - * @defgroup UART_HalfClockCTR Half Clock Mode Control - * @brief Half Clock Control. - * @{ - */ -#define UART_HALF_CLOCK_DISABLE ((uint32_t)0x00000000) /*!< Half Clock Mode Disable. */ -#define UART_HALF_CLOCK_ENABLE ((uint32_t)0x00010000) /*!< Half Clock Mode Enable. */ -/** - * @} - */ /* End of group UART_HalfClockCTR */ - -/** - * @defgroup UART_LoopBack Loop Back Function - * @brief Half Clock Control. - * @{ - */ -#define UART_LOOPBACK_DISABLE ((uint32_t)0x00000000) /*!< Loop Back Function Disable. */ -#define UART_LOOPBACK_ENABLE ((uint32_t)0x00008000) /*!< Loop Back Function Enable. */ -/** - * @} - */ /* End of group UART_LoopBack */ - - -/** - * @defgroup UART_NoiseFilter Noise Filter - * @brief Noise Filter Setting. - * @{ - */ -#define UART_NOISE_FILTER_NON ((uint32_t)0x00000000) /*!< No Filetering. */ -#define UART_NOISE_FILTER_2_T0 ((uint32_t)0x00001000) /*!< A signal below the 2/T0 is filtering as noise. */ -#define UART_NOISE_FILTER_4_T0 ((uint32_t)0x00002000) /*!< A signal below the 4/T0 is filtering as noise. */ -#define UART_NOISE_FILTER_8_T0 ((uint32_t)0x00003000) /*!< A signal below the 8/T0 is filtering as noise. */ -#define UART_NOISE_FILTER_2_CLOCK ((uint32_t)0x00004000) /*!< A signal below the 2/Clock is filtering as noise. */ -#define UART_NOISE_FILTER_3_CLOCK ((uint32_t)0x00005000) /*!< A signal below the 3/Clock is filtering as noise. */ -#define UART_NOISE_FILTER_4_CLOCK ((uint32_t)0x00006000) /*!< A signal below the 4/Clock is filtering as noise. */ -#define UART_NOISE_FILTER_5_CLOCK ((uint32_t)0x00007000) /*!< A signal below the 5/Clock is filtering as noise */ -/** - * @} - */ /* End of group UART_NoiseFilter */ - - -/** - * @defgroup UART_CTSHandshake CTS Handshake - * @brief Available CTS Handshake Macro Definisiton. - * @{ - */ -#define UART_CTS_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_CTS_ENABLE ((uint32_t)0x00000400) /*!< Available. */ -/** - * @} - */ /* End of group UART_CTSHandshake */ - - -/** - * @defgroup UART_RTSHandshake RTS Handshake - * @brief Available RTS Handshake Macro Definisiton. - * @{ - */ -#define UART_RTS_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_RTS_ENABLE ((uint32_t)0x00000200) /*!< Available. */ -/** - * @} - */ /* End of group UART_RTSHandshake */ - - -/** - * @defgroup UART_DataComplementation Data Complementation - * @brief Enable/Disable Data Signal Complementation Macro Definisiton. - * @{ - */ -#define UART_DATA_COMPLEMENTION_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define UART_DATA_COMPLEMENTION_ENABLE ((uint32_t)0x00000040) /*!< Enable */ -/** - * @} - */ /* End of group UART_DataComplementation */ - - -/** - * @defgroup UART_DataDirection Data Direction - * @brief Data Direction Macro Definisiton. - * @{ - */ -#define UART_DATA_DIRECTION_LSB ((uint32_t)0x00000000) /*!< LSB first */ -#define UART_DATA_DIRECTION_MSB ((uint32_t)0x00000020) /*!< MSB first */ -/*! - * @} - */ /* End of group UART_DataDirection */ - - -/** - * @defgroup UART_StopBit Stop Bit - * @brief Stop Bit Macro Definisiton. - * @{ - */ -#define UART_STOP_BIT_1 ((uint32_t)0x00000000) /*!< 1 bit */ -#define UART_STOP_BIT_2 ((uint32_t)0x00000010) /*!< 2 bit */ -/** - * @} - */ /* End of group UART_StopBit */ - - -/** - * @defgroup UART_ParityBit Parity Bit - * @brief Parity Bit Macro Definisiton. - * @{ - */ -#define UART_PARITY_BIT_ODD ((uint32_t)0x00000000) /*!< Odd Parity */ -#define UART_PARITY_BIT_EVEN ((uint32_t)0x00000008) /*!< Even Parity */ -/** - * @} - */ /* End of group UART_ParityBit */ - - -/** - * @defgroup UART_ParityEnable Parity Enable - * @brief Enable/Disable Parity Macro Definisiton. - * @{ - */ -#define UART_PARITY_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define UART_PARITY_ENABLE ((uint32_t)0x00000004) /*!< Enable */ -/** - * @} - */ /* End of group UART_ParityEnable */ - - -/** - * @defgroup UART_DataLength Data Length - * @brief Data Length Macro Definisiton. - * @{ - */ -#define UART_DATA_LENGTH_7 ((uint32_t)0x00000000) /*!< 7 bit */ -#define UART_DATA_LENGTH_8 ((uint32_t)0x00000001) /*!< 8 bit */ -#define UART_DATA_LENGTH_9 ((uint32_t)0x00000002) /*!< 9 bit */ -/** - * @} - */ /* End of group UART_DataLength */ - - -/** - * @defgroup UART_TxFillLevelRange Tx Fill Level Range - * @brief Transmit Fill Level Range Macro Definisiton. - * @brief Range of Value be set "(UART_TX_FILL_LEVEL_MIN <= Value <= UART_TX_FILL_LEVEL_MAX)". - * @{ - */ -#define UART_TX_FILL_RANGE_MIN ((uint32_t)0x00000000) /*!< Minimum Value :1 */ -#define UART_TX_FILL_RANGE_MAX ((uint32_t)0x00000007) /*!< Maximum Value :7 */ -/*! - * @} - */ /* End of group UART_TxFillLevelRange */ - - -/** - * @defgroup UART_RxFillLevelRange Rx Fill Level Range - * @brief Receive Fill Level Range Macro Definisiton. - * @brief Range of Value be set "(UART_RX_FILL_LEVEL_MIN <= Value <= UART_RX_FILL_LEVEL_MAX)". - * @{ - */ -#define UART_RX_FILL_RANGE_MIN ((uint32_t)0x00000001) /*!< Minimum Value :1 */ -#define UART_RX_FILL_RANGE_MAX ((uint32_t)0x00000008) /*!< Maximum Value :8 */ -/** - * @} - */ /* End of group UART_RxFillLevelRange */ - - -/** - * @defgroup UART_TxFIFOInterrupt Tx FIFO Interrpt - * @brief Available Transmit FIFO Interrupt Macro Definisiton. - * @{ - */ -#define UART_TX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_TX_FIFO_INT_ENABLE ((uint32_t)0x00000080) /*!< Available. */ -/** - * @} - */ /* End of group UART_TxFIFOInterrupt */ - - -/** - * @defgroup UART_TxInterrupt Tx Interrpt - * @brief Available Transmit Interrupt Macro Definisiton. - * @{ - */ -#define UART_TX_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_TX_INT_ENABLE ((uint32_t)0x00000040) /*!< Available. */ -/** - * @} - */ /* End of group UART_TxInterrupt */ - - -/** - * @defgroup UART_RxFIFOInterrupt Rx FIFO Interrpt - * @brief Available Receive FIFO Interrupt Macro Definisiton. - * @{ - */ -#define UART_RX_FIFO_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_RX_FIFO_INT_ENABLE ((uint32_t)0x00000020) /*!< Available. */ -/** - * @} - */ /* End of group UART_RxFIFOInterrupt */ - - -/** - * @defgroup UART_RxInterrupt Rx Interrpt - * @brief Available Receive Interrupt Macro Definisiton. - * @{ - */ -#define UART_RX_INT_DISABLE ((uint32_t)0x00000000) /*!< Not Available. */ -#define UART_RX_INT_ENABLE ((uint32_t)0x00000010) /*!< Available. */ -/** - * @} - */ /* End of group UART_RxInterrupt */ - - -/** - * @defgroup UART_ErrorInterrupt Error Interrupt - * @brief Enable/Disable Error Interrupt Macro Definisiton. - * @{ - */ -#define UART_ERR_INT_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define UART_ERR_INT_ENABLE ((uint32_t)0x00000004) /*!< Enable */ -/** - * @} - */ /* End of group UART_ErrorInterrupt */ - - -/** - * @defgroup UART_Prescaler Prescaler - * @brief Prescaler Macro Definisiton. - * @{ - */ -#define UART_PLESCALER_1 ((uint32_t)0x00000000) /*!< 1/1 */ -#define UART_PLESCALER_2 ((uint32_t)0x00000010) /*!< 1/2 */ -#define UART_PLESCALER_4 ((uint32_t)0x00000020) /*!< 1/4 */ -#define UART_PLESCALER_8 ((uint32_t)0x00000030) /*!< 1/8 */ -#define UART_PLESCALER_16 ((uint32_t)0x00000040) /*!< 1/16 */ -#define UART_PLESCALER_32 ((uint32_t)0x00000050) /*!< 1/32 */ -#define UART_PLESCALER_64 ((uint32_t)0x00000060) /*!< 1/64 */ -#define UART_PLESCALER_128 ((uint32_t)0x00000070) /*!< 1/128 */ -#define UART_PLESCALER_256 ((uint32_t)0x00000080) /*!< 1/256 */ -#define UART_PLESCALER_512 ((uint32_t)0x00000090) /*!< 1/512 */ -/** - * @} - */ /* End of group UART_Prescaler */ - - -/** - * @defgroup UART_Clock_Mask Clock Mask - * @brief Clock Mask Macro Definisiton. - * @{ - */ -#define UART_UARTxCLK_MASK ((uint32_t)0x00000000) /*!< [1:0] is always 0 */ -/** - * @} - */ /* End of group UART_Clock_Mask */ - - -/** - * @defgroup UART_Division Division - * @brief Enable/Disable Division Macro Definisiton. - * @{ - */ -#define UART_DIVISION_DISABLE ((uint32_t)0x00000000) /*!< Disable */ -#define UART_DIVISION_ENABLE ((uint32_t)0x00800000) /*!< Enable */ -/** - * @} - */ /* End of group UART_Division */ - - -/** - * @defgroup UART_RangeK Range K - * @brief Range of K Macro Definisiton. - * @brief Range of K be set "(UART_RANGE_K_MIN <= Value <= UART_RANGE_K_MAX)". - * @{ - */ -#define UART_RANGE_K_MIN ((uint32_t)0x00000000) /*!< Minimum Value :K=0 */ -#define UART_RANGE_K_MAX ((uint32_t)0x0000003F) /*!< Maximum Value :K=63 */ -/** - * @} - */ /* End of group UART_RangeK */ - - -/** - * @defgroup UART_RangeN Range N - * @brief Range of N Macro Definisiton. - * @brief Range of N be set "(UART_RANGE_N_MIN <= Value <= UART_RANGE_N_MAX)". - * @{ - */ -#define UART_RANGE_N_MIN ((uint32_t)0x00000001) /*!< Minimum Value :N=1 */ -#define UART_RANGE_N_MAX ((uint32_t)0x0000FFFF) /*!< Maximum Value :N=65535 */ -/** - * @} - */ /* End of group UART_RangeN */ - - -/** - * @defgroup UART_SettingEnable Setting Enable - * @brief Enable/Disable Setting Macro Definisiton. - * @{ - */ -#define UART_SETTING_MASK ((uint32_t)0x80000000) /*!< for Mask */ -#define UART_SETTING_ENABLE ((uint32_t)0x00000000) /*!< Setting Enable */ -#define UART_SETTING_DISABLE ((uint32_t)0x80000000) /*!< Setting Disable */ -/** - * @} - */ /* End of group UART_SettingEnable */ - - -/** - * @defgroup UART_TxState Tx State - * @brief Transmitting State Macro Definisiton. - * @{ - */ -#define UART_TX_STATE_MASK ((uint32_t)0x00008000) /*!< for Mask */ -#define UART_TX_STATE_SLEEP ((uint32_t)0x00000000) /*!< Sleep */ -#define UART_TX_STATE_RUN ((uint32_t)0x00008000) /*!< Run */ -/** - * @} - */ /* End of group UART_TxState */ - - -/** - * @defgroup UART_TxDone Transmitting Done - * @brief Transmitting Done Macro Definisiton. - * @{ - */ -#define UART_TX_MASK ((uint32_t)0x00004000) /*!< for Mask */ -#define UART_TX_DONE ((uint32_t)0x00004000) /*!< Transmitting Done */ -/** - * @} - */ /* End of group UART_TxDone */ - - -/** - * @defgroup UART_TxReachFillLevel Tx Reach Fill Level - * @brief Reach Transmitting Fill Level Macro Definisiton. - * @{ - */ -#define UART_TX_REACH_FILL_MASK ((uint32_t)0x00002000) /*!< for Mask */ -#define UART_TX_REACH_FILL_LEVEL ((uint32_t)0x00002000) /*!< Reach Transmitting Fill Level */ -/** - * @} - */ /* End of group UART_TxReachFillLevel */ - - -/** - * @defgroup UART_TxFifoLevel Tx FIFO Fill Level - * @brief Transmitting FIFO Fill Level Macro Definisiton. - * @{ - */ -#define UART_TX_FIFO_LEVEL_MASK ((uint32_t)0x00000F00) /*!< for Mask */ -/** - * @} - */ /* End of group UART_TxFifoLevel */ - - -/** - * @defgroup UART_RxState Rx State - * @brief Receive State Macro Definisiton. - * @{ - */ -#define UART_RX_STATE_MASK ((uint32_t)0x00000080) /*!< for Mask */ -#define UART_RX_STATE_SLEEP ((uint32_t)0x00000000) /*!< Sleep */ -#define UART_RX_STATE_RUN ((uint32_t)0x00000080) /*!< Run */ -/** - * @} - */ /* End of group UART_RxState */ - - -/** - * @defgroup UART_RxDone Rx Done - * @brief Receive Done Macro Definisiton. - * @{ - */ -#define UART_RX_MASK ((uint32_t)0x00000040) /*!< for Mask */ -#define UART_RX_DONE ((uint32_t)0x00000040) /*!< Receive Done */ -/** - * @} - */ /* End of group UART_RxDone */ - - -/** - * @defgroup UART_RxReachFillLevel Rx Reach Fill Level - * @brief Reach Receive Fill Level Macro Definisiton. - * @{ - */ -#define UART_RX_REACH_FILL_MASK ((uint32_t)0x00000020) /*!< for Mask */ -#define UART_RX_REACH_FILL_LEVEL ((uint32_t)0x00000020) /*!< Reach Receive Fill Level */ -/** - * @} - */ /* End of group UART_RxReachFillLevel */ - - -/** - * @defgroup UART_RxFifoLevel Rx FIFO Fill Level - * @brief Receive FIFO Fill Level Macro Definisiton. - * @{ - */ -#define UART_RX_FIFO_LEVEL_MASK ((uint32_t)0x0000000F) /*!< for Mask */ -/** - * @} - */ /* End of group UART_RxFifoLevel */ - - -/** - * @defgroup UART_TriggerErr Trigger Error - * @brief Trigger Error Macro Definisiton. - * @{ - */ -#define UART_TRIGGER_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define UART_TRIGGER_ERR ((uint32_t)0x00000010) /*!< Error */ -/** - * @} - */ /* End of group UART_TxTriggerErr */ - - -/** - * @defgroup UART_OverrunErr Overrun Error - * @brief Overrun Error Macro Definisiton. - * @{ - */ -#define UART_OVERRUN_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define UART_OVERRUN_ERR ((uint32_t)0x00000008) /*!< Error */ -/** - * @} - */ /* End of group UART_OverrunErr */ - - -/** - * @defgroup UART_ParityErr Parity Error - * @brief Parity Error Macro Definisiton. - * @{ - */ -#define UART_PARITY_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define UART_PARITY_ERR ((uint32_t)0x00000004) /*!< Error */ -/** - * @} - */ /* End of group UART_ParityErr */ - - -/** - * @defgroup UART_FramingErr Framing Error - * @brief Framing Error Macro Definisiton. - * @{ - */ -#define UART_FRAMING_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define UART_FRAMING_ERR ((uint32_t)0x00000002) /*!< Error */ -/** - * @} - */ /* End of group UART_FramingErr */ - - -/** - * @defgroup UART_BreakErr Break Error - * @brief Break Error Macro Definisiton. - * @{ - */ -#define UART_BREAK_NO_ERR ((uint32_t)0x00000000) /*!< No Error */ -#define UART_BREAK_ERR ((uint32_t)0x00000001) /*!< Error */ -/** - * @} - */ /* End of group UART_BreakErr */ - -/** - * @} - */ /* End of group UART_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Exported_define UART Exported Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Exported_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Exported_typedef UART Exported Typedef - * @{ - */ - -/*----------------------------------*/ -/** - * @brief Receive event information structure definenition. - * @brief When data length definenition is "7 or 8bit"( @ref UART_DataLength ), use this. - * @attention "num" must be over FIFO max num. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} uart_receive8_t; - -/*----------------------------------*/ -/** - * @brief Receive event information structure definenition. - * @brief When data length definenition is "9bit"( @ref UART_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint16_t *p_data; /*!< The buffer to receive data. */ - uint32_t num; /*!< The number of receive data. */ -} uart_receive16_t; - -/*----------------------------------*/ -/** - * @brief Receive event information structure definenition. -*/ -/*----------------------------------*/ -typedef union -{ - uart_receive8_t rx8; /*!< @ref uart_receive8_t */ - uart_receive16_t rx16; /*!< @ref uart_receive16_t */ -} uart_receive_t; - -/*----------------------------------*/ -/** - * @brief Transmit data information structure definenition. - * @brief When data length definenition is "7 or 8bit"( @ref UART_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint8_t *p_data; /*!< The buffer to transmit data. */ - uint32_t num; /*!< The number of transmit data. */ -} uart_transmit8_t; - -/*----------------------------------*/ -/** - * @brief Transmit data information structure definenition. - * @brief When data length definenition is "9bit"( @ref UART_DataLength ), use this. -*/ -/*----------------------------------*/ -typedef struct -{ - uint16_t *p_data; /*!< The buffer to transmit data. - Rransmit data valid range is ( 0x0000 <= range <= 0x01FF ) */ - uint32_t num; /*!< The number of transmit data. */ -} uart_transmit16_t; - -/*----------------------------------*/ -/** - * @brief Transmit data information structure definenition. -*/ -/*----------------------------------*/ -typedef union -{ - uart_transmit8_t tx8; /*!< @ref uart_transmit8_t */ - uart_transmit16_t tx16; /*!< @ref uart_transmit16_t */ -} uart_transmit_t; - -/*----------------------------------*/ -/** - * @brief Clock setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t prsel; /*!< Prescaler. - : Use @ref UART_Prescaler */ -} uart_clock_t; - -/*----------------------------------*/ -/** - * @brief Boudrate setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t ken; /*!< Enable/Disable Division Definisiton. - : Use @ref UART_Division */ - uint32_t brk; /*!< Division Value K. - : K Range ( UART_RANGE_K_MIN <= K =< UART_RANGE_K_MAX ) @ref UART_RangeK */ - uint32_t brn; /*!< Division Value N. - : N Range ( UART_RANGE_N_MIN <= N =< UART_RANGE_N_MAX ) @ref UART_RangeN */ -} uart_boudrate_t; - -/*----------------------------------*/ -/** - * @brief Transmit FIFO setting. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t inttx; /*!< Available Transmit FIFO Interrupt. - : Use @ref UART_TxFIFOInterrupt */ - uint32_t level; /*!< Transmit Fill Level. - : Range ( UART_TX_FILL_RANGE_MIN <= K =< UART_TX_FILL_RANGE_MAX ) @ref UART_TxFillLevelRange */ -} uart_tx_fifo_t; - -/*----------------------------------*/ -/** - * @brief Receive FIFO setting. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t intrx; /*!< Available Receive FIFO Interrupt. - : Use @ref UART_RxFIFOInterrupt */ - uint32_t level; /*!< Receive Fill Level. - : Range ( UART_RX_FILL_RANGE_MIN <= K =< UART_RX_FILL_RANGE_MAX ) @ref UART_RxFillLevelRange */ -} uart_rx_fifo_t; - -/*----------------------------------*/ -/** - * @brief Initial setting structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - uint32_t id; /*!< ID: User value. */ - uart_clock_t clock; /*!< Clock setting. - : Use @ref uart_clock_t */ - uart_boudrate_t boudrate; /*!< Boudrate setting. - : Use @ref uart_boudrate_t */ - uint32_t inttx; /*!< Available Transmit Interrupt. - : Use @ref UART_TxInterrupt */ - uint32_t intrx; /*!< Available Receive Interrupt. - : Use @ref UART_RxInterrupt */ - uint32_t interr; /*!< Available Error Interrupt. - : Use @ref UART_ErrorInterrupt */ - uart_tx_fifo_t txfifo; /*!< Transmit FIFO setting. - : Use @ref uart_tx_fifo_t */ - uart_rx_fifo_t rxfifo; /*!< Receive FIFO setting. - : Use @ref uart_rx_fifo_t */ - uint32_t hct; /*!< Half Clock Terminal Select. - : Use @ref UART_HalfClockSelect */ - uint32_t hcm; /*!< Half Clock Mode Select. - : Use @ref UART_HalfClockMode */ - uint32_t hcc; /*!< Half Clock Control. - : Use @ref UART_HalfClockCTR */ - uint32_t lbc; /*!< Loop Back Control. - : Use @ref UART_LoopBack */ - uint32_t nf; /*!< UTxRXD Noise Filter. - : Use @ref UART_NoiseFilter */ - uint32_t ctse; /*!< Available CTS Handshake. - : Use @ref UART_CTSHandshake */ - uint32_t rtse; /*!< Available RTS Handshake. - : Use @ref UART_RTSHandshake */ - uint32_t iv; /*!< Data Signal Complementation. - : Use @ref UART_DataComplementation */ - uint32_t dir; /*!< Data Direction. - : Use @ref UART_DataDirection */ - uint32_t sblen; /*!< Stop Bit. - : Use @ref UART_StopBit */ - uint32_t even; /*!< Odd/Even Parity Bit. - : Use @ref UART_ParityBit */ - uint32_t pe; /*!< Enable/Disable Parity Bit. - : Use @ref UART_ParityEnable */ - uint32_t sm; /*!< Data Length. - : Use @ref UART_DataLength */ -} uart_initial_setting_t; - -/*----------------------------------*/ -/** - * @brief UART handle structure definenition. -*/ -/*----------------------------------*/ -typedef struct -{ - TSB_UART_TypeDef *p_instance; /*!< Registers base address. */ - uart_initial_setting_t init; /*!< Initial setting. */ - /*------------------------------------------*/ - /*! - @brief Transmit Informatin. - */ - /*------------------------------------------*/ - struct - { - uint32_t rp; /*!< Num of transmited data. */ - uart_transmit_t info; /*!< Transmit Data Information. */ - void (*handler)(uint32_t id, TXZ_Result result); /*!< Transmit Event handler. */ - } transmit; - /*------------------------------------------*/ - /*! - @brief Receive Informatin. - */ - /*------------------------------------------*/ - struct - { - uart_receive_t info; /*!< Receive Data Information. */ - void (*handler)(uint32_t id, TXZ_Result result, uart_receive_t *p_info); /*!< Receive Event handler. */ - } receive; -} uart_t; - -/** - * @} - */ /* End of group UART_Exported_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Exported_functions UART Exported Functions - * @{ - */ -TXZ_Result uart_init(uart_t *p_obj); -TXZ_Result uart_deinit(uart_t *p_obj); -TXZ_Result uart_discard_transmit(uart_t *p_obj); -TXZ_Result uart_discard_receive(uart_t *p_obj); -TXZ_Result uart_transmitIt(uart_t *p_obj, uart_transmit_t *p_info); -TXZ_Result uart_receiveIt(uart_t *p_obj, uart_receive_t *p_info); -void uart_transmit_irq_handler(uart_t *p_obj); -void uart_receive_irq_handler(uart_t *p_obj); -void uart_error_irq_handler(uart_t *p_obj); -TXZ_Result uart_get_status(uart_t *p_obj, uint32_t *p_status); -TXZ_Result uart_get_error(uart_t *p_obj, uint32_t *p_error); -TXZ_Result uart_get_boudrate_setting(uint32_t clock, uart_clock_t *p_clk, uint32_t boudrate, uart_boudrate_t *p_setting); -/** - * @} - */ /* End of group UART_Exported_functions */ - -/** - * @} - */ /* End of group UART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __UART_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart_include.h b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart_include.h deleted file mode 100644 index 95357511930..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/inc/txz_uart_include.h +++ /dev/null @@ -1,476 +0,0 @@ -/** - ******************************************************************************* - * @file txz_uart_include.h - * @brief This file provides internal common definition. - * @version V1.0.0.0 - * $Date:: 2017-07-21 15:39:36 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -/*------------------------------------------------------------------------------*/ -/* Define to prevent recursive inclusion */ -/*------------------------------------------------------------------------------*/ -#ifndef __UART_INCLUDE_H -#define __UART_INCLUDE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_driver_def.h" - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup UART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UART_Private_define - * @{ - */ - -/** - * @defgroup UART_NullPointer Null Pointer - * @brief Null Pointer. - * @{ - */ -#define UART_NULL ((void *)0) -/** - * @} - */ /* End of group UART_NullPointer */ - -/** - * @defgroup UART_ParameterResult Parameter Check Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define UART_PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define UART_PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of group UART_ParameterResult */ - -/** - * @defgroup UARTxSWRST UARTxSWRST Register - * @brief UARTxSWRST Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-8 | - | - * | 7 | SWRSTF | - * | 6:2 | - | - * | 1:0 | SWRST | - * @{ - */ -/* SWRSTF */ -#define UARTxSWRST_SWRSTF_MASK ((uint32_t)0x00000080) /*!< SWRSTF :Mask. */ -#define UARTxSWRST_SWRSTF_IDLE ((uint32_t)0x00000000) /*!< SWRSTF :Not be "Software Reset". */ -#define UARTxSWRST_SWRSTF_RUN ((uint32_t)0x00000080) /*!< SWRSTF :During "Software Reset". */ -/* SWRST */ -#define UARTxSWRST_SWRST_10 ((uint32_t)0x00000002) /*!< SWRST :"10" */ -#define UARTxSWRST_SWRST_01 ((uint32_t)0x00000001) /*!< SWRST :"01" */ -/** - * @} - */ /* End of group UARTxSWRST */ - -/** - * @defgroup UARTxCR0 UARTxCR0 Register - * @brief UARTxCR0 Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-19 | - | - * | 18 | HBSST | - * | 17 | HBSMD | - * | 16 | HBSEN | - * | 15 | LPB | - * | 14-12 | NF[2:0] | - * | 11 | - | - * | 10 | CTSE | - * | 9 | RTSE | - * | 8 | WU | - * | 7 | - | - * | 6 | IV | - * | 5 | DIR | - * | 4 | SBLEN | - * | 3 | EVEN | - * | 2 | PE | - * | 1-0 | SM[1:0] | - * @{ - */ -/* HBSST */ -#define UARTxCR0_HBSST_MASK ((uint32_t)0x00040000) /*!< HBSST :Mask. */ -/* HBSMD */ -#define UARTxCR0_HBSMD_MASK ((uint32_t)0x00020000) /*!< HBSMD :Mask. */ -/* HBSEN */ -#define UARTxCR0_HBSEN_MASK ((uint32_t)0x00010000) /*!< HBSEN :Mask. */ -#define UARTxCR0_HBSEN_DISABLE ((uint32_t)0x00000000) /*!< HBSEN :Disable. */ -#define UARTxCR0_HBSEN_ENABLE ((uint32_t)0x00010000) /*!< HBSEN :Enable. */ -/* LPB */ -#define UARTxCR0_LPB_MASK ((uint32_t)0x00008000) /*!< LPB :Mask. */ -#define UARTxCR0_LPB_DISABLE ((uint32_t)0x00000000) /*!< LPB :Disable. */ -#define UARTxCR0_LPB_ENABLE ((uint32_t)0x00008000) /*!< LPB :Enable. */ -/* WU */ -#define UARTxCR0_WU_MASK ((uint32_t)0x00000100) /*!< WU :Mask. */ -#define UARTxCR0_WU_DISABLE ((uint32_t)0x00000000) /*!< WU :Disable. */ -#define UARTxCR0_WU_ENABLE ((uint32_t)0x00000100) /*!< WU :Enable. */ -/** - * @} - */ /* End of group UARTxCR0 */ - -/** - * @defgroup UARTxCR1 UARTxCR1 Register - * @brief UARTxCR1 Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-15 | - | - * | 14-12 | TIL[2:0] | - * | 11 | - | - * | 10-8 | RIL[2:0] | - * | 7 | INTTXFE | - * | 6 | INTTXWE | - * | 5 | INTRXFE | - * | 4 | INTRXWE | - * | 3 | - | - * | 2 | INTERR | - * | 1 | DMATE | - * | 0 | DMARE | - * @{ - */ -/* RIL */ -#define UARTxCR1_RIL_MASK ((uint32_t)0x00000700) /*!< RIL :Mask. */ -/* DMATE */ -#define UARTxCR1_DMATE_MASK ((uint32_t)0x00000002) /*!< DMATE :Mask. */ -#define UARTxCR1_DMATE_DISABLE ((uint32_t)0x00000000) /*!< DMATE :Disable. */ -#define UARTxCR1_DMATE_ENABLE ((uint32_t)0x00000002) /*!< DMATE :Enable. */ -/* DMARE */ -#define UARTxCR1_DMARE_MASK ((uint32_t)0x00000001) /*!< DMARE :Mask. */ -#define UARTxCR1_DMARE_DISABLE ((uint32_t)0x00000000) /*!< DMARE :Disable. */ -#define UARTxCR1_DMARE_ENABLE ((uint32_t)0x00000001) /*!< DMARE :Enable. */ -/** - * @} - */ /* End of group UARTxCR1 */ - -/** - * @defgroup UARTxTRANS UARTxTRANS Register - * @brief UARTxTRANS Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-4 | - | - * | 3 | BK | - * | 2 | TXTRG | - * | 1 | TXE | - * | 0 | RXE | - * @{ - */ -/* BK */ -#define UARTxTRANS_BK_MASK ((uint32_t)0x00000008) /*!< BK :Mask */ -#define UARTxTRANS_BK_STOP ((uint32_t)0x00000000) /*!< BK :Stop */ -#define UARTxTRANS_BK_SEND ((uint32_t)0x00000008) /*!< BK :Send */ -/* TXTRG */ -#define UARTxTRANS_TXTRG_MASK ((uint32_t)0x00000004) /*!< TXTRG :Mask */ -#define UARTxTRANS_TXTRG_DISABLE ((uint32_t)0x00000000) /*!< TXTRG :Disable */ -#define UARTxTRANS_TXTRG_ENABLE ((uint32_t)0x00000004) /*!< TXTRG :Enable */ -/* TXE */ -#define UARTxTRANS_TXE_MASK ((uint32_t)0x00000002) /*!< TXE :Mask */ -#define UARTxTRANS_TXE_DISABLE ((uint32_t)0x00000000) /*!< TXE :Disable */ -#define UARTxTRANS_TXE_ENABLE ((uint32_t)0x00000002) /*!< TXE :Enable */ -/* RXE */ -#define UARTxTRANS_RXE_MASK ((uint32_t)0x00000001) /*!< RXE :Mask */ -#define UARTxTRANS_RXE_DISABLE ((uint32_t)0x00000000) /*!< RXE :Disable */ -#define UARTxTRANS_RXE_ENABLE ((uint32_t)0x00000001) /*!< RXE :Enable */ -/* TXE,RXE */ -#define UARTxTRANS_TXE_RXE_MASK ((uint32_t)0x00000003) /*!< TXE/RXE:Mask */ -/** - * @} - */ /* End of group UARTxTRANS */ - -/** - * @defgroup UARTxDR UARTxDR Register - * @brief UARTxDR Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-19 | - | - * | 18 | PERR | - * | 17 | FERR | - * | 16 | BERR | - * | 15:9 | - | - * | 8:0 | DR | - * @{ - */ -/* DR */ -#define UARTxDR_DR_9BIT_MASK ((uint32_t)0x000001FF) /*!< DR :Mask for 9bit */ -#define UARTxDR_DR_8BIT_MASK ((uint32_t)0x000000FF) /*!< DR :Mask for 8bit */ -#define UARTxDR_DR_7BIT_MASK ((uint32_t)0x0000007F) /*!< DR :Mask for 7bit */ -/** - * @} - */ /* End of group UARTxDR */ - -/** - * @defgroup UARTxSR UARTxSR Register - * @brief UARTxSR Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31 | SUE | - * | 30:16 | - | - * | 15 | TXRUN | - * | 14 | TXEND | - * | 13 | TXFF | - * | 12 | - | - * | 11:8 | TLVL | - * | 7 | RXRUN | - * | 6 | RXEND | - * | 5 | RXFF | - * | 4 | - | - * | 3:0 | RLVL | - * @{ - */ -/* SUE */ -#define UARTxSR_SUE_MASK ((uint32_t)0x80000000) /*!< SUE :Mask. */ -/* TXEND */ -#define UARTxSR_TXEND_MASK ((uint32_t)0x00004000) /*!< TEXND :Mask. */ -#define UARTxSR_TXEND_R_END ((uint32_t)0x00004000) /*!< TXEND :[read] Transfer done. */ -#define UARTxSR_TXEND_W_CLEAR ((uint32_t)0x00004000) /*!< TXEND :[write] Clear Flag. */ -/* TXFF */ -#define UARTxSR_TXFF_MASK ((uint32_t)0x00002000) /*!< TXFF :Mask. */ -#define UARTxSR_TXFF_R_REACHED ((uint32_t)0x00002000) /*!< TXFF :[read] Reached the transfer level. */ -#define UARTxSR_TXFF_W_CLEAR ((uint32_t)0x00002000) /*!< TXFF :[write] Clear Flag. */ -/* TLVL */ -#define UARTxSR_TLVL_MASK ((uint32_t)0x00000F00) /*!< TLVL :Mask. */ -/* RXEND */ -#define UARTxSR_RXEND_MASK ((uint32_t)0x00000040) /*!< RXEND :Mask. */ -#define UARTxSR_RXEND_R_END ((uint32_t)0x00000040) /*!< RXEND :[read] Receive done. */ -#define UARTxSR_RXEND_W_CLEAR ((uint32_t)0x00000040) /*!< RXEND :[write] Clear Flag. */ -/* RXFF */ -#define UARTxSR_RXFF_MASK ((uint32_t)0x00000020) /*!< RXFF :Mask. */ -#define UARTxSR_RXFF_R_REACHED ((uint32_t)0x00000020) /*!< RXFF :[read] Receive done. */ -#define UARTxSR_RXFF_W_CLEAR ((uint32_t)0x00000020) /*!< RXFF :[write] Clear Flag. */ -/* RLVL */ -#define UARTxSR_RLVL_MASK ((uint32_t)0x0000000F) /*!< RLVL :Mask. */ -/** - * @} - */ /* End of group UARTxSR */ - -/** - * @defgroup UARTxFIFOCLR UARTxFIFOCLR Register - * @brief UARTxFIFOCLR Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-2 | - | - * | 1 | TFCLR | - * | 0 | RFCLR | - * @{ - */ -/* TFCLR */ -#define UARTxFIFOCLR_TFCLR_CLEAR ((uint32_t)0x00000002) /*!< TFCLR :Clear the transmit buff. */ -/* RFCLR */ -#define UARTxFIFOCLR_RFCLR_CLEAR ((uint32_t)0x00000001) /*!< RFCLR :Clear the receive buff. */ -/** - * @} - */ /* End of group UARTxFIFOCLR */ - -/** - * @defgroup UARTxERR UARTxERR Register - * @brief UARTxERR Register Definition. - * @details Detail. - * | Bit | Bit Symbol | - * | :--- | :--- | - * | 31-5 | - | - * | 4 | TRGERR | - * | 3 | OVRERR | - * | 2 | PERR | - * | 1 | FERR | - * | 0 | BERR | - * @{ - */ -/* TRGERR */ -#define UARTxERR_TRGERR_MASK ((uint32_t)0x00000010) /*!< TRGERR :Mask. */ -#define UARTxERR_TRGERR_R_NO_ERR ((uint32_t)0x00000000) /*!< TRGERR :[read] No Error. */ -#define UARTxERR_TRGERR_R_ERR ((uint32_t)0x00000010) /*!< TRGERR :[read] Error. */ -#define UARTxERR_TRGERR_W_CLEAR ((uint32_t)0x00000010) /*!< TRGERR :[write] Clear Flag. */ -/* OVRERR */ -#define UARTxERR_OVRERR_MASK ((uint32_t)0x00000008) /*!< OVRERR :Mask. */ -#define UARTxERR_OVRERR_R_NO_ERR ((uint32_t)0x00000000) /*!< OVRERR :[read] No Error. */ -#define UARTxERR_OVRERR_R_ERR ((uint32_t)0x00000008) /*!< OVRERR :[read] Error. */ -#define UARTxERR_OVRERR_W_CLEAR ((uint32_t)0x00000008) /*!< OVRERR :[write] Clear Flag. */ -/* PERR */ -#define UARTxERR_PERR_MASK ((uint32_t)0x00000004) /*!< PERR :Mask. */ -#define UARTxERR_PERR_R_NO_ERR ((uint32_t)0x00000000) /*!< PERR :[read] No Error. */ -#define UARTxERR_PERR_R_ERR ((uint32_t)0x00000004) /*!< PERR :[read] Error. */ -#define UARTxERR_PERR_W_CLEAR ((uint32_t)0x00000004) /*!< PERR :[write] Clear Flag. */ -/* FERR */ -#define UARTxERR_FERR_MASK ((uint32_t)0x00000002) /*!< FERR :Mask. */ -#define UARTxERR_FERR_R_NO_ERR ((uint32_t)0x00000000) /*!< FERR :[read] No Error. */ -#define UARTxERR_FERR_R_ERR ((uint32_t)0x00000002) /*!< FERR :[read] Error. */ -#define UARTxERR_FERR_W_CLEAR ((uint32_t)0x00000002) /*!< FERR :[write] Clear Flag. */ -/* BERR */ -#define UARTxERR_BERR_MASK ((uint32_t)0x00000001) /*!< BERR :Mask. */ -#define UARTxERR_BERR_R_NO_ERR ((uint32_t)0x00000000) /*!< BERR :[read] No Error. */ -#define UARTxERR_BERR_R_ERR ((uint32_t)0x00000001) /*!< BERR :[read] Error. */ -#define UARTxERR_BERR_W_CLEAR ((uint32_t)0x00000001) /*!< BERR :[write] Clear Flag. */ -/** - * @} - */ /* End of group UARTxERR */ - -/** - * @} - */ /* End of group UART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UART_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UART_Private_typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Inline Functions */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UART_Private_fuctions - * @{ - */ -__STATIC_INLINE void disable_UARTxTRANS_TXE(TSB_UART_TypeDef *p_instance); -__STATIC_INLINE void enable_UARTxTRANS_TXE(TSB_UART_TypeDef *p_instance); -__STATIC_INLINE void disable_UARTxTRANS_RXE(TSB_UART_TypeDef *p_instance); -__STATIC_INLINE void enable_UARTxTRANS_RXE(TSB_UART_TypeDef *p_instance); -/*--------------------------------------------------*/ -/** - * @brief Disable UARTxTRANS TXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void disable_UARTxTRANS_TXE(TSB_UART_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,1))) = 0; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,1))) = 0; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable UARTxTRANS TXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void enable_UARTxTRANS_TXE(TSB_UART_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,1))) = 1; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,1))) = 1; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Disable UARTxTRANS RXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void disable_UARTxTRANS_RXE(TSB_UART_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,0))) = 0; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,0))) = 0; -#endif -} - -/*--------------------------------------------------*/ -/** - * @brief Enable UARTxTRANS RXE. - * @param p_instance: Instance address. - * @retval - - * @note Bitband Access - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void enable_UARTxTRANS_RXE(TSB_UART_TypeDef *p_instance) -{ -#ifdef DEBUG - if ((uint32_t)p_instance >= (uint32_t)PERI_BASE) - { - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,0))) = 1; - } -#else - (*((__IO uint32_t *)BITBAND_PERI(&p_instance->TRANS,0))) = 1; -#endif -} - - -/** - * @} - */ /* End of group UART_Private_functions */ - -/** - * @} - */ /* End of group UART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __UART_EX_H */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc.c deleted file mode 100644 index e7ecba3c6e6..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc.c +++ /dev/null @@ -1,1200 +0,0 @@ -/** - ******************************************************************************* - * @file adc.c - * @brief This file provides API functions for ADC driver. - * @version V1.0.0.0 - * $Date:: 2017-09-07 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "adc_include.h" -#include "adc_ch.h" -#include "adc.h" - -#if defined(__ADC_H) -/** - * @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** - * @addtogroup ADC - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - - -/** - * @} - */ /* End of group ADC_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_macro ADC Private Macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_Enumeration ADC Private Enumeration - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_Enumeration */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_typedef ADC Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Variable Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_variable ADC Private Variable Definition - * @{ - */ -static adc_t *p_AdcObj; -/** - * @} - */ /* End of group ADC_Private_variable */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_fuctions ADC Private Fuctions - * @{ - */ -static int32_t check_param_sampling_period0(adc_sampling_period0_t param); -static int32_t check_param_sampling_period1(adc_sampling_period1_t param); -static int32_t check_param_prescaler_output(adc_sclk_t param); -static int32_t check_param_interrupt(adc_int_t param); -static int32_t check_param_type(adc_conversion_t param); -static int32_t check_param_ain(adc_ain_range_t ain, adc_ain_range_t min, adc_ain_range_t max); -static void clear_ch_instance_info(adc_ch_t *p_ch); - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_sampling_period0(adc_sampling_period0_t param) - * @brief Check the Sampling Period's parameter. - * @param[in] param :Sampling Period's parameter - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note Macro definition is ADC_SamplingPeriod"ADC_SAMPLING_PERIOD_xxxx". - */ -/*--------------------------------------------------*/ -static int32_t check_param_sampling_period0(adc_sampling_period0_t param) -{ - int32_t result = ADC_PARAM_NG; - - switch (param) - { - case ADC_SAMPLING_PERIOD0_XN: - case ADC_SAMPLING_PERIOD0_X2N: - case ADC_SAMPLING_PERIOD0_X3N: - case ADC_SAMPLING_PERIOD0_X4N: - case ADC_SAMPLING_PERIOD0_X16N: - case ADC_SAMPLING_PERIOD0_X64N: - result = ADC_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_sampling_period1(adc_sampling_period1_t param) - * @brief Check the Sampling Period's parameter. - * @param[in] param :Sampling Period's parameter - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note Macro definition is ADC_SamplingPeriod"ADC_SAMPLING_PERIOD_xxxx". - */ -/*--------------------------------------------------*/ -static int32_t check_param_sampling_period1(adc_sampling_period1_t param) -{ - int32_t result = ADC_PARAM_NG; - - switch (param) - { - case ADC_SAMPLING_PERIOD1_XN: - case ADC_SAMPLING_PERIOD1_X2N: - case ADC_SAMPLING_PERIOD1_X3N: - case ADC_SAMPLING_PERIOD1_X4N: - case ADC_SAMPLING_PERIOD1_X16N: - case ADC_SAMPLING_PERIOD1_X64N: - result = ADC_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_prescaler_output(adc_sclk_t param) - * @brief Check the AD Prescaler Output's parameter. - * @param[in] param :AD Prescaler Output's parameter - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note Macro definition is ADC_SCLK"ADC_SCLK_xxxx". - */ -/*--------------------------------------------------*/ -static int32_t check_param_prescaler_output(adc_sclk_t param) -{ - int32_t result = ADC_PARAM_NG; - - switch (param) - { - case ADC_SCLK_1: - case ADC_SCLK_2: - case ADC_SCLK_4: - case ADC_SCLK_8: - case ADC_SCLK_16: - result = ADC_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_interrupt(adc_int_t param) - * @brief Check the Interrupt's parameter. - * @param[in] param :Interrupt's parameter - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note Macro definition is ADC_IntEnable"ADC_INT_xxxx". - */ -/*--------------------------------------------------*/ -static int32_t check_param_interrupt(adc_int_t param) -{ - int32_t result = ADC_PARAM_NG; - - switch (param) - { - case ADC_INT_DISABLE: - case ADC_INT_ENABLE: - result = ADC_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_type(adc_conversion_t param) - * @brief Check the Conversion Type's parameter. - * @param[in] param :Conversion Type's parameter - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note Macro definition is ADC_Conversion"ADC_CONVERSION_xxxx". - */ -/*--------------------------------------------------*/ -static int32_t check_param_type(adc_conversion_t param) -{ - int32_t result = ADC_PARAM_NG; - - switch (param) - { - case ADC_CONVERSION_DISABLE: - case ADC_CONVERSION_CNT: - case ADC_CONVERSION_SGL: - case ADC_CONVERSION_TRG: - case ADC_CONVERSION_HPTG: - result = ADC_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_ain(adc_ain_range_t ain, adc_ain_range_t min, adc_ain_range_t max) - * @brief Check the AIN Range's parameter. - * @param[in] ain :AIN Range's parameter - * @param[in] min :Range Min. - * @param[in] max :Range Max. - * @retval ADC_PARAM_OK :Success. - * @retval ADC_PARAM_NG :Failure. - * @note - - */ -/*--------------------------------------------------*/ -static int32_t check_param_ain(adc_ain_range_t ain, adc_ain_range_t min, adc_ain_range_t max) -{ - int32_t result = ADC_PARAM_NG; - - if (min == 0) - { - if (ain <= max) - { - result = ADC_PARAM_OK; - } - } - else - { - if ((min <= ain) && (ain <= max)) - { - result = ADC_PARAM_OK; - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn static void clear_ch_instance_info(adc_ch_t *p_ch) - * @brief Channel Instance Information Clear. - * @param[in] p_ch :Channel Instance Address. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -static void clear_ch_instance_info(adc_ch_t *p_ch) -{ - p_ch->p_tset = ADC_NULL; - p_ch->p_reg = ADC_NULL; - p_ch->init.type = ADC_CONVERSION_DISABLE; -} -/*--------------------------------------------------*/ -/*! - * @fn static void adc_compa_irq_handler( void ) - * @brief IRQ Handler for Compare_A done. - * @param - - * @retval - - * @note Call by Compare_A Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_compa_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->init.CMPxEN[0].handle != ADC_NULL)) - { - p_AdcObj->init.CMPxEN[0].handle(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/*--------------------------------------------------*/ -/*! - * @fn static void adc_compb_irq_handler( void ) - * @brief IRQ Handler for Compare_B done. - * @param - - * @retval - - * @note Call by Compare_B Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_compb_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->init.CMPxEN[1].handle != ADC_NULL)) - { - p_AdcObj->init.CMPxEN[1].handle(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/*--------------------------------------------------*/ -/*! - * @fn static void adc_single_irq_handler( void ) - * @brief IRQ Handler for single conversion done. - * @param - - * @retval - - * @note Call by Single Conversion Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_single_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->handler.single != ADC_NULL)) - { - p_AdcObj->handler.single(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/*--------------------------------------------------*/ -/*! - * @fn static void adc_continuity_irq_handler( void ) - * @brief IRQ Handler for continuity conversion done. - * @param - - * @retval - - * @note Call by Continuity Conversion Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_continuity_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->handler.continuity != ADC_NULL)) - { - p_AdcObj->handler.continuity(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/*--------------------------------------------------*/ -/*! - * @fn static void adc_trigger_irq_handler( void ) - * @brief IRQ Handler for trigger conversion done. - * @param - - * @retval - - * @note Call by Trigger Conversion Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_trigger_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->handler.trigger != ADC_NULL)) - { - p_AdcObj->handler.trigger(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/*--------------------------------------------------*/ -/*! - * @fn static void adc_highpriority_irq_handler( void ) - * @brief IRQ Handler for highpriority conversion done. - * @param - - * @retval - - * @note Call by HigPriority Conversion Done IRQ Handler. - */ -/*--------------------------------------------------*/ -void adc_highpriority_irq_handler( void ) -{ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if ((p_AdcObj != ADC_NULL) && - (p_AdcObj->handler.highpriority != ADC_NULL)) - { - p_AdcObj->handler.highpriority(p_AdcObj->init.id, TXZ_SUCCESS); - } -} - -/** - * @} - */ /* End of group ADC_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup ADC_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_init(adc_t *p_obj) - * @brief Initialize the ADC object. - * @param[in] p_obj :ADC object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. After initialization, 3us of stabilization time is needed. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_init(adc_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - p_AdcObj = p_obj; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - /* Check the parameter. */ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if ((void*)(p_obj->p_instance) == (void*)0) - { - result = TXZ_ERROR; - } - if (check_param_sampling_period0(p_obj->init.clk.exaz0) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if (check_param_sampling_period1(p_obj->init.clk.exaz1) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if (p_obj->init.clk.sampling_select > 0x0100000) - { - result = TXZ_ERROR; - } - if (check_param_prescaler_output(p_obj->init.clk.vadcld) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if(result == TXZ_SUCCESS) - { - /*------------------------------*/ - /* Init Variable */ - /*------------------------------*/ - uint32_t i; - - for (i=0; iinfo.ch[i]); - } - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxCLK ---*/ - p_obj->p_instance->CLK = ((uint32_t)p_obj->init.clk.exaz0 | (uint32_t)p_obj->init.clk.exaz1 | (uint32_t)p_obj->init.clk.vadcld); - /*--- ADxEXAZSEL ---*/ - p_obj->p_instance->EXAZSEL = (uint32_t)p_obj->init.clk.sampling_select; - /*--- ADxMOD0 ---*/ - p_obj->p_instance->MOD0 = (ADxMOD0_RCUT_NORMAL | ADxMOD0_DACON_ON); - /*--- ADxMOD1 ---*/ - p_obj->p_instance->MOD1 = p_obj->init.mod1; - /*--- ADxMOD2 ---*/ - p_obj->p_instance->MOD2 = p_obj->init.mod2; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_deinit(adc_t *p_obj) - * @brief Release the ADC object. - * @param[in] p_obj :ADC object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_deinit(adc_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t i; - adc_ch_t *p_ch; - p_AdcObj = p_obj; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxCR0 ---*/ - p_obj->p_instance->CR0 = (ADxCR0_ADEN_DISABLE | ADxCR0_CNT_DISABLE); - /*------------------------------*/ - /* Wait Stop */ - /*------------------------------*/ - /*--- ADxST ---*/ - /* When all convetion stop, ADxST is set "0". */ - while(p_obj->p_instance->ST != 0) - { - /* no processing */ - } - /*------------------------------*/ - /* Channel Class Destruct */ - /*------------------------------*/ - for (i=0; iinfo.ch[i]; - if (p_ch->init.type == ADC_CONVERSION_DISABLE) - { - if (adc_ch_deinit(p_ch) == TXZ_SUCCESS) - { - clear_ch_instance_info(p_ch); - } - } - } - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxCMPEN ---*/ - p_obj->p_instance->CMPEN = (ADxCMPEN_CMP1EN_DISABLE | ADxCMPEN_CMP0EN_DISABLE); - /*--- ADxCR1 ---*/ - p_obj->p_instance->CR1 = (ADxCR1_CNTDMEN_DISABLE | ADxCR1_SGLDMEN_DISABLE | ADxCR1_TRGDMEN_DISABLE | ADxCR1_TRGEN_DISABLE); - /*--- ADxMOD0 ---*/ - p_obj->p_instance->MOD0 = (ADxMOD0_RCUT_IREF_CUT | ADxMOD0_DACON_OFF); - /*--- ADxMOD1 ---*/ - p_obj->p_instance->MOD1 = ADC_MOD1_SCLK_3; - /*--- ADxMOD2 ---*/ - p_obj->p_instance->MOD2 = ADC_MOD2_CLEAR; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_channel_setting(adc_t *p_obj, uint32_t ch, adc_channel_setting_t *p_setting) - * @brief ADC Channel Setting - * @param[in] p_obj :ADC object. - * @param[in] ch :Channel. Range is (value < ADC_NUM_MAX). - * @param[in] p_setting :Channel Setting Source Address. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_channel_setting(adc_t *p_obj, uint32_t ch, adc_channel_setting_t *p_setting) -{ - TXZ_Result result = TXZ_SUCCESS; - p_AdcObj = p_obj; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0) || - ((void*)(p_setting) == (void*)0) || - (ch >= ADC_NUM_MAX)) - { - result = TXZ_ERROR; - } - if (check_param_interrupt((adc_int_t)p_setting->interrupt) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if (check_param_type((adc_conversion_t)p_setting->type) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if (check_param_ain((adc_ain_range_t)p_setting->ain, ADC_AIN_RANGE_MIN, ADC_AIN_RANGE_MAX) == ADC_PARAM_NG) - { - result = TXZ_ERROR; - } - if(result == TXZ_SUCCESS) - { - /*------------------------------*/ - /* Channel Class Construct */ - /*------------------------------*/ - adc_ch_t *p_ch = &p_obj->info.ch[ch]; - - p_ch->p_tset = (__IO uint32_t *)(&p_obj->p_instance->TSET0 + ch); - p_ch->p_reg = (__I uint32_t *)(&p_obj->p_instance->REG0 + ch); - p_ch->init.interrupt = p_setting->interrupt; - p_ch->init.type = p_setting->type; - p_ch->init.ain = p_setting->ain; - result = adc_ch_init(p_ch); - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_channel_clear(adc_t *p_obj, uint32_t ch) - * @brief ADC Channel Clear - * @param[in] p_obj :ADC object. - * @param[in] ch :Channel. Range is (value < ADC_NUM_MAX). - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_channel_clear(adc_t *p_obj, uint32_t ch) -{ - TXZ_Result result = TXZ_SUCCESS; - p_AdcObj = p_obj; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - (ch >= ADC_NUM_MAX)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Channel Class Destruct */ - /*------------------------------*/ - adc_ch_t *p_ch = &p_obj->info.ch[ch]; - - result = adc_ch_deinit(p_ch); - /* Init Variable */ - clear_ch_instance_info(p_ch); - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_cmp_init(adc_t *p_obj, adc_cmpx_t *p_cmpx_t) - * @brief Initialize the ADC Compare register - * @param[in] p_obj :ADC object. - * @param[in] p_cmpx_t :Clock information structure. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - * @attention After initialization, 3us of stabilization time is needed. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_cmp_init(adc_t *p_obj, adc_cmpx_t *p_cmpx_t) -{ - TXZ_Result result = TXZ_SUCCESS; - p_AdcObj = p_obj; - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_cmpx_t) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Init Variable */ - /*------------------------------*/ - if (p_cmpx_t->CMPEN == ADCMP0EN_DISABLE) - { - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP0EN_ENABLE; - } - if (p_cmpx_t->CMPEN == ADCMP1EN_DISABLE) - { - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP1EN_ENABLE; - } - if (p_cmpx_t->CMPEN == ADCMP2EN_DISABLE) - { - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP2EN_ENABLE; - } - if (p_cmpx_t->CMPEN == ADCMP3EN_DISABLE) - { - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP3EN_ENABLE; - } - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - if (p_cmpx_t->CMPEN == ADCMP0EN_ENABLE) - { - p_obj->init.CMPxEN[0].CMPEN = p_cmpx_t->CMPEN; - p_obj->init.CMPxEN[0].CMPCNT = p_cmpx_t->CMPCNT; - p_obj->init.CMPxEN[0].CMPCond = p_cmpx_t->CMPCond; - p_obj->init.CMPxEN[0].CMPBigSml = p_cmpx_t->CMPBigSml; - p_obj->init.CMPxEN[0].StrReg = p_cmpx_t->StrReg; - p_obj->init.CMPxEN[0].ADComp = p_cmpx_t->ADComp; - p_obj->init.CMPxEN[0].handle = p_cmpx_t->handle; - p_obj->p_instance->CMPEN |= p_cmpx_t->CMPEN; - p_obj->p_instance->CMPCR0 = p_cmpx_t->CMPCNT | p_cmpx_t->CMPCond | p_cmpx_t->CMPBigSml | p_cmpx_t->StrReg; - p_obj->p_instance->CMP0 = p_cmpx_t->ADComp; - } - else if (p_cmpx_t->CMPEN == ADCMP1EN_ENABLE) - { - p_obj->init.CMPxEN[1].CMPEN = p_cmpx_t->CMPEN; - p_obj->init.CMPxEN[1].CMPCNT = p_cmpx_t->CMPCNT; - p_obj->init.CMPxEN[1].CMPCond = p_cmpx_t->CMPCond; - p_obj->init.CMPxEN[1].CMPBigSml = p_cmpx_t->CMPBigSml; - p_obj->init.CMPxEN[1].StrReg = p_cmpx_t->StrReg; - p_obj->init.CMPxEN[1].ADComp = p_cmpx_t->ADComp; - p_obj->init.CMPxEN[1].handle = p_cmpx_t->handle; - p_obj->p_instance->CMPEN |= p_cmpx_t->CMPEN; - p_obj->p_instance->CMPCR1 = p_cmpx_t->CMPCNT | p_cmpx_t->CMPCond | p_cmpx_t->CMPBigSml | p_cmpx_t->StrReg; - p_obj->p_instance->CMP1 = p_cmpx_t->ADComp; - } - else if (p_cmpx_t->CMPEN == ADCMP2EN_ENABLE) - { - p_obj->init.CMPxEN[2].CMPEN = p_cmpx_t->CMPEN; - p_obj->init.CMPxEN[2].CMPCNT = p_cmpx_t->CMPCNT; - p_obj->init.CMPxEN[2].CMPCond = p_cmpx_t->CMPCond; - p_obj->init.CMPxEN[2].CMPBigSml = p_cmpx_t->CMPBigSml; - p_obj->init.CMPxEN[2].StrReg = p_cmpx_t->StrReg; - p_obj->init.CMPxEN[2].ADComp = p_cmpx_t->ADComp; - p_obj->init.CMPxEN[2].handle = p_cmpx_t->handle; - p_obj->p_instance->CMPEN |= p_cmpx_t->CMPEN; - p_obj->p_instance->CMPCR2 = p_cmpx_t->CMPCNT | p_cmpx_t->CMPCond | p_cmpx_t->CMPBigSml | p_cmpx_t->StrReg; - p_obj->p_instance->CMP2 = p_cmpx_t->ADComp; - } - else if (p_cmpx_t->CMPEN == ADCMP3EN_ENABLE) - { - p_obj->init.CMPxEN[3].CMPEN = p_cmpx_t->CMPEN; - p_obj->init.CMPxEN[3].CMPCNT = p_cmpx_t->CMPCNT; - p_obj->init.CMPxEN[3].CMPCond = p_cmpx_t->CMPCond; - p_obj->init.CMPxEN[3].CMPBigSml = p_cmpx_t->CMPBigSml; - p_obj->init.CMPxEN[3].StrReg = p_cmpx_t->StrReg; - p_obj->init.CMPxEN[3].ADComp = p_cmpx_t->ADComp; - p_obj->init.CMPxEN[3].handle = p_cmpx_t->handle; - p_obj->p_instance->CMPEN |= p_cmpx_t->CMPEN; - p_obj->p_instance->CMPCR3 = p_cmpx_t->CMPCNT | p_cmpx_t->CMPCond | p_cmpx_t->CMPBigSml | p_cmpx_t->StrReg; - p_obj->p_instance->CMP3 = p_cmpx_t->ADComp; - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_cmp_deinit(adc_t *p_obj, adc_cmpx_t *p_cmpx_t) - * @brief Release the ADC Compare register - * @param[in] p_obj :ADC object. - * @param[in] p_cmpx_t :Clock information structure. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - * @attention After initialization, 3us of stabilization time is needed. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_cmp_deinit(adc_t *p_obj, adc_cmpx_t *p_cmpx_t) -{ - TXZ_Result result = TXZ_SUCCESS; - p_AdcObj = p_obj; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_cmpx_t) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - if (p_cmpx_t->CMPEN == ADCMP0EN_DISABLE) - { - p_obj->init.CMPxEN[0].CMPEN = 0; - p_obj->init.CMPxEN[0].CMPCNT = 0; - p_obj->init.CMPxEN[0].CMPCond = 0; - p_obj->init.CMPxEN[0].CMPBigSml = 0; - p_obj->init.CMPxEN[0].StrReg = 0; - p_obj->init.CMPxEN[0].ADComp = 0; - p_obj->init.CMPxEN[0].handle = (void*)0; - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP0EN_ENABLE; - p_obj->p_instance->CMPCR0 = 0; - p_obj->p_instance->CMP0 = 0; - } - else if (p_cmpx_t->CMPEN == ADCMP1EN_DISABLE) - { - p_obj->init.CMPxEN[1].CMPEN = 0; - p_obj->init.CMPxEN[1].CMPCNT = 0; - p_obj->init.CMPxEN[1].CMPCond = 0; - p_obj->init.CMPxEN[1].CMPBigSml = 0; - p_obj->init.CMPxEN[1].StrReg = 0; - p_obj->init.CMPxEN[1].ADComp = 0; - p_obj->init.CMPxEN[1].handle = (void*)0; - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP1EN_ENABLE; - p_obj->p_instance->CMPCR1 = 0; - p_obj->p_instance->CMP1 = 0; - } - else if (p_cmpx_t->CMPEN == ADCMP2EN_DISABLE) - { - p_obj->init.CMPxEN[2].CMPEN = 0; - p_obj->init.CMPxEN[2].CMPCNT = 0; - p_obj->init.CMPxEN[2].CMPCond = 0; - p_obj->init.CMPxEN[2].CMPBigSml = 0; - p_obj->init.CMPxEN[2].StrReg = 0; - p_obj->init.CMPxEN[2].ADComp = 0; - p_obj->init.CMPxEN[2].handle = (void*)0; - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP2EN_ENABLE; - p_obj->p_instance->CMPCR2 = 0; - p_obj->p_instance->CMP2 = 0; - } - else if (p_cmpx_t->CMPEN == ADCMP3EN_DISABLE) - { - p_obj->init.CMPxEN[3].CMPEN = 0; - p_obj->init.CMPxEN[3].CMPCNT = 0; - p_obj->init.CMPxEN[3].CMPCond = 0; - p_obj->init.CMPxEN[3].CMPBigSml = 0; - p_obj->init.CMPxEN[3].StrReg = 0; - p_obj->init.CMPxEN[3].ADComp = 0; - p_obj->init.CMPxEN[3].handle = (void*)0; - p_obj->p_instance->CMPEN &= ~(uint32_t)ADCMP3EN_ENABLE; - p_obj->p_instance->CMPCR3 = 0; - p_obj->p_instance->CMP3 = 0; - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_channel_get_value(adc_t *p_obj, uint32_t ch, uint32_t *p_value) - * @brief Get AD value - * @param[in] p_obj :ADC object. - * @param[in] ch :Channel. Range is (value < ADC_NUM_MAX). - * @param p_value :AD value. Destination address. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result adc_channel_get_value(adc_t *p_obj, uint32_t ch, uint32_t *p_value) -{ - TXZ_Result result = TXZ_ERROR; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0) || - ((void*)(p_value) == (void*)0) || - (ch >= ADC_NUM_MAX)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Get Value */ - /*------------------------------*/ - adc_ch_t *p_ch = &p_obj->info.ch[ch]; - - result = adc_ch_get_value(p_ch, p_value); - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_start(adc_t *p_obj) - * @brief Start Conversion. - * @param[in] p_obj :ADC object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_start(adc_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Enable Conversion */ - /*------------------------------*/ - uint32_t i; - adc_ch_t *p_ch; - uint32_t cr0 = (ADxCR0_ADEN_ENABLE | ADxCR0_CNT_DISABLE); - uint32_t cr1 = (ADxCR1_CNTDMEN_DISABLE | ADxCR1_SGLDMEN_DISABLE | ADxCR1_TRGDMEN_DISABLE | ADxCR1_TRGEN_DISABLE); - - for (i=0; iinfo.ch[i]; - switch (p_ch->init.type) - { - case ADC_CONVERSION_CNT: - cr0 |= ADxCR0_CNT_ENABLE; - break; - case ADC_CONVERSION_SGL: - cr0 |= ADxCR0_SGL_ENABLE; - break; - case ADC_CONVERSION_TRG: - cr1 |= ADxCR1_TRGEN_ENABLE; - break; - case ADC_CONVERSION_HPTG: - cr1 |= ADxCR1_HPTRGEN_ENABLE; - break; - default: - /* no processing */ - break; - } - } - /*--- ADxCR1 ---*/ - p_obj->p_instance->CR1 = cr1; - /*--- ADxCR0 ---*/ - p_obj->p_instance->CR0 = cr0; - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_stop(adc_t *p_obj) - * @brief Stop Conversion. - * @param[in] p_obj :ADC object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_stop(adc_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t i; - adc_ch_t *p_ch; - uint32_t value; - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Disable Conversion */ - /*------------------------------*/ - /*--- ADxCR0 ---*/ - p_obj->p_instance->CR0 = (ADxCR0_ADEN_DISABLE | ADxCR0_CNT_DISABLE); - /*------------------------------*/ - /* Wait Stop */ - /*------------------------------*/ - /*--- ADxST ---*/ - /* When all convetion stop, ADxST is set "0". */ - while(p_obj->p_instance->ST != 0) - { - /* no processing */ - } - /*------------------------------*/ - /* Dummy Read */ - /*------------------------------*/ - /* Read is needed before the next convertion. */ - for (i=0; iinfo.ch[i]; - if (p_ch->init.type == ADC_CONVERSION_DISABLE) - { - if (adc_ch_get_value(p_ch, &value) != TXZ_SUCCESS) - { - /* no processing */ - } - } - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_WorkState adc_poll_conversion(adc_t *p_obj, uint32_t timeout) - * @brief Wait for single conversion to be completed - * @param[in] p_obj :ADC object. - * @param[in] timeout :Timeout(tick). - * @retval TXZ_DONE :Success. - * @retval TXZ_BUSY :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_WorkState adc_poll_conversion(adc_t *p_obj, uint32_t timeout) -{ - TXZ_WorkState result = TXZ_BUSY; - TXZ_WorkState loopBreak = TXZ_BUSY; - uint32_t base = hal_get_tick(); - uint32_t current = 0; - uint32_t status; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0)) - { - result = TXZ_DONE; - } - else - { - /*------------------------------*/ - /* Check Status */ - /*------------------------------*/ - while(loopBreak == TXZ_BUSY) - { - /*--- Check Status ---*/ - /* Read status. */ - status = p_obj->p_instance->ST; - /* Check status. */ - if ((status & ADxST_SNGF_MASK) == ADxST_SNGF_IDLE) - { - result = TXZ_DONE; - loopBreak = TXZ_DONE; - } - else - { - /*--- Check Timeout ---*/ - if (timeout == 0) - { - loopBreak = TXZ_DONE; - } - else - { - current = hal_get_tick(); - if (current > base) - { - if ((current - base) >= timeout) - { - loopBreak = TXZ_DONE; - } - } - else - { - base = current; - } - } - } - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @fn TXZ_Result adc_get_status(adc_t *p_obj, uint32_t *p_status) - * @brief Get Conversion Status. - * @details Status bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-8 | - | - | - * | 7 | ADBF | AD Running Flag. Use @ref adc_status_t. | - * | 6-4 | - | - | - * | 3 | CNTF | Continuity Conversion Running Flag. Use @ref adc_cnt_status_t. | - * | 2 | SNGF | Single Conversion Running Flag. Use @ref adc_sgl_status_t. | - * | 1 | TRGF | Trigger Conversion Running Flag. Use @ref adc_trg_status_t. | - * | 0 | - | - | - * - * @param[in] p_obj :ADC object. - * @param[out] p_status :Conversion Status. Destination address. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result adc_get_status(adc_t *p_obj, uint32_t *p_status) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((void*)(p_obj->p_instance) == (void*)0) || - ((void*)(p_status) == (void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Read Register */ - /*------------------------------*/ - *p_status = p_obj->p_instance->ST; - } - - return (result); -} -/** - * @} - */ /* End of group ADC_Exported_functions */ - -/** - * @} - */ /* End of group ADC */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__ADC_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc_ch.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc_ch.c deleted file mode 100644 index cddd4de4cf4..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/adc_ch.c +++ /dev/null @@ -1,351 +0,0 @@ -/** - ******************************************************************************* - * @file adc_ch.c - * @brief This file provides API functions for ADC driver. \n - * Channel Class. - * @version V1.0.0.0 - * $Date:: 2017-09-07 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "adc_include.h" -#include "adc_ch.h" - -#if defined(__ADC_CH_H) -/** - * @addtogroup Periph_Driver Peripheral Driver - * @{ - */ - -/** - * @addtogroup ADC - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_define ADC Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_typedef ADC Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group ADC_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup ADC_Private_fuctions ADC Private Fuctions - * @{ - */ -#ifdef DEBUG - /* no define */ -#endif - -/** - * @} - */ /* End of group ADC_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup ADC_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/*! - * @fn static uint32_t get_conversion_data(uint32_t reg) - * @brief Get convertion data from ADxREGn. - * @param[in] reg :ADxREGn data. - * @retval Convertion data. - * @note - - */ -/*--------------------------------------------------*/ -uint32_t get_conversion_data(uint32_t reg) -{ - uint32_t result = (uint32_t)((reg & ADxREGn_ADRn_MASK) >> 4); - - return (result); -} -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_ch_init(adc_ch_t *p_obj) - * @brief Initialize the ADC Channel object. - * @param[in][out] p_obj :ADC Channel object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_ch_init(adc_ch_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((volatile void*)(p_obj->p_tset) == (volatile void*)0) || - ((volatile const void*)(p_obj->p_reg) == (volatile const void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxREGx ---*/ - /* Read is needed before the next convertion. */ - { - volatile uint32_t reg; - reg = *p_obj->p_reg; - } - /*--- ADxTSET ---*/ - *p_obj->p_tset = (p_obj->init.interrupt | p_obj->init.type | p_obj->init.ain); - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_ch_deinit(adc_ch_t *p_obj) - * @brief Release the ADC Channel object. - * @param[in][out] p_obj :ADC Channel object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_ch_deinit(adc_ch_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxTSET ---*/ - *p_obj->p_tset = (ADxTSETn_ENINT_DISABLE | ADxTSETn_TRGS_DISABLE | 0); - /*--- ADxREGx ---*/ - /* Read is needed before the next convertion. */ - { - volatile uint32_t reg; - reg = *p_obj->p_reg; - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_ch_int_enable(adc_ch_t *p_obj) - * @brief Enable Interrupt. - * @param[in][out] p_obj :ADC Channel object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_ch_int_enable(adc_ch_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((volatile void*)(p_obj->p_tset) == (volatile void*)0) || - ((volatile const void*)(p_obj->p_reg) == (volatile const void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxTSET ---*/ - { - uint32_t tset = (*p_obj->p_tset & ~ADxTSETn_ENINT_MASK); - - *p_obj->p_tset = (tset | ADxTSETn_ENINT_ENABLE); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_ch_int_disable(adc_ch_t *p_obj) - * @brief Disable Interrupt. - * @param[in][out] p_obj :ADC Channel object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has stoped. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_ch_int_disable(adc_ch_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if (((void*)(p_obj) == (void*)0) || - ((volatile void*)(p_obj->p_tset) == (volatile void*)0) || - ((volatile const void*)(p_obj->p_reg) == (volatile const void*)0)) - { - result = TXZ_ERROR; - } - else - { - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- ADxTSET ---*/ - { - uint32_t tset = (*p_obj->p_tset & ~ADxTSETn_ENINT_MASK); - - *p_obj->p_tset = (tset | ADxTSETn_ENINT_DISABLE); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result adc_ch_get_value(adc_ch_t *p_obj, uint32_t *p_value) - * @brief Get conversion value. - * @param p_obj :ADC Channel object. - * @param p_value :AD value. Destination address. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @pre Conversion has done. - */ -/*--------------------------------------------------*/ -TXZ_Result adc_ch_get_value(adc_ch_t *p_obj, uint32_t *p_value) -{ - TXZ_Result result = TXZ_ERROR; - uint32_t reg; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else - { - reg = *p_obj->p_reg; - /*------------------------------*/ - /* Check Result */ - /*------------------------------*/ - if ((reg & ADxREGn_ADRFn_MASK) == ADxREGn_ADRFn_ON) - { - *p_value = get_conversion_data(reg); - result = TXZ_SUCCESS; - } - } - - return (result); -} -/** - * @} - */ /* End of group ADC_Exported_functions */ - -/** - * @} - */ /* End of group ADC */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__ADC_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/tmpm4g9_fc.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/tmpm4g9_fc.c deleted file mode 100644 index 564d8270577..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/tmpm4g9_fc.c +++ /dev/null @@ -1,646 +0,0 @@ -/** - ******************************************************************************* - * @file fc.c - * @brief Flash_Userboot Sample Application. - * @version V1.0.1.0 - * $Date:: 2017-06-23 13:52:12 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include -#include "tmpm4g9_fc.h" -//#include "txz_sample_def.h" - -/** - * @addtogroup Example - * @{ - */ - -/** - * @defgroup Flash_Userboot Flash_Userboot Sample Appli - * @{ - */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_macro Flash_Userboot Private Macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group Flash_Userboot_Private_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_define Flash_Userboot Private Define - * @{ - */ - -/** - * @} - */ /* End of group Flash_Userboot_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_define Flash_Userboot Private Define - * @{ - */ -#define FC_KCR_KEYCODE (0xA74A9D23UL) /*!< The specific code that writes the FCKCR register. */ -#define FC_BRANK_VALUE (uint32_t)(0xFFFFFFFFUL) /*!< Brank value */ -#define FC_MAX_PAGES (uint8_t)(0x20) /*!< Maxmum pages */ -#define FC_CMD_ADDRESS_MASK (uint32_t)(0xFFFF0000UL) /*!< Upper address mask of the upper address */ -#define FC_CMD_BC1_ADDR (0x00000550UL) /*!< The lower address of the first bus cycle when uses commans */ -#define FC_CMD_BC2_ADDR (0x00000AA0UL) /*!< The lower address of the second bus cycle when uses commans */ - -/****************** Changed by TSIP *************************************/ -///* Area Selection All */ -#define FC_AREASEL_EXPECT_AREA0 (uint32_t)(0x00000000UL) -#define FC_AREASEL_AREA0 (uint32_t)(0x00000777UL) //select Area 0,1 and 2 -#define FC_AREASEL_MASK_AREA0 (uint32_t)(0xFF8F0888UL) //mask Area 0,1 and 2 -#define FC_AREASEL_WRITE_MODE (uint32_t)(0x1C000000UL) - -static uint32_t fc_const_code_flash_address[FC_MAX_PAGES] = { - (0x5E000000UL), /*!< CODE FLASH Page0 */ - (0x5E001000UL), /*!< CODE FLASH Page1 */ - (0x5E002000UL), /*!< CODE FLASH Page2 */ - (0x5E003000UL), /*!< CODE FLASH Page3 */ - (0x5E004000UL), /*!< CODE FLASH Page4 */ - (0x5E005000UL), /*!< CODE FLASH Page5 */ - (0x5E006000UL), /*!< CODE FLASH Page6 */ - (0x5E007000UL), /*!< CODE FLASH Page7 */ - (0x5E008000UL), /*!< CODE FLASH Page8 */ - (0x5E009000UL), /*!< CODE FLASH Page9 */ - (0x5E00A000UL), /*!< CODE FLASH Page10 */ - (0x5E00B000UL), /*!< CODE FLASH Page11 */ - (0x5E00C000UL), /*!< CODE FLASH Page12 */ - (0x5E00D000UL), /*!< CODE FLASH Page13 */ - (0x5E00E000UL), /*!< CODE FLASH Page14 */ - (0x5E00F000UL), /*!< CODE FLASH Page15 */ - (0x5E010000UL), /*!< CODE FLASH Page16 */ - (0x5E011000UL), /*!< CODE FLASH Page17 */ - (0x5E012000UL), /*!< CODE FLASH Page18 */ - (0x5E013000UL), /*!< CODE FLASH Page19 */ - (0x5E014000UL), /*!< CODE FLASH Page20 */ - (0x5E015000UL), /*!< CODE FLASH Page21 */ - (0x5E016000UL), /*!< CODE FLASH Page22 */ - (0x5E017000UL), /*!< CODE FLASH Page23 */ - (0x5E018000UL), /*!< CODE FLASH Page24 */ - (0x5E019000UL), /*!< CODE FLASH Page25 */ - (0x5E01A000UL), /*!< CODE FLASH Page26 */ - (0x5E01B000UL), /*!< CODE FLASH Page27 */ - (0x5E01C000UL), /*!< CODE FLASH Page28 */ - (0x5E01D000UL), /*!< CODE FLASH Page29 */ - (0x5E01E000UL), /*!< CODE FLASH Page30 */ - (0x5E01F000UL) /*!< CODE FLASH Page31 */ -}; - -/** - * @} - */ /* End of group Flash_Userboot_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_define Flash_Userboot Private Define - * @{ - */ -/** - * @defgroup Flash_Userboot_Private_typedef Flash_Userboot Private Typedef - * @{ - */ - -/** - * @} - */ /* End of group Flash_Userboot_Private_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Private Member */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_variables Flash_Userboot Private Variables - * @{ - */ -/** - * @} - */ /* End of group Flash_Userboot_Private_variables */ - - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup Flash_Userboot_Private_fuctions Flash_Userboot Private Fuctions - * @{ - */ -__STATIC_INLINE TXZ_Result fc_enable_areasel(void); -__STATIC_INLINE TXZ_Result fc_disable_areasel(void); -static void fc_write_command(uint32_t* src_address, uint32_t* dst_address, uint32_t size); -static TXZ_Result fc_verify_check(uint32_t* src_address, uint32_t* dst_address, uint32_t size); -static TXZ_Result fc_erase_command(uint32_t* flash_top_address, uint32_t* erase_top_address, fc_erase_kind_t kind); -static TXZ_Result fc_blank_check(uint32_t* address, uint32_t size); - -/*--------------------------------------------------*/ -/** - * @brief Enables the AREA0. - * @param - - * @return Result. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note It works in the inner RAM. - * This function write the FCAREASEL regiset. - */ -/*--------------------------------------------------*/ -#if defined ( __GNUC__ ) /* GCC Compiler */ -__attribute__((section(".ram_func"))) -#endif -#if defined ( __ICCARM__ ) // IAR Compiler -__ramfunc -#endif -__STATIC_INLINE TXZ_Result fc_enable_areasel(void) -{ - TXZ_Result retval = TXZ_ERROR; - /* Writes the FCKER register the KEYCODE. */ - TSB_FC->KCR = FC_KCR_KEYCODE; - - /* Selects the area0 */ - { - uint32_t reg = TSB_FC->AREASEL & FC_AREASEL_MASK_AREA0; - TSB_FC->AREASEL = reg | FC_AREASEL_AREA0; - } - - /* Confirms the FCAREASEL register the SSF0 was set. */ - while(1){ - uint32_t i = TSB_FC->AREASEL; - if((i & FC_AREASEL_WRITE_MODE) == FC_AREASEL_WRITE_MODE){ - retval = TXZ_SUCCESS; - break; - } - } - - return(retval); -} - -/*--------------------------------------------------*/ -/** - * @brief Disables the AREA0. - * @param - - * @return Result. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note It works in the inner RAM. - * This function write the FCAREASEL regiset. - */ -/*--------------------------------------------------*/ -#if defined ( __GNUC__ ) /* GCC Compiler */ -__attribute__((section(".ram_func"))) -#endif -#if defined ( __ICCARM__ ) // IAR Compiler -__ramfunc -#endif -__STATIC_INLINE TXZ_Result fc_disable_areasel(void) -{ - TXZ_Result retval = TXZ_ERROR; - - /* Writes the FCKER register the KEYCODE. */ - TSB_FC->KCR = FC_KCR_KEYCODE; - - /* Selects the area0 */ - { - uint32_t reg = TSB_FC->AREASEL & FC_AREASEL_MASK_AREA0; - TSB_FC->AREASEL = reg | FC_AREASEL_EXPECT_AREA0; - } - - /* Confirms the SSF0 of the FCAREASEL register is not set. */ - while(1){ - uint32_t i = TSB_FC->AREASEL; - if((i & FC_AREASEL_WRITE_MODE) != FC_AREASEL_WRITE_MODE){ - retval = TXZ_SUCCESS; - break; - } - } - - return(retval); -} - -/*--------------------------------------------------*/ -/** - * @brief Writes data of the Flash ROM. - * @param uint32_t* : src_address - * @param uint32_t* : dst_address - * @param uint32_t : size - * @return - - * @note It works in the inner RAM. - */ -/*--------------------------------------------------*/ -#if defined ( __GNUC__ ) /* GCC Compiler */ -__attribute__((section(".ram_func"))) -#endif -#if defined ( __ICCARM__ ) // IAR Compiler -__ramfunc -#endif -static void fc_write_command(uint32_t* src_address, uint32_t* dst_address, uint32_t size) -{ - TXZ_Result retval; - /******** Changed/Added by TSIP next 12 lines *************/ - volatile uint32_t* addr1; - volatile uint32_t* addr2; - if(dst_address <= (uint32_t *)0x0007FFFFUL) { - addr1 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC1_ADDR); - addr2 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC2_ADDR); - } else if(dst_address <= (uint32_t *)0x000FFFFF) { - addr1 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC1_ADDR + 0x10000); - addr2 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC2_ADDR + 0x10000); - } else { - addr1 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC1_ADDR + 0x100000); - addr2 = (uint32_t *) ((uint32_t)FC_CODE_FLASH_ADDRESS_TOP + FC_CMD_BC2_ADDR + 0x100000); - } - volatile uint32_t* addr3 = (uint32_t *) ((uint32_t)dst_address + FC_CODE_FLASH_ADDRESS_TOP); - uint32_t* source = (uint32_t *) src_address; - - /* Enables the AREA0. Write Mode. */ - retval = fc_enable_areasel(); - - if(retval == TXZ_SUCCESS){ - uint32_t i; - - *addr1 = (0x000000AAUL); /* bus cycle 1 */ - *addr2 = (0x00000055UL); /* bus cycle 2 */ - *addr1 = (0x000000A0UL); /* bus cycle 3 */ - for(i=(0UL); iSR0 & (uint32_t)status; - - /* Confirms the specific status of the flash ROM */ - if(work32 == (uint32_t)status){ - retval = TXZ_DONE; - } - - return (retval); -} - -/*--------------------------------------------------*/ -/** - * @brief Auto write command of the code flash ROM. - * @param uint32_t* : src_address - * @param uint32_t* : dst_address - * @param uint32_t : size - * @return Result. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note It works in the inner RAM. - * This function writes 16bytes data to the code Flash ROM. - */ -/*--------------------------------------------------*/ -#if defined ( __GNUC__ ) /* GCC Compiler */ -__attribute__((section(".ram_func"))) -#endif -#if defined ( __ICCARM__ ) // IAR Compiler -__ramfunc -#endif -TXZ_Result fc_write_code_flash(uint32_t* src_address, uint32_t* dst_address, uint32_t size) -{ - TXZ_Result retval = TXZ_SUCCESS; - - /* Checks the code Flash ROM status */ - if(fc_get_status(FC_SR0_RDYBSY) == TXZ_DONE){ - - uint32_t i; - /* Checks the code Flash ROM status */ - for(i=0;ip_instance)); -#endif /* #ifdef DEBUG */ - - /* System core clock update */ - SystemCoreClockUpdate(); - - switch (p_obj->p_instance->SYSCR & CG_MCKSELGST_MASK) - { - case CG_MCKSELGST_1: /* fsysm -> fc/PRCK */ - result = SystemCoreClock / CG_FSYSM_1_DIV; - break; - case CG_MCKSELGST_2: /* fsysm -> fc/PRCK/2 */ - result = SystemCoreClock / CG_FSYSM_2_DIV; - break; - case CG_MCKSELGST_4: /* fsysm -> fc/PRCK/4 */ - result = SystemCoreClock / CG_FSYSM_4_DIV; - break; - default: - result = 0U; - break; - } - return (result); - -} - -/*--------------------------------------------------*/ -/** - * @brief Update PrescalerClock according register values. - * @param p_obj :CG object. - * @retval PrescalerClock Frequency. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -uint32_t cg_get_phyt0(cg_t *p_obj) -{ - uint32_t result = 0U; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the CG_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - /* System core clock update */ - SystemCoreClockUpdate(); - - /* Get Gear status. */ - switch (p_obj->p_instance->SYSCR & CG_FSYS_MASK) - { - case CG_FSYS_1: /* Gear -> fc */ - result = SystemCoreClock * CG_FSYS_1_MUL; - break; - case CG_FSYS_2: /* Gear -> fc/2 */ - result = SystemCoreClock * CG_FSYS_2_MUL; - break; - case CG_FSYS_4: /* Gear -> fc/4 */ - result = SystemCoreClock * CG_FSYS_4_MUL; - break; - case CG_FSYS_8: /* Gear -> fc/8 */ - result = SystemCoreClock * CG_FSYS_8_MUL; - break; - case CG_FSYS_16: /* Gear -> fc/16 */ - result = SystemCoreClock * CG_FSYS_16_MUL; - break; - default: - result = 0U; - break; - } - - switch (p_obj->p_instance->SYSCR & CG_PRCKST_MASK) - { - case CG_PRCKST_1: /* ��T0 -> fc */ - result /= CG_PRCK_1_DIV; - break; - case CG_PRCKST_2: /* ��T0 -> fc/2 */ - result /= CG_PRCK_2_DIV; - break; - case CG_PRCKST_4: /* ��T0 -> fc/4 */ - result /= CG_PRCK_4_DIV; - break; - case CG_PRCKST_8: /* ��T0 -> fc/8 */ - result /= CG_PRCK_8_DIV; - break; - case CG_PRCKST_16: /* ��T0 -> fc/16 */ - result /= CG_PRCK_16_DIV; - break; - case CG_PRCKST_32: /* ��T0 -> fc/32 */ - result /= CG_PRCK_32_DIV; - break; - case CG_PRCKST_64: /* ��T0 -> fc/64 */ - result /= CG_PRCK_64_DIV; - break; - case CG_PRCKST_128: /* ��T0 -> fc/128 */ - result /= CG_PRCK_128_DIV; - break; - case CG_PRCKST_256: /* ��T0 -> fc/256 */ - result /= CG_PRCK_256_DIV; - break; - case CG_PRCKST_512: /* ��T0 -> fc/512 */ - result /= CG_PRCK_512_DIV; - break; - default: - result = 0U; - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Update Middle PrescalerClock according register values. - * @param p_obj :CG object. - * @retval Middle PrescalerClock Frequency. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -uint32_t cg_get_mphyt0(cg_t *p_obj) -{ - uint32_t result = 0U; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the CG_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - /* System core clock update */ - SystemCoreClockUpdate(); - - /* Get Gear status. */ - switch (p_obj->p_instance->SYSCR & CG_FSYS_MASK) - { - case CG_FSYS_1: /* Gear -> fc */ - result = SystemCoreClock * CG_FSYS_1_MUL; - break; - case CG_FSYS_2: /* Gear -> fc/2 */ - result = SystemCoreClock * CG_FSYS_2_MUL; - break; - case CG_FSYS_4: /* Gear -> fc/4 */ - result = SystemCoreClock * CG_FSYS_4_MUL; - break; - case CG_FSYS_8: /* Gear -> fc/8 */ - result = SystemCoreClock * CG_FSYS_8_MUL; - break; - case CG_FSYS_16: /* Gear -> fc/16 */ - result = SystemCoreClock * CG_FSYS_16_MUL; - break; - default: - result = 0U; - break; - } - switch (p_obj->p_instance->SYSCR & CG_PRCKST_MASK) - { - case CG_PRCKST_1: /* ��T0 -> fc */ - result /= CG_PRCK_1_DIV; - break; - case CG_PRCKST_2: /* ��T0 -> fc/2 */ - result /= CG_PRCK_2_DIV; - break; - case CG_PRCKST_4: /* ��T0 -> fc/4 */ - result /= CG_PRCK_4_DIV; - break; - case CG_PRCKST_8: /* ��T0 -> fc/8 */ - result /= CG_PRCK_8_DIV; - break; - case CG_PRCKST_16: /* ��T0 -> fc/16 */ - result /= CG_PRCK_16_DIV; - break; - case CG_PRCKST_32: /* ��T0 -> fc/32 */ - result /= CG_PRCK_32_DIV; - break; - case CG_PRCKST_64: /* ��T0 -> fc/64 */ - result /= CG_PRCK_64_DIV; - break; - case CG_PRCKST_128: /* ��T0 -> fc/128 */ - result /= CG_PRCK_128_DIV; - break; - case CG_PRCKST_256: /* ��T0 -> fc/256 */ - result /= CG_PRCK_256_DIV; - break; - case CG_PRCKST_512: /* ��T0 -> fc/512 */ - result /= CG_PRCK_512_DIV; - break; - default: - result = 0U; - break; - } - - switch (p_obj->p_instance->SYSCR & CG_MCKSELPST_MASK) - { - case CG_MCKSELPST_1: /* ��T0 -> fc/PRCK */ - result /= CG_FSYSM_1_DIV; - break; - case CG_MCKSELPST_2: /* ��T0 -> fc/PRCK/2 */ - result /= CG_FSYSM_2_DIV; - break; - case CG_MCKSELPST_4: /* ��T0 -> fc/PRCK/4 */ - result /= CG_FSYSM_4_DIV; - break; - default: - result = 0U; - break; - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Set Internal high-speed oscillator enable. - * @param p_obj :CG object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result cg_ihosc_enable(cg_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the CG_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - /* Internal high-speed oscillator is enable. */ - (*((__IO uint32_t *)BITBAND_PERI(&p_obj->p_instance->OSCCR,CG_IHOSC1EN))) = CG_IHOSC_ENABLE; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Set Internal high-speed oscillator disable. - * @param p_obj :CG object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result cg_ihosc_disable(cg_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the CG_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - /* Internal high-speed oscillator is disable. */ - (*((__IO uint32_t *)BITBAND_PERI(&p_obj->p_instance->OSCCR,CG_IHOSC1EN))) = CG_IHOSC_DISABLE; - - return (result); -} -/** - * @} - */ /* End of group CG_Exported_functions */ - -/** - * @} - */ /* End of group CG */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__CG_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart.c deleted file mode 100644 index 157ceaab0cb..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart.c +++ /dev/null @@ -1,1438 +0,0 @@ -/** - ******************************************************************************* - * @file txz_fuart.c - * @brief This file provides API functions for FUART driver. - * @version V1.0.0.0 - * $Date:: 2017-08-06 10:43:01 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_fuart_include.h" -#include "txz_fuart.h" - -#if defined(__FUART_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup FUART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Private_define FUART Private Define - * @{ - */ - -/** - * @defgroup FUART_BourateConfig Bourate Setting Configuration - * @brief Bourate Setting Configuration. - * @{ - */ -#define FUART_CFG_GET_BOUDRATE_DISABLE (0) /*!< Disable to get bourate setting. */ -#define FUART_CFG_GET_BOUDRATE_ENABLE (1) /*!< Enable to get bourate setting. */ -#define FUART_CFG_GET_BOUDRATE FUART_CFG_GET_BOUDRATE_ENABLE /*!< Disable/Enable Get Bourate Setting */ - -#define FUART_CFG_GET_BOUDRATE_TYPE_SINGLE (0) /*!< When the function finds within error margin, finish calculation. */ -#define FUART_CFG_GET_BOUDRATE_TYPE_ALL (1) /*!< The function calculates all patern(calculates minimum error margin). */ -#define FUART_CFG_GET_BOUDRATE_TYPE FUART_CFG_GET_BOUDRATE_TYPE_ALL /*!< Get Bourate Type Setting */ - -#define FUART_CFG_BOUDRATE_ERROR_RANGE ((uint32_t)1) /*!< Error Margin(%). */ -#define FUART_CFG_BOUDRATE_FIXED_POINT_BIT ((uint32_t)6) /*!< Fiexd Point Bit. */ -/** - * @} - */ /* End of group FUART_BourateConfig */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Private_define FUART Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Private_define FUART Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Private_typedef FUART Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup FUART_Private_fuctions FUART Private Fuctions - * @{ - */ -#ifdef DEBUG - __STATIC_INLINE int32_t check_param_cts_handshake(uint32_t param); - __STATIC_INLINE int32_t check_param_rts_handshake(uint32_t param); - __STATIC_INLINE int32_t check_param_stop_bit(uint32_t param); - __STATIC_INLINE int32_t check_param_parity_bit(uint32_t param); - __STATIC_INLINE int32_t check_param_parity_enable(uint32_t param); - __STATIC_INLINE int32_t check_param_data_length(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_fill_level_range(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_fill_level_range(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_int(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_int(uint32_t param); - __STATIC_INLINE int32_t check_param_err_int(uint32_t param); - __STATIC_INLINE int32_t check_param_rangeK(uint32_t param); - __STATIC_INLINE int32_t check_param_rangeN(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_buff_num(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_buff_num(uint32_t param); -#endif /* #ifdef DEBUG */ -#if (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) - static TXZ_Result verification_boudrate64(uint32_t clock, uint32_t boudrate, uint32_t k, uint32_t n, uint64_t *p_range64); -#endif /* #if (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) */ - -#ifdef DEBUG -/*--------------------------------------------------*/ -/** - * @brief Check the CTS Handshake's parameter. - * @param param :CTS Handshake's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_CTSHandshake"UART_CTS_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_cts_handshake(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_CTS_DISABLE: - case FUART_CTS_ENABLE: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the RTS Handshake's parameter. - * @param param :RTS Handshake's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_RTSHandshake"UART_RTS_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rts_handshake(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_RTS_DISABLE: - case FUART_RTS_ENABLE: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Stop Bit's parameter. - * @param param :Stop Bit's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_StopBit"UART_STOP_BIT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_stop_bit(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_STOP_BIT_1: - case FUART_STOP_BIT_2: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Bit's parameter. - * @param param :Parity Bit's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_ParityBit"UART_PARITY_BIT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_parity_bit(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_PARITY_BIT_ODD: - case FUART_PARITY_BIT_EVEN: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Enable's parameter. - * @param param :Parity Enable's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_ParityEnable"UART_PARITY_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_parity_enable(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_PARITY_DISABLE: - case FUART_PARITY_ENABLE: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Length's parameter. - * @param param :Data Length's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_DataLength"UART_DATA_LENGTH_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_data_length(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_DATA_LENGTH_5: - case FUART_DATA_LENGTH_6: - case FUART_DATA_LENGTH_7: - case FUART_DATA_LENGTH_8: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Fill Level Range's parameter. - * @param param :Tx Fill Level Range's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_TxFillLevelRange"UART_TX_FILL_RANGE_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_fill_level_range(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_FIFO_LEVEL_4: - case FUART_FIFO_LEVEL_8: - case FUART_FIFO_LEVEL_16: - case FUART_FIFO_LEVEL_24: - case FUART_FIFO_LEVEL_28: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Fill Level's parameter. - * @param param :Rx Fill Level's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_RxFillLevel"UART_RX_FILL_RANGE_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_fill_level_range(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_FIFO_LEVEL_4: - case FUART_FIFO_LEVEL_8: - case FUART_FIFO_LEVEL_16: - case FUART_FIFO_LEVEL_24: - case FUART_FIFO_LEVEL_28: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Interrpt's parameter. - * @param param :Tx Interrpt's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_TxInterrupt"UART_TX_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_int(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_TX_INT_DISABLE: - case FUART_TX_INT_ENABLE: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Interrpt's parameter. - * @param param :Rx Interrpt's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_RxInterrupt"UART_RX_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_int(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - switch (param) - { - case FUART_RX_INT_DISABLE: - case FUART_RX_INT_ENABLE: - result = FUART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Check the Error Interrpt's parameter. - * @param param :Error Interrpt's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_TxInterrupt"UART_TX_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_err_int(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - param &= ~(FUART_OV_ERR_INT_ENABLE | FUART_BK_ERR_INT_ENABLE | FUART_PA_ERR_INT_ENABLE | FUART_FR_ERR_INT_ENABLE | FUART_TO_ERR_INT_ENABLE); - - if(param == 0){ - result = FUART_PARAM_OK; - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Check the Range K's parameter. - * @param param :Range K's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_RangeK"UART_RANGE_K_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rangeK(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - /*--- Now, FUART_RANGE_K_MIN is 0. ---*/ -#if 0 - if ((FUART_RANGE_K_MIN <= param) && (param <= FUART_RANGE_K_MAX)) -#else - if (param <= FUART_RANGE_K_MAX) -#endif - { - result = FUART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Range N's parameter. - * @param param :Range N's parameter - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note Macro definition is @ref FUART_RangeN"UART_RANGE_N_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rangeN(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - if ((FUART_RANGE_N_MIN <= param) && (param <= FUART_RANGE_N_MAX)) - { - result = FUART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the num of buff for transmit. - * @param param :Num of buff. - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_buff_num(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - if (param != 0) - { - result = FUART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the num of buff for receive. - * @param param :Num of buff. - * @retval FUART_PARAM_OK :Valid - * @retval FUART_PARAM_NG :Invalid - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_buff_num(uint32_t param) -{ - int32_t result = FUART_PARAM_NG; - - if (param != 0) - { - result = FUART_PARAM_OK; - } - - return (result); -} -#endif /* #ifdef DEBUG */ - -#if (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) -/*--------------------------------------------------*/ -/** - * @brief Check the within error margin. - * @param boudrate :Boudrate(bps). - * @param clock :Clock(hz). - * @param boudrate :Boudrate(bps). - * @param k :K Value. Must be set "UART_RANGE_K_MIN <= k <=UART_RANGE_K_MAX" - * @param n :N Value. Must be set "UART_RANGE_N_MIN <= n <=UART_RANGE_N_MAX" - * @param p_range64 :Error range(after fixed point bit shift). - * @retval TXZ_SUCCESS :Within error margin. - * @retval TXZ_ERROR :Without error margin. - * @note For N+(64-K)/64 division. - */ -/*--------------------------------------------------*/ -static TXZ_Result verification_boudrate64(uint32_t clock, uint32_t boudrate, uint32_t k, uint32_t n, uint64_t *p_range64) -{ - TXZ_Result result = TXZ_ERROR; - uint64_t boud64 = 0; - uint64_t tx64 = 0; - uint64_t work64 = 0; - - /* phi T0 */ - tx64 = (uint64_t)((uint64_t)clock << (FUART_CFG_BOUDRATE_FIXED_POINT_BIT+2)); - - /* Bourate */ - boud64 = (uint64_t)((uint64_t)boudrate << FUART_CFG_BOUDRATE_FIXED_POINT_BIT); - *p_range64 = ((boud64/100)*FUART_CFG_BOUDRATE_ERROR_RANGE); - /* BourateX */ - work64 = (uint64_t)((uint64_t)n << 6); - work64 = (uint64_t)(work64 + (uint64_t)k); - work64 = (tx64 / work64); - if (boud64 >= *p_range64) - { - if (((boud64 - *p_range64) <= work64) && (work64 <= (boud64 + *p_range64))) - { - if( boud64 < work64 ) - { - *p_range64 = (work64 - boud64); - } - else - { - *p_range64 = (boud64 - work64); - } - result = TXZ_SUCCESS; - } - } - - return (result); -} -#endif /* #if (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) */ - -/** - * @} - */ /* End of group FUART_Private_functions */ - - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/** - * @brief Initialize the FUART object. - * @param p_obj :FUART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_init(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(check_param_rangeK(p_obj->init.boudrate.brk)); - assert_param(check_param_rangeN(p_obj->init.boudrate.brn)); - assert_param(check_param_tx_int(p_obj->init.tx_int.inttx)); - assert_param(check_param_rx_int(p_obj->init.rx_int.intrx)); - assert_param(check_param_err_int(p_obj->init.interr)); - assert_param(check_param_tx_fill_level_range(p_obj->init.tx_int.level)); - assert_param(check_param_rx_fill_level_range(p_obj->init.rx_int.level)); - assert_param(check_param_cts_handshake(p_obj->init.ctse)); - assert_param(check_param_rts_handshake(p_obj->init.rtse)); - assert_param(check_param_stop_bit(p_obj->init.sblen)); - assert_param(check_param_parity_bit(p_obj->init.even)); - assert_param(check_param_parity_enable(p_obj->init.pe)); - assert_param(check_param_data_length(p_obj->init.sm)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable FUART */ - /*------------------------------*/ - p_obj->p_instance->CR = (FUARTxCR_CTSEN_DISABLE | FUARTxCR_RTSEN_DISABLE | - FUARTxCR_RXE_DISABLE | FUARTxCR_TXE_DISABLE | FUARTxCR_UARTEN_DISABLE); - /*------------------------------*/ - /* Interrupt Disable */ - /*------------------------------*/ - p_obj->p_instance->IMSC = (FUART_OV_ERR_INT_DISABLE | FUART_BK_ERR_INT_DISABLE | - FUART_PA_ERR_INT_DISABLE | FUART_FR_ERR_INT_DISABLE | - FUART_TO_ERR_INT_DISABLE | FUART_TX_INT_DISABLE | FUART_RX_INT_DISABLE); - /*------------------------------*/ - /* Interrupt Clear */ - /*------------------------------*/ - p_obj->p_instance->ICR = (FUARTxICR_OEIC_CLR | FUARTxICR_BEIC_CLR | - FUARTxICR_PEIC_CLR | FUARTxICR_FEIC_CLR | - FUARTxICR_RTIC_CLR | FUARTxICR_TXIC_CLR | FUARTxICR_RXIC_CLR); - - /*------------------------------*/ - /* FIFO Disable */ - /*------------------------------*/ - p_obj->p_instance->LCR_H = (FUART_STATIC_PARITY_DISABLE | FUART_DATA_LENGTH_8 | FUART_FIFO_DISABLE | FUART_STOP_BIT_1 | FUART_PARITY_BIT_ODD | FUART_PARITY_DISABLE); - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - p_obj->p_instance->BRD = p_obj->init.boudrate.brn; - p_obj->p_instance->FBRD = p_obj->init.boudrate.brk; - p_obj->p_instance->LCR_H = (p_obj->init.stpa | p_obj->init.sm | - p_obj->init.fifo | p_obj->init.sblen | - p_obj->init.even | p_obj->init.pe); - p_obj->p_instance->IFLS = ((p_obj->init.rx_int.level << 3) | p_obj->init.tx_int.level); - p_obj->p_instance->IMSC = (p_obj->init.interr | p_obj->init.tx_int.inttx | p_obj->init.rx_int.intrx); - p_obj->p_instance->CR = (p_obj->init.ctse | p_obj->init.rtse | FUARTxCR_UARTEN_ENABLE); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Release the FUART object. - * @param p_obj :FUART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_deinit(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable FUART */ - /*------------------------------*/ - p_obj->p_instance->CR = (FUARTxCR_CTSEN_DISABLE | FUARTxCR_RTSEN_DISABLE | - FUARTxCR_RXE_DISABLE | FUARTxCR_TXE_DISABLE | FUARTxCR_UARTEN_DISABLE); - /*------------------------------*/ - /* Interrupt Disable */ - /*------------------------------*/ - p_obj->p_instance->IMSC = (FUART_OV_ERR_INT_DISABLE | FUART_BK_ERR_INT_DISABLE | - FUART_PA_ERR_INT_DISABLE | FUART_FR_ERR_INT_DISABLE | - FUART_TO_ERR_INT_DISABLE | FUART_TX_INT_DISABLE | FUART_RX_INT_DISABLE); - /*------------------------------*/ - /* Interrupt Clear */ - /*------------------------------*/ - p_obj->p_instance->ICR = (FUARTxICR_OEIC_CLR | FUARTxICR_BEIC_CLR | - FUARTxICR_PEIC_CLR | FUARTxICR_FEIC_CLR | - FUARTxICR_RTIC_CLR | FUARTxICR_TXIC_CLR | FUARTxICR_RXIC_CLR); - /*------------------------------*/ - /* FIFO Disable */ - /*------------------------------*/ - p_obj->p_instance->LCR_H = (FUART_STATIC_PARITY_DISABLE | FUART_DATA_LENGTH_8 | FUART_FIFO_DISABLE | FUART_STOP_BIT_1 | FUART_PARITY_BIT_ODD | FUART_PARITY_DISABLE); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard transmit. - * @param p_obj :FUART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears transmit's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_discard_transmit(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - disable_FUARTxCR_TXE(p_obj->p_instance); - /*------------------------------*/ - /* Interrupt Clear */ - /*------------------------------*/ - p_obj->p_instance->ICR = FUARTxICR_TXIC_CLR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard receive. - * @param p_obj :FUART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears receive's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_discard_receive(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - disable_FUARTxCR_RXE(p_obj->p_instance); - /*------------------------------*/ - /* Interrupt Clear */ - /*------------------------------*/ - p_obj->p_instance->ICR = FUARTxICR_RXIC_CLR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Transmit data. Non-Blocking Communication. - * @param p_obj :FUART object. - * @param p_info :The information of transmit data. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Asynchronous Processing. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_transmitIt(fuart_t *p_obj, fuart_transmit_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - assert_param(IS_POINTER_NOT_NULL(p_info->p_data)); - assert_param(check_param_tx_buff_num(p_info->num)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- FUARTxCR ---*/ - /* Write to TXE(=0). */ - /* Bitband Access. */ - disable_FUARTxCR_TXE(p_obj->p_instance); - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - p_obj->transmit.rp = 0; - p_obj->transmit.info.p_data = p_info->p_data; - p_obj->transmit.info.num = p_info->num; - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - { - volatile uint32_t fr_reg; - - fr_reg = p_obj->p_instance->FR; - while((fr_reg & FUARTxFR_TXFF_MASK) != FUARTxFR_TXFF_FLAG_SET) - { - /*=== Transmit Continue ===*/ - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - /*--- FUARTxDR ---*/ - if (p_obj->transmit.info.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = (*(p_obj->transmit.info.p_data + p_obj->transmit.rp) & FUARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else{ - break; - } - fr_reg = p_obj->p_instance->FR; - } - } - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- FUARTxCR ---*/ - /* Write to TXE(=1). */ - /* Bitband Access. */ - enable_FUARTxCR_TXE(p_obj->p_instance); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Receive data. Non-Blocking Communication. - * @param p_obj :FUART object. - * @param p_info :The information of receive buffer. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Asynchronous Processing. - * @attention "p_info->rx8(or rx16).num" must be over FIFO max(Refer @ref FUART_FifoMax) num. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_receiveIt(fuart_t *p_obj, fuart_receive_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - volatile uint8_t dummy; - volatile uint32_t fr_reg; - uint32_t rx_count = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - assert_param(IS_POINTER_NOT_NULL(p_info->p_data)); - assert_param(check_param_rx_buff_num(p_info->num)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /* Write to RXE(=0). */ - /* Bitband Access. */ - disable_FUARTxCR_RXE(p_obj->p_instance); - /* FIFO CLR */ - fr_reg = p_obj->p_instance->FR; - while((fr_reg & FUARTxFR_RXFE_MASK) == FUARTxFR_RXFE_FLAG_CLR) - { - dummy = (uint8_t)(p_obj->p_instance->DR & FUARTxDR_DR_8BIT_MASK); - if(p_obj->init.fifo == 1) - { - if(++rx_count > FUART_RX_FIFO_MAX) - { - break; - } - } - else{ - if(++rx_count > 1) - { - break; - } - } - fr_reg = p_obj->p_instance->FR; - } - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - p_obj->receive.wp = 0; - p_obj->receive.info.p_data = p_info->p_data; - p_obj->receive.info.num = p_info->num; - /*------------------------------*/ - /* Enable Receive */ - /*------------------------------*/ - /*--- FUARTxCR ---*/ - /* Write to RXE(=1). */ - /* Bitband Access. */ - enable_FUARTxCR_RXE(p_obj->p_instance); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for transmit. - * @param p_obj :FUART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void fuart_transmit_irq_handler(fuart_t *p_obj) -{ - uint32_t cr_reg; - volatile uint32_t fr_reg; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current FUARTxCR */ - cr_reg = p_obj->p_instance->CR; - /*------------------------------*/ - /* Transmit Status Check */ - /*------------------------------*/ - if ((cr_reg & FUARTxCR_TXE_MASK) == FUARTxCR_TXE_ENABLE) - { - if (p_obj->transmit.info.num <= p_obj->transmit.rp) - { - /*=== Transmit Done!! ===*/ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- FUARTxCR ---*/ - /* Write to TXE(=0). */ - /* Bitband Access. */ - /* disable_FUARTxCR_TXE(p_obj->p_instance); */ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->transmit.handler != FUART_NULL) - { - /* Call the transmit handler with TXZ_SUCCESS. */ - p_obj->transmit.handler(p_obj->init.id, TXZ_SUCCESS); - } - } - else - { - fr_reg = p_obj->p_instance->FR; - while((fr_reg & FUARTxFR_TXFF_MASK) != FUARTxFR_TXFF_FLAG_SET) - { - /*=== Transmit Continue ===*/ - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - /*--- FUARTxDR ---*/ - if (p_obj->transmit.info.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = (*(p_obj->transmit.info.p_data + p_obj->transmit.rp) & FUARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else{ - break; - } - fr_reg = p_obj->p_instance->FR; - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for receive. - * @param p_obj :FUART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void fuart_receive_irq_handler(fuart_t *p_obj) -{ - uint32_t cr_reg; - volatile uint32_t fr_reg; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current FUARTxCR */ - cr_reg = p_obj->p_instance->CR; - /*------------------------------*/ - /* Receive Status Check */ - /*------------------------------*/ - if ((cr_reg & FUARTxCR_RXE_MASK) == FUARTxCR_RXE_ENABLE) - { - uint32_t rx_count = 0; - - fr_reg = p_obj->p_instance->FR; - while((fr_reg & FUARTxFR_RXFE_MASK) == FUARTxFR_RXFE_FLAG_CLR) - { - *(p_obj->receive.info.p_data + p_obj->receive.wp) = (uint8_t)(p_obj->p_instance->DR & FUARTxDR_DR_8BIT_MASK); - p_obj->receive.wp += 1; - if(p_obj->receive.wp >= p_obj->receive.info.num) - { - break; - } - if(p_obj->init.fifo == 1) - { - if(++rx_count >= FUART_RX_FIFO_MAX) - { - break; - } - } - else{ - break; - } - fr_reg = p_obj->p_instance->FR; - } - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if(p_obj->receive.wp >= p_obj->receive.info.num) - { - if(p_obj->receive.handler != FUART_NULL) - { - fuart_receive_t param; - param.p_data = p_obj->receive.info.p_data; - param.num = p_obj->receive.wp; - p_obj->receive.wp = 0; - /* Call the receive handler with TXZ_SUCCESS. */ - p_obj->receive.handler(p_obj->init.id, TXZ_SUCCESS, ¶m); - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for error. - * @param p_obj :FUART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void fuart_error_irq_handler(fuart_t *p_obj) -{ - uint32_t cr_reg; - uint32_t error; - uint32_t ecr_reg = 0x00; - uint32_t icr_reg = 0x00; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current FUARTxCR */ - cr_reg = p_obj->p_instance->CR; - /*------------------------------*/ - /* Error Registar Control */ - /*------------------------------*/ - /* Read current FUARTxRSR. */ - error = p_obj->p_instance->RSR; - /* Now, no clear the error flag. */ - /*------------------------------*/ - /* Error Check */ - /*------------------------------*/ - /*--- FUARTxRSR ---*/ - /* Check the receive error. */ - { - TXZ_Result err = TXZ_SUCCESS; - /* OVER RUN */ - if ((error & FUARTxRSR_OE_MASK) == FUARTxRSR_OE_ERR) - { - volatile uint8_t dummy; - - icr_reg |= FUARTxICR_OEIC_CLR; - ecr_reg |= FUARTxECR_OE_CLR; - dummy = (uint8_t)(p_obj->p_instance->DR & FUARTxDR_DR_8BIT_MASK); - err = TXZ_ERROR; - } - /* BREAK */ - if ((error & FUARTxRSR_BE_MASK) == FUARTxRSR_BE_ERR) - { - icr_reg |= FUARTxICR_BEIC_CLR; - ecr_reg |= FUARTxECR_BE_CLR; - err = TXZ_ERROR; - } - /* PARITY */ - if ((error & FUARTxRSR_PE_MASK) == FUARTxRSR_PE_ERR) - { - icr_reg |= FUARTxICR_PEIC_CLR; - ecr_reg |= FUARTxECR_PE_CLR; - err = TXZ_ERROR; - } - /* FRAMING */ - if ((error & FUARTxRSR_FE_MASK) == FUARTxRSR_FE_ERR) - { - icr_reg |= FUARTxICR_FEIC_CLR; - ecr_reg |= FUARTxECR_FE_CLR; - err = TXZ_ERROR; - } - if (err == TXZ_ERROR) - { - p_obj->p_instance->ICR = icr_reg; - p_obj->p_instance->ECR = ecr_reg; - /*------------------------------*/ - /* Receive Check */ - /*------------------------------*/ - if ((cr_reg & FUARTxCR_RXE_MASK) == FUARTxCR_RXE_ENABLE) - { - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- FUARTxCR ---*/ - /* Write to RXE(=0). */ - /* Bitband Access. */ - disable_FUARTxCR_RXE(p_obj->p_instance); - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != FUART_NULL) - { - /* Call the receive handler with TXZ_ERROR. */ - p_obj->receive.handler(p_obj->init.id, TXZ_ERROR, FUART_NULL); - } - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for timeout error. - * @param p_obj :FUART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void fuart_timeout_error_irq_handler(fuart_t *p_obj) -{ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != FUART_NULL) - { - /* Call the receive handler with TXZ_ERROR. */ - p_obj->receive.handler(p_obj->init.id, TXZ_ERROR, FUART_NULL); - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler . - * @param p_obj :FUART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void fuart_irq_handler(fuart_t *p_obj) -{ - uint32_t interrupt_status = p_obj->p_instance->MIS; - if((interrupt_status & FUARTxMIS_RXMIS_MASK) == FUARTxMIS_RXMIS_REQ) - { - p_obj->p_instance->ICR = interrupt_status & FUARTxMIS_RXMIS_MASK; - fuart_receive_irq_handler(p_obj); - } - if((interrupt_status & FUARTxMIS_TXMIS_MASK) == FUARTxMIS_TXMIS_REQ) - { - p_obj->p_instance->ICR = interrupt_status & FUARTxMIS_TXMIS_MASK; - fuart_transmit_irq_handler(p_obj); - } - if((interrupt_status & (FUARTxMIS_RTMIS_MASK | FUARTxMIS_FEMIS_MASK | FUARTxMIS_PEMIS_MASK | FUARTxMIS_BEMIS_MASK | FUARTxMIS_OEMIS_MASK)) != 0) - { - p_obj->p_instance->ICR = interrupt_status & (FUARTxMIS_RTMIS_MASK | FUARTxMIS_FEMIS_MASK | FUARTxMIS_PEMIS_MASK | FUARTxMIS_BEMIS_MASK | FUARTxMIS_OEMIS_MASK); - fuart_error_irq_handler(p_obj); - } - if((interrupt_status & FUARTxMIS_RTMIS_MASK) != 0) - { - p_obj->p_instance->ICR = interrupt_status & FUARTxMIS_RTMIS_MASK; - fuart_timeout_error_irq_handler(p_obj); - } -} - - -/*--------------------------------------------------*/ -/** - * @brief Get status. - * @details Status bits. - * | Bit | Bit Symbol | Function | - * | 31-8 | - | - | - * | 7 | TXFE | Transmit FIFO Empty Flag. | - * | 6 | RXFF | Reach Receive Fill Level Flag. | - * | 5 | TXFF | Reach Transmit Fill Level Flag. | | - * | 4 | RXFE | Receive FIFO Empty Flag. | - * | 3 | BUSY | Transmit BUSY Flag. | - * | 2-1 | - | - | - * | 0 | CTS | FUTxCTS Flag. | - * - * @param p_obj :FUART object. - * @param p_status :Save area for status. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_get_status(fuart_t *p_obj, uint32_t *p_status) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_status)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Status Read */ - /*------------------------------*/ - /*--- FUARTxFR ---*/ - /* Read current FUARTxFR. */ - *p_status = p_obj->p_instance->FR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Get error information. - * @details Error bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-4 | - | - | - * | 3 | OVRERR | Overrun Error. Use @ref FUART_OverrunErr. | - * | 2 | PERR | Parity Error. Use @ref FUART_ParityErr. | - * | 1 | FERR | Framing Error. Use @ref FUART_FramingErr. | - * | 0 | BERR | Break Error Flag. Use @ref FUART_BreakErr. | - * - * @param p_obj :FUART object. - * @param p_error :Save area for error. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_get_error(fuart_t *p_obj, uint32_t *p_error) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_error)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Error Read */ - /*------------------------------*/ - /*--- FUARTxRSR ---*/ - /* Read current FUARTxRSR. */ - *p_error = p_obj->p_instance->RSR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Get the setting of boudrate. - * @param clock :Clock(hz) "Phi T0" or "Clock Input A" or "Clock Input B". - * @param boudrate :Boudrate(bps). - * @param p_brd :Save area for Division Setting. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Not support setting. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_get_boudrate_setting(uint32_t clock, uint32_t boudrate, fuart_boudrate_t *p_brd) -{ - TXZ_Result result = TXZ_ERROR; -#if (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) - uint64_t tx = 0; - uint64_t work = 0; - uint64_t range64 = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_brd)); - /* Check the parameter of FUARTxCLK. */ -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Calculate Division Setting */ - /*------------------------------*/ - if ((clock > 0) && (boudrate > 0)) - { - /*--- phi T0 ---*/ - tx = (uint64_t)((uint64_t)clock << FUART_CFG_BOUDRATE_FIXED_POINT_BIT); - - /*--- N+(K/64) division ---*/ - { - uint8_t k = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - - work = ((uint64_t)boudrate); - tx /= work; - tx >>= 4; - for (k = FUART_RANGE_K_MIN; (k <= FUART_RANGE_K_MAX) && (loopBreak == TXZ_BUSY); k++) - { - work = tx - (uint64_t)k; - work >>= FUART_CFG_BOUDRATE_FIXED_POINT_BIT; /* Now, omit the figures below the decimal place. */ - if ((FUART_RANGE_N_MIN <= (uint32_t)work) && ((uint32_t)work <= FUART_RANGE_N_MAX)) - { - uint64_t workRange = 0; - /* Verification */ - if (verification_boudrate64(clock, boudrate, (uint32_t)k, (uint32_t)work, &workRange) == TXZ_SUCCESS) - { -#if (FUART_CFG_GET_BOUDRATE_TYPE == FUART_CFG_GET_BOUDRATE_TYPE_ALL) - /* Compare the previous range. */ - if (result == TXZ_SUCCESS) - { - if (range64 > workRange) - { - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - range64 = workRange; - } - } - else - { - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - range64 = workRange; - } - result = TXZ_SUCCESS; -#else - /* Finish!! */ - if (result == TXZ_SUCCESS) - { - if (range64 > workRange) - { - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - } - } - else - { - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - } - result = TXZ_SUCCESS; - loopBreak = TXZ_DONE; -#endif - } - } - } - } - } -#endif /* (FUART_CFG_GET_BOUDRATE == FUART_CFG_GET_BOUDRATE_ENABLE) */ - - return (result); -} - -/** - * @} - */ /* End of group FUART_Exported_functions */ - -/** - * @} - */ /* End of group FUART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__UART_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart_ex.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart_ex.c deleted file mode 100644 index 131037c5f73..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_fuart_ex.c +++ /dev/null @@ -1,206 +0,0 @@ -/** - ******************************************************************************* - * @file txz_fuart_ex.c - * @brief This file provides API functions for FUART driver. - * @brief Extended functionality. - * @version V1.0.0.0 - * $Date:: 2017-08-06 10:43:01 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_fuart_include.h" -#include "txz_fuart_ex.h" - -#if defined(__FUART_EX_H) - -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup UART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group FUART_Private_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Private_fuctions - * @{ - */ - -/** - * @} - */ /* End of group FUART_Private_functions */ - - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup FUART_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/** - * @brief Send Break. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_send_break(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Set Break */ - /*------------------------------*/ - { - uint32_t trans = p_obj->p_instance->LCR_H; - - trans &= ~FUARTxLCR_H_BRK_MASK; - trans |= FUARTxLCR_H_BRK_SEND; - p_obj->p_instance->LCR_H = trans; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Stop Break. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result fuart_stop_break(fuart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the FUART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Set Break */ - /*------------------------------*/ - { - uint32_t trans = p_obj->p_instance->LCR_H; - - trans &= ~FUARTxLCR_H_BRK_MASK; - trans |= FUARTxLCR_H_BRK_STOP; - p_obj->p_instance->LCR_H = trans; - } - - return (result); -} - - -/** - * @} - */ /* End of group FUART_Exported_functions */ - -/** - * @} - */ /* End of group FUART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__UART_EX_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_gpio.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_gpio.c deleted file mode 100644 index f7f84fd125e..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_gpio.c +++ /dev/null @@ -1,4751 +0,0 @@ -/** - ******************************************************************************* - * @file txz_gpio.c - * @brief This file provides API functions for GPIO driver. - * @version V1.0.0.2 - * $Date:: 2018-04-11 14:13:48 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_gpio.h" - -#if defined(__GPIO_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup GPIO - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Private_define GPIO Private Define - * @{ - */ -/** - * @name Parameter Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of name Parameter Result */ - -/** - * @name Bit Operation Macro - * @brief Whether the parameter is specified or not. - * @{ - */ -#define PORT_BASE (0x400E0000UL) /*!< Port Register Base Adress */ -#define BITBAND_PORT_OFFSET (0x0000100UL) /*!< Port Register Offset Value */ -#define BITBAND_PORT_BASE(gr) (PORT_BASE + (uint32_t)((BITBAND_PORT_OFFSET) * (uint32_t)(gr)) ) /*!< Operational target Port Adress */ -#define BITBAND_PORT_MODE_BASE(base, pinmode) ((uint32_t)(base) + (uint32_t)(pinmode) ) /*!< Operational target Control Register Adress */ -#define BITBAND_PORT_SET(base, bitnum) (*((__IO uint32_t *)(base)) |= (uint32_t)(0x0000001UL<< (bitnum))) /*!< Target Pin Bit set */ -#define BITBAND_PORT_CLR(base, bitnum) (*((__IO uint32_t *)(base)) &= ~((uint32_t)(0x0000001UL<< (bitnum)))) /*!< Target Pin Bit clear */ -#define BITBAND_PORT_READ(val, base, bitnum) ((val) = ((*((__IO uint32_t *)(base)) & (uint32_t)(0x0000001UL<< (bitnum))) >> (bitnum))) /*!< Target Pin Bit read */ -/** - * @} - */ /* End of Bit Operation Macro */ -/** - * @} - */ /* End of group GPIO_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Private_define GPIO Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group GPIO_Private_define */ -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Private_typedef GPIO Private Typedef - * @{ - */ -/*! - * @brief Pin Exist Table - * @details Bit0 :GPIO_Mode_DATA - * @details Bit1 :GPIO_Mode_CR - * @details Bit2 :GPIO_Mode_FR1 - * @details Bit3 :GPIO_Mode_FR2 - * @details Bit4 :GPIO_Mode_FR3 - * @details Bit5 :GPIO_Mode_FR4 - * @details Bit6 :GPIO_Mode_FR5 - * @details Bit7 :GPIO_Mode_FR6 - * @details Bit8 :GPIO_Mode_FR7 - * @details Bit9 :GPIO_Mode_OD - * @details Bit10 :GPIO_Mode_PUP - * @details Bit11 :GPIO_Mode_PDN - * @details Bit12 :GPIO_Mode_IE - */ -#if defined(TMPM4G6) -static uint16_t PinExistTbl[GPIO_GROUP_Max][GPIO_PORT_Max] = -{ - /* Port-0 Port-1 Port-2 Port-3 Port-4 Port-5 Port-6 Port-7 */ - { 0x1FDF, 0x1F57, 0x1F17, 0x1FDF, 0x1FDF, 0x1FD7, 0x1F97, 0x1FDF }, /** GPIO_PORT_A */ - { 0x1E5F, 0x1EDF, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E5F, 0x1E5F }, /** GPIO_PORT_B */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_C */ - { 0x1FFF, 0x1F7F, 0x1F77, 0x1F37, 0x1F57, 0x1F17, 0x1F5F, 0x1F5F }, /** GPIO_PORT_D */ - { 0x1F7F, 0x1E07, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F7F }, /** GPIO_PORT_E */ - { 0x1E07, 0x1E07, 0x1F03, 0x1F03, 0x0000, 0x0000, 0x1E07, 0x1E07 }, /** GPIO_PORT_F */ - { 0x1E57, 0x1E57, 0x1E03, 0x1F7B, 0x1F6B, 0x1F7B, 0x1E67, 0x1E67 }, /** GPIO_PORT_G */ - { 0x1E77, 0x1E77, 0x1E73, 0x1E73, 0x1E57, 0x1E47, 0x1E47, 0x1E47 }, /** GPIO_PORT_H */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_J */ - { 0x1F9F, 0x1E3F, 0x1E8F, 0x1E8F, 0x1EA7, 0x1EA7, 0x1EBF, 0x1DBB }, /** GPIO_PORT_K */ - { 0x1F9B, 0x1F03, 0x1F03, 0x1F9B, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_L */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_M */ - { 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03 }, /** GPIO_PORT_N */ - { 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B }, /** GPIO_PORT_P */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_R */ - { 0x1E03, 0x1E03, 0x1F03, 0x1EDF, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_T */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_U */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_V */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_W */ - { 0x1C01, 0x1C01, 0x1C01, 0x1C01, 0x1E27, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_Y */ -}; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) -static uint16_t PinExistTbl[GPIO_GROUP_Max][GPIO_PORT_Max] = -{ - /* Port-0 Port-1 Port-2 Port-3 Port-4 Port-5 Port-6 Port-7 */ - { 0x1FDF, 0x1F57, 0x1F17, 0x1FDF, 0x1FDF, 0x1FD7, 0x1F97, 0x1FDF }, /** GPIO_PORT_A */ - { 0x1E5F, 0x1EDF, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E5F, 0x1E5F }, /** GPIO_PORT_B */ - { 0x1E57, 0x1E57, 0x1E57, 0x1E17, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_C */ - { 0x1FFF, 0x1F7F, 0x1F77, 0x1F37, 0x1F57, 0x1F17, 0x1F5F, 0x1F5F }, /** GPIO_PORT_D */ - { 0x1F7F, 0x1E07, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F7F }, /** GPIO_PORT_E */ - { 0x1E07, 0x1E07, 0x1F03, 0x1F03, 0x1E07, 0x1E07, 0x1E07, 0x1E07 }, /** GPIO_PORT_F */ - { 0x1E57, 0x1E57, 0x1E03, 0x1F7B, 0x1F6B, 0x1F7B, 0x1E67, 0x1E67 }, /** GPIO_PORT_G */ - { 0x1E77, 0x1E77, 0x1E73, 0x1E73, 0x1E57, 0x1E47, 0x1E47, 0x1E47 }, /** GPIO_PORT_H */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_J */ - { 0x1F9F, 0x1E3F, 0x1E8F, 0x1E8F, 0x1EA7, 0x1EA7, 0x1EBF, 0x1DBB }, /** GPIO_PORT_K */ - { 0x1F9B, 0x1F03, 0x1F03, 0x1F9B, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_L */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_M */ - { 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03 }, /** GPIO_PORT_N */ - { 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B }, /** GPIO_PORT_P */ - { 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_R */ - { 0x1E03, 0x1E03, 0x1F03, 0x1EDF, 0x1E23, 0x1E0B, 0x0000, 0x0000 }, /** GPIO_PORT_T */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_U */ - { 0x1FFB, 0x1FFB, 0x1FFB, 0x1FEB, 0x1FEB, 0x1FFB, 0x1F7B, 0x1FEB }, /** GPIO_PORT_V */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_W */ - { 0x1C01, 0x1C01, 0x1C01, 0x1C01, 0x1E27, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_Y */ -}; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) -static uint16_t PinExistTbl[GPIO_GROUP_Max][GPIO_PORT_Max] = -{ - /* Port-0 Port-1 Port-2 Port-3 Port-4 Port-5 Port-6 Port-7 */ - { 0x1FDF, 0x1F57, 0x1F17, 0x1FDF, 0x1FDF, 0x1FD7, 0x1F97, 0x1FDF }, /** GPIO_PORT_A */ - { 0x1E5F, 0x1EDF, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E5F, 0x1E5F }, /** GPIO_PORT_B */ - { 0x1E57, 0x1E57, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E07, 0x1E07 }, /** GPIO_PORT_C */ - { 0x1FFF, 0x1F7F, 0x1F77, 0x1F37, 0x1F57, 0x1F17, 0x1F5F, 0x1F5F }, /** GPIO_PORT_D */ - { 0x1F7F, 0x1E07, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F7F }, /** GPIO_PORT_E */ - { 0x1E07, 0x1E07, 0x1F03, 0x1F03, 0x1E07, 0x1E07, 0x1E07, 0x1E07 }, /** GPIO_PORT_F */ - { 0x1E57, 0x1E57, 0x1E03, 0x1F7B, 0x1F6B, 0x1F7B, 0x1E67, 0x1E67 }, /** GPIO_PORT_G */ - { 0x1E77, 0x1E77, 0x1E73, 0x1E73, 0x1E57, 0x1E47, 0x1E47, 0x1E47 }, /** GPIO_PORT_H */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_J */ - { 0x1F9F, 0x1E3F, 0x1E8F, 0x1E8F, 0x1EA7, 0x1EA7, 0x1EBF, 0x1DBB }, /** GPIO_PORT_K */ - { 0x1F9B, 0x1F03, 0x1F03, 0x1F9B, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_L */ - { 0x1FE3, 0x1FE3, 0x1FDB, 0x1FEB, 0x1FAB, 0x1F9B, 0x1FFB, 0x1FEB }, /** GPIO_PORT_M */ - { 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03 }, /** GPIO_PORT_N */ - { 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B }, /** GPIO_PORT_P */ - { 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B }, /** GPIO_PORT_R */ - { 0x1E03, 0x1E03, 0x1F03, 0x1EDF, 0x1E23, 0x1E0B, 0x0000, 0x0000 }, /** GPIO_PORT_T */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_U */ - { 0x1FFB, 0x1FFB, 0x1FFB, 0x1FEB, 0x1FEB, 0x1FFB, 0x1F7B, 0x1FEB }, /** GPIO_PORT_V */ - { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_W */ - { 0x1C01, 0x1C01, 0x1C01, 0x1C01, 0x1E27, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_Y */ -}; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) -static uint16_t PinExistTbl[GPIO_GROUP_Max][GPIO_PORT_Max] = -{ - /* Port-0 Port-1 Port-2 Port-3 Port-4 Port-5 Port-6 Port-7 */ - { 0x1FDF, 0x1F57, 0x1F17, 0x1FDF, 0x1FDF, 0x1FD7, 0x1F97, 0x1FDF }, /** GPIO_PORT_A */ - { 0x1E5F, 0x1EDF, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E5F, 0x1E5F }, /** GPIO_PORT_B */ - { 0x1E57, 0x1E57, 0x1E57, 0x1E17, 0x1E57, 0x1E17, 0x1E07, 0x1E07 }, /** GPIO_PORT_C */ - { 0x1FFF, 0x1F7F, 0x1F77, 0x1F37, 0x1F57, 0x1F17, 0x1F5F, 0x1F5F }, /** GPIO_PORT_D */ - { 0x1F7F, 0x1E47, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F77, 0x1F7F }, /** GPIO_PORT_E */ - { 0x1E07, 0x1E07, 0x1F03, 0x1F03, 0x1E07, 0x1E07, 0x1E07, 0x1E07 }, /** GPIO_PORT_F */ - { 0x1E57, 0x1E57, 0x1F03, 0x1F7B, 0x1F6B, 0x1F7B, 0x1E67, 0x1E67 }, /** GPIO_PORT_G */ - { 0x1E77, 0x1E77, 0x1E73, 0x1E73, 0x1E57, 0x1E47, 0x1E47, 0x1E47 }, /** GPIO_PORT_H */ - { 0x1E53, 0x1E53, 0x1F53, 0x1F53, 0x1E5B, 0x1E5B, 0x1F43, 0x1F43 }, /** GPIO_PORT_J */ - { 0x1F9F, 0x1E3F, 0x1E8F, 0x1E8F, 0x1EA7, 0x1EA7, 0x1EBF, 0x1DBB }, /** GPIO_PORT_K */ - { 0x1F9B, 0x1F03, 0x1F03, 0x1F9B, 0x1E1B, 0x1E0B, 0x1E1B, 0x1E0F }, /** GPIO_PORT_L */ - { 0x1FE3, 0x1FE3, 0x1FDB, 0x1FEB, 0x1FAB, 0x1F9B, 0x1FFB, 0x1FEB }, /** GPIO_PORT_M */ - { 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03, 0x1E03 }, /** GPIO_PORT_N */ - { 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B, 0x1E5B }, /** GPIO_PORT_P */ - { 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B, 0x1E1B }, /** GPIO_PORT_R */ - { 0x1E03, 0x1E03, 0x1F03, 0x1EDF, 0x1E23, 0x1E0B, 0x0000, 0x0000 }, /** GPIO_PORT_T */ - { 0x1F1B, 0x1F0B, 0x1F1B, 0x1F1B, 0x1F1B, 0x1F1B, 0x1F1B, 0x1F0B }, /** GPIO_PORT_U */ - { 0x1FFB, 0x1FFB, 0x1FFB, 0x1FEB, 0x1FEB, 0x1FFB, 0x1F7B, 0x1FEB }, /** GPIO_PORT_V */ - { 0x1EE3, 0x1F63, 0x1F63, 0x1E63, 0x1FD3, 0x1FC3, 0x1FC3, 0x1FD3 }, /** GPIO_PORT_W */ - { 0x1C01, 0x1C01, 0x1C01, 0x1C01, 0x1E27, 0x0000, 0x0000, 0x0000 }, /** GPIO_PORT_Y */ -}; -#endif /* TMPM4G9 */ - -/** - * @} - */ /* End of group GPIO_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup GPIO_Private_fuctions GPIO Private Fuctions - * @{ - */ - -static uint8_t change_mode_to_num( uint32_t mode ); -static uint8_t change_func_to_num( uint32_t mode ); -static int32_t check_param_pin_exist(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode); -static int32_t check_param_func_pin_exist(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode); -/*--------------------------------------------------*/ -/*! - * @fn static int32_t check_param_pin_exist(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode) - * @brief Check the Pin Exist. - * @param[in] p_obj :GPIO object. - * @param[in] group :GPIO Port Group. : Use @ref gpio_gr_t - * @param[in] num :GPIO Port Number. : Use @ref gpio_num_t - * @param[in] mode :GPIO Port Mode. : Use @ref gpio_mode_t - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - */ -/*--------------------------------------------------*/ - -static uint8_t change_mode_to_num( uint32_t mode ) -{ - uint8_t retVal = 0; - - if (mode == GPIO_Mode_DATA) {retVal = 0;} - else if (mode == GPIO_Mode_CR) {retVal = 1;} - else if (mode == GPIO_Mode_FR1) {retVal = 2;} - else if (mode == GPIO_Mode_FR2) {retVal = 3;} - else if (mode == GPIO_Mode_FR3) {retVal = 4;} - else if (mode == GPIO_Mode_FR4) {retVal = 5;} - else if (mode == GPIO_Mode_FR5) {retVal = 6;} - else if (mode == GPIO_Mode_FR6) {retVal = 7;} - else if (mode == GPIO_Mode_FR7) {retVal = 8;} - else if (mode == GPIO_Mode_OD) {retVal = 9;} - else if (mode == GPIO_Mode_PUP) {retVal = 10;} - else if (mode == GPIO_Mode_PDN) {retVal = 11;} - else if (mode == GPIO_Mode_IE) {retVal = 12;} - else {retVal = 13;} - - return retVal; -} - -static uint8_t change_func_to_num( uint32_t mode ) -{ - uint8_t retVal = 0; - - if (mode == GPIO_FR_1) {retVal = 2;} - else if (mode == GPIO_FR_2) {retVal = 3;} - else if (mode == GPIO_FR_3) {retVal = 4;} - else if (mode == GPIO_FR_4) {retVal = 5;} - else if (mode == GPIO_FR_5) {retVal = 6;} - else if (mode == GPIO_FR_6) {retVal = 7;} - else if (mode == GPIO_FR_7) {retVal = 8;} - else if (mode == GPIO_FR_NA) {retVal = 1;} - else if (mode == 0) {retVal = 1;} - else {retVal = 13;} - - return retVal; -} - -static int32_t check_param_pin_exist(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode) -{ - int32_t result = PARAM_NG; - uint8_t chgmode; - uint16_t tmp; - - chgmode = change_mode_to_num(mode); - if ((chgmode < 13) && (group < GPIO_GROUP_Max) && (num < GPIO_PORT_Max)) - { - tmp = (PinExistTbl[group][num] >> chgmode) & 0x01; - result = PARAM_OK; - if (tmp == 0){ result = PARAM_NG;} - } - else - { - result = PARAM_NG; - } - - return (result); -} -static int32_t check_param_func_pin_exist(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode) -{ - int32_t result = PARAM_NG; - uint8_t chgfunc; - uint16_t tmp; - - chgfunc = change_func_to_num(mode); - /* param check skip if func is INPUT or OUTPUT */ - if(chgfunc == 1) - { - return (PARAM_OK); - } - if ((chgfunc < 13) && (group < GPIO_GROUP_Max) && (num < GPIO_PORT_Max)) - { - tmp = (PinExistTbl[group][num] >> chgfunc) & 0x01; - result = PARAM_OK; - if (tmp == 0){ result = PARAM_NG;} - } - else - { - result = PARAM_NG; - } - - return (result); -} -/** - * @} - */ /* End of group GPIO_Private_functions */ - - - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup GPIO_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result _gpio_init(_gpio_t *p_obj, uint32_t group) - * @brief Initialize the GPIO object. - * @param[in] p_obj :GPIO object. - * @param[in] group :GPIO Port Group. : Use @ref gpio_gr_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result _gpio_init(_gpio_t *p_obj, uint32_t group) -{ - TXZ_Result result = TXZ_SUCCESS; - - /* Check the NULL of address. */ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else - { - switch (group) - { -#if defined(TMPM4G6) - case GPIO_PORT_A: - /* PA Clock Enable */ - TSB_CG_FSYSMENB_IPMENB02 = 1U; - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - break; - case GPIO_PORT_B: - /* PB Clock Enable */ - TSB_CG_FSYSMENB_IPMENB03 = 1U; - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - break; - case GPIO_PORT_D: - /* PD Clock Enable */ - TSB_CG_FSYSMENB_IPMENB05 = 1U; - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - break; - case GPIO_PORT_E: - /* PE Clock Enable */ - TSB_CG_FSYSMENB_IPMENB06 = 1U; - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - break; - case GPIO_PORT_F: - /* PF Clock Enable */ - TSB_CG_FSYSMENB_IPMENB07= 1U; - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - break; - case GPIO_PORT_G: - /* PG Clock Enable */ - TSB_CG_FSYSMENB_IPMENB08 = 1U; - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - break; - case GPIO_PORT_H: - /* PH Clock Enable */ - TSB_CG_FSYSMENB_IPMENB09 = 1U; - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF8; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - break; - case GPIO_PORT_K: - /* PK Clock Enable */ - TSB_CG_FSYSMENB_IPMENB11 = 1U; - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - break; - case GPIO_PORT_L: - /* PL Clock Enable */ - TSB_CG_FSYSMENB_IPMENB12 = 1U; - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - break; - case GPIO_PORT_N: - /* PN Clock Enable */ - TSB_CG_FSYSMENB_IPMENB14 = 1U; - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - break; - case GPIO_PORT_P: - /* PP Clock Enable */ - TSB_CG_FSYSMENB_IPMENB15 = 1U; - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - break; - case GPIO_PORT_T: - /* PT Clock Enable */ - TSB_CG_FSYSMENB_IPMENB16 = 1U; - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - break; - case GPIO_PORT_Y: - /* PY Clock Enable */ - TSB_CG_FSYSMENB_IPMENB21 = 1U; - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - break; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) - case GPIO_PORT_A: - /* PA Clock Enable */ - TSB_CG_FSYSMENB_IPMENB02 = 1U; - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - break; - case GPIO_PORT_B: - /* PB Clock Enable */ - TSB_CG_FSYSMENB_IPMENB03 = 1U; - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - break; - case GPIO_PORT_C: - /* PC Clock Enable */ - TSB_CG_FSYSMENB_IPMENB04 = 1U; - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - break; - case GPIO_PORT_D: - /* PD Clock Enable */ - TSB_CG_FSYSMENB_IPMENB05 = 1U; - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - break; - case GPIO_PORT_E: - /* PE Clock Enable */ - TSB_CG_FSYSMENB_IPMENB06 = 1U; - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - break; - case GPIO_PORT_F: - /* PF Clock Enable */ - TSB_CG_FSYSMENB_IPMENB07= 1U; - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - break; - case GPIO_PORT_G: - /* PG Clock Enable */ - TSB_CG_FSYSMENB_IPMENB08 = 1U; - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - break; - case GPIO_PORT_H: - /* PH Clock Enable */ - TSB_CG_FSYSMENB_IPMENB09 = 1U; - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF8; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - break; - case GPIO_PORT_K: - /* PK Clock Enable */ - TSB_CG_FSYSMENB_IPMENB11 = 1U; - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - break; - case GPIO_PORT_L: - /* PL Clock Enable */ - TSB_CG_FSYSMENB_IPMENB12 = 1U; - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - break; - case GPIO_PORT_N: - /* PN Clock Enable */ - TSB_CG_FSYSMENB_IPMENB14 = 1U; - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - break; - case GPIO_PORT_P: - /* PP Clock Enable */ - TSB_CG_FSYSMENB_IPMENB15 = 1U; - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - break; - case GPIO_PORT_R: - /* PR Clock Enable */ - TSB_CG_FSYSMENB_IPMENB16 = 1U; - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - break; - case GPIO_PORT_T: - /* PT Clock Enable */ - TSB_CG_FSYSMENB_IPMENB17 = 1U; - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - break; - case GPIO_PORT_V: - /* PV Clock Enable */ - TSB_CG_FSYSMENB_IPMENB19 = 1U; - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - break; - case GPIO_PORT_Y: - /* PY Clock Enable */ - TSB_CG_FSYSMENB_IPMENB21 = 1U; - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - break; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) - case GPIO_PORT_A: - /* PA Clock Enable */ - TSB_CG_FSYSMENB_IPMENB02 = 1U; - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - break; - case GPIO_PORT_B: - /* PB Clock Enable */ - TSB_CG_FSYSMENB_IPMENB03 = 1U; - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - break; - case GPIO_PORT_C: - /* PC Clock Enable */ - TSB_CG_FSYSMENB_IPMENB04 = 1U; - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - break; - case GPIO_PORT_D: - /* PD Clock Enable */ - TSB_CG_FSYSMENB_IPMENB05 = 1U; - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - break; - case GPIO_PORT_E: - /* PE Clock Enable */ - TSB_CG_FSYSMENB_IPMENB06 = 1U; - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - break; - case GPIO_PORT_F: - /* PF Clock Enable */ - TSB_CG_FSYSMENB_IPMENB07= 1U; - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - break; - case GPIO_PORT_G: - /* PG Clock Enable */ - TSB_CG_FSYSMENB_IPMENB08 = 1U; - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - break; - case GPIO_PORT_H: - /* PH Clock Enable */ - TSB_CG_FSYSMENB_IPMENB09 = 1U; - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF8; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - break; - case GPIO_PORT_K: - /* PK Clock Enable */ - TSB_CG_FSYSMENB_IPMENB11 = 1U; - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - break; - case GPIO_PORT_L: - /* PL Clock Enable */ - TSB_CG_FSYSMENB_IPMENB12 = 1U; - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - break; - case GPIO_PORT_M: - /* PM Clock Enable */ - TSB_CG_FSYSMENB_IPMENB13 = 1U; - p_obj->p_pm_instance->DATA = 0x00; - p_obj->p_pm_instance->CR = 0x00; - p_obj->p_pm_instance->FR2 = 0x00; - p_obj->p_pm_instance->FR3 = 0x00; - p_obj->p_pm_instance->FR4 = 0x00; - p_obj->p_pm_instance->FR5 = 0x00; - p_obj->p_pm_instance->FR6 = 0x00; - p_obj->p_pm_instance->FR7 = 0x00; - p_obj->p_pm_instance->OD = 0x00; - p_obj->p_pm_instance->PUP = 0x00; - p_obj->p_pm_instance->PDN = 0x00; - p_obj->p_pm_instance->IE = 0x00; - break; - case GPIO_PORT_N: - /* PN Clock Enable */ - TSB_CG_FSYSMENB_IPMENB14 = 1U; - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - break; - case GPIO_PORT_P: - /* PP Clock Enable */ - TSB_CG_FSYSMENB_IPMENB15 = 1U; - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - break; - case GPIO_PORT_R: - /* PR Clock Enable */ - TSB_CG_FSYSMENB_IPMENB16 = 1U; - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - break; - case GPIO_PORT_T: - /* PT Clock Enable */ - TSB_CG_FSYSMENB_IPMENB17 = 1U; - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - break; - case GPIO_PORT_V: - /* PV Clock Enable */ - TSB_CG_FSYSMENB_IPMENB19 = 1U; - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - break; - case GPIO_PORT_Y: - /* PY Clock Enable */ - TSB_CG_FSYSMENB_IPMENB21 = 1U; - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - break; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) - case GPIO_PORT_A: - /* PA Clock Enable */ - TSB_CG_FSYSMENB_IPMENB02 = 1U; - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - break; - case GPIO_PORT_B: - /* PB Clock Enable */ - TSB_CG_FSYSMENB_IPMENB03 = 1U; - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - break; - case GPIO_PORT_C: - /* PC Clock Enable */ - TSB_CG_FSYSMENB_IPMENB04 = 1U; - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - break; - case GPIO_PORT_D: - /* PD Clock Enable */ - TSB_CG_FSYSMENB_IPMENB05 = 1U; - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - break; - case GPIO_PORT_E: - /* PE Clock Enable */ - TSB_CG_FSYSMENB_IPMENB06 = 1U; - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - break; - case GPIO_PORT_F: - /* PF Clock Enable */ - TSB_CG_FSYSMENB_IPMENB07= 1U; - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - break; - case GPIO_PORT_G: - /* PG Clock Enable */ - TSB_CG_FSYSMENB_IPMENB08 = 1U; - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - break; - case GPIO_PORT_H: - /* PH Clock Enable */ - TSB_CG_FSYSMENB_IPMENB09 = 1U; - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF8; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - break; - case GPIO_PORT_J: - /* PJ Clock Enable */ - TSB_CG_FSYSMENB_IPMENB10 = 1U; - p_obj->p_pj_instance->DATA = 0x00; - p_obj->p_pj_instance->CR = 0x00; - p_obj->p_pj_instance->FR2 = 0x00; - p_obj->p_pj_instance->FR3 = 0x00; - p_obj->p_pj_instance->FR5 = 0x00; - p_obj->p_pj_instance->FR7 = 0x00; - p_obj->p_pj_instance->OD = 0x00; - p_obj->p_pj_instance->PUP = 0x00; - p_obj->p_pj_instance->PDN = 0x00; - p_obj->p_pj_instance->IE = 0x00; - break; - case GPIO_PORT_K: - /* PK Clock Enable */ - TSB_CG_FSYSMENB_IPMENB11 = 1U; - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - break; - case GPIO_PORT_L: - /* PL Clock Enable */ - TSB_CG_FSYSMENB_IPMENB12 = 1U; - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - break; - case GPIO_PORT_M: - /* PM Clock Enable */ - TSB_CG_FSYSMENB_IPMENB13 = 1U; - p_obj->p_pm_instance->DATA = 0x00; - p_obj->p_pm_instance->CR = 0x00; - p_obj->p_pm_instance->FR2 = 0x00; - p_obj->p_pm_instance->FR3 = 0x00; - p_obj->p_pm_instance->FR4 = 0x00; - p_obj->p_pm_instance->FR5 = 0x00; - p_obj->p_pm_instance->FR6 = 0x00; - p_obj->p_pm_instance->FR7 = 0x00; - p_obj->p_pm_instance->OD = 0x00; - p_obj->p_pm_instance->PUP = 0x00; - p_obj->p_pm_instance->PDN = 0x00; - p_obj->p_pm_instance->IE = 0x00; - break; - case GPIO_PORT_N: - /* PN Clock Enable */ - TSB_CG_FSYSMENB_IPMENB14 = 1U; - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - break; - case GPIO_PORT_P: - /* PP Clock Enable */ - TSB_CG_FSYSMENB_IPMENB15 = 1U; - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - break; - case GPIO_PORT_R: - /* PR Clock Enable */ - TSB_CG_FSYSMENB_IPMENB16 = 1U; - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - break; - case GPIO_PORT_T: - /* PT Clock Enable */ - TSB_CG_FSYSMENB_IPMENB17 = 1U; - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - break; - case GPIO_PORT_U: - /* PU Clock Enable */ - TSB_CG_FSYSMENB_IPMENB18 = 1U; - p_obj->p_pu_instance->DATA = 0x00; - p_obj->p_pu_instance->CR = 0x00; - p_obj->p_pu_instance->FR2 = 0x00; - p_obj->p_pu_instance->FR3 = 0x00; - p_obj->p_pu_instance->FR7 = 0x00; - p_obj->p_pu_instance->OD = 0x00; - p_obj->p_pu_instance->PUP = 0x00; - p_obj->p_pu_instance->PDN = 0x00; - p_obj->p_pu_instance->IE = 0x00; - break; - case GPIO_PORT_V: - /* PV Clock Enable */ - TSB_CG_FSYSMENB_IPMENB19 = 1U; - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - break; - case GPIO_PORT_W: - /* PW Clock Enable */ - TSB_CG_FSYSMENB_IPMENB20 = 1U; - p_obj->p_pw_instance->DATA = 0x00; - p_obj->p_pw_instance->CR = 0x00; - p_obj->p_pw_instance->FR3 = 0x00; - p_obj->p_pw_instance->FR4 = 0x00; - p_obj->p_pw_instance->FR5 = 0x00; - p_obj->p_pw_instance->FR6 = 0x00; - p_obj->p_pw_instance->FR7 = 0x00; - p_obj->p_pw_instance->OD = 0x00; - p_obj->p_pw_instance->PUP = 0x00; - p_obj->p_pw_instance->PDN = 0x00; - p_obj->p_pw_instance->IE = 0x00; - break; - case GPIO_PORT_Y: - /* PY Clock Enable */ - TSB_CG_FSYSMENB_IPMENB21 = 1U; - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - break; -#endif /* TMPM4G9 */ - default: - result = TXZ_ERROR; - return (result); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result gpio_deinit(_gpio_t *p_obj, uint32_t group) - * @brief Release the GPIO object. - * @param p_obj :GPIO object. - * @param group :GPIO Port Group.: Use @ref gpio_gr_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_deinit(_gpio_t *p_obj, uint32_t group) -{ - TXZ_Result result = TXZ_SUCCESS; - - /* Check the NULL of address. */ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else - { - /* Disable the selected GPIO peripheral */ - switch (group) - { -#if defined(TMPM4G6) - case GPIO_PORT_A: - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - /* PA Clock Disable */ - TSB_CG_FSYSMENB_IPMENB02 = 0U; - break; - case GPIO_PORT_B: - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - /* PB Clock Disable */ - TSB_CG_FSYSMENB_IPMENB03 = 0U; - break; - case GPIO_PORT_D: - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - /* PD Clock Disable */ - TSB_CG_FSYSMENB_IPMENB05 = 0U; - break; - case GPIO_PORT_E: - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - /* PE Clock Disable */ - TSB_CG_FSYSMENB_IPMENB06 = 0U; - break; - case GPIO_PORT_F: - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - /* PF Clock Disable */ - TSB_CG_FSYSMENB_IPMENB07= 0U; - break; - case GPIO_PORT_G: - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - /* PG Clock Disable */ - TSB_CG_FSYSMENB_IPMENB08 = 0U; - break; - case GPIO_PORT_H: - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF0; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - /* PH Clock Disable */ - TSB_CG_FSYSMENB_IPMENB09 = 0U; - break; - case GPIO_PORT_K: - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - /* PK Clock Disable */ - TSB_CG_FSYSMENB_IPMENB11 = 0U; - break; - case GPIO_PORT_L: - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - /* PL Clock Disable */ - TSB_CG_FSYSMENB_IPMENB12 = 0U; - break; - case GPIO_PORT_N: - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - /* PN Clock Disable */ - TSB_CG_FSYSMENB_IPMENB14 = 0U; - break; - case GPIO_PORT_P: - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - /* PP Clock Disable */ - TSB_CG_FSYSMENB_IPMENB15 = 0U; - break; - case GPIO_PORT_T: - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - /* PT Clock Disable */ - TSB_CG_FSYSMENB_IPMENB16 = 0U; - break; - case GPIO_PORT_Y: - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - /* PY Clock Disable */ - TSB_CG_FSYSMENB_IPMENB21 = 0U; - break; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) - case GPIO_PORT_A: - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - /* PA Clock Disable */ - TSB_CG_FSYSMENB_IPMENB02 = 0U; - break; - case GPIO_PORT_B: - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - /* PB Clock Disable */ - TSB_CG_FSYSMENB_IPMENB03 = 0U; - break; - case GPIO_PORT_C: - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - /* PC Clock Disable */ - TSB_CG_FSYSMENB_IPMENB04 = 0U; - break; - case GPIO_PORT_D: - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - /* PD Clock Disable */ - TSB_CG_FSYSMENB_IPMENB05 = 0U; - break; - case GPIO_PORT_E: - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - /* PE Clock Disable */ - TSB_CG_FSYSMENB_IPMENB06 = 0U; - break; - case GPIO_PORT_F: - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - /* PF Clock Disable */ - TSB_CG_FSYSMENB_IPMENB07= 0U; - break; - case GPIO_PORT_G: - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - /* PG Clock Disable */ - TSB_CG_FSYSMENB_IPMENB08 = 0U; - break; - case GPIO_PORT_H: - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF0; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - /* PH Clock Disable */ - TSB_CG_FSYSMENB_IPMENB09 = 0U; - break; - case GPIO_PORT_K: - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - /* PK Clock Disable */ - TSB_CG_FSYSMENB_IPMENB11 = 0U; - break; - case GPIO_PORT_L: - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - /* PL Clock Disable */ - TSB_CG_FSYSMENB_IPMENB12 = 0U; - break; - case GPIO_PORT_N: - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - /* PN Clock Disable */ - TSB_CG_FSYSMENB_IPMENB14 = 0U; - break; - case GPIO_PORT_P: - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - /* PP Clock Disable */ - TSB_CG_FSYSMENB_IPMENB15 = 0U; - break; - case GPIO_PORT_R: - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - /* PR Clock Disable */ - TSB_CG_FSYSMENB_IPMENB16 = 0U; - break; - case GPIO_PORT_T: - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - /* PT Clock Disable */ - TSB_CG_FSYSMENB_IPMENB17 = 0U; - break; - case GPIO_PORT_V: - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - /* PV Clock Disable */ - TSB_CG_FSYSMENB_IPMENB19 = 0U; - break; - case GPIO_PORT_Y: - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - /* PY Clock Disable */ - TSB_CG_FSYSMENB_IPMENB21 = 0U; - break; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) - case GPIO_PORT_A: - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - /* PA Clock Disable */ - TSB_CG_FSYSMENB_IPMENB02 = 0U; - break; - case GPIO_PORT_B: - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - /* PB Clock Disable */ - TSB_CG_FSYSMENB_IPMENB03 = 0U; - break; - case GPIO_PORT_C: - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - /* PC Clock Disable */ - TSB_CG_FSYSMENB_IPMENB04 = 0U; - break; - case GPIO_PORT_D: - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - /* PD Clock Disable */ - TSB_CG_FSYSMENB_IPMENB05 = 0U; - break; - case GPIO_PORT_E: - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - /* PE Clock Disable */ - TSB_CG_FSYSMENB_IPMENB06 = 0U; - break; - case GPIO_PORT_F: - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - /* PF Clock Disable */ - TSB_CG_FSYSMENB_IPMENB07= 0U; - break; - case GPIO_PORT_G: - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - /* PG Clock Disable */ - TSB_CG_FSYSMENB_IPMENB08 = 0U; - break; - case GPIO_PORT_H: - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF0; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - /* PH Clock Disable */ - TSB_CG_FSYSMENB_IPMENB09 = 0U; - break; - case GPIO_PORT_K: - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - /* PK Clock Disable */ - TSB_CG_FSYSMENB_IPMENB11 = 0U; - break; - case GPIO_PORT_L: - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - /* PL Clock Disable */ - TSB_CG_FSYSMENB_IPMENB12 = 0U; - break; - case GPIO_PORT_M: - p_obj->p_pm_instance->DATA = 0x00; - p_obj->p_pm_instance->CR = 0x00; - p_obj->p_pm_instance->FR2 = 0x00; - p_obj->p_pm_instance->FR3 = 0x00; - p_obj->p_pm_instance->FR4 = 0x00; - p_obj->p_pm_instance->FR5 = 0x00; - p_obj->p_pm_instance->FR6 = 0x00; - p_obj->p_pm_instance->FR7 = 0x00; - p_obj->p_pm_instance->OD = 0x00; - p_obj->p_pm_instance->PUP = 0x00; - p_obj->p_pm_instance->PDN = 0x00; - p_obj->p_pm_instance->IE = 0x00; - /* PM Clock Disable */ - TSB_CG_FSYSMENB_IPMENB13 = 0U; - break; - case GPIO_PORT_N: - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - /* PN Clock Disable */ - TSB_CG_FSYSMENB_IPMENB14 = 0U; - break; - case GPIO_PORT_P: - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - /* PP Clock Disable */ - TSB_CG_FSYSMENB_IPMENB15 = 0U; - break; - case GPIO_PORT_R: - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - /* PR Clock Disable */ - TSB_CG_FSYSMENB_IPMENB16 = 0U; - break; - case GPIO_PORT_T: - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - /* PT Clock Disable */ - TSB_CG_FSYSMENB_IPMENB17 = 0U; - break; - case GPIO_PORT_V: - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - /* PV Clock Disable */ - TSB_CG_FSYSMENB_IPMENB19 = 0U; - break; - case GPIO_PORT_Y: - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - /* PY Clock Disable */ - TSB_CG_FSYSMENB_IPMENB21 = 0U; - break; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) - case GPIO_PORT_A: - p_obj->p_pa_instance->DATA = 0x00; - p_obj->p_pa_instance->CR = 0x00; - p_obj->p_pa_instance->FR1 = 0x00; - p_obj->p_pa_instance->FR2 = 0x00; - p_obj->p_pa_instance->FR3 = 0x00; - p_obj->p_pa_instance->FR5 = 0x00; - p_obj->p_pa_instance->FR6 = 0x00; - p_obj->p_pa_instance->FR7 = 0x00; - p_obj->p_pa_instance->OD = 0x00; - p_obj->p_pa_instance->PUP = 0x00; - p_obj->p_pa_instance->PDN = 0x00; - p_obj->p_pa_instance->IE = 0x00; - /* PA Clock Disable */ - TSB_CG_FSYSMENB_IPMENB02 = 0U; - break; - case GPIO_PORT_B: - p_obj->p_pb_instance->DATA = 0x00; - p_obj->p_pb_instance->CR = 0x00; - p_obj->p_pb_instance->FR1 = 0x00; - p_obj->p_pb_instance->FR2 = 0x00; - p_obj->p_pb_instance->FR3 = 0x00; - p_obj->p_pb_instance->FR5 = 0x00; - p_obj->p_pb_instance->FR6 = 0x00; - p_obj->p_pb_instance->OD = 0x00; - p_obj->p_pb_instance->PUP = 0x00; - p_obj->p_pb_instance->PDN = 0x00; - p_obj->p_pb_instance->IE = 0x00; - /* PB Clock Disable */ - TSB_CG_FSYSMENB_IPMENB03 = 0U; - break; - case GPIO_PORT_C: - p_obj->p_pc_instance->DATA = 0x00; - p_obj->p_pc_instance->CR = 0x00; - p_obj->p_pc_instance->FR1 = 0x00; - p_obj->p_pc_instance->FR3 = 0x00; - p_obj->p_pc_instance->FR5 = 0x00; - p_obj->p_pc_instance->OD = 0x00; - p_obj->p_pc_instance->PUP = 0x00; - p_obj->p_pc_instance->PDN = 0x00; - p_obj->p_pc_instance->IE = 0x00; - /* PC Clock Disable */ - TSB_CG_FSYSMENB_IPMENB04 = 0U; - break; - case GPIO_PORT_D: - p_obj->p_pd_instance->DATA = 0x00; - p_obj->p_pd_instance->CR = 0x00; - p_obj->p_pd_instance->FR1 = 0x00; - p_obj->p_pd_instance->FR2 = 0x00; - p_obj->p_pd_instance->FR3 = 0x00; - p_obj->p_pd_instance->FR4 = 0x00; - p_obj->p_pd_instance->FR5 = 0x00; - p_obj->p_pd_instance->FR6 = 0x00; - p_obj->p_pd_instance->FR7 = 0x00; - p_obj->p_pd_instance->OD = 0x00; - p_obj->p_pd_instance->PUP = 0x00; - p_obj->p_pd_instance->PDN = 0x00; - p_obj->p_pd_instance->IE = 0x00; - /* PD Clock Disable */ - TSB_CG_FSYSMENB_IPMENB05 = 0U; - break; - case GPIO_PORT_E: - p_obj->p_pe_instance->DATA = 0x00; - p_obj->p_pe_instance->CR = 0x00; - p_obj->p_pe_instance->FR1 = 0x00; - p_obj->p_pe_instance->FR2 = 0x00; - p_obj->p_pe_instance->FR3 = 0x00; - p_obj->p_pe_instance->FR4 = 0x00; - p_obj->p_pe_instance->FR5 = 0x00; - p_obj->p_pe_instance->FR7 = 0x00; - p_obj->p_pe_instance->OD = 0x00; - p_obj->p_pe_instance->PUP = 0x00; - p_obj->p_pe_instance->PDN = 0x00; - p_obj->p_pe_instance->IE = 0x00; - /* PE Clock Disable */ - TSB_CG_FSYSMENB_IPMENB06 = 0U; - break; - case GPIO_PORT_F: - p_obj->p_pf_instance->DATA = 0x00; - p_obj->p_pf_instance->CR = 0x00; - p_obj->p_pf_instance->FR1 = 0x00; - p_obj->p_pf_instance->FR7 = 0x00; - p_obj->p_pf_instance->OD = 0x00; - p_obj->p_pf_instance->PUP = 0x00; - p_obj->p_pf_instance->PDN = 0x00; - p_obj->p_pf_instance->IE = 0x00; - /* PF Clock Disable */ - TSB_CG_FSYSMENB_IPMENB07= 0U; - break; - case GPIO_PORT_G: - p_obj->p_pg_instance->DATA = 0x00; - p_obj->p_pg_instance->CR = 0x00; - p_obj->p_pg_instance->FR1 = 0x00; - p_obj->p_pg_instance->FR2 = 0x00; - p_obj->p_pg_instance->FR3 = 0x00; - p_obj->p_pg_instance->FR4 = 0x00; - p_obj->p_pg_instance->FR5 = 0x00; - p_obj->p_pg_instance->FR7 = 0x00; - p_obj->p_pg_instance->OD = 0x00; - p_obj->p_pg_instance->PUP = 0x00; - p_obj->p_pg_instance->PDN = 0x00; - p_obj->p_pg_instance->IE = 0x00; - /* PG Clock Disable */ - TSB_CG_FSYSMENB_IPMENB08 = 0U; - break; - case GPIO_PORT_H: - p_obj->p_ph_instance->DATA = 0x00; - p_obj->p_ph_instance->CR = 0x50; - p_obj->p_ph_instance->FR1 = 0xF0; - p_obj->p_ph_instance->FR3 = 0x00; - p_obj->p_ph_instance->FR4 = 0x00; - p_obj->p_ph_instance->FR5 = 0x00; - p_obj->p_ph_instance->OD = 0x00; - p_obj->p_ph_instance->PUP = 0x98; - p_obj->p_ph_instance->PDN = 0x20; - p_obj->p_ph_instance->IE = 0xB8; - /* PH Clock Disable */ - TSB_CG_FSYSMENB_IPMENB09 = 0U; - break; - case GPIO_PORT_J: - p_obj->p_pj_instance->DATA = 0x00; - p_obj->p_pj_instance->CR = 0x00; - p_obj->p_pj_instance->FR2 = 0x00; - p_obj->p_pj_instance->FR3 = 0x00; - p_obj->p_pj_instance->FR5 = 0x00; - p_obj->p_pj_instance->FR7 = 0x00; - p_obj->p_pj_instance->OD = 0x00; - p_obj->p_pj_instance->PUP = 0x00; - p_obj->p_pj_instance->PDN = 0x00; - p_obj->p_pj_instance->IE = 0x00; - /* PJ Clock Disable */ - TSB_CG_FSYSMENB_IPMENB10 = 0U; - break; - case GPIO_PORT_K: - p_obj->p_pk_instance->DATA = 0x00; - p_obj->p_pk_instance->CR = 0x00; - p_obj->p_pk_instance->FR1 = 0x00; - p_obj->p_pk_instance->FR2 = 0x00; - p_obj->p_pk_instance->FR3 = 0x00; - p_obj->p_pk_instance->FR4 = 0x00; - p_obj->p_pk_instance->FR6 = 0x00; - p_obj->p_pk_instance->FR7 = 0x00; - p_obj->p_pk_instance->OD = 0x00; - p_obj->p_pk_instance->PUP = 0x00; - p_obj->p_pk_instance->PDN = 0x00; - p_obj->p_pk_instance->IE = 0x00; - /* PK Clock Disable */ - TSB_CG_FSYSMENB_IPMENB11 = 0U; - break; - case GPIO_PORT_L: - p_obj->p_pl_instance->DATA = 0x00; - p_obj->p_pl_instance->CR = 0x00; - p_obj->p_pl_instance->FR1 = 0x00; - p_obj->p_pl_instance->FR2 = 0x00; - p_obj->p_pl_instance->FR3 = 0x00; - p_obj->p_pl_instance->FR6 = 0x00; - p_obj->p_pl_instance->FR7 = 0x00; - p_obj->p_pl_instance->OD = 0x00; - p_obj->p_pl_instance->PUP = 0x00; - p_obj->p_pl_instance->PDN = 0x00; - p_obj->p_pl_instance->IE = 0x00; - /* PL Clock Disable */ - TSB_CG_FSYSMENB_IPMENB12 = 0U; - break; - case GPIO_PORT_M: - p_obj->p_pm_instance->DATA = 0x00; - p_obj->p_pm_instance->CR = 0x00; - p_obj->p_pm_instance->FR2 = 0x00; - p_obj->p_pm_instance->FR3 = 0x00; - p_obj->p_pm_instance->FR4 = 0x00; - p_obj->p_pm_instance->FR5 = 0x00; - p_obj->p_pm_instance->FR6 = 0x00; - p_obj->p_pm_instance->FR7 = 0x00; - p_obj->p_pm_instance->OD = 0x00; - p_obj->p_pm_instance->PUP = 0x00; - p_obj->p_pm_instance->PDN = 0x00; - p_obj->p_pm_instance->IE = 0x00; - /* PM Clock Disable */ - TSB_CG_FSYSMENB_IPMENB13 = 0U; - break; - case GPIO_PORT_N: - p_obj->p_pn_instance->DATA = 0x00; - p_obj->p_pn_instance->CR = 0x00; - p_obj->p_pn_instance->OD = 0x00; - p_obj->p_pn_instance->PUP = 0x00; - p_obj->p_pn_instance->PDN = 0x00; - p_obj->p_pn_instance->IE = 0x00; - /* PN Clock Disable */ - TSB_CG_FSYSMENB_IPMENB14 = 0U; - break; - case GPIO_PORT_P: - p_obj->p_pp_instance->DATA = 0x00; - p_obj->p_pp_instance->CR = 0x00; - p_obj->p_pp_instance->FR2 = 0x00; - p_obj->p_pp_instance->FR3 = 0x00; - p_obj->p_pp_instance->FR5 = 0x00; - p_obj->p_pp_instance->OD = 0x00; - p_obj->p_pp_instance->PUP = 0x00; - p_obj->p_pp_instance->PDN = 0x00; - p_obj->p_pp_instance->IE = 0x00; - /* PP Clock Disable */ - TSB_CG_FSYSMENB_IPMENB15 = 0U; - break; - case GPIO_PORT_R: - p_obj->p_pr_instance->DATA = 0x00; - p_obj->p_pr_instance->CR = 0x00; - p_obj->p_pr_instance->FR2 = 0x00; - p_obj->p_pr_instance->FR3 = 0x00; - p_obj->p_pr_instance->OD = 0x00; - p_obj->p_pr_instance->PUP = 0x00; - p_obj->p_pr_instance->PDN = 0x00; - p_obj->p_pr_instance->IE = 0x00; - /* PR Clock Disable */ - TSB_CG_FSYSMENB_IPMENB16 = 0U; - break; - case GPIO_PORT_T: - p_obj->p_pt_instance->DATA = 0x00; - p_obj->p_pt_instance->CR = 0x00; - p_obj->p_pt_instance->FR1 = 0x00; - p_obj->p_pt_instance->FR2 = 0x00; - p_obj->p_pt_instance->FR3 = 0x00; - p_obj->p_pt_instance->FR6 = 0x00; - p_obj->p_pt_instance->FR7 = 0x00; - p_obj->p_pt_instance->OD = 0x00; - p_obj->p_pt_instance->PUP = 0x00; - p_obj->p_pt_instance->PDN = 0x00; - p_obj->p_pt_instance->IE = 0x00; - /* PT Clock Disable */ - TSB_CG_FSYSMENB_IPMENB17 = 0U; - break; - case GPIO_PORT_U: - p_obj->p_pu_instance->DATA = 0x00; - p_obj->p_pu_instance->CR = 0x00; - p_obj->p_pu_instance->FR2 = 0x00; - p_obj->p_pu_instance->FR3 = 0x00; - p_obj->p_pu_instance->FR7 = 0x00; - p_obj->p_pu_instance->OD = 0x00; - p_obj->p_pu_instance->PUP = 0x00; - p_obj->p_pu_instance->PDN = 0x00; - p_obj->p_pu_instance->IE = 0x00; - /* PU Clock Disable */ - TSB_CG_FSYSMENB_IPMENB18 = 0U; - break; - case GPIO_PORT_V: - p_obj->p_pv_instance->DATA = 0x00; - p_obj->p_pv_instance->CR = 0x00; - p_obj->p_pv_instance->FR2 = 0x00; - p_obj->p_pv_instance->FR3 = 0x00; - p_obj->p_pv_instance->FR4 = 0x00; - p_obj->p_pv_instance->FR5 = 0x00; - p_obj->p_pv_instance->FR6 = 0x00; - p_obj->p_pv_instance->FR7 = 0x00; - p_obj->p_pv_instance->OD = 0x00; - p_obj->p_pv_instance->PUP = 0x00; - p_obj->p_pv_instance->PDN = 0x00; - p_obj->p_pv_instance->IE = 0x00; - /* PV Clock Disable */ - TSB_CG_FSYSMENB_IPMENB19 = 0U; - break; - case GPIO_PORT_W: - p_obj->p_pw_instance->DATA = 0x00; - p_obj->p_pw_instance->CR = 0x00; - p_obj->p_pw_instance->FR3 = 0x00; - p_obj->p_pw_instance->FR4 = 0x00; - p_obj->p_pw_instance->FR5 = 0x00; - p_obj->p_pw_instance->FR6 = 0x00; - p_obj->p_pw_instance->FR7 = 0x00; - p_obj->p_pw_instance->OD = 0x00; - p_obj->p_pw_instance->PUP = 0x00; - p_obj->p_pw_instance->PDN = 0x00; - p_obj->p_pw_instance->IE = 0x00; - /* PW Clock Disable */ - TSB_CG_FSYSMENB_IPMENB20 = 0U; - break; - case GPIO_PORT_Y: - p_obj->p_py_instance->DATA = 0x00; - p_obj->p_py_instance->CR = 0x00; - p_obj->p_py_instance->FR1 = 0x00; - p_obj->p_py_instance->FR4 = 0x00; - p_obj->p_py_instance->OD = 0x00; - p_obj->p_py_instance->PUP = 0x00; - p_obj->p_py_instance->PDN = 0x00; - p_obj->p_py_instance->IE = 0x00; - /* PY Clock Disable */ - TSB_CG_FSYSMENB_IPMENB21 = 0U; - break; -#endif /* TMPM4G9 */ - default: - result = TXZ_ERROR; - return (result); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result gpio_write_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t val) - * @brief Port Mode Write - * @param[in] p_obj :GPIO object. - * @param[in] group :GPIO Port Group. : Use @ref gpio_gr_t - * @param[in] mode :GPIO Port Mode. : Use @ref gpio_num_t - * @param[in] val :value - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_write_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t val) -{ - TXZ_Result result = TXZ_SUCCESS; - int32_t i; - int32_t param_result = PARAM_NG; - - /* Check the parameters, the NULL of address */ - for (i = GPIO_PORT_0; i < GPIO_PORT_Max; i++) - { - param_result = check_param_pin_exist(p_obj, group, (uint32_t)i, mode); - if(param_result == PARAM_OK) - { - break; - } - else - { - result = TXZ_ERROR; - } - } - if (((void*)(p_obj) == (void*)0) || (param_result == PARAM_NG)) - { - result = TXZ_ERROR; - } - else - { - switch (group) - { -#if defined(TMPM4G6) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {p_obj->p_pa_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pa_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pa_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pa_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pa_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pa_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pa_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pa_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pa_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pa_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pa_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pa_instance->IE = val;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {p_obj->p_pb_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pb_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pb_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pb_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pb_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pb_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pb_instance->FR6 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pb_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pb_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pb_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pb_instance->IE = val;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {p_obj->p_pd_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pd_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pd_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pd_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pd_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pd_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pd_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pd_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pd_instance->IE = val;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {p_obj->p_pe_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pe_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pe_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pe_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pe_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pe_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pe_instance->IE = val;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {p_obj->p_pf_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pf_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pf_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pf_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pf_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pf_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pf_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pf_instance->IE = val;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {p_obj->p_pg_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pg_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pg_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pg_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pg_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pg_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pg_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pg_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pg_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pg_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pg_instance->IE = val;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {p_obj->p_ph_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_ph_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_ph_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_ph_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_ph_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_ph_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_ph_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_ph_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_ph_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_ph_instance->IE = val;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {p_obj->p_pk_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pk_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pk_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pk_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pk_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pk_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pk_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pk_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pk_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pk_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pk_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pk_instance->IE = val;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {p_obj->p_pl_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pl_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pl_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pl_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pl_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pl_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pl_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pl_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pl_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pl_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pl_instance->IE = val;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {p_obj->p_pn_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pn_instance->CR = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pn_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pn_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pn_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pn_instance->IE = val;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {p_obj->p_pp_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pp_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pp_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pp_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pp_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pp_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pp_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pp_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pp_instance->IE = val;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {p_obj->p_pt_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pt_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pt_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pt_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pt_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pt_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pt_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pt_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pt_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pt_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pt_instance->IE = val;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {p_obj->p_py_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_py_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_py_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_py_instance->FR4 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_py_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_py_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_py_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_py_instance->IE = val;} - break; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {p_obj->p_pa_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pa_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pa_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pa_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pa_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pa_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pa_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pa_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pa_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pa_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pa_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pa_instance->IE = val;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {p_obj->p_pb_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pb_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pb_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pb_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pb_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pb_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pb_instance->FR6 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pb_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pb_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pb_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pb_instance->IE = val;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {p_obj->p_pc_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pc_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pc_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pc_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pc_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pc_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pc_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pc_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pc_instance->IE = val;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {p_obj->p_pd_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pd_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pd_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pd_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pd_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pd_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pd_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pd_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pd_instance->IE = val;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {p_obj->p_pe_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pe_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pe_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pe_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pe_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pe_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pe_instance->IE = val;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {p_obj->p_pf_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pf_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pf_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pf_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pf_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pf_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pf_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pf_instance->IE = val;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {p_obj->p_pg_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pg_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pg_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pg_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pg_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pg_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pg_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pg_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pg_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pg_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pg_instance->IE = val;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {p_obj->p_ph_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_ph_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_ph_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_ph_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_ph_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_ph_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_ph_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_ph_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_ph_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_ph_instance->IE = val;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {p_obj->p_pk_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pk_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pk_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pk_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pk_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pk_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pk_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pk_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pk_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pk_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pk_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pk_instance->IE = val;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {p_obj->p_pl_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pl_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pl_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pl_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pl_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pl_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pl_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pl_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pl_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pl_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pl_instance->IE = val;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {p_obj->p_pn_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pn_instance->CR = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pn_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pn_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pn_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pn_instance->IE = val;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {p_obj->p_pp_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pp_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pp_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pp_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pp_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pp_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pp_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pp_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pp_instance->IE = val;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {p_obj->p_pr_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pr_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pr_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pr_instance->FR3 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pr_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pr_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pr_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pr_instance->IE = val;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {p_obj->p_pt_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pt_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pt_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pt_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pt_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pt_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pt_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pt_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pt_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pt_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pt_instance->IE = val;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {p_obj->p_pv_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pv_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pv_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pv_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pv_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pv_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pv_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pv_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pv_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pv_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pv_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pv_instance->IE = val;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {p_obj->p_py_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_py_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_py_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_py_instance->FR4 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_py_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_py_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_py_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_py_instance->IE = val;} - break; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {p_obj->p_pa_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pa_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pa_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pa_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pa_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pa_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pa_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pa_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pa_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pa_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pa_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pa_instance->IE = val;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {p_obj->p_pb_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pb_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pb_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pb_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pb_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pb_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pb_instance->FR6 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pb_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pb_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pb_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pb_instance->IE = val;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {p_obj->p_pc_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pc_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pc_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pc_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pc_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pc_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pc_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pc_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pc_instance->IE = val;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {p_obj->p_pd_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pd_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pd_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pd_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pd_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pd_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pd_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pd_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pd_instance->IE = val;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {p_obj->p_pe_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pe_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pe_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pe_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pe_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pe_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pe_instance->IE = val;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {p_obj->p_pf_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pf_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pf_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pf_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pf_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pf_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pf_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pf_instance->IE = val;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {p_obj->p_pg_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pg_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pg_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pg_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pg_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pg_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pg_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pg_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pg_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pg_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pg_instance->IE = val;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {p_obj->p_ph_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_ph_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_ph_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_ph_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_ph_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_ph_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_ph_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_ph_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_ph_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_ph_instance->IE = val;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {p_obj->p_pk_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pk_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pk_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pk_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pk_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pk_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pk_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pk_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pk_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pk_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pk_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pk_instance->IE = val;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {p_obj->p_pl_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pl_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pl_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pl_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pl_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pl_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pl_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pl_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pl_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pl_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pl_instance->IE = val;} - break; - case GPIO_PORT_M: - if(mode == GPIO_Mode_DATA) {p_obj->p_pm_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pm_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pm_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pm_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pm_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pm_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pm_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pm_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pm_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pm_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pm_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pm_instance->IE = val;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {p_obj->p_pn_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pn_instance->CR = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pn_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pn_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pn_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pn_instance->IE = val;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {p_obj->p_pp_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pp_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pp_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pp_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pp_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pp_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pp_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pp_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pp_instance->IE = val;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {p_obj->p_pr_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pr_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pr_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pr_instance->FR3 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pr_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pr_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pr_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pr_instance->IE = val;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {p_obj->p_pt_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pt_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pt_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pt_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pt_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pt_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pt_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pt_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pt_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pt_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pt_instance->IE = val;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {p_obj->p_pv_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pv_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pv_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pv_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pv_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pv_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pv_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pv_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pv_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pv_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pv_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pv_instance->IE = val;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {p_obj->p_py_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_py_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_py_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_py_instance->FR4 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_py_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_py_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_py_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_py_instance->IE = val;} - break; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {p_obj->p_pa_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pa_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pa_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pa_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pa_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pa_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pa_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pa_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pa_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pa_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pa_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pa_instance->IE = val;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {p_obj->p_pb_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pb_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pb_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pb_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pb_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pb_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pb_instance->FR6 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pb_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pb_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pb_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pb_instance->IE = val;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {p_obj->p_pc_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pc_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pc_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pc_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pc_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pc_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pc_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pc_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pc_instance->IE = val;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {p_obj->p_pd_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pd_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pd_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pd_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pd_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pd_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pd_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pd_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pd_instance->IE = val;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {p_obj->p_pe_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pe_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pe_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pd_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pd_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pd_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pd_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pe_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pe_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pe_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pe_instance->IE = val;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {p_obj->p_pf_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pf_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pf_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pf_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pf_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pf_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pf_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pf_instance->IE = val;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {p_obj->p_pg_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pg_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pg_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pg_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pg_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pg_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pg_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pg_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pg_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pg_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pg_instance->IE = val;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {p_obj->p_ph_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_ph_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_ph_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_ph_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_ph_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_ph_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_ph_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_ph_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_ph_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_ph_instance->IE = val;} - break; - case GPIO_PORT_J: - if(mode == GPIO_Mode_DATA) {p_obj->p_pj_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pj_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pj_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pj_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pj_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pj_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pj_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pj_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pj_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pj_instance->IE = val;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {p_obj->p_pk_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pk_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pk_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pk_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pk_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pk_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pk_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pk_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pk_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pk_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pk_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pk_instance->IE = val;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {p_obj->p_pl_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pl_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pl_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pl_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pl_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pl_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pl_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pl_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pl_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pl_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pl_instance->IE = val;} - break; - case GPIO_PORT_M: - if(mode == GPIO_Mode_DATA) {p_obj->p_pm_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pm_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pm_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pm_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pm_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pm_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pm_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pm_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pm_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pm_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pm_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pm_instance->IE = val;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {p_obj->p_pn_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pn_instance->CR = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pn_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pn_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pn_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pn_instance->IE = val;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {p_obj->p_pp_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pp_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pp_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pp_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pp_instance->FR5 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pp_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pp_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pp_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pp_instance->IE = val;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {p_obj->p_pr_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pr_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pr_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pr_instance->FR3 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pr_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pr_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pr_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pr_instance->IE = val;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {p_obj->p_pt_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pt_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_pt_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pt_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pt_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pt_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pt_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pt_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pt_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pt_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pt_instance->IE = val;} - break; - case GPIO_PORT_U: - if(mode == GPIO_Mode_DATA) {p_obj->p_pu_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pu_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pu_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pu_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pu_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pu_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pu_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pu_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pu_instance->IE = val;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {p_obj->p_pv_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pv_instance->CR = val;} - else if(mode == GPIO_Mode_FR2) {p_obj->p_pv_instance->FR2 = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pv_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pv_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pv_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pv_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pv_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pv_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pv_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pv_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pv_instance->IE = val;} - break; - case GPIO_PORT_W: - if(mode == GPIO_Mode_DATA) {p_obj->p_pw_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_pw_instance->CR = val;} - else if(mode == GPIO_Mode_FR3) {p_obj->p_pw_instance->FR3 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_pw_instance->FR4 = val;} - else if(mode == GPIO_Mode_FR5) {p_obj->p_pw_instance->FR5 = val;} - else if(mode == GPIO_Mode_FR6) {p_obj->p_pw_instance->FR6 = val;} - else if(mode == GPIO_Mode_FR7) {p_obj->p_pw_instance->FR7 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_pw_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_pw_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_pw_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_pw_instance->IE = val;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {p_obj->p_py_instance->DATA = val;} - else if(mode == GPIO_Mode_CR) {p_obj->p_py_instance->CR = val;} - else if(mode == GPIO_Mode_FR1) {p_obj->p_py_instance->FR1 = val;} - else if(mode == GPIO_Mode_FR4) {p_obj->p_py_instance->FR4 = val;} - else if(mode == GPIO_Mode_OD) {p_obj->p_py_instance->OD = val;} - else if(mode == GPIO_Mode_PUP) {p_obj->p_py_instance->PUP = val;} - else if(mode == GPIO_Mode_PDN) {p_obj->p_py_instance->PDN = val;} - else if(mode == GPIO_Mode_IE) {p_obj->p_py_instance->IE = val;} - break; -#endif /* TMPM4G9 */ - default: - result = TXZ_ERROR; - return (result); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result gpio_read_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t *val) - * @brief Port Mode Read - * @param[in] p_obj :GPIO object. - * @param[in] group :GPIO Port Group. : Use @ref gpio_gr_t - * @param[in] mode :GPIO Port Mode. : Use @ref gpio_num_t - * @param[out] val :Store of value - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_read_mode(_gpio_t *p_obj, uint32_t group, uint32_t mode, uint32_t *val) -{ - TXZ_Result result = TXZ_SUCCESS; - int32_t param_result = PARAM_NG; - int32_t i; - - /* Check the parameters, the NULL of address */ - for (i = GPIO_PORT_0; i < GPIO_PORT_Max; i++ ) - { - param_result = check_param_pin_exist(p_obj, group, (uint32_t)i, mode); - if(param_result == PARAM_OK) - { - break; - } - else - { - result = TXZ_ERROR; - } - } - if (((void*)(p_obj) == (void*)0) || (param_result == PARAM_NG)) - { - result = TXZ_ERROR; - } - else - { - switch (group) - { -#if defined(TMPM4G6) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pa_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pa_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pa_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pa_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pa_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pa_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pa_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pa_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pa_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pa_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pa_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pa_instance->IE;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pb_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pb_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pb_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pb_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pb_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pb_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pb_instance->FR6;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pb_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pb_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pb_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pb_instance->IE;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pd_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pd_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pd_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pd_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pd_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pd_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pd_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pd_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pd_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pd_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pd_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pd_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pd_instance->IE;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pe_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pe_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pe_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pe_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pe_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pe_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pe_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pe_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pe_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pe_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pe_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pe_instance->IE;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pf_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pf_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pf_instance->FR1;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pf_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pf_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pf_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pf_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pf_instance->IE;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pg_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pg_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pg_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pg_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pg_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pg_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pg_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pg_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pg_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pg_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pg_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pg_instance->IE;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_ph_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_ph_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_ph_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_ph_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_ph_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_ph_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_ph_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_ph_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_ph_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_ph_instance->IE;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pk_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pk_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pk_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pk_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pk_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pk_instance->FR4;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pk_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pk_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pk_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pk_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pk_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pk_instance->IE;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pl_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pl_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pl_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pl_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pl_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pl_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pl_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pl_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pl_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pl_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pl_instance->IE;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pn_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pn_instance->CR;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pn_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pn_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pn_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pn_instance->IE;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pp_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pp_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pp_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pp_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pp_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pp_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pp_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pp_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pp_instance->IE;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pt_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pt_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pt_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pt_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pt_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pt_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pt_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pt_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pt_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pt_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pt_instance->IE;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_py_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_py_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_py_instance->FR1;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_py_instance->FR4;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_py_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_py_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_py_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_py_instance->IE;} - break; -#endif /* TMPM4G6 */ -#if defined(TMPM4G7) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pa_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pa_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pa_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pa_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pa_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pa_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pa_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pa_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pa_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pa_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pa_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pa_instance->IE;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pb_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pb_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pb_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pb_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pb_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pb_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pb_instance->FR6;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pb_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pb_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pb_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pb_instance->IE;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pc_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pc_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pc_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pc_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pc_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pc_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pc_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pc_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pc_instance->IE;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pd_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pd_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pd_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pd_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pd_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pd_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pd_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pd_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pd_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pd_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pd_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pd_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pd_instance->IE;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pe_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pe_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pe_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pe_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pe_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pe_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pe_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pe_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pe_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pe_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pe_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pe_instance->IE;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pf_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pf_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pf_instance->FR1;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pf_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pf_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pf_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pf_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pf_instance->IE;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pg_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pg_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pg_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pg_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pg_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pg_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pg_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pg_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pg_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pg_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pg_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pg_instance->IE;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_ph_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_ph_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_ph_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_ph_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_ph_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_ph_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_ph_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_ph_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_ph_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_ph_instance->IE;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pk_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pk_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pk_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pk_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pk_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pk_instance->FR4;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pk_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pk_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pk_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pk_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pk_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pk_instance->IE;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pl_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pl_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pl_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pl_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pl_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pl_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pl_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pl_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pl_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pl_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pl_instance->IE;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pn_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pn_instance->CR;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pn_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pn_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pn_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pn_instance->IE;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pp_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pp_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pp_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pp_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pp_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pp_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pp_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pp_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pp_instance->IE;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pr_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pr_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pr_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pr_instance->FR3;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pr_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pr_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pr_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pr_instance->IE;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pt_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pt_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pt_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pt_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pt_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pt_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pt_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pt_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pt_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pt_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pt_instance->IE;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pv_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pv_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pv_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pv_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pv_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pv_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pv_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pv_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pv_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pv_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pv_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pv_instance->IE;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_py_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_py_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_py_instance->FR1;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_py_instance->FR4;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_py_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_py_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_py_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_py_instance->IE;} - break; -#endif /* TMPM4G7 */ -#if defined(TMPM4G8) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pa_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pa_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pa_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pa_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pa_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pa_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pa_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pa_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pa_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pa_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pa_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pa_instance->IE;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pb_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pb_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pb_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pb_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pb_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pb_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pb_instance->FR6;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pb_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pb_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pb_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pb_instance->IE;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pc_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pc_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pc_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pc_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pc_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pc_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pc_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pc_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pc_instance->IE;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pd_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pd_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pd_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pd_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pd_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pd_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pd_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pd_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pd_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pd_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pd_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pd_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pd_instance->IE;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pe_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pe_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pe_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pe_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pe_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pe_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pe_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pe_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pe_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pe_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pe_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pe_instance->IE;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pf_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pf_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pf_instance->FR1;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pf_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pf_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pf_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pf_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pf_instance->IE;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pg_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pg_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pg_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pg_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pg_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pg_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pg_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pg_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pg_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pg_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pg_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pg_instance->IE;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_ph_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_ph_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_ph_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_ph_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_ph_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_ph_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_ph_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_ph_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_ph_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_ph_instance->IE;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pk_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pk_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pk_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pk_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pk_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pk_instance->FR4;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pk_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pk_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pk_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pk_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pk_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pk_instance->IE;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pl_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pl_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pl_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pl_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pl_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pl_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pl_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pl_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pl_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pl_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pl_instance->IE;} - break; - case GPIO_PORT_M: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pm_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pm_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pm_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pm_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pm_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pm_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pm_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pm_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pm_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pm_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pm_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pm_instance->IE;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pn_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pn_instance->CR;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pn_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pn_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pn_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pn_instance->IE;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pp_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pp_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pp_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pp_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pp_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pp_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pp_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pp_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pp_instance->IE;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pr_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pr_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pr_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pr_instance->FR3;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pr_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pr_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pr_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pr_instance->IE;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pt_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pt_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pt_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pt_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pt_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pt_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pt_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pt_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pt_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pt_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pt_instance->IE;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pv_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pv_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pv_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pv_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pv_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pv_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pv_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pv_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pv_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pv_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pv_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pv_instance->IE;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_py_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_py_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_py_instance->FR1;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_py_instance->FR4;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_py_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_py_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_py_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_py_instance->IE;} - break; -#endif /* TMPM4G8 */ -#if defined(TMPM4G9) - case GPIO_PORT_A: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pa_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pa_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pa_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pa_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pa_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pa_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pa_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pa_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pa_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pa_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pa_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pa_instance->IE;} - break; - case GPIO_PORT_B: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pb_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pb_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pb_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pb_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pb_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pb_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pb_instance->FR6;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pb_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pb_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pb_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pb_instance->IE;} - break; - case GPIO_PORT_C: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pc_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pc_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pc_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pc_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pc_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pc_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pc_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pc_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pc_instance->IE;} - break; - case GPIO_PORT_D: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pd_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pd_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pd_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pd_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pd_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pd_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pd_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pd_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pd_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pd_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pd_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pd_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pd_instance->IE;} - break; - case GPIO_PORT_E: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pe_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pe_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pe_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pe_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pe_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pe_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pe_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pe_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pe_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pe_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pe_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pe_instance->IE;} - break; - case GPIO_PORT_F: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pf_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pf_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pf_instance->FR1;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pf_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pf_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pf_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pf_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pf_instance->IE;} - break; - case GPIO_PORT_G: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pg_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pg_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pg_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pg_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pg_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pg_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pg_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pg_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pg_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pg_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pg_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pg_instance->IE;} - break; - case GPIO_PORT_H: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_ph_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_ph_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_ph_instance->FR1;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_ph_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_ph_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_ph_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_ph_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_ph_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_ph_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_ph_instance->IE;} - break; - case GPIO_PORT_J: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pj_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pj_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pj_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pj_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pj_instance->FR5;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pj_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pj_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pj_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pj_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pj_instance->IE;} - break; - case GPIO_PORT_K: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pk_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pk_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pk_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pk_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pk_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pk_instance->FR4;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pk_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pk_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pk_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pk_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pk_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pk_instance->IE;} - break; - case GPIO_PORT_L: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pl_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pl_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pl_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pl_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pl_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pl_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pl_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pl_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pl_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pl_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pl_instance->IE;} - break; - case GPIO_PORT_M: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pm_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pm_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pm_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pm_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pm_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pm_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pm_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pm_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pm_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pm_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pm_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pm_instance->IE;} - break; - case GPIO_PORT_N: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pn_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pn_instance->CR;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pn_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pn_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pn_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pn_instance->IE;} - break; - case GPIO_PORT_P: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pp_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pp_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pp_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pp_instance->FR3;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pp_instance->FR5;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pp_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pp_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pp_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pp_instance->IE;} - break; - case GPIO_PORT_R: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pr_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pr_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pr_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pr_instance->FR3;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pr_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pr_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pr_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pr_instance->IE;} - break; - case GPIO_PORT_T: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pt_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pt_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_pt_instance->FR1;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pt_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pt_instance->FR3;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pt_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pt_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pt_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pt_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pt_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pt_instance->IE;} - break; - case GPIO_PORT_U: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pu_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pu_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pu_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pu_instance->FR3;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pu_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pu_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pu_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pu_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pu_instance->IE;} - break; - case GPIO_PORT_V: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pv_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pv_instance->CR;} - else if(mode == GPIO_Mode_FR2) {*val = p_obj->p_pv_instance->FR2;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pv_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pv_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pv_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pv_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pv_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pv_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pv_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pv_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pv_instance->IE;} - break; - case GPIO_PORT_W: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_pw_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_pw_instance->CR;} - else if(mode == GPIO_Mode_FR3) {*val = p_obj->p_pw_instance->FR3;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_pw_instance->FR4;} - else if(mode == GPIO_Mode_FR5) {*val = p_obj->p_pw_instance->FR5;} - else if(mode == GPIO_Mode_FR6) {*val = p_obj->p_pw_instance->FR6;} - else if(mode == GPIO_Mode_FR7) {*val = p_obj->p_pw_instance->FR7;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_pw_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_pw_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_pw_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_pw_instance->IE;} - break; - case GPIO_PORT_Y: - if(mode == GPIO_Mode_DATA) {*val = p_obj->p_py_instance->DATA;} - else if(mode == GPIO_Mode_CR) {*val = p_obj->p_py_instance->CR;} - else if(mode == GPIO_Mode_FR1) {*val = p_obj->p_py_instance->FR1;} - else if(mode == GPIO_Mode_FR4) {*val = p_obj->p_py_instance->FR4;} - else if(mode == GPIO_Mode_OD) {*val = p_obj->p_py_instance->OD;} - else if(mode == GPIO_Mode_PUP) {*val = p_obj->p_py_instance->PUP;} - else if(mode == GPIO_Mode_PDN) {*val = p_obj->p_py_instance->PDN;} - else if(mode == GPIO_Mode_IE) {*val = p_obj->p_py_instance->IE;} - break; -#endif /* TMPM4G9 */ - default: - result = TXZ_ERROR; - } - } - - return result; -} - -/*--------------------------------------------------*/ -/** - * @brief Port Function switching - * @param p_obj :GPIO object. - * @param group :GPIO Port Group. : Use @ref gpio_gr_t - * @param num :GPIO Port Number. : Use @ref gpio_num_t - * @param func :GPIO Portxx Func. : Use @ref gpio_pa0_func_t - @ref gpio_pl4_func_t - * @param inout :GPIO Input/Output.: Use @ref gpio_pininout_t - * @retval GPIO_RESULT_SUCCESS :Success. - * @retval GPIO_RESULT_FAILURE :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_func(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, uint32_t func, gpio_pininout_t inout) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t port_base; - uint32_t mode_base; - int32_t param_result = PARAM_NG; - - /* Check the parameters, the NULL of address */ - param_result = check_param_func_pin_exist(p_obj, group, num, func); - if (((void*)(p_obj) == (void*)0) || (param_result == PARAM_NG)) - { - result = TXZ_ERROR; - } - else - { - switch (group) - { - #if defined(TMPM4G6) - case GPIO_PORT_A: - port_base = (uint32_t)p_obj->p_pa_instance; - break; - case GPIO_PORT_B: - port_base = (uint32_t)p_obj->p_pb_instance; - break; - case GPIO_PORT_D: - port_base = (uint32_t)p_obj->p_pd_instance; - break; - case GPIO_PORT_E: - port_base = (uint32_t)p_obj->p_pe_instance; - break; - case GPIO_PORT_F: - port_base = (uint32_t)p_obj->p_pf_instance; - break; - case GPIO_PORT_G: - port_base = (uint32_t)p_obj->p_pg_instance; - break; - case GPIO_PORT_H: - port_base = (uint32_t)p_obj->p_ph_instance; - break; - case GPIO_PORT_K: - port_base = (uint32_t)p_obj->p_pk_instance; - break; - case GPIO_PORT_L: - port_base = (uint32_t)p_obj->p_pl_instance; - break; - case GPIO_PORT_N: - port_base = (uint32_t)p_obj->p_pn_instance; - break; - case GPIO_PORT_P: - port_base = (uint32_t)p_obj->p_pp_instance; - break; - case GPIO_PORT_T: - port_base = (uint32_t)p_obj->p_pt_instance; - break; - case GPIO_PORT_Y: - port_base = (uint32_t)p_obj->p_py_instance; - break; - #endif /* TMPM4G6 */ - #if defined(TMPM4G7) - case GPIO_PORT_A: - port_base = (uint32_t)p_obj->p_pa_instance; - break; - case GPIO_PORT_B: - port_base = (uint32_t)p_obj->p_pb_instance; - break; - case GPIO_PORT_C: - port_base = (uint32_t)p_obj->p_pc_instance; - break; - case GPIO_PORT_D: - port_base = (uint32_t)p_obj->p_pd_instance; - break; - case GPIO_PORT_E: - port_base = (uint32_t)p_obj->p_pe_instance; - break; - case GPIO_PORT_F: - port_base = (uint32_t)p_obj->p_pf_instance; - break; - case GPIO_PORT_G: - port_base = (uint32_t)p_obj->p_pg_instance; - break; - case GPIO_PORT_H: - port_base = (uint32_t)p_obj->p_ph_instance; - break; - case GPIO_PORT_K: - port_base = (uint32_t)p_obj->p_pk_instance; - break; - case GPIO_PORT_L: - port_base = (uint32_t)p_obj->p_pl_instance; - break; - case GPIO_PORT_N: - port_base = (uint32_t)p_obj->p_pn_instance; - break; - case GPIO_PORT_P: - port_base = (uint32_t)p_obj->p_pp_instance; - break; - case GPIO_PORT_R: - port_base = (uint32_t)p_obj->p_pr_instance; - break; - case GPIO_PORT_T: - port_base = (uint32_t)p_obj->p_pt_instance; - break; - case GPIO_PORT_V: - port_base = (uint32_t)p_obj->p_pv_instance; - break; - case GPIO_PORT_Y: - port_base = (uint32_t)p_obj->p_py_instance; - break; - #endif /* TMPM4G7 */ - #if defined(TMPM4G8) - case GPIO_PORT_A: - port_base = (uint32_t)p_obj->p_pa_instance; - break; - case GPIO_PORT_B: - port_base = (uint32_t)p_obj->p_pb_instance; - break; - case GPIO_PORT_C: - port_base = (uint32_t)p_obj->p_pc_instance; - break; - case GPIO_PORT_D: - port_base = (uint32_t)p_obj->p_pd_instance; - break; - case GPIO_PORT_E: - port_base = (uint32_t)p_obj->p_pe_instance; - break; - case GPIO_PORT_F: - port_base = (uint32_t)p_obj->p_pf_instance; - break; - case GPIO_PORT_G: - port_base = (uint32_t)p_obj->p_pg_instance; - break; - case GPIO_PORT_H: - port_base = (uint32_t)p_obj->p_ph_instance; - break; - case GPIO_PORT_K: - port_base = (uint32_t)p_obj->p_pk_instance; - break; - case GPIO_PORT_L: - port_base = (uint32_t)p_obj->p_pl_instance; - break; - case GPIO_PORT_M: - port_base = (uint32_t)p_obj->p_pm_instance; - break; - case GPIO_PORT_N: - port_base = (uint32_t)p_obj->p_pn_instance; - break; - case GPIO_PORT_P: - port_base = (uint32_t)p_obj->p_pp_instance; - break; - case GPIO_PORT_R: - port_base = (uint32_t)p_obj->p_pr_instance; - break; - case GPIO_PORT_T: - port_base = (uint32_t)p_obj->p_pt_instance; - break; - case GPIO_PORT_V: - port_base = (uint32_t)p_obj->p_pv_instance; - break; - case GPIO_PORT_Y: - port_base = (uint32_t)p_obj->p_py_instance; - break; - #endif /* TMPM4G8 */ - #if defined(TMPM4G9) - case GPIO_PORT_A: - port_base = (uint32_t)p_obj->p_pa_instance; - break; - case GPIO_PORT_B: - port_base = (uint32_t)p_obj->p_pb_instance; - break; - case GPIO_PORT_C: - port_base = (uint32_t)p_obj->p_pc_instance; - break; - case GPIO_PORT_D: - port_base = (uint32_t)p_obj->p_pd_instance; - break; - case GPIO_PORT_E: - port_base = (uint32_t)p_obj->p_pe_instance; - break; - case GPIO_PORT_F: - port_base = (uint32_t)p_obj->p_pf_instance; - break; - case GPIO_PORT_G: - port_base = (uint32_t)p_obj->p_pg_instance; - break; - case GPIO_PORT_H: - port_base = (uint32_t)p_obj->p_ph_instance; - break; - case GPIO_PORT_J: - port_base = (uint32_t)p_obj->p_pj_instance; - break; - case GPIO_PORT_K: - port_base = (uint32_t)p_obj->p_pk_instance; - break; - case GPIO_PORT_L: - port_base = (uint32_t)p_obj->p_pl_instance; - break; - case GPIO_PORT_M: - port_base = (uint32_t)p_obj->p_pm_instance; - break; - case GPIO_PORT_N: - port_base = (uint32_t)p_obj->p_pn_instance; - break; - case GPIO_PORT_P: - port_base = (uint32_t)p_obj->p_pp_instance; - break; - case GPIO_PORT_R: - port_base = (uint32_t)p_obj->p_pr_instance; - break; - case GPIO_PORT_T: - port_base = (uint32_t)p_obj->p_pt_instance; - break; - case GPIO_PORT_U: - port_base = (uint32_t)p_obj->p_pu_instance; - break; - case GPIO_PORT_V: - port_base = (uint32_t)p_obj->p_pv_instance; - break; - case GPIO_PORT_W: - port_base = (uint32_t)p_obj->p_pw_instance; - break; - case GPIO_PORT_Y: - port_base = (uint32_t)p_obj->p_py_instance; - break; - #endif /* TMPM4G9 */ - default: - result = TXZ_ERROR; - } - if(result == TXZ_ERROR) - { - return (result); - } - - /* Initialization PxFR OFF */ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR1); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR2); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR3); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR4); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR5); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR6); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR7); - BITBAND_PORT_CLR(mode_base, num); - - /* Initialize Input/Output */ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - - switch (func) { - case 0: - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_1: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR1); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_2: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR2); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_3: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR3); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_4: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR4); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_5: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR5); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - } - break; - case GPIO_FR_6: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR6); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_7: - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_FR7); - BITBAND_PORT_SET(mode_base, num); - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - case GPIO_FR_NA: - if(inout== GPIO_PIN_OUTPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_CLR(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_INPUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_CLR(mode_base, num); - }else if(inout== GPIO_PIN_INOUT){ - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_IE); - BITBAND_PORT_SET(mode_base, num); - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_CR); - BITBAND_PORT_SET(mode_base, num); - }else if(inout== GPIO_PIN_NOTINOUT){ - /* No Process */ - } - break; - default: - result = TXZ_ERROR; - return (result); - } - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Set Pull up mode - * @param p_obj :GPIO object. - * @param group :GPIO Port Group. : Use @ref gpio_gr_t - * @param num :GPIO Port Number. : Use @ref gpio_num_t - * @param val :GPIO Pin Reset/Set. : Use @ref gpio_pinstate_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_SetPullUp(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t port_base; - uint32_t mode_base; - - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if (check_param_pin_exist(p_obj, group, num, GPIO_Mode_PUP) == PARAM_NG) - { - result = TXZ_ERROR; - } - else - { - port_base = BITBAND_PORT_BASE(group); - - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_PUP); - if (val == GPIO_PIN_SET) - { - BITBAND_PORT_SET(mode_base, num); - } - else if (val == GPIO_PIN_RESET) - { - BITBAND_PORT_CLR(mode_base, num); - } - else{ result = TXZ_ERROR;} - } - - return result; -} - -/*--------------------------------------------------*/ -/** - * @brief Set Pull down mode - * @param p_obj :GPIO object. - * @param group :GPIO Port Group. : Use @ref gpio_gr_t - * @param num :GPIO Port Number. : Use @ref gpio_num_t - * @param val :GPIO Pin Reset/Set. : Use @ref gpio_pinstate_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_SetPullDown(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t port_base; - uint32_t mode_base; - - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if (check_param_pin_exist(p_obj, group, num, GPIO_Mode_PDN) == PARAM_NG) - { - result = TXZ_ERROR; - } - else - { - port_base = BITBAND_PORT_BASE(group); - - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_PDN); - if (val == GPIO_PIN_SET) - { - BITBAND_PORT_SET(mode_base, num); - } - else if (val == GPIO_PIN_RESET) - { - BITBAND_PORT_CLR(mode_base, num); - } - else{ result = TXZ_ERROR;} - } - - return result; -} - -/*--------------------------------------------------*/ -/** - * @brief Set Open drain mode - * @param p_obj :GPIO object. - * @param group :GPIO Port Group. : Use @ref gpio_gr_t - * @param num :GPIO Port Number. : Use @ref gpio_num_t - * @param val :GPIO Pin Reset/Set. : Use @ref gpio_pinstate_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_SetOpenDrain(_gpio_t *p_obj, gpio_gr_t group, gpio_num_t num, gpio_pinstate_t val) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t port_base; - uint32_t mode_base; - - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if (check_param_pin_exist(p_obj, group, num, GPIO_Mode_OD) == PARAM_NG) - { - result = TXZ_ERROR; - } - else - { - port_base = BITBAND_PORT_BASE(group); - - mode_base = BITBAND_PORT_MODE_BASE(port_base, GPIO_Mode_OD); - if (val == GPIO_PIN_SET) - { - BITBAND_PORT_SET(mode_base, num); - } - else if (val == GPIO_PIN_RESET) - { - BITBAND_PORT_CLR(mode_base, num); - } - else{ result = TXZ_ERROR;} - } - - return result; -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result gpio_write_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, uint32_t val) - * @brief Port Bit Write - * @param p_obj :GPIO object. - * @param group :GPIO Port Group. : Use @ref gpio_gr_t - * @param num :GPIO Port Number. : Use @ref gpio_num_t - * @param mode :GPIO Port Mode. : Use @ref gpio_mode_t - * @param val :GPIO Pin Reset/Set. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_write_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, uint32_t val) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t base; - - /* Check the parameters */ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if (check_param_pin_exist(p_obj, group, num, mode) == PARAM_NG) - { - result = TXZ_ERROR; - } - else - { - base = BITBAND_PORT_BASE(group); - base = BITBAND_PORT_MODE_BASE(base, mode); - if (val == GPIO_PIN_SET){ BITBAND_PORT_SET(base, num);} - else if (val == GPIO_PIN_RESET){ BITBAND_PORT_CLR(base, num);} - else{ result = TXZ_ERROR;} - } - - return (result); -} - -/*--------------------------------------------------*/ -/*! - * @fn TXZ_Result gpio_read_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, gpio_pinstate_t *pinstate) - * @brief Port Bit Read - * @param[in] p_obj :GPIO object. - * @param[in] group :GPIO Port Group. : Use @ref gpio_gr_t - * @param[in] num :GPIO Port Number. : Use @ref gpio_num_t - * @param[in] mode :GPIO Port Mode. : Use @ref gpio_mode_t - * @param[out] *pinstate : store Value of GPIO BitPin. : Use @ref gpio_pinstate_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, no processing.: Use @ref gpio_pinstate_t - */ -/*--------------------------------------------------*/ -TXZ_Result gpio_read_bit(_gpio_t *p_obj, uint32_t group, uint32_t num, uint32_t mode, gpio_pinstate_t *pinstate) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t base; - uint32_t val; - - /* Check the parameters */ - if ((void*)(p_obj) == (void*)0) - { - result = TXZ_ERROR; - } - else if (check_param_pin_exist(p_obj, group, num, mode) == PARAM_NG) - { - result = TXZ_ERROR; - } - else - { - base = BITBAND_PORT_BASE(group); - base = BITBAND_PORT_MODE_BASE(base, mode); - BITBAND_PORT_READ(val, base, num); - if(val == GPIO_PIN_RESET){ *pinstate = GPIO_PIN_RESET;} - else if (val == GPIO_PIN_SET){ *pinstate = GPIO_PIN_SET;} - else{ result = TXZ_ERROR;} - } - - return result; -} - -/** - * @} - */ /* End of group GPIO_Exported_functions */ - -/** - * @} - */ /* End of group GPIO */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__GPIO_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_hal.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_hal.c deleted file mode 100644 index 26c3c1fc293..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_hal.c +++ /dev/null @@ -1,175 +0,0 @@ -/** - ******************************************************************************* - * @file txz_hal.c - * @brief This file provides API functions for driver common part. - * @version V1.0.0.0 - * $Date:: 2017-08-09 11:01:04 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_hal.h" - -#if defined(__HAL_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup HAL - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_macro HAL Private Macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Private_macro */ - - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_define HAL Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_define HAL Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_define HAL Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_typedef HAL Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group HAL_Private_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup HAL_Private_fuctions HAL Private Fuctions - * @{ - */ - -static uint32_t tick; - -/** - * @} - */ /* End of group HAL_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup HAL_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/** - * @brief Increment a tick value. - * @param - - * @retval - - * @note Please call by user. - * @note In the sample, this variable is incremented each 1ms timer interrupt. - */ -/*--------------------------------------------------*/ -void hal_inc_tick(void) -{ - tick++; -} - -/*--------------------------------------------------*/ -/** - * @brief Provides a tick value. - * @param - - * @return Tick value. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -uint32_t hal_get_tick(void) -{ - return(tick); -} - -/** - * @} - */ /* End of group HAL_Exported_functions */ - -/** - * @} - */ /* End of group HAL */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__HAL_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c.c deleted file mode 100644 index f9f30720f1b..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c.c +++ /dev/null @@ -1,415 +0,0 @@ -/** - ******************************************************************************* - * @file txz_i2c.c - * @brief This file provides API functions for I2C Class. - * @version V1.0.0.2 - * $Date:: 2016-11-08 00:00:00 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_i2c.h" - -#if defined(__I2C_H) - -/** - * @addtogroup Example - * @{ - */ - -/** - * @addtogroup UTILITIES - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_macro */ - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Member */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_variables - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_variables */ - -/*------------------------------------------------------------------------------*/ -/* Const Table */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_const - * @{ - */ -/*----------------------------------*/ -/** - * @brief SCK Divider value table. - * @details SCK = b000 - b111. - * @note NFSEL=0 (Digital Setting) Divider value. -*/ -/*----------------------------------*/ -static const uint32_t I2C_SCK_DIVIDER_TBL[8] = { 20,24,32,48,80,144,272,528 }; -static const uint32_t I2C_SCK_LOW_MUL_TBL[8] = { 12, 14, 18, 26, 42, 74, 138, 266 }; - -/** - * @} - */ /* End of group UTILITIES_Private_const */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_functions - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_functions - * @{ - */ - -/*--------------------------------------------------*/ -/** - * @brief Initializing I2C Regester - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2C_init(I2C_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - p_obj->p_instance->CR2 = I2CxCR2_I2CM_ENABLE; - p_obj->p_instance->OP = I2CxOP_INIT; - p_obj->p_instance->CR1 = (I2CxCR1_ACK | /* I2CxCR1_NOACK | */ p_obj->init.clock.sck); - p_obj->p_instance->AR = I2CxAR_INIT; - p_obj->p_instance->AR2 = I2CxAR2_INIT; - p_obj->p_instance->CR2 = I2CxCR2_INIT; - p_obj->p_instance->PRS = (I2CxPRS_PRCK & p_obj->init.clock.prsck); - p_obj->p_instance->IE = I2CxIE_CLEAR; -} - -/*--------------------------------------------------*/ -/** - * @brief Generate start condition - * @param p_obj :I2C object. - * @param data :Slave address. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2C_start_condition(I2C_t *p_obj, uint32_t data) -{ - __IO uint32_t opreg; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - opreg = p_obj->p_instance->OP; - opreg &= ~(I2CxOP_RSTA | I2CxOP_SREN); - if(I2C_master(p_obj)){ - if ((p_obj->p_instance->SR & I2CxSR_BB)) - { - opreg |= I2CxOP_SREN; - } - } - p_obj->p_instance->CR1 = (I2CxCR1_ACK | I2CxCR1_NOACK | p_obj->init.clock.sck); - p_obj->p_instance->OP = opreg; - p_obj->p_instance->DBR = (data & I2CxDBR_DB_MASK); - p_obj->p_instance->CR2 = I2CxCR2_START_CONDITION; -} - -/*--------------------------------------------------*/ -/** - * @brief Return the I2c clock setting - * @param p_obj :I2C object. - * @param frequency :Maximum frequency. - * @param fsys :SystemCoreClock. - * @param p_setting :Clock data pointer. - * @retval Non-zero :Scl frequency. - * @retval 0 :Error. - * @note - - */ -/*--------------------------------------------------*/ -uint32_t I2C_get_clock_setting(I2C_t *p_obj, uint32_t frequency, uint32_t fsys, I2C_clock_setting_t *p_setting) -{ - uint32_t result = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_setting)); -#endif /* #ifdef DEBUG */ - - if (frequency <= 1000000) - { - uint64_t sck, tmp_sck; - uint64_t prsck, tmp_prsck; - uint64_t fscl, tmp_fscl; - uint64_t fx; - uint64_t max_fx, min_fx; - uint64_t low_width,low_width_min; - - sck = tmp_sck = 0; - prsck = tmp_prsck = 1; - fscl = tmp_fscl = 0; - - if(frequency <= 400000) - { - max_fx = 11428572U; /* Tpresck: 87.5ns 1/87.5 = 0.0114285714 */ - min_fx = 6666666U; /* Tpresck:150.0ns 1/150 = 0.0066666667 */ - low_width_min = 1600; - } - else - { - max_fx = 26666667U; /* Tpresck:37.5ns 1/37.5 = 0.0266666667 */ - min_fx = 15384615U; /* Tpresck:65.0ns 1/65 = 0.0153846154 */ - low_width_min = 675; - } - for (prsck = 1; prsck <= 32; prsck++) - { - fx = ((uint64_t)fsys / prsck); - - if ((fx < max_fx) && (fx >= min_fx)) - { - for (sck = 0; sck <= 7; sck++) - { - low_width = (uint64_t)(1000000000 * prsck * I2C_SCK_LOW_MUL_TBL[sck]) / fsys; - if(low_width < low_width_min) - { - continue; - } - fscl = (fx / (uint64_t)I2C_SCK_DIVIDER_TBL[sck]); - - if ((fscl <= frequency) && (fscl > tmp_fscl)) - { - tmp_fscl = fscl; - tmp_sck = sck; - tmp_prsck = (prsck < 32)? prsck: 0; - } - } - } - } - result = (uint32_t)tmp_fscl; - p_setting->sck = (uint32_t)tmp_sck; - p_setting->prsck = (tmp_prsck < 32)? (uint32_t)tmp_prsck: 0; - } - else - { - result = 0; - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Slave mode setting. - * @param p_obj :I2C object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2C_slave_init(I2C_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - p_obj->p_instance->OP = I2CxOP_SLAVE_INIT; - p_obj->p_instance->CR1 = (I2CxCR1_ACK | p_obj->init.clock.sck); - p_obj->p_instance->CR2 = (I2CxCR2_INIT | I2CxCR2_PIN_CLEAR); - p_obj->p_instance->CR2 = I2CxCR2_INIT; - p_obj->p_instance->PRS = (I2CxPRS_PRCK & p_obj->init.clock.prsck); - p_obj->p_instance->IE = 1; -} -#if defined(I2CSxWUP_EN) -/*--------------------------------------------------*/ -/** - * @brief I2C Wakeup Control setting. - * @param p_obj :I2CS object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2CS_init(I2CS_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - p_obj->p_instance->WUPCR1 = (p-obj->init.wup.sgcdi | p_obj->init.wup.ack | p_obj->init.wup.reset | p_obj->init.wup.intend); -} - -/*--------------------------------------------------*/ -/** - * @brief Primary Slave Address setting. - * @param p_obj :I2CS object. - * @param addr :Primary Slave Address. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2CS_Primary_slave_adr_set(I2CS_t *p_obj, uint32_t adr) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - p_obj->p_instance->WUPCR2 = (0x0000000E & adr); -} - -/*--------------------------------------------------*/ -/** - * @brief Secondary Slave Address setting. - * @param p_obj :I2CS object. - * @param addr :Secondary Slave Address. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void I2CS_Secondary_slave_adr_set(I2CS_t *p_obj, uint32_t adr) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - p_obj->p_instance->WUPCR3 = (0x0000000E & adr); - p_obj->p_instance->WUPCR3 |= 0x00000001; /* WUPSA2EN: Secondary Slave Address Use Setting */ -} -#endif -/** - * @} - */ /* End of group UTILITIES_Private_functions */ - -/** - * @} - */ /* End of group UTILITIES */ - -/** - * @} - */ /* End of group Example */ - -#endif /* defined(__I2C_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c_api.c deleted file mode 100644 index 4a1bab48336..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_i2c_api.c +++ /dev/null @@ -1,1865 +0,0 @@ -/** - ******************************************************************************* - * @file bsp_i2c.c - * @brief This file provides API functions for BSP I2C driver. - * @version V1.0.0.1 - * $Date:: 2017-10-03 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_i2c_api.h" - -#if defined(__BSP_I2C_H) - -/** - * @addtogroup Example - * @{ - */ - -/** - * @addtogroup UTILITIES - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Macro Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_macro - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_macro */ - -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ - -/** - * @name Parameter Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define I2C_PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define I2C_PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of name Parameter Result */ - -/** - * @name timeout - * @brief This timeouts are not based on accurate values, this just guarantee that - the application will not remain stuck if the I2C communication is corrupted. - * @{ - */ -#define I2C_TIMEOUT (100000) /*>! fail safe. */ - -/** - * @} - */ /* End of name timeout */ - -#define I2CxSR_AL ((uint32_t)0x00000008) /*!< AL */ -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ -#define I2C_CH0 (0) /*!< I2C Channel 0. */ -#define I2C_CH1 (1) /*!< I2C Channel 1. */ -#define I2C_CH2 (2) /*!< I2C Channel 2. */ -#define I2C_CH3 (3) /*!< I2C Channel 3. */ -#define I2C_CH4 (4) /*!< I2C Channel 3. */ -#define I2C_CH_NUM (5) /*!< Number of I2C Channel. */ - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_define - * @{ - */ -/*----------------------------------*/ -/** - * @brief Transfer State. -*/ -/*----------------------------------*/ -enum { - I2C_TRANSFER_STATE_IDLE = 0U, /*!< Idle. */ - I2C_TRANSFER_STATE_BUSY /*!< Busy. */ -} TransferState; - -/** - * @} - */ /* End of group UTILITIES_Private_define */ - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_typedef - * @{ - */ - -/*----------------------------------*/ -/** - * @brief For IRQn_Type number definition. -*/ -/*----------------------------------*/ -typedef struct -{ - IRQn_Type i2c; - IRQn_Type al; - IRQn_Type bf; - IRQn_Type na; -} i2c_irq_t; - -/** - * @} - */ /* End of group UTILITIES_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Member */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_variables - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UTILITIES_Private_variables */ - -/*------------------------------------------------------------------------------*/ -/* Const Table */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_const - * @{ - */ -/*----------------------------------*/ -/** - * @brief Channel 0 IRQn_Type number table. -*/ -/*----------------------------------*/ -static const i2c_irq_t I2C_CH0_IRQN_TBL[1] = -{ - { INTI2C0_IRQn, INTI2C0AL_IRQn, INTI2C0BF_IRQn, INTI2C0NACK_IRQn } -}; - -/*----------------------------------*/ -/** - * @brief Channel 1 IRQn_Type number table. -*/ -/*----------------------------------*/ -static const i2c_irq_t I2C_CH1_IRQN_TBL[1] = -{ - { INTI2C1_IRQn, INTI2C1AL_IRQn, INTI2C1BF_IRQn, INTI2C1NACK_IRQn } -}; - -/*----------------------------------*/ -/** - * @brief Channel 2 IRQn_Type number table. -*/ -/*----------------------------------*/ -static const i2c_irq_t I2C_CH2_IRQN_TBL[1] = -{ - { INTI2C2_IRQn, INTI2C2AL_IRQn, INTI2C2BF_IRQn, INTI2C2NACK_IRQn } -}; - -/*----------------------------------*/ -/** - * @brief Channel 3 IRQn_Type number table. -*/ -/*----------------------------------*/ -static const i2c_irq_t I2C_CH3_IRQN_TBL[1] = -{ - { INTI2C3_IRQn, INTI2C3AL_IRQn, INTI2C3BF_IRQn, INTI2C3NACK_IRQn } -}; - -/*----------------------------------*/ -/** - * @brief Channel 4 IRQn_Type number table. -*/ -/*----------------------------------*/ -static const i2c_irq_t I2C_CH4_IRQN_TBL[1] = -{ - { INTI2C4_IRQn, INTI2C4AL_IRQn, INTI2C4BF_IRQn, INTI2C4NACK_IRQn } -}; -/** - * @} - */ /* End of group UTILITIES_Private_const */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Private_functions - * @{ - */ -#ifdef DEBUG -__STATIC_INLINE int32_t check_param_irqn(uint32_t irqn); -__STATIC_INLINE int32_t check_param_address(int32_t address); -#endif -__STATIC_INLINE void enable_irq(uint32_t irqn); -__STATIC_INLINE void disable_irq(uint32_t irqn); -__STATIC_INLINE void clear_irq(uint32_t irqn); -__STATIC_INLINE void set_port_ch0(i2c_port_t sda, i2c_port_t scl); -__STATIC_INLINE void set_port_ch1(i2c_port_t sda, i2c_port_t scl); -__STATIC_INLINE void set_port_ch2(i2c_port_t sda, i2c_port_t scl); -__STATIC_INLINE void set_port_ch3(i2c_port_t sda, i2c_port_t scl); -__STATIC_INLINE void set_port_ch4(i2c_port_t sda, i2c_port_t scl); -__STATIC_INLINE uint32_t set_i2c(uint8_t ch, uint32_t *p_irqn); -__STATIC_INLINE void reset_asynch(_i2c_t *p_obj); -__STATIC_INLINE int32_t wait_status(_i2c_t *p_obj); -static void i2c_irq_handler(_i2c_t *p_obj); -static void i2c_slave_irq_handler(_i2c_t *p_obj); - -#ifdef DEBUG -/*--------------------------------------------------*/ -/** - * @brief Compare the IRQn's parameter. - * @param irqn :I2C IRQn List. - * @retval I2C_PARAM_OK :Available. - * @retval I2C_PARAM_NG :Not Available. - * @note -. - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_irqn(uint32_t irqn) -{ - int32_t result = I2C_PARAM_NG; - - if (irqn == (uint32_t)&I2C_CH0_IRQN_TBL) - { - result = I2C_PARAM_OK; - } - if (irqn == (uint32_t)&I2C_CH1_IRQN_TBL) - { - result = I2C_PARAM_OK; - } - if (irqn == (uint32_t)&I2C_CH2_IRQN_TBL) - { - result = I2C_PARAM_OK; - } - if (irqn == (uint32_t)&I2C_CH3_IRQN_TBL) - { - result = I2C_PARAM_OK; - } - if (irqn == (uint32_t)&I2C_CH4_IRQN_TBL) - { - result = I2C_PARAM_OK; - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Compare the Slave address's parameter. - * @param address :Address. - * @retval I2C_PARAM_OK :Available. - * @retval I2C_PARAM_NG :Not Available. - * @note Here, 10bit address has not supported. - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_address(int32_t address) -{ - int32_t result = I2C_PARAM_NG; - - if ((address >= 0) && (address <= 255)) - { - result = I2C_PARAM_OK; - } - return (result); -} -#endif - -/*--------------------------------------------------*/ -/** - * @brief Enable I2C IRQ - * @param irqn :I2C IRQn List. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void enable_irq(uint32_t irqn) -{ - i2c_irq_t *p_irqn = (i2c_irq_t *)irqn; - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(check_param_irqn(irqn)); -#endif /* #ifdef DEBUG */ - NVIC_EnableIRQ(p_irqn->i2c); -} - -/*--------------------------------------------------*/ -/** - * @brief Disable I2C IRQ - * @param irqn :I2C IRQn List. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void disable_irq(uint32_t irqn) -{ - i2c_irq_t *p_irqn = (i2c_irq_t *)irqn; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(check_param_irqn(irqn)); -#endif /* #ifdef DEBUG */ - NVIC_DisableIRQ(p_irqn->i2c); - NVIC_DisableIRQ(p_irqn->al); - NVIC_DisableIRQ(p_irqn->bf); - NVIC_DisableIRQ(p_irqn->na); -} - -/*--------------------------------------------------*/ -/** - * @brief ClearPending I2C IRQ - * @param irqn :I2C IRQn List. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void clear_irq(uint32_t irqn) -{ - i2c_irq_t *p_irqn = (i2c_irq_t *)irqn; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(check_param_irqn(irqn)); -#endif /* #ifdef DEBUG */ - NVIC_ClearPendingIRQ(p_irqn->i2c); - NVIC_ClearPendingIRQ(p_irqn->al); - NVIC_ClearPendingIRQ(p_irqn->bf); - NVIC_ClearPendingIRQ(p_irqn->na); -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Port Setting (PG2, PG3) - * @param sda :SDA port. - * @param scl :SCL port. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void set_port_ch0(i2c_port_t sda, i2c_port_t scl) -{ - if ((sda == I2C_PORT_PG2) && (scl == I2C_PORT_PG3)) - { - /* Port G */ - - /* SCL */ - TSB_PG_IE_PG3IE = 0; /* Input :Disable */ - TSB_PG_CR_PG3C = 0; /* Output :Disable */ - TSB_PG_OD_PG3OD = 1; /* OD Control :Open Drain */ - TSB_PG_PUP_PG3UP = 0; /* Pull-up :Disable */ - TSB_PG_PDN_PG3DN = 0; /* Pull-down :Disable */ - TSB_PG_DATA_PG3 = 0; /* Data :0 */ - TSB_PG_FR7_PG3F7 = 1; /* Function :I2C0SCL */ - TSB_PG_IE_PG3IE = 1; /* Input :Enable */ - TSB_PG_CR_PG3C = 1; /* Output :Enable */ - - /* SDA */ - TSB_PG_IE_PG2IE = 0; /* Input :Disable */ - TSB_PG_CR_PG2C = 0; /* Output :Disable */ - TSB_PG_OD_PG2OD = 1; /* OD Control :Open Drain */ - TSB_PG_PUP_PG2UP = 0; /* Pull-up :Disable */ - TSB_PG_PDN_PG2DN = 0; /* Pull-down :Disable */ - TSB_PG_DATA_PG2 = 0; /* Data :0 */ - TSB_PG_FR7_PG2F7 = 1; /* Function :I2C0SDA */ - TSB_PG_IE_PG2IE = 1; /* Input :Enable */ - TSB_PG_CR_PG2C = 1; /* Output :Enable */ - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Port Setting (PF2, PF3) - * @param sda :SDA port. - * @param scl :SCL port. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void set_port_ch1(i2c_port_t sda, i2c_port_t scl) -{ - if ((sda == I2C_PORT_PF2) && (scl == I2C_PORT_PF3)) - { - /* Port F */ - - /* SCL */ - TSB_PF_IE_PF3IE = 0; /* Input :Disable */ - TSB_PF_CR_PF3C = 0; /* Output :Disable */ - TSB_PF_OD_PF3OD = 1; /* OD Control :Open Drain */ - TSB_PF_PUP_PF3UP = 0; /* Pull-up :Disable */ - TSB_PF_PDN_PF3DN = 0; /* Pull-down :Disable */ - TSB_PF_DATA_PF3 = 0; /* Data :0 */ - TSB_PF_FR7_PF3F7 = 1; /* Function :I2C0SCL */ - TSB_PF_IE_PF3IE = 1; /* Input :Enable */ - TSB_PF_CR_PF3C = 1; /* Output :Enable */ - - /* SDA */ - TSB_PF_IE_PF2IE = 0; /* Input :Disable */ - TSB_PF_CR_PF2C = 0; /* Output :Disable */ - TSB_PF_OD_PF2OD = 1; /* OD Control :Open Drain */ - TSB_PF_PUP_PF2UP = 0; /* Pull-up :Disable */ - TSB_PF_PDN_PF2DN = 0; /* Pull-down :Disable */ - TSB_PF_DATA_PF2 = 0; /* Data :0 */ - TSB_PF_FR7_PF2F7 = 1; /* Function :I2C0SDA */ - TSB_PF_IE_PF2IE = 1; /* Input :Enable */ - TSB_PF_CR_PF2C = 1; /* Output :Enable */ - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Port Setting (PG4, PG5) - * @param sda :SDA port. - * @param scl :SCL port. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void set_port_ch2(i2c_port_t sda, i2c_port_t scl) -{ - if ((sda == I2C_PORT_PG4) && (scl == I2C_PORT_PG5)) - { - /* Port G */ - - /* SCL */ - TSB_PG_IE_PG5IE = 0; /* Input :Disable */ - TSB_PG_CR_PG5C = 0; /* Output :Disable */ - TSB_PG_OD_PG5OD = 1; /* OD Control :Open Drain */ - TSB_PG_PUP_PG5UP = 0; /* Pull-up :Disable */ - TSB_PG_PDN_PG5DN = 0; /* Pull-down :Disable */ - TSB_PG_DATA_PG5 = 0; /* Data :0 */ - TSB_PG_FR7_PG5F7 = 1; /* Function :I2C0SCL */ - TSB_PG_IE_PG5IE = 1; /* Input :Enable */ - TSB_PG_CR_PG5C = 1; /* Output :Enable */ - - /* SDA */ - TSB_PG_IE_PG4IE = 0; /* Input :Disable */ - TSB_PG_CR_PG4C = 0; /* Output :Disable */ - TSB_PG_OD_PG4OD = 1; /* OD Control :Open Drain */ - TSB_PG_PUP_PG4UP = 0; /* Pull-up :Disable */ - TSB_PG_PDN_PG4DN = 0; /* Pull-down :Disable */ - TSB_PG_DATA_PG4 = 0; /* Data :0 */ - TSB_PG_FR7_PG4F7 = 1; /* Function :I2C0SDA */ - TSB_PG_IE_PG4IE = 1; /* Input :Enable */ - TSB_PG_CR_PG4C = 1; /* Output :Enable */ - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Port Setting (PM0, PM1) - * @param sda :SDA port. - * @param scl :SCL port. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void set_port_ch3(i2c_port_t sda, i2c_port_t scl) -{ - if ((sda == I2C_PORT_PJ6) && (scl == I2C_PORT_PJ7)) - { - /* Port M */ - - /* SCL */ - TSB_PJ_IE_PJ6IE = 0; /* Input :Disable */ - TSB_PJ_CR_PJ6C = 0; /* Output :Disable */ - TSB_PJ_OD_PJ6OD = 1; /* OD Control :Open Drain */ - TSB_PJ_PUP_PJ6UP = 0; /* Pull-up :Disable */ - TSB_PJ_PDN_PJ6DN = 0; /* Pull-down :Disable */ - TSB_PJ_DATA_PJ6 = 0; /* Data :0 */ - TSB_PJ_FR7_PJ6F7 = 1; /* Function :I2C3SCL */ - TSB_PJ_IE_PJ6IE = 1; /* Input :Enable */ - TSB_PJ_CR_PJ6C = 1; /* Output :Enable */ - - /* SDA */ - TSB_PJ_IE_PJ7IE = 0; /* Input :Disable */ - TSB_PJ_CR_PJ7C = 0; /* Output :Disable */ - TSB_PJ_OD_PJ7OD = 1; /* OD Control :Open Drain */ - TSB_PJ_PUP_PJ7UP = 0; /* Pull-up :Disable */ - TSB_PJ_PDN_PJ7DN = 0; /* Pull-down :Disable */ - TSB_PJ_DATA_PJ7 = 0; /* Data :0 */ - TSB_PJ_FR7_PJ7F7 = 1; /* Function :I2C3SDA */ - TSB_PJ_IE_PJ7IE = 1; /* Input :Enable */ - TSB_PJ_CR_PJ7C = 1; /* Output :Enable */ - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Port Setting (PM6, PM7) - * @param sda :SDA port. - * @param scl :SCL port. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void set_port_ch4(i2c_port_t sda, i2c_port_t scl) -{ - if ((sda == I2C_PORT_PJ2) && (scl == I2C_PORT_PJ3)) - { - /* Port M */ - - /* SCL */ - TSB_PJ_IE_PJ2IE = 0; /* Input :Disable */ - TSB_PJ_CR_PJ2C = 0; /* Output :Disable */ - TSB_PJ_OD_PJ2OD = 1; /* OD Control :Open Drain */ - TSB_PJ_PUP_PJ2UP = 0; /* Pull-up :Disable */ - TSB_PJ_PDN_PJ2DN = 0; /* Pull-down :Disable */ - TSB_PJ_DATA_PJ2 = 0; /* Data :0 */ - TSB_PJ_FR7_PJ2F7 = 1; /* Function :I2C3SCL */ - TSB_PJ_IE_PJ2IE = 1; /* Input :Enable */ - TSB_PJ_CR_PJ2C = 1; /* Output :Enable */ - - /* SDA */ - TSB_PJ_IE_PJ3IE = 0; /* Input :Disable */ - TSB_PJ_CR_PJ3C = 0; /* Output :Disable */ - TSB_PJ_OD_PJ3OD = 1; /* OD Control :Open Drain */ - TSB_PJ_PUP_PJ3UP = 0; /* Pull-up :Disable */ - TSB_PJ_PDN_PJ3DN = 0; /* Pull-down :Disable */ - TSB_PJ_DATA_PJ3 = 0; /* Data :0 */ - TSB_PJ_FR7_PJ3F7 = 1; /* Function :I2C3SDA */ - TSB_PJ_IE_PJ3IE = 1; /* Input :Enable */ - TSB_PJ_CR_PJ3C = 1; /* Output :Enable */ - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Setting - * @param ch :I2C Channel. - * @param p_irqn :Destination Address of a I2C IRQn List. - * @retval non-zero :Instance Address. - * @retval zero :Channel not supported. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE uint32_t set_i2c(uint8_t ch, uint32_t *p_irqn) -{ - uint32_t instance = 0; - - switch (ch) - { - case I2C_CH0: - instance = (uint32_t)TSB_I2C0; - *p_irqn = (uint32_t)&I2C_CH0_IRQN_TBL; - break; - - case I2C_CH1: - instance = (uint32_t)TSB_I2C1; - *p_irqn = (uint32_t)&I2C_CH1_IRQN_TBL; - break; - - case I2C_CH2: - instance = (uint32_t)TSB_I2C2; - *p_irqn = (uint32_t)&I2C_CH2_IRQN_TBL; - break; - - case I2C_CH3: - instance = (uint32_t)TSB_I2C3; - *p_irqn = (uint32_t)&I2C_CH3_IRQN_TBL; - break; - - case I2C_CH4: - instance = (uint32_t)TSB_I2C4; - *p_irqn = (uint32_t)&I2C_CH4_IRQN_TBL; - break; - - default: - break; - } - return (instance); -} - -/*--------------------------------------------------*/ -/** - * @brief Reset Asynch Transfer - * @param p_obj :i2c object - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE void reset_asynch(_i2c_t *p_obj) -{ - disable_irq(p_obj->info.irqn); - I2C_disable_interrupt(&p_obj->i2c); -} - -__STATIC_INLINE int32_t I2C_status_arbitration(I2C_t *p_obj) -{ -#ifdef DEBUG - if ((p_obj != I2C_NULL) && (p_obj->p_instance != I2C_NULL)) - { - return ((p_obj->p_instance->SR & I2CxSR_AL) == I2CxSR_AL); - } - return (0); -#else - return ((p_obj->p_instance->SR & I2CxSR_AL) == I2CxSR_AL); -#endif -} -/*--------------------------------------------------*/ -/** - * @brief Waiting i2c status - * @param p_obj :i2c object - * @retval 0 :Success. - * @retval -1 :Failure. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t wait_status(_i2c_t *p_obj) -{ - int32_t timeout; - - timeout = I2C_TIMEOUT; - while (!I2C_int_status(&p_obj->i2c)) - { - if (I2C_status_arbitration(&p_obj->i2c)) - { - volatile uint32_t dummy = 0; - dummy = I2C_read_data(&p_obj->i2c); - return (-5); - } - if ((timeout--) == 0) - { - return (-1); - } - } - if (I2C_status_arbitration(&p_obj->i2c)) - { - volatile uint32_t dummy = 0; - dummy = I2C_read_data(&p_obj->i2c); - return (-5); - } - return (0); -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Transfer handler - * @param p_obj :i2c object. - * @retval - - * @note Called by i2c_irq_handler_asynch_t. - */ -/*--------------------------------------------------*/ -static void i2c_irq_handler(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - I2C_clear_int_status(&p_obj->i2c); - - if ((!I2C_master(&p_obj->i2c)) || (p_obj->info.asynch.state != I2C_TRANSFER_STATE_BUSY)) - { - p_obj->info.asynch.event = I2C_EVENT_ERROR; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - else - { - if (I2C_transmitter(&p_obj->i2c)) - { - int32_t start = I2C_restart(&p_obj->i2c); - - if (!I2C_get_ack(&p_obj->i2c)) - { - if (p_obj->tx_buff.pos < p_obj->tx_buff.length) - { - I2C_write_data(&p_obj->i2c, (uint32_t)p_obj->tx_buff.p_buffer[p_obj->tx_buff.pos++]); - } - else if (p_obj->rx_buff.length != 0) - { - I2C_start_condition(&p_obj->i2c, (p_obj->info.asynch.address | 1U)); - } - else - { - if (p_obj->info.asynch.stop) - { - I2C_stop_condition(&p_obj->i2c); - } - p_obj->info.asynch.event = I2C_EVENT_TRANSFER_COMPLETE; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - else - { - if (p_obj->tx_buff.pos < p_obj->tx_buff.length) - { - if (p_obj->tx_buff.pos == 0) - { - p_obj->info.asynch.event = (I2C_EVENT_ERROR | I2C_EVENT_ERROR_NO_SLAVE); - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - else - { - p_obj->info.asynch.event = (I2C_EVENT_ERROR | I2C_EVENT_TRANSFER_EARLY_NACK); - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - else if (p_obj->rx_buff.length != 0) - { - if (p_obj->tx_buff.pos == 0) - { - p_obj->info.asynch.event = (I2C_EVENT_ERROR | I2C_EVENT_ERROR_NO_SLAVE); - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - else - { - p_obj->info.asynch.event = (I2C_EVENT_ERROR | I2C_EVENT_TRANSFER_EARLY_NACK); - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - else - { - if (p_obj->info.asynch.stop) - { - I2C_stop_condition(&p_obj->i2c); - } - p_obj->info.asynch.event = I2C_EVENT_TRANSFER_COMPLETE; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - } - else - { - int32_t start = I2C_restart(&p_obj->i2c); - - if (p_obj->rx_buff.pos < p_obj->rx_buff.length) - { - if (!start) - { - p_obj->rx_buff.p_buffer[p_obj->rx_buff.pos++] = (uint8_t)I2C_read_data(&p_obj->i2c); - } - } - if (p_obj->rx_buff.pos < p_obj->rx_buff.length) - { - I2C_set_ack(&p_obj->i2c, ((p_obj->rx_buff.pos < (p_obj->rx_buff.length - 1)? 0: 1))); - I2C_write_data(&p_obj->i2c, 0); - } - else - { - if (p_obj->info.asynch.stop) - { - I2C_stop_condition(&p_obj->i2c); - } - p_obj->info.asynch.event = I2C_EVENT_TRANSFER_COMPLETE; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - } - if (p_obj->info.asynch.state == I2C_TRANSFER_STATE_IDLE) - { - reset_asynch(p_obj); - } -} - -/*--------------------------------------------------*/ -/** - * @brief I2C Transfer handler - * @param p_obj :i2c object. - * @retval - - * @note Called by i2c_slave_irq_handler_asynch_t. - */ -/*--------------------------------------------------*/ -static void i2c_slave_irq_handler(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - I2C_clear_int_status(&p_obj->i2c); - - if ((I2C_master(&p_obj->i2c)) || (p_obj->info.asynch.state != I2C_TRANSFER_STATE_BUSY)) - { - p_obj->info.asynch.event = I2C_EVENT_ERROR; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - else - { - int32_t start = I2C_slave_detected(&p_obj->i2c); - if (start) - { - uint8_t sa = (uint8_t)I2C_read_data(&p_obj->i2c); - } - if (I2C_transmitter(&p_obj->i2c)) - { - if (!I2C_get_ack(&p_obj->i2c)) - { - if (p_obj->tx_buff.pos < p_obj->tx_buff.length) - { - I2C_write_data(&p_obj->i2c, (uint32_t)p_obj->tx_buff.p_buffer[p_obj->tx_buff.pos++]); - } - else - { /* dummy, wait nack */ - I2C_write_data(&p_obj->i2c, 0); - } - } - else - { - /* error event not be set */ - p_obj->info.asynch.event = I2C_EVENT_TRANSFER_COMPLETE; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - else - { - if (p_obj->rx_buff.pos < p_obj->rx_buff.length) - { - if (!start) - { - p_obj->rx_buff.p_buffer[p_obj->rx_buff.pos++] = (uint8_t)I2C_read_data(&p_obj->i2c); - } - } - if (p_obj->rx_buff.pos < p_obj->rx_buff.length) - { - I2C_set_ack(&p_obj->i2c, ((p_obj->rx_buff.pos < (p_obj->rx_buff.length - 1)? 0: 1))); - I2C_write_data(&p_obj->i2c, 0); - } - else - { - p_obj->info.asynch.event = I2C_EVENT_TRANSFER_COMPLETE; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - } - } - } - if (p_obj->info.asynch.state == I2C_TRANSFER_STATE_IDLE) - { - reset_asynch(p_obj); - I2C_slave_init(&p_obj->i2c); - } -} - -/*--------------------------------------------------*/ -/** - * @brief Enable I2C IRQ - * @param p_obj :i2c object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void i2c_enable_irq(_i2c_t *p_obj) -{ - enable_irq(p_obj->info.irqn); -} - -/*--------------------------------------------------*/ -/** - * @brief Disable I2C IRQ - * @param p_obj :i2c object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void i2c_disable_irq(_i2c_t *p_obj) -{ - disable_irq(p_obj->info.irqn); -} - -/** - * @} - */ /* End of group UTILITIES_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UTILITIES_Exported_functions - * @{ - */ - -/*--------------------------------------------------*/ -/** - * @brief Initialize the I2C Driver - * @param p_obj :i2c object. - * @param sda :SDA port. - * @param scl :SCL port. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_init_t(_i2c_t *p_obj, i2c_port_t sda, i2c_port_t scl) -{ - TXZ_Result result = TXZ_ERROR; - uint32_t instance = 0; - uint32_t irqn = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - /* ch0 */ - if ((sda == I2C_PORT_PG2) && (scl == I2C_PORT_PG3)) - { - set_port_ch0(sda, scl); - instance = set_i2c(I2C_CH0, &irqn); - } - /* ch1 */ - if ((sda == I2C_PORT_PF2) && (scl == I2C_PORT_PF3)) - { - set_port_ch1(sda, scl); - instance = set_i2c(I2C_CH1, &irqn); - } - /* ch2 */ - if ((sda == I2C_PORT_PG4) && (scl == I2C_PORT_PG5)) - { - set_port_ch2(sda, scl); - instance = set_i2c(I2C_CH2, &irqn); - } - /* ch3 */ - if ((sda == I2C_PORT_PJ6) && (scl == I2C_PORT_PJ7)) - { - set_port_ch3(sda, scl); - instance = set_i2c(I2C_CH3, &irqn); - } - /* ch4 */ - if ((sda == I2C_PORT_PJ2) && (scl == I2C_PORT_PJ3)) - { - set_port_ch4(sda, scl); - instance = set_i2c(I2C_CH3, &irqn); - } - - if ((instance != 0) && (irqn != 0)) - { - disable_irq(irqn); - clear_irq(irqn); - - /* Set irqn table */ - p_obj->info.irqn = irqn; - - /* Set instance */ - p_obj->i2c.p_instance = (TSB_I2C_TypeDef *)instance; - - /* I2C Reset */ - i2c_reset_t(p_obj); - - /* Set Frequency Default at 100KHz */ - if (i2c_frequency_t(p_obj, 100000) == TXZ_SUCCESS) - { - result = TXZ_SUCCESS; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Reset I2C peripheral - * @param p_obj :i2c object. - * @retval - - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void i2c_reset_t(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - /* Software reset */ - I2C_reset(&p_obj->i2c); -} - -/*--------------------------------------------------*/ -/** - * @brief Configure the I2C frequency - * @param p_obj :i2c object. - * @param hz :frequency in Hz. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_frequency_t(_i2c_t *p_obj, int32_t hz) -{ - TXZ_Result result = TXZ_ERROR; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - if (I2C_port_high(&p_obj->i2c)) - { - uint32_t fval; - - SystemCoreClockUpdate(); - - fval = I2C_get_clock_setting(&p_obj->i2c, (uint32_t)hz, SystemCoreClock, &p_obj->i2c.init.clock); - if (fval != 0) - { - //I2C_init(&p_obj->i2c); - p_obj->info.bus_free = 0; - p_obj->info.start = 0; - p_obj->info.asynch.address = 0; - p_obj->info.asynch.stop = 0; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - p_obj->info.asynch.event = 0; - p_obj->tx_buff.p_buffer = I2C_NULL; - p_obj->tx_buff.length = 0; - p_obj->tx_buff.pos = 0; - p_obj->rx_buff.p_buffer = I2C_NULL; - p_obj->rx_buff.length = 0; - p_obj->rx_buff.pos = 0; - result = TXZ_SUCCESS; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check bus free on the I2C bus. - * @param p_obj :i2c object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_check_bus_free_t(_i2c_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - p_obj->info.bus_free = 1; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Creates a start condition on the I2C bus. - * @param p_obj :i2c object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure.(now, not use) - * @note Start condition is not generate yet, after this function returned. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_start_t(_i2c_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - p_obj->info.start = 1; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Creates a stop condition on the I2C bus. - * @param p_obj :i2c object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Master and blocking function. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_stop_t(_i2c_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - int32_t timeout; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - I2C_stop_condition(&p_obj->i2c); - p_obj->info.bus_free = 0; - p_obj->info.start = 0; - - timeout = I2C_TIMEOUT; - while (i2c_active_t(p_obj)) - { - if ((timeout--) == 0) - { - result = TXZ_ERROR; - break; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Blocking reading data - * @param p_obj :i2c object. - * @param address :Slave address(7-bit) and last bit is 0. - * @param p_data :Address of Read data. - * @param length :Number of the bytes to read. - * @param stop :Stop to be generated after the transfer is done. - * @retval Number of read bytes. - * @note Master and blocking function. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_read_t(_i2c_t *p_obj, int32_t address, uint8_t *p_data, int32_t length, int32_t stop) -{ - int32_t result = 0; - int32_t count = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_data)); - assert_param(check_param_address(address)); -#endif /* #ifdef DEBUG */ - - if (length > 0) - { - /* Start Condition */ - if (i2c_start_t(p_obj) == TXZ_SUCCESS) - { - /* no processing */ - } - result = i2c_byte_write_t(p_obj, (int32_t)((uint32_t)address | 1U)); - if (result == I2C_ACK) - { - /* Read all bytes */ - while (count < length) - { - int32_t data = i2c_byte_read_t(p_obj, ((count < (length - 1))? 0: 1)); - if (data < 0) - { - result = data; - break; - } - p_data[count++] = (uint8_t)data; - } - result = count; - } - else if (result == I2C_ERROR_ARBITRATION) - { - } - else if (result == (-2)) //I2C_ERROR_BUS_BUSY - { - } - else - { - stop = 1; - result = (-1) ;//I2C_ERROR_NO_SLAVE; - } - /* Stop Condition */ - if (stop) - { - if (i2c_stop_t(p_obj) == TXZ_SUCCESS) - { - /* no processing */ - } - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Blocking sending data - * @param p_obj :i2c object. - * @param address :Slave address(7-bit) and last bit is 0. - * @param p_data :Destination address of Write data. - * @param length :Number of the bytes to write. - * @param stop :Stop to be generated after the transfer is done. - * @retval Number of write bytes. - * @note Master and blocking function. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_write_t(_i2c_t *p_obj, int32_t address, uint8_t *p_data, int32_t length, int32_t stop) -{ - int32_t result = 0; - int32_t count = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_data)); - assert_param(check_param_address(address)); -#endif /* #ifdef DEBUG */ - - /* Start Condition */ - if (i2c_start_t(p_obj) == TXZ_SUCCESS) - { - /* no processing */ - } - result = i2c_byte_write_t(p_obj, address); - if (result == I2C_ACK) - { - /* Write all bytes */ - while (count < length) - { - int32_t data = i2c_byte_write_t(p_obj, (int32_t)p_data[count++]); - if (data < I2C_ACK) - { - result = data; - break; - } - } - if(result >=0){ - result = count; - } - } - else if (result == I2C_ERROR_ARBITRATION) - { - } - else if (result == (-2)) //I2C_ERROR_BUS_BUSY - { - } - else - { - stop = 1; - result = (-1); //I2C_ERROR_NO_SLAVE; - } - /* Stop Condition */ - if (stop) - { - if (i2c_stop_t(p_obj) == TXZ_SUCCESS) - { - /* no processing */ - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Read one byte - * @param p_obj :i2c object. - * @param last :last acknowledge. - * @retval The read byte (but -1 is timout error). - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_byte_read_t(_i2c_t *p_obj, int32_t last) -{ - int32_t result; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - I2C_clear_int_status(&p_obj->i2c); - I2C_set_ack(&p_obj->i2c, last); - I2C_write_data(&p_obj->i2c, 0); - result = wait_status(p_obj); - if (result < 0) - { - // result = -1; - } - else - { - result = (int32_t)I2C_read_data(&p_obj->i2c); - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Write one byte - * @param p_obj :i2c object. - * @param data :Write data. - * @retval 0 :NACK was received. - * @retval 1 :ACK was received. - * @retval -1 :Timout error. - * @note Macro definition of return values is @ref I2C_ACK. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_byte_write_t(_i2c_t *p_obj, int32_t data) -{ - int32_t result; - int32_t timeout; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - I2C_clear_int_status(&p_obj->i2c); - if (p_obj->info.start == 1) - { - p_obj->info.start = 0; - if (p_obj->info.bus_free == 1) - { - timeout = I2C_TIMEOUT; - while (i2c_active_t(p_obj)) - { - if ((timeout--) == 0) - { - p_obj->info.bus_free = 0; - return (-1); - } - } - } - /* Start Condition */ - I2C_start_condition(&p_obj->i2c, (uint32_t)data); - if ((p_obj->info.bus_free == 1) && (!I2C_master(&p_obj->i2c))) - { - p_obj->i2c.p_instance->CR2 = (I2CxCR2_INIT | I2CxCR2_PIN_CLEAR); - p_obj->info.bus_free = 0; - if (I2C_status_arbitration(&p_obj->i2c)) - { - return (-5); - } - return (-2); - } - } - else - { - I2C_write_data(&p_obj->i2c, (uint32_t)data); - } - p_obj->info.bus_free = 0; - result = wait_status(p_obj); - if (result < 0) - { - return (result); - } - if (!I2C_get_ack(&p_obj->i2c)) - { - result = 1; - } - else - { - result = 0; - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Attempts to determine if the I2C bus is already in use - * @param p_obj :i2c object. - * @retval 0 :Non-active. - * @retval 1 :Active. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -uint8_t i2c_active_t(_i2c_t *p_obj) -{ - uint8_t result; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - if (I2C_status_busy(&p_obj->i2c)) - { - result = 1; - } - else - { - result = 0; - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Start I2C asynchronous transfer - * @param p_obj :i2c object. - * @param p_tx :Buffer of write data. - * @param tx_length :Length of write data. - * @param p_rx :Buffer of read data. - * @param rx_length :Length of read data. - * @param address :Slave address(7-bit) and last bit is 0. - * @param stop :Stop to be generated after the transfer is done. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Master and non-blocking function. - * @note Events of this function will be notified on i2c_irq_handler_asynch_t. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_transfer_asynch_t(_i2c_t *p_obj, uint8_t *p_tx, int32_t tx_length, uint8_t *p_rx, int32_t rx_length, int32_t address, int32_t stop) -{ - TXZ_Result result = TXZ_ERROR; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(check_param_address(address)); -#endif /* #ifdef DEBUG */ - - if (p_obj->info.asynch.state == I2C_TRANSFER_STATE_IDLE) - { - if (((p_tx != I2C_NULL) && (tx_length > 0)) || ((p_rx != I2C_NULL) && (rx_length > 0))) - { - reset_asynch(p_obj); - I2C_clear_int_status(&p_obj->i2c); - clear_irq(p_obj->info.irqn); - p_obj->info.asynch.address = (uint32_t)address; - p_obj->info.asynch.event = 0; - p_obj->info.asynch.stop = (uint32_t)stop; - p_obj->tx_buff.p_buffer = p_tx; - p_obj->tx_buff.length = (uint32_t)tx_length; - p_obj->tx_buff.pos = 0; - p_obj->rx_buff.p_buffer = p_rx; - p_obj->rx_buff.length = (uint32_t)rx_length; - p_obj->rx_buff.pos = 0; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_BUSY; - I2C_enable_interrupt(&p_obj->i2c); - if ((tx_length == 0) && (rx_length != 0)) - { - I2C_start_condition(&p_obj->i2c, (uint32_t)((uint32_t)address | 1U)); - } - else - { - I2C_start_condition(&p_obj->i2c, (uint32_t)address); - } - p_obj->info.bus_free = 0; - p_obj->info.start = 0; - enable_irq(p_obj->info.irqn); - result = TXZ_SUCCESS; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief The asynchronous IRQ handler - * @param p_obj :i2c object. - * @retval zero :Transfer in progress. - * @retval non-zero :Event information. - * @note Macro definition of return values is @ref I2C_Events. - * @attention This function should be implement as INTI2Cx_IRQHandler. - */ -/*--------------------------------------------------*/ -uint32_t i2c_irq_handler_asynch_t(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - i2c_irq_handler(p_obj); - - return (p_obj->info.asynch.event & I2C_EVENT_ALL); -} - -/*--------------------------------------------------*/ -/** - * @brief Abort asynchronous transfer - * @param p_obj :i2c object. - * @retval - - * @note After error event occurred on i2c_irq_handler_asynch_t, - * @note call this function and clear error status. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void i2c_abort_asynch_t(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - reset_asynch(p_obj); - if (i2c_stop_t(p_obj) == TXZ_SUCCESS) - { - /* no processing */ - } - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - i2c_reset_t(p_obj); - I2C_init(&p_obj->i2c); - clear_irq(p_obj->info.irqn); -} - -/*--------------------------------------------------*/ -/** - * @brief Configure I2C as slave or master. - * @param p_obj :i2c object. - * @param enable_slave :Enable slave mode. - * @retval - - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void i2c_slave_mode_t(_i2c_t *p_obj, int32_t enable_slave) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - disable_irq(p_obj->info.irqn); - - if (enable_slave) - { - I2C_slave_init(&p_obj->i2c); - } - else - { - /* Slave Disable Settings. */ - i2c_reset_t(p_obj); - I2C_init(&p_obj->i2c); - } - p_obj->info.bus_free = 0; - p_obj->info.start = 0; - I2C_clear_int_status(&p_obj->i2c); -} - -/*--------------------------------------------------*/ -/** - * @brief Check to see if the I2C slave has been addressed. - * @param p_obj :i2c object. - * @retval I2C_NO_DATA :The slave has not been addressed. - * @retval I2C_READ_ADDRESSED :Read addresses. - * @retval I2C_WRITE_GENERAL :Write to all slaves(now, not support). - * @retval I2C_WRITE_ADDRESSED :Write addressed. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_slave_receive_t(_i2c_t *p_obj) -{ - int32_t result = I2C_NO_DATA; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - if (I2C_slave_detected(&p_obj->i2c)) - { - uint32_t sa = I2C_read_data(&p_obj->i2c); - - if (!I2C_transmitter(&p_obj->i2c)) - { - result = I2C_WRITE_ADDRESSED; - } - else - { - result = I2C_READ_ADDRESSED; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Blocking reading data. - * @param p_obj :i2c object. - * @param p_data :Destination address of read data. - * @param length :Number of bytes to read. - * @retval Number of read bytes. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_slave_read_t(_i2c_t *p_obj, uint8_t *p_data, int32_t length) -{ - int32_t count = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_data)); -#endif /* #ifdef DEBUG */ - - /* Read all bytes */ - while (count < length) - { - I2C_clear_int_status(&p_obj->i2c); - I2C_set_ack(&p_obj->i2c, ((count < (length - 1))? 0: 1)); - I2C_write_data(&p_obj->i2c, 0); - if (wait_status(p_obj) < 0) - { - break; - } - if (I2C_slave_detected(&p_obj->i2c)) - { - return (count); - } - p_data[count++] = (uint8_t)I2C_read_data(&p_obj->i2c); - } - I2C_slave_init(&p_obj->i2c); - return (count); -} - -/*--------------------------------------------------*/ -/** - * @brief Blocking sending data. - * @param p_obj :i2c object. - * @param p_data :Source address of write data. - * @param length :Number of bytes to write. - * @retval Number of written bytes. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -int32_t i2c_slave_write_t(_i2c_t *p_obj, uint8_t *p_data, int32_t length) -{ - int32_t count = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_data)); -#endif /* #ifdef DEBUG */ - - /* Write all bytes */ - while (count < length) - { - I2C_clear_int_status(&p_obj->i2c); - I2C_write_data(&p_obj->i2c, (uint32_t)p_data[count++]); - if (wait_status(p_obj) < 0) - { - break; - } - if (!I2C_get_ack(&p_obj->i2c)) - { - /* continue */ - } - else - { - break; - } - } - I2C_slave_init(&p_obj->i2c); - return (count); -} - -/*--------------------------------------------------*/ -/** - * @brief Configure I2C slave address. - * @param p_obj :i2c object. - * @param address :Address to be set. - * @retval - - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void i2c_slave_address_t(_i2c_t *p_obj, uint32_t address) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(check_param_address((int32_t)address)); -#endif /* #ifdef DEBUG */ - - I2C_set_address(&p_obj->i2c, address); -} - - -/*--------------------------------------------------*/ -/** - * @brief Start I2C asynchronous transfer - * @param p_obj :i2c object. - * @param p_tx :Buffer of write data. - * @param tx_length :Length of write data. - * @param p_rx :Buffer of read data. - * @param rx_length :Length of read data. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Slave and non-blocking function. - * @note Events of this function will be notified on i2c_slave_irq_handler_asynch_t. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result i2c_slave_transfer_asynch_t(_i2c_t *p_obj, uint8_t *p_tx, int32_t tx_length, uint8_t *p_rx, int32_t rx_length) -{ - TXZ_Result result = TXZ_ERROR; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - if (p_obj->info.asynch.state == I2C_TRANSFER_STATE_IDLE) - { - if (((p_tx != I2C_NULL) && (tx_length > 0)) || ((p_rx != I2C_NULL) && (rx_length > 0))) - { - reset_asynch(p_obj); - I2C_clear_int_status(&p_obj->i2c); - clear_irq(p_obj->info.irqn); - p_obj->info.asynch.address = 0; - p_obj->info.asynch.event = 0; - p_obj->info.asynch.stop = 0; - p_obj->tx_buff.p_buffer = p_tx; - p_obj->tx_buff.length = (uint32_t)tx_length; - p_obj->tx_buff.pos = 0; - p_obj->rx_buff.p_buffer = p_rx; - p_obj->rx_buff.length = (uint32_t)rx_length; - p_obj->rx_buff.pos = 0; - p_obj->info.asynch.state = I2C_TRANSFER_STATE_BUSY; - I2C_enable_interrupt(&p_obj->i2c); - enable_irq(p_obj->info.irqn); - result = TXZ_SUCCESS; - } - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief The asynchronous IRQ handler - * @param p_obj :i2c object. - * @retval zero :Transfer in progress. - * @retval non-zero :Event information. - * @note Macro definition of return values is @ref I2C_Events. - * @attention This function should be implement as INTI2Cx_IRQHandler. - */ -/*--------------------------------------------------*/ -uint32_t i2c_slave_irq_handler_asynch_t(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - i2c_slave_irq_handler(p_obj); - - return (p_obj->info.asynch.event & I2C_EVENT_ALL); -} - -/*--------------------------------------------------*/ -/** - * @brief Abort asynchronous transfer - * @param p_obj :i2c object. - * @retval - - * @note For a non-blocking function. - * @note After error event occurred on i2c_slave_irq_handler_asynch_t, - * @note call this function and clear error status. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void i2c_slave_abort_asynch_t(_i2c_t *p_obj) -{ - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif /* #ifdef DEBUG */ - - reset_asynch(p_obj); - p_obj->info.asynch.state = I2C_TRANSFER_STATE_IDLE; - I2C_slave_init(&p_obj->i2c); - I2C_clear_int_status(&p_obj->i2c); - clear_irq(p_obj->info.irqn); -} - -/** - * @} - */ /* End of group UTILITIES_Exported_functions */ - -/** - * @} - */ /* End of group UTILITIES */ - -/** - * @} - */ /* End of group Example */ - -#endif /* defined(__BSP_I2C_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_t32a.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_t32a.c deleted file mode 100644 index fd4c7507cb0..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_t32a.c +++ /dev/null @@ -1,2034 +0,0 @@ - /** - ******************************************************************************* - * @file txz_t32a.c - * @brief This file provides API functions for T32A driver. - * @version V1.0.0.7 - * $Date:: 2018-03-30 13:56:50 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_t32a.h" - -#if defined(__T32A_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup T32A - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Private_define T32A Private Define - * @{ - */ -/** - * @name Parameter Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of name Parameter Result */ -/** - * @} - */ /* End of group T32A_Private_typedef */ -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Private_define T32A Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group T32A_Private_define */ -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Private_typedef T32A Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group T32A_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Member */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup T32A_Private_member T32A Private Member - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group T32A_Private_member */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup T32A_Private_fuctions TSPI Private Fuctions - * @{ - */ -#ifdef DEBUG - __INLINE static int32_t check_param_mode_halt(uint32_t param); - __INLINE static int32_t check_param_mode_mode32(uint32_t param); - __INLINE static int32_t check_param_runx_sftstpx(uint32_t param); - __INLINE static int32_t check_param_runx_sftstax(uint32_t param); - __INLINE static int32_t check_param_runx_runx(uint32_t param); - __INLINE static int32_t check_param_crx_prsclx(uint32_t param); - __INLINE static int32_t check_param_crx_clkx(uint32_t param); - __INLINE static int32_t check_param_crx_wbfx(uint32_t param); - __INLINE static int32_t check_param_crx_updnx(uint32_t param); - __INLINE static int32_t check_param_crx_reldx(uint32_t param); - __INLINE static int32_t check_param_crx_stopx(uint32_t param); - __INLINE static int32_t check_param_crx_startx(uint32_t param); - __INLINE static int32_t check_param_outcrx0_ocrx(uint32_t param); - __INLINE static int32_t check_param_outcrx1_ocrcapx1(uint32_t param); - __INLINE static int32_t check_param_outcrx1_ocrcapx0(uint32_t param); - __INLINE static int32_t check_param_outcrx1_ocrcmpx1(uint32_t param); - __INLINE static int32_t check_param_outcrx1_ocrcmpx0(uint32_t param); - __INLINE static int32_t check_param_capcrx_capmx1(uint32_t param); - __INLINE static int32_t check_param_capcrx_capmx0(uint32_t param); - __INLINE static int32_t check_param_rgx0_rgx0(uint32_t param); - __INLINE static int32_t check_param_rgx1_rgx1(uint32_t param); - __INLINE static int32_t check_param_reldx_reld(uint32_t param); - __INLINE static int32_t check_param_imx_imsterr(uint32_t param); - __INLINE static int32_t check_param_imx_imufx(uint32_t param); - __INLINE static int32_t check_param_imx_imofx(uint32_t param); - __INLINE static int32_t check_param_imx_imx1(uint32_t param); - __INLINE static int32_t check_param_imx_imx0(uint32_t param); - __INLINE static int32_t check_param_dma_req_dmaenx2(uint32_t param); - __INLINE static int32_t check_param_dma_req_dmaenx1(uint32_t param); - __INLINE static int32_t check_param_dma_req_dmaenx0(uint32_t param); - __INLINE static int32_t check_param_pls_cr_pdn(uint32_t param); - __INLINE static int32_t check_param_pls_cr_pup(uint32_t param); - __INLINE static int32_t check_param_pls_cr_nf(uint32_t param); - __INLINE static int32_t check_param_pls_cr_pdir(uint32_t param); - __INLINE static int32_t check_param_pls_cr_pmode(uint32_t param); -#endif - -#ifdef DEBUG -/*--------------------------------------------------*/ -/** - * @brief Check the Mode HALT's parameter. - * @param param :Mode HALT's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_HALT - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_mode_halt(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_DBG_HALT_RUN: - case T32A_DBG_HALT_STOP: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Mode mode32's parameter. - * @param param :Mode mode32's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_MODE32 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_mode_mode32(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_MODE_16: - case T32A_MODE_32: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the SW Counter STOP Control's parameter. - * @param param :SW Counter STOP Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_SFTSTPx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_runx_sftstpx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_COUNT_DONT_STOP: - case T32A_COUNT_STOP: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the SW START Control's parameter. - * @param param :SW START Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_SFTSTAx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_runx_sftstax(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_COUNT_DONT_START: - case T32A_COUNT_START: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A RUN Disable/Enable Control's parameter. - * @param param :T32A RUN Disable/Enable Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PRSCLx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_runx_runx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_RUN_DISABLE: - case T32A_RUN_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A PRESCALER Control's parameter. - * @param param :T32A PRESCALER Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PRSCLx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_prsclx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_PRSCLx_1: - case T32A_PRSCLx_2: - case T32A_PRSCLx_8: - case T32A_PRSCLx_32: - case T32A_PRSCLx_128: - case T32A_PRSCLx_256: - case T32A_PRSCLx_512: - case T32A_PRSCLx_1024: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A PRESCALER Control's parameter. - * @param param :T32A PRESCALER Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_CLKx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_clkx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_CLKx_PRSCLx: - case T32A_CLKx_INTRG: - case T32A_CLKx_TIM_RISING_EDGE: - case T32A_CLKx_TIM_TRAILING_EDGE: - case T32A_CLKx_EXTTRG_RISING_EDGE: - case T32A_CLKx_EXTTRG_TRAILING_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Double Buffer Disable/Enable Control's parameter. - * @param param :Double Buffer Disable/Enable Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_WBFx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_wbfx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_WBF_DISABLE: - case T32A_WBF_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Counter Up/Down Control's parameter. - * @param param :T32A Counter Up/Down Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_UPDNx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_updnx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_COUNT_UP: - case T32A_COUNT_DOWN: - case T32A_COUNT_UPDOWN: - case T32A_COUNT_PLS: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Counter Reload Control's parameter. - * @param param :T32A Counter Reload Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_RELDx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_reldx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_RELOAD_NON: - case T32A_RELOAD_INTRG: - case T32A_RELOAD_EXTTRG_RISING_EDGE: - case T32A_RELOAD_EXTTRG_TRAILING_EDGE: - case T32A_RELOAD_TIM_RISING_EDGE: - case T32A_RELOAD_TIM_TRAILING_EDGE: - case T32A_RELOAD_SYNC: - case T32A_RELOAD_TREGx: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Counter Stop Control's parameter. - * @param param :T32A Counter Stop Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_STOPx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_stopx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_STOP_NON: - case T32A_STOP_INTRG: - case T32A_STOP_EXTTRG_RISING_EDGE: - case T32A_STOP_EXTTRG_TRAILING_EDGE: - case T32A_STOP_TIM_RISING_EDGE: - case T32A_STOP_TIM_TRAILING_EDGE: - case T32A_STOP_SYNC: - case T32A_STOP_TREGx: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Counter Start Control's parameter. - * @param param :T32A Counter Start Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_STARTx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_crx_startx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_START_NON: - case T32A_START_INTRG: - case T32A_START_EXTTRG_RISING_EDGE: - case T32A_START_EXTTRG_TRAILING_EDGE: - case T32A_START_TIM_RISING_EDGE: - case T32A_START_TIM_TRAILING_EDGE: - case T32A_START_SYNC: - result = PARAM_OK; - break; - case T32A_START_Rsvd: - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32AxOUTA Control's parameter. - * @param param :T32AxOUTA Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_OCRx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_outcrx0_ocrx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_OCR_DISABLE: - case T32A_OCR_SET: - case T32A_OCR_CLR: - case T32A_OCR_INVERSION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32AxOUTA Control of T32AxCAPx1 T32AxRGx1's parameter. - * @param param :T32AxOUTA Control of T32AxCAPx1 T32AxRGx1's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_OCRCAPx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_outcrx1_ocrcapx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_OCRCAPx1_DISABLE: - case T32A_OCRCAPx1_SET: - case T32A_OCRCAPx1_CLR: - case T32A_OCRCAPx1_INVERSION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32AxOUTA Control of T32AxCAPx0 T32AxRGx0's parameter. - * @param param :T32AxOUTA Control of T32AxCAPx0 T32AxRGx0's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_OCRCAPx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_outcrx1_ocrcapx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_OCRCAPx0_DISABLE: - case T32A_OCRCAPx0_SET: - case T32A_OCRCAPx0_CLR: - case T32A_OCRCAPx0_INVERSION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32AxOUTA Control of T32AxRGx1 Counter Value's parameter. - * @param param :T32AxOUTA Control of T32AxRGx1 Counter Value's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_OCRCMPx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_outcrx1_ocrcmpx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_OCRCMPx1_DISABLE: - case T32A_OCRCMPx1_SET: - case T32A_OCRCMPx1_CLR: - case T32A_OCRCMPx1_INVERSION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32AxOUTA Control of T32AxRGx1 Counter Value's parameter. - * @param param :T32AxOUTA Control of T32AxRGx1 Counter Value's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_OCRCMPx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_outcrx1_ocrcmpx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_OCRCMPx0_DISABLE: - case T32A_OCRCMPx0_SET: - case T32A_OCRCMPx0_CLR: - case T32A_OCRCMPx0_INVERSION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Capture Control Register A1's parameter. - * @param param :T32A Capture Control Register A1's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_CAPMx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_capcrx_capmx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_CAPMx1_DISABLE: - case T32A_CAPMx1_INTRG: - case T32A_CAPMx1_INx0_RISING_EDGE: - case T32A_CAPMx1_INx0_TRAILING_EDGE: - case T32A_CAPMx1_INx1_RISING_EDGE: - case T32A_CAPMx1_INx1_TRAILING_EDGE: - case T32A_CAPMx1_TIM_RISING_EDGE: - case T32A_CAPMx1_TIM_TRAILING_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Capture Control Register A0's parameter. - * @param param :T32A Capture Control Register A0's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_CAPMx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_capcrx_capmx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_CAPMx0_DISABLE: - case T32A_CAPMx0_INTRG: - case T32A_CAPMx0_INx0_RISING_EDGE: - case T32A_CAPMx0_INx0_TRAILING_EDGE: - case T32A_CAPMx0_INx1_RISING_EDGE: - case T32A_CAPMx0_INx1_TRAILING_EDGE: - case T32A_CAPMx0_TIM_RISING_EDGE: - case T32A_CAPMx0_TIM_TRAILING_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Timer Register A0's parameter. - * @param param :T32A Timer Register A0's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_RGx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rgx0_rgx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - if (param <= T32A_RGx0_MASK){ - result = PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Timer Register A1's parameter. - * @param param :T32A Timer Register A1's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_RGx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rgx1_rgx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - if (param <= T32A_RGx1_MASK){ - result = PARAM_OK; - } - - return (result); -} - - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Counter Reload Register A's parameter. - * @param param :T32A Counter Reload Register A's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_RELD - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_reldx_reld(uint32_t param) -{ - int32_t result = PARAM_NG; - - if (param <= T32A_RELDx_MASK){ - result = PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Statuserr Interrupt Request MASK's parameter. - * @param param :T32A Statuserr Interrupt Request MASK's parameter. - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_IMSTEER - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_imx_imsterr(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_IMSTERR_MASK_NOREQ: - case T32A_IMSTERR_MASK_REQ: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Overflow Interrupt Request MASK's parameter. - * @param param :T32A Overflow Interrupt Request MASK's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_IMUFx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_imx_imufx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_IMOFx_MASK_NOREQ: - case T32A_IMOFx_MASK_REQ: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Overflow Interrupt Request MASK's parameter. - * @param param :T32A Overflow Interrupt Request MASK's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_IMOFx - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_imx_imofx(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_IMOFx_MASK_NOREQ: - case T32A_IMOFx_MASK_REQ: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Match Up T32AxRGx1 Interrupt Request MASK's parameter. - * @param param :T32A Match Up T32AxRGx1 Interrupt Request MASK's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_IMx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_imx_imx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_IMx1_MASK_NOREQ: - case T32A_IMx1_MASK_REQ: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Match Up T32AxRGx0 Interrupt Request MASK's parameter. - * @param param :T32A Match Up T32AxRGx0 Interrupt Request MASK's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_IMx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_imx_imx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_IMx0_MASK_NOREQ: - case T32A_IMx0_MASK_REQ: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A DMA Converter1 Request control's parameter. - * @param param :T32A DMA Converter1 Request control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_DMAENx2 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_dma_req_dmaenx2(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_DMAENx2_DISABLE: - case T32A_DMAENx2_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A DMA InputCapture1 Request control's parameter. - * @param param :T32A DMA InputCapture1 Request control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_DMAENx1 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_dma_req_dmaenx1(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_DMAENx1_DISABLE: - case T32A_DMAENx1_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A DMA InputCapture0 Request control's parameter. - * @param param :T32A DMA InputCapture0 Request control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_DMAENx0 - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_dma_req_dmaenx0(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_DMAENx0_DISABLE: - case T32A_DMAENx0_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Pulse Mode Count Down Control's parameter. - * @param param :T32A Pulse Mode Count Down Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PDN - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_pls_cr_pdn(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_PDN_NON0: - case T32A_PDN_NON1: - case T32A_PDN_INC0_RISING_EDGE: - case T32A_PDN_INC0_TRAILING_EDGE: - case T32A_PDN_INC1_RISING_EDGE: - case T32A_PDN_INC1_TRAILING_EDGE: - case T32A_PDN_INC0_BOTH_EDGE: - case T32A_PDN_INC1_BOTH_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Pulse Mode Count UP Control's parameter. - * @param param :T32A Pulse Mode Count UP Control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PUP - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_pls_cr_pup(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_PUP_NON0: - case T32A_PUP_NON1: - case T32A_PUP_INC0_RISING_EDGE: - case T32A_PUP_INC0_TRAILING_EDGE: - case T32A_PUP_INC1_RISING_EDGE: - case T32A_PUP_INC1_TRAILING_EDGE: - case T32A_PUP_INC0_BOTH_EDGE: - case T32A_PUP_INC1_BOTH_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Noise Filter control's parameter. - * @param param :T32A Noise Filter control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_NF - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_pls_cr_nf(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_NF_NON: - case T32A_NF_2: - case T32A_NF_4: - case T32A_NF_8: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Phase 2 Pulse Direction control's parameter. - * @param param :T32A Phase 2 Pulse Direction control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PDIR - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_pls_cr_pdir(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_PDIR_FORWARD: - case T32A_PDIR_BACKWARD: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - - -/*--------------------------------------------------*/ -/** - * @brief Check the T32A Pulse Count Mode control's parameter. - * @param param :T32A Pulse Count Mode control's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref T32A_PMODE - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_pls_cr_pmode(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case T32A_PMODE_PHASE_2: - case T32A_PMODE_PHASE_1: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - - - - -#endif -/** - * @} - */ /* End of group T32A_Private_functions */ - - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup T32A_Exported_functions - - */ -/*--------------------------------------------------*/ -/** - * @brief Mode Initialize the T32A object. - * @param p_obj :T32A object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_mode_init(t32a_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - check_param_mode_halt(p_obj->init_mode.mode.halt); - check_param_mode_mode32(p_obj->init_mode.mode.mode); -#endif /* DEBUG */ - /* Timer Mode Set */ - p_obj->p_instance->MOD = 0; - p_obj->p_instance->MOD = (p_obj->init_mode.mode.halt | p_obj->init_mode.mode.mode); - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Initialize the T32A object. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_timer_init(t32a_t *p_obj,uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - /* Check the parameter of TimerA Mode Set */ - check_param_mode_halt(p_obj->init_mode.mode.halt); - check_param_mode_mode32(p_obj->init_mode.mode.mode); - /* Check the parameter of TimerA Run Control Set */ - check_param_runx_sftstpx(p_obj->init[type].runx.sftstp); - check_param_runx_sftstax(p_obj->init[type].runx.sftsta); - check_param_runx_runx(p_obj->init[type].runx.run); - /* Check the parameter of Counter Register Control Set */ - check_param_crx_prsclx(p_obj->init[type].crx.prscl); - check_param_crx_clkx(p_obj->init[type].crx.clk); - check_param_crx_wbfx(p_obj->init[type].crx.wbf); - check_param_crx_updnx(p_obj->init[type].crx.updn); - check_param_crx_reldx(p_obj->init[type].crx.reld); - check_param_crx_stopx(p_obj->init[type].crx.stop); - check_param_crx_startx(p_obj->init[type].crx.start); - /* Check the parameter of TimerA Output Control Set */ - check_param_outcrx0_ocrx(p_obj->init[type].outcrx0.ocr); - /* Check the parameter of T32AxOUTA Control Set */ - check_param_outcrx1_ocrcapx1(p_obj->init[type].outcrx1.ocrcap1); - check_param_outcrx1_ocrcapx0(p_obj->init[type].outcrx1.ocrcap0); - check_param_outcrx1_ocrcmpx1(p_obj->init[type].outcrx1.ocrcmp1); - check_param_outcrx1_ocrcmpx0(p_obj->init[type].outcrx1.ocrcmp0); - /* Check the parameter of Capture Control Set */ - check_param_capcrx_capmx1(p_obj->init[type].capcrx.capmx1); - check_param_capcrx_capmx0(p_obj->init[type].capcrx.capmx0); - /* Check the parameter of T32A Timer Register 0 Set */ - check_param_rgx0_rgx0(p_obj->init[type].rgx0.rgx0); - /* Check the parameter of T32A Timer Register 1 Set */ - check_param_rgx1_rgx1(p_obj->init[type].rgx1.rgx1); - /* Check the parameter of T32A Counter Reload Register Set */ - check_param_reldx_reld(p_obj->init[type].reldx.reld); - /* Check the parameter of Interrupt mask register Set */ - check_param_imx_imsterr(p_obj->init[type].imx.imsterr); - check_param_imx_imufx(p_obj->init[type].imx.imuf); - check_param_imx_imofx(p_obj->init[type].imx.imof); - check_param_imx_imx1(p_obj->init[type].imx.imx1); - check_param_imx_imx0(p_obj->init[type].imx.imx0); - /* Check the parameter of DMA Request register Set */ - check_param_dma_req_dmaenx2(p_obj->init[type].dma_req.dmaenx2); - check_param_dma_req_dmaenx1(p_obj->init[type].dma_req.dmaenx1); - check_param_dma_req_dmaenx0(p_obj->init[type].dma_req.dmaenx0); -#endif - - switch (type) - { - case T32A_TIMERA: - /* Timer A */ - if(p_obj->init_mode.mode.mode != T32A_MODE_16) { - result = TXZ_ERROR; - return (result); - } - /* TimerA Run Control Disable */ - p_obj->p_instance->RUNA = 0; - /* Counter Register Control Set */ - p_obj->p_instance->CRA = 0; - p_obj->p_instance->CRA = (p_obj->init[type].crx.prscl | p_obj->init[type].crx.clk | p_obj->init[type].crx.wbf | p_obj->init[type].crx.updn | \ - p_obj->init[type].crx.reld | p_obj->init[type].crx.stop |p_obj->init[type].crx.start ); - /* TimerA Output Control Set */ - p_obj->p_instance->OUTCRA0 = 0; - p_obj->p_instance->OUTCRA0 = p_obj->init[type].outcrx0.ocr; - /* T32AxOUTA Control Set */ - p_obj->p_instance->OUTCRA1 = 0; - p_obj->p_instance->OUTCRA1 = (p_obj->init[type].outcrx1.ocrcap1 | p_obj->init[type].outcrx1.ocrcap0 | p_obj->init[type].outcrx1.ocrcmp1 | \ - p_obj->init[type].outcrx1.ocrcmp0 ); - /* T32A Timer Register A0 Set */ - p_obj->p_instance->RGA0 = 0; - p_obj->p_instance->RGA0 = p_obj->init[type].rgx0.rgx0; - /* T32A Timer Register A1 Set */ - p_obj->p_instance->RGA1 = 0; - p_obj->p_instance->RGA1 = p_obj->init[type].rgx1.rgx1; - /* T32A Counter Reload Register Set */ - p_obj->p_instance->RELDA = 0; - p_obj->p_instance->RELDA = p_obj->init[type].reldx.reld; - /* TimerB Capture Control Set */ - p_obj->p_instance->CAPCRA = (p_obj->init[type].capcrx.capmx0 | p_obj->init[type].capcrx.capmx1); - /* Interrupt mask register Set */ - p_obj->p_instance->IMA = 0; - p_obj->p_instance->IMA = (p_obj->init[type].imx.imuf | p_obj->init[type].imx.imof | p_obj->init[type].imx.imx1 | \ - p_obj->init[type].imx.imx0 ); - /* DMA Request register Set */ - p_obj->p_instance->DMAA = 0; - p_obj->p_instance->DMAA = (p_obj->init[type].dma_req.dmaenx2 | p_obj->init[type].dma_req.dmaenx1 | p_obj->init[type].dma_req.dmaenx0 ); - /* TimerA Run Control Set */ - p_obj->p_instance->RUNA = (p_obj->init[type].runx.sftstp | p_obj->init[type].runx.sftsta | p_obj->init[type].runx.run); - break; - case T32A_TIMERB: - /* Timer B */ - if(p_obj->init_mode.mode.mode != T32A_MODE_16) { - result = TXZ_ERROR; - return (result); - } - /* TimerB Run Control Disable */ - p_obj->p_instance->RUNB = 0; - /* Counter Register Control Set */ - p_obj->p_instance->CRB = 0; - p_obj->p_instance->CRB = (p_obj->init[type].crx.prscl | p_obj->init[type].crx.clk | p_obj->init[type].crx.wbf | p_obj->init[type].crx.updn | \ - p_obj->init[type].crx.reld | p_obj->init[type].crx.stop |p_obj->init[type].crx.start ); - /* TimerB Output Control Set */ - p_obj->p_instance->OUTCRB0 = 0; - p_obj->p_instance->OUTCRB0 = p_obj->init[type].outcrx0.ocr; - /* T32AxOUTB Control Set */ - p_obj->p_instance->OUTCRB1 = 0; - p_obj->p_instance->OUTCRB1 = (p_obj->init[type].outcrx1.ocrcap1 | p_obj->init[type].outcrx1.ocrcap0 | p_obj->init[type].outcrx1.ocrcmp1 | \ - p_obj->init[type].outcrx1.ocrcmp0 ); - /* T32A Timer Register B0 Set */ - p_obj->p_instance->RGB0 = 0; - p_obj->p_instance->RGB0 = p_obj->init[type].rgx0.rgx0; - /* T32A Timer Register B1 Set */ - p_obj->p_instance->RGB1 = 0; - p_obj->p_instance->RGB1 = p_obj->init[type].rgx1.rgx1; - /* T32A Counter Reload Register Set */ - p_obj->p_instance->RELDB = 0; - p_obj->p_instance->RELDB = p_obj->init[type].reldx.reld; - /* TimerB Capture Control Set */ - p_obj->p_instance->CAPCRB = (p_obj->init[type].capcrx.capmx0 | p_obj->init[type].capcrx.capmx1); - /* Interrupt mask register Set */ - p_obj->p_instance->IMB = 0; - p_obj->p_instance->IMB = (p_obj->init[type].imx.imuf | p_obj->init[type].imx.imof | p_obj->init[type].imx.imx1 | \ - p_obj->init[type].imx.imx0 ); - /* DMA Request register Set */ - p_obj->p_instance->DMAB = 0; - p_obj->p_instance->DMAB = (p_obj->init[type].dma_req.dmaenx2 | p_obj->init[type].dma_req.dmaenx1 | p_obj->init[type].dma_req.dmaenx0 ); - /* TimerB Run Control Set */ - p_obj->p_instance->RUNB = (p_obj->init[type].runx.sftstp | p_obj->init[type].runx.sftsta | p_obj->init[type].runx.run); - break; - case T32A_TIMERC: - /* Timer C */ - if(p_obj->init_mode.mode.mode != T32A_MODE_32) { - result = TXZ_ERROR; - return (result); - } - /* TimerC Run Control Disable */ - p_obj->p_instance->RUNC = 0; - #ifdef DEBUG - /* Pulse Count Control register Set */ - check_param_pls_cr_pdn(p_obj->init[type].pls_cr.pdn); - check_param_pls_cr_pup(p_obj->init[type].pls_cr.pup); - check_param_pls_cr_nf(p_obj->init[type].pls_cr.nf); - check_param_pls_cr_pdir(p_obj->init[type].pls_cr.pdir); - check_param_pls_cr_pmode(p_obj->init[type].pls_cr.pmode); - #endif - /* Counter Register Control Set */ - p_obj->p_instance->CRC = 0; - p_obj->p_instance->CRC = (p_obj->init[type].crx.prscl | p_obj->init[type].crx.clk | p_obj->init[type].crx.wbf | p_obj->init[type].crx.updn | \ - p_obj->init[type].crx.reld | p_obj->init[type].crx.stop |p_obj->init[type].crx.start ); - /* TimerC Output Control Set */ - p_obj->p_instance->OUTCRC0 = 0; - p_obj->p_instance->OUTCRC0 = p_obj->init[type].outcrx0.ocr; - /* T32AxOUTC Control Set */ - p_obj->p_instance->OUTCRC1 = 0; - p_obj->p_instance->OUTCRC1 = (p_obj->init[type].outcrx1.ocrcap1 | p_obj->init[type].outcrx1.ocrcap0 | p_obj->init[type].outcrx1.ocrcmp1 | \ - p_obj->init[type].outcrx1.ocrcmp0 ); - /* T32A Timer Register C0 Set */ - p_obj->p_instance->RGC0 = 0; - p_obj->p_instance->RGC0 = p_obj->init[type].rgx0.rgx0; - /* T32A Timer Register C1 Set */ - p_obj->p_instance->RGC1 = 0; - p_obj->p_instance->RGC1 = p_obj->init[type].rgx1.rgx1; - /* T32A Counter Reload Register Set */ - p_obj->p_instance->RELDC = 0; - p_obj->p_instance->RELDC = p_obj->init[type].reldx.reld; - /* TimerC Capture Control Set */ - p_obj->p_instance->CAPCRC = (p_obj->init[type].capcrx.capmx0 | p_obj->init[type].capcrx.capmx1); - /* Interrupt mask register Set */ - p_obj->p_instance->IMC = 0; - p_obj->p_instance->IMC = (p_obj->init[type].imx.imuf | p_obj->init[type].imx.imof | p_obj->init[type].imx.imx1 | \ - p_obj->init[type].imx.imx0 ); - /* DMA Request register Set */ - p_obj->p_instance->DMAC = 0; - p_obj->p_instance->DMAC = (p_obj->init[type].dma_req.dmaenx2 | p_obj->init[type].dma_req.dmaenx1 | p_obj->init[type].dma_req.dmaenx0 ); - /* Pulse Count Control register Set */ - p_obj->p_instance->PLSCR = 0; - p_obj->p_instance->PLSCR = (p_obj->init[type].pls_cr.pdn | p_obj->init[type].pls_cr.pup | p_obj->init[type].pls_cr.nf | \ - p_obj->init[type].pls_cr.pdir | p_obj->init[type].pls_cr.pmode); - /* TimerC Run Control Set */ - p_obj->p_instance->RUNC = (p_obj->init[type].runx.sftstp | p_obj->init[type].runx.sftsta | p_obj->init[type].runx.run); - break; - default: - result = TXZ_ERROR; - return (result); - } - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Release the T32A object. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_deinit(t32a_t *p_obj, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - /* Timer A */ - /* Disable the selected T32A peripheral */ - p_obj->p_instance->RUNA = T32A_RUN_DISABLE; - break; - case T32A_TIMERB: - /* Timer B */ - /* Disable the selected T32A peripheral */ - p_obj->p_instance->RUNB = T32A_RUN_DISABLE; - break; - case T32A_TIMERC: - /* Timer C */ - /* Disable the selected T32A peripheral */ - p_obj->p_instance->RUNC = T32A_RUN_DISABLE; - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - - -/*--------------------------------------------------*/ -/** - * @brief Timer Start in interrupt mode. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_timer_startIT(t32a_t *p_obj, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - if(((p_obj->p_instance->RUNA) & T32A_RUNFLG_RUN) == 0){ - /* Timer A RUN */ - p_obj->p_instance->RUNA |= T32A_RUN_ENABLE; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - case T32A_TIMERB: - if(((p_obj->p_instance->RUNB) & T32A_RUNFLG_RUN) == 0){ - /* Timer B RUN */ - p_obj->p_instance->RUNB |= T32A_RUN_ENABLE; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - case T32A_TIMERC: - if(((p_obj->p_instance->RUNC) & T32A_RUNFLG_RUN) == 0){ - /* Timer C RUN */ - p_obj->p_instance->RUNC |= T32A_RUN_ENABLE; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Timer Stop in interrupt mode. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_timer_stopIT(t32a_t *p_obj, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - /* Timer A Stop */ - p_obj->p_instance->RUNA = T32A_RUN_DISABLE; - break; - case T32A_TIMERB: - /* Timer B Stop */ - p_obj->p_instance->RUNB = T32A_RUN_DISABLE; - break; - case T32A_TIMERC: - /* SW Counter Stop & Timer C Stop */ - p_obj->p_instance->RUNC = T32A_RUN_DISABLE; - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Timer Start in interrupt mode. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_SWcounter_start(t32a_t *p_obj, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - if(((p_obj->p_instance->RUNA) & T32A_RUNFLG_RUN) == 0){ - /* Timer A SW Counter start */ - p_obj->p_instance->RUNA |= T32A_COUNT_START; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - case T32A_TIMERB: - if(((p_obj->p_instance->RUNB) & T32A_RUNFLG_RUN) == 0){ - /* Timer SW Counter start */ - p_obj->p_instance->RUNB |= T32A_COUNT_START; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - case T32A_TIMERC: - if(((p_obj->p_instance->RUNC) & T32A_RUNFLG_RUN) == 0){ - /* Timer C SW Counter start */ - p_obj->p_instance->RUNC |= T32A_COUNT_START; - }else{ - result = TXZ_ERROR; - return (result); - } - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Timer Stop in interrupt mode. - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_SWcounter_stop(t32a_t *p_obj, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - /* TimerA SW Counter Stop */ - p_obj->p_instance->RUNA = T32A_COUNT_STOP; - break; - case T32A_TIMERB: - /* Timer B SW Counter Stop */ - p_obj->p_instance->RUNB = T32A_COUNT_STOP; - break; - case T32A_TIMERC: - /* Timer C SW Counter Stop */ - p_obj->p_instance->RUNC = T32A_COUNT_STOP; - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Timer Register Value Setting - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @param num :T32A Register Number. : Use @ref t32_regnum_t - * @param value :Setting Value. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_reg_set(t32a_t *p_obj, uint32_t type, uint32_t num, uint32_t value) -{ - TXZ_Result result = TXZ_SUCCESS; -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - switch (type) - { - case T32A_TIMERA: - /* Timer A */ - if(num == T32A_REG0) {p_obj->p_instance->RGA0 = value;} - else if(num == T32A_REG1) {p_obj->p_instance->RGA1 = value;} - else if(num == T32A_RELOAD) {p_obj->p_instance->RELDA = value;} - break; - case T32A_TIMERB: - /* Timer B */ - if(num == T32A_REG0) {p_obj->p_instance->RGB0 = value;} - else if(num == T32A_REG1) {p_obj->p_instance->RGB1 = value;} - else if(num == T32A_RELOAD) {p_obj->p_instance->RELDB = value;} - break; - case T32A_TIMERC: - /* Timer C */ - if(num == T32A_REG0) {p_obj->p_instance->RGC0 = value;} - else if(num == T32A_REG1) {p_obj->p_instance->RGC1 = value;} - else if(num == T32A_RELOAD) {p_obj->p_instance->RELDC = value;} - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Timer Register Value Read - * @param p_obj :T32A object. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @param p_val :Save area for register value. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_tmr_read(t32a_t *p_obj, uint32_t type, uint32_t *p_val) -{ - TXZ_Result result = TXZ_SUCCESS; - switch (type) - { - case T32A_TIMERA: - /* Timer A */ - *p_val = p_obj->p_instance->TMRA; - break; - case T32A_TIMERB: - /* Timer B */ - *p_val = p_obj->p_instance->TMRB; - break; - case T32A_TIMERC: - /* Timer C */ - *p_val = p_obj->p_instance->TMRC; - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Get status. - * @details Status bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-4 | - | - | - * | 3 | INTUFA | Under Flow Intterrupt. Use @ref T32A_INTOFx_FLG_MASK. | - * | 2 | INTOFA | Over Flow Intterrupt. Use @ref T32A_INTOFx_FLG_MASK. | - * | 1 | INTx1 | Match up TimerRegister x1 Intterrupt. Use @ref T32A_INTx1_FLG_MASK. | - * | 0 | INTx0 | Match up TimerRegister x0 Intterrupt. Use @ref T32A_INTx0_FLG_MASK. | - * - * @param p_obj :T32A object. - * @param p_status :Save area for status. - * @param type :T32A Timer Type. : Use @ref t32_type_t - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_get_status(t32a_t *p_obj, uint32_t *p_status, uint32_t type) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_status)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Status Read */ - /*------------------------------*/ - switch (type) - { - case T32A_TIMERA: - /* Timer A */ - *p_status = p_obj->p_instance->STA; - break; - case T32A_TIMERB: - /* Timer B */ - *p_status = p_obj->p_instance->STB; - break; - case T32A_TIMERC: - /* Timer C */ - *p_status = p_obj->p_instance->STC; - break; - default: - result = TXZ_ERROR; - return (result); - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for Timer interrupt. - * @param p_obj :T32A object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void t32a_timer_IRQHandler(t32a_t *p_obj) -{ - uint32_t status_a, status_b, status_c; - /*------------------------------*/ - /* Get Status */ - /*------------------------------*/ - (void)t32a_get_status(p_obj, &status_a, T32A_TIMERA); - (void)t32a_get_status(p_obj, &status_b, T32A_TIMERB); - (void)t32a_get_status(p_obj, &status_c, T32A_TIMERC); - - if(status_a != 0){ - /*------------------------------*/ - /* Call Handler Timer A */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERA].handler_T != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERA].handler_T(p_obj->init[T32A_TIMERA].id, status_a, TXZ_SUCCESS); - } - } - if(status_b != 0){ - /*------------------------------*/ - /* Call Handler Timer B */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERB].handler_T != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERB].handler_T(p_obj->init[T32A_TIMERB].id, status_b, TXZ_SUCCESS); - } - } - if(status_c != 0){ - /*------------------------------*/ - /* Call Handler Timer C */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERC].handler_T != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERC].handler_T(p_obj->init[T32A_TIMERC].id, status_c,TXZ_SUCCESS); - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Timer Capture0 Handler for Timer Capture0 interrupt. - * @param p_obj :T32A object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void t32a_timer_cap0_IRQHandler(t32a_t *p_obj) -{ - uint32_t status_a, status_b, status_c; - /*------------------------------*/ - /* Get Status */ - /*------------------------------*/ - (void)t32a_get_status(p_obj, &status_a, T32A_TIMERA); - (void)t32a_get_status(p_obj, &status_b, T32A_TIMERB); - (void)t32a_get_status(p_obj, &status_c, T32A_TIMERC); - - if(status_a != 0){ - /*------------------------------*/ - /* Call Handler Timer A */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERA].handler_TC0 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERA].handler_TC0(p_obj->init[T32A_TIMERA].id, status_a, TXZ_SUCCESS); - } - } - if(status_b != 0){ - /*------------------------------*/ - /* Call Handler Timer B */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERB].handler_TC0 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERB].handler_TC0(p_obj->init[T32A_TIMERB].id, status_b, TXZ_SUCCESS); - } - } - if(status_c != 0){ - /*------------------------------*/ - /* Call Handler Timer C */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERC].handler_TC0 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERC].handler_TC0(p_obj->init[T32A_TIMERC].id, status_c,TXZ_SUCCESS); - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Timer Capture1 Handler for Timer Capture1 interrupt. - * @param p_obj :T32A object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note An initial value of default is set at the - reset status value. If needed, please - rewrite and use an initial value. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -void t32a_timer_cap1_IRQHandler(t32a_t *p_obj) -{ - uint32_t status_a, status_b, status_c; - /*------------------------------*/ - /* Get Status */ - /*------------------------------*/ - (void)t32a_get_status(p_obj, &status_a, T32A_TIMERA); - (void)t32a_get_status(p_obj, &status_b, T32A_TIMERB); - (void)t32a_get_status(p_obj, &status_c, T32A_TIMERC); - - if(status_a != 0){ - /*------------------------------*/ - /* Call Handler Timer A */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERA].handler_TC1 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERA].handler_TC1(p_obj->init[T32A_TIMERA].id, status_a, TXZ_SUCCESS); - } - } - if(status_b != 0){ - /*------------------------------*/ - /* Call Handler Timer B */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERB].handler_TC1 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERB].handler_TC1(p_obj->init[T32A_TIMERB].id, status_b, TXZ_SUCCESS); - } - } - if(status_c != 0){ - /*------------------------------*/ - /* Call Handler Timer C */ - /*------------------------------*/ - if (p_obj->init[T32A_TIMERC].handler_TC1 != T32A_NULL) - { - /* Call the handler with Status Register Value & SUCCESS. */ - p_obj->init[T32A_TIMERC].handler_TC1(p_obj->init[T32A_TIMERC].id, status_c,TXZ_SUCCESS); - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief Calculate timer value to set timer register. - * @param p_value: time value store pointer. - * @param time: The require period which the uint is us. - * @param prescaler: System Clock Freq - * @param prscl: Select the division for source clock @ref T32A_PRSCLx. - * @retval the value set to Tmrb timer register. - */ -/*--------------------------------------------------*/ -TXZ_Result t32a_Calculator(uint32_t *p_value, uint32_t time, uint32_t prescaler, uint32_t prscl) -{ - TXZ_Result result = TXZ_SUCCESS; - uint64_t denominator; - uint64_t numerator; - uint32_t div; - - /* div */ - switch (prscl) - { - case T32A_PRSCLx_1: - div = 1; - break; - case T32A_PRSCLx_2: - div = 2; - break; - case T32A_PRSCLx_8: - div = 8; - break; - case T32A_PRSCLx_32: - div = 32; - break; - case T32A_PRSCLx_128: - div = 128; - break; - case T32A_PRSCLx_256: - div = 256; - break; - case T32A_PRSCLx_512: - div = 512; - break; - case T32A_PRSCLx_1024: - div = 1024; - break; - default: - div = 1; - break; - } - /*-----------------------------------------------*/ - /* "1"counter (s) = 1 / fs */ - /* "1"counter (s) = 1 / (prescaler / div) */ - /* "1"counter (us) = (10^6) / (prescaler / div) */ - /* "1"counter (us) = ((10^6) * div)/prescaler */ - /* "x"counter (us) = time */ - /*-----------------------------------------------*/ - /* x : time = 1 : ((10^6) * div)/prescaler */ - /*-----------------------------------------------*/ - /* x = time / (((10^6) * div)/prescaler) */ - /* = (prescaler * time) / ((10^6) * div) */ - /*-----------------------------------------------*/ - denominator = (uint64_t)((uint64_t)(prescaler) * (uint64_t)(time)); - numerator = (uint64_t)((uint64_t)(1000000) * (uint64_t)div); - denominator = (uint64_t)(denominator / numerator); - /* result */ - if ((denominator == (uint64_t)(0)) || (denominator > (uint64_t)(0xFFFF))) - { - result = TXZ_ERROR; - } - else - { - *p_value = (uint32_t)denominator; - } - - return (result); -} - -/** - * @} - */ /* End of group T32A_Exported_functions */ - -/** - * @} - */ /* End of group T32A */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__T32A_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_tspi.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_tspi.c deleted file mode 100644 index e8854d75105..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_tspi.c +++ /dev/null @@ -1,2830 +0,0 @@ -/** - ******************************************************************************* - * @file txz_tspi.c - * @brief This file provides API functions for TSPI driver. - * @version V1.0.0.0 - * $Date:: 2018-01-25 17:07:20 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_tspi.h" - -#if defined(__TSPI_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup TSPI - * @{ - */ - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Private_define TSPI Private Define - * @{ - */ -/** - * @name TSPI NULL Pointer - * @brief Null Pointer for TSPI - * @{ - */ -#define TSPI_NULL ((void *)0) /*!< NULL pointer. */ -/** - * @} - */ /* End of name TSPI NULL Pointer */ - -/** - * @name Parameter Result - * @brief Whether the parameter is specified or not. - * @{ - */ -#define PARAM_OK ((int32_t)1) /*!< Parameter is valid(specified). */ -#define PARAM_NG ((int32_t)0) /*!< Parameter is invalid(not specified). */ -/** - * @} - */ /* End of name Parameter Result */ - -/** - * @name FIFO Max Num. - * @brief Transfer's/Receive's FIFO Max Num. - * @{ - */ -#define TRANSFER_FIFO_MAX_NUM ((uint32_t)8) /*!< Transfer's FIFO Max Num. */ -#define RECEIVE_FIFO_MAX_NUM ((uint32_t)8) /*!< Receive's FIFO Max Num. */ -/** - * @} - */ /* End of name FIFO Max Num */ - -/** - * @name TSPIxDR_MASK Macro Definition. - * @brief TSPIxDR_MASK Macro Definition. - * @{ - */ -/* DR */ -#define TSPI_DR_8BIT_MASK ((uint32_t)0x000000FF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_9BIT_MASK ((uint32_t)0x000001FF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_10BIT_MASK ((uint32_t)0x000003FF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_11BIT_MASK ((uint32_t)0x000007FF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_12BIT_MASK ((uint32_t)0x00000FFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_13BIT_MASK ((uint32_t)0x00001FFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_14BIT_MASK ((uint32_t)0x00003FFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_15BIT_MASK ((uint32_t)0x00007FFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_16BIT_MASK ((uint32_t)0x0000FFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_17BIT_MASK ((uint32_t)0x0001FFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_18BIT_MASK ((uint32_t)0x0003FFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_19BIT_MASK ((uint32_t)0x0007FFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_20BIT_MASK ((uint32_t)0x000FFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_21BIT_MASK ((uint32_t)0x001FFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_22BIT_MASK ((uint32_t)0x003FFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_23BIT_MASK ((uint32_t)0x007FFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_24BIT_MASK ((uint32_t)0x00FFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_25BIT_MASK ((uint32_t)0x01FFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_26BIT_MASK ((uint32_t)0x03FFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_27BIT_MASK ((uint32_t)0x07FFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_28BIT_MASK ((uint32_t)0x0FFFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_29BIT_MASK ((uint32_t)0x1FFFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_30BIT_MASK ((uint32_t)0x3FFFFFFF) /*!< DR :Mask for 8bit */ -#define TSPI_DR_31BIT_MASK ((uint32_t)0x7FFFFFFF) /*!< DR :Mask for 8bit */ -/** - * @} - */ /* End of name TSPIxDR_MASK Macro Definition */ - -/** - * @name TSPI _DATA_LENGTH Macro Definition. - * @brief TSPI DATA LENGTH Macro Definition. - * @{ - */ -#define DATA_LENGTH_8 ((uint32_t)0x08) /*!< 8 bit */ -#define DATA_LENGTH_9 ((uint32_t)0x09) /*!< 9 bit */ -#define DATA_LENGTH_10 ((uint32_t)0x0a) /*!< 10 bit */ -#define DATA_LENGTH_11 ((uint32_t)0x0b) /*!< 11 bit */ -#define DATA_LENGTH_12 ((uint32_t)0x0c) /*!< 12 bit */ -#define DATA_LENGTH_13 ((uint32_t)0x0d) /*!< 13 bit */ -#define DATA_LENGTH_14 ((uint32_t)0x0e) /*!< 14 bit */ -#define DATA_LENGTH_15 ((uint32_t)0x0f) /*!< 15 bit */ -#define DATA_LENGTH_16 ((uint32_t)0x10) /*!< 16 bit */ -#define DATA_LENGTH_17 ((uint32_t)0x11) /*!< 17 bit */ -#define DATA_LENGTH_18 ((uint32_t)0x12) /*!< 18 bit */ -#define DATA_LENGTH_19 ((uint32_t)0x13) /*!< 19 bit */ -#define DATA_LENGTH_20 ((uint32_t)0x14) /*!< 20 bit */ -#define DATA_LENGTH_21 ((uint32_t)0x15) /*!< 21 bit */ -#define DATA_LENGTH_22 ((uint32_t)0x16) /*!< 22 bit */ -#define DATA_LENGTH_23 ((uint32_t)0x17) /*!< 23 bit */ -#define DATA_LENGTH_24 ((uint32_t)0x18) /*!< 24 bit */ -#define DATA_LENGTH_25 ((uint32_t)0x19) /*!< 25 bit */ -#define DATA_LENGTH_26 ((uint32_t)0x1a) /*!< 26 bit */ -#define DATA_LENGTH_27 ((uint32_t)0x1b) /*!< 27 bit */ -#define DATA_LENGTH_28 ((uint32_t)0x1c) /*!< 28 bit */ -#define DATA_LENGTH_29 ((uint32_t)0x1d) /*!< 29 bit */ -#define DATA_LENGTH_30 ((uint32_t)0x1e) /*!< 30 bit */ -#define DATA_LENGTH_31 ((uint32_t)0x1f) /*!< 31 bit */ -#define DATA_LENGTH_32 ((uint32_t)0x20) /*!< 32 bit */ -/** - * @} - */ /* End of name TSPI _DATA_LENGTH Macro Definition */ -/** - * @} - */ /* End of group TSPI_Private_typedef */ -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Private_define TSPI Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group TSPI_Private_define */ -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Private_typedef TSPI Private Typedef - * @{ - */ -/*----------------------------------*/ -/** - * @brief TSPI mask array. -*/ -/*----------------------------------*/ -static uint32_t mask[32] ={ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - TSPI_DR_8BIT_MASK, - TSPI_DR_9BIT_MASK, - TSPI_DR_10BIT_MASK, - TSPI_DR_11BIT_MASK, - TSPI_DR_12BIT_MASK, - TSPI_DR_13BIT_MASK, - TSPI_DR_14BIT_MASK, - TSPI_DR_15BIT_MASK, - TSPI_DR_16BIT_MASK, - TSPI_DR_17BIT_MASK, - TSPI_DR_18BIT_MASK, - TSPI_DR_19BIT_MASK, - TSPI_DR_20BIT_MASK, - TSPI_DR_21BIT_MASK, - TSPI_DR_22BIT_MASK, - TSPI_DR_23BIT_MASK, - TSPI_DR_24BIT_MASK, - TSPI_DR_25BIT_MASK, - TSPI_DR_26BIT_MASK, - TSPI_DR_27BIT_MASK, - TSPI_DR_28BIT_MASK, - TSPI_DR_29BIT_MASK, - TSPI_DR_30BIT_MASK, - TSPI_DR_31BIT_MASK -}; - -/** - * @} - */ /* End of group TSPI_Private_typedef */ - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup TSPI_Private_fuctions TSPI Private Fuctions - * @{ - */ - -#ifdef DEBUG - __INLINE static int32_t check_param_transmit_enable(uint32_t param); - __INLINE static int32_t check_param_transmit_tspi_sio(uint32_t param); - __INLINE static int32_t check_param_transmit_master(uint32_t param); - __INLINE static int32_t check_param_transmit_mode(uint32_t param); - __INLINE static int32_t check_param_transmit_sel_select(uint32_t param); - __INLINE static int32_t check_param_frame_range(uint32_t param); - __INLINE static int32_t check_param_idle_imp(uint32_t param); - __INLINE static int32_t check_param_underrun_imp(uint32_t param); - __INLINE static int32_t check_param_tx_fill_level(uint32_t param); - __INLINE static int32_t check_param_rx_fill_level(uint32_t param); - __INLINE static int32_t check_param_tx_fifo_int(uint32_t param); - __INLINE static int32_t check_param_rx_fifo_int(uint32_t param); - __INLINE static int32_t check_param_err_int(uint32_t param); - __INLINE static int32_t check_param_tx_dma_int(uint32_t param); - __INLINE static int32_t check_param_rx_dma_int(uint32_t param); - __INLINE static int32_t check_param_input_clock(uint32_t param); - __INLINE static int32_t check_param_input_divider(uint32_t param); - __INLINE static int32_t check_param_data_direction(uint32_t param); - __INLINE static int32_t check_param_frame_length(uint32_t param); - __INLINE static int32_t check_param_frame_interval(uint32_t param); - __INLINE static int32_t check_param_tspixcs3_imp(uint32_t param); - __INLINE static int32_t check_param_tspixcs2_imp(uint32_t param); - __INLINE static int32_t check_param_tspixcs1_imp(uint32_t param); - __INLINE static int32_t check_param_tspixcs0_imp(uint32_t param); - __INLINE static int32_t check_param_clock_edge_imp(uint32_t param); - __INLINE static int32_t check_param_clock_idle_imp(uint32_t param); - __INLINE static int32_t check_param_min_idle_time(uint32_t param); - __INLINE static int32_t check_param_clock_delay(uint32_t param); - __INLINE static int32_t check_param_negate_delay(uint32_t param); - __INLINE static int32_t check_param_parity_enable(uint32_t param); - __INLINE static int32_t check_param_parity_bit(uint32_t param); -#endif - -#ifdef DEBUG -/*--------------------------------------------------*/ -/** - * @brief Check the Transmit Enable's parameter. - * @param param :Transmit Enable's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Transmission_Control - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_transmit_enable(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TRXE_DISABLE: - case TSPI_TRXE_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Check the Transmit Mode's parameter. - * @param param :Transmit Mode's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Transmission_Mode - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_transmit_tspi_sio(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_SPI_MODE: - case TSPI_SIO_MODE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Transmit Master/Slave parameter. - * @param param :Transmit Master/Slave parameter (Only support Master mode) - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Operation_Select - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_transmit_master(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_MASTER_OPEARTION: - case TSPI_SLAVE_OPERATION: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Transfer Mode's parameter. - * @param param :Transfer Mode's parameter (not support Two Way) - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Transfer_Mode - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_transmit_mode(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TWO_WAY: - case TSPI_TX_ONLY: - case TSPI_RX_ONLY: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Transmit Sel Select's parameter. - * @param param :Transmit Sel Select's parameter (not support Two Way) - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_CSSEL_Select - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_transmit_sel_select(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TSPIxCS0_ENABLE: - case TSPI_TSPIxCS1_ENABLE: - case TSPI_TSPIxCS2_ENABLE: - case TSPI_TSPIxCS3_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Transmit Frame Range's parameter. - * @param param :TransmitFrame Range's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Transfer_Frame_Range - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_frame_range(uint32_t param) - -{ - int32_t result = PARAM_NG; - - if ((TSPI_TRANS_RANGE_SINGLE == param) || (param <= TSPI_TRANS_RANGE_MAX)){ - result = PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the IDLE Output Value's parameter. - * @param param :IDLE Output Value's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_IDLE_Output_value - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_idle_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TIDLE_Hiz: - case TSPI_TIDLE_LAST_DATA: - case TSPI_TIDLE_LOW: - case TSPI_TIDLE_HI: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Underrun Occur Output Value's parameter. - * @param param :Underrun Occur Output Value's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Underrun_Output_value - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_underrun_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TXDEMP_LOW: - case TSPI_TXDEMP_HI: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Fill Level's parameter. - * @param param :Tx Fill Level's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TxFillLevel - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tx_fill_level(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TX_FILL_LEVEL_0: - case TSPI_TX_FILL_LEVEL_1: - case TSPI_TX_FILL_LEVEL_2: - case TSPI_TX_FILL_LEVEL_3: - case TSPI_TX_FILL_LEVEL_4: - case TSPI_TX_FILL_LEVEL_5: - case TSPI_TX_FILL_LEVEL_6: - case TSPI_TX_FILL_LEVEL_7: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Fill Level's parameter. - * @param param :Rx Fill Level's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_RxFillLevel - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rx_fill_level(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_RX_FILL_LEVEL_0: - case TSPI_RX_FILL_LEVEL_1: - case TSPI_RX_FILL_LEVEL_2: - case TSPI_RX_FILL_LEVEL_3: - case TSPI_RX_FILL_LEVEL_4: - case TSPI_RX_FILL_LEVEL_5: - case TSPI_RX_FILL_LEVEL_6: - case TSPI_RX_FILL_LEVEL_7: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx FIFO Interrpt's parameter. - * @param param :Tx FIFO Interrpt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TxInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tx_fifo_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TX_FIFO_INT_DISABLE: - case TSPI_TX_FIFO_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Interrpt's parameter. - * @param param :Tx Interrpt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TxInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tx_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TX_INT_DISABLE: - case TSPI_TX_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx FIFO Interrpt's parameter. - * @param param :Rx FIFO Interrpt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_RxFIFOInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rx_fifo_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_RX_FIFO_INT_DISABLE: - case TSPI_RX_FIFO_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Interrpt's parameter. - * @param param :Rx Interrpt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_RxInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rx_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_RX_INT_DISABLE: - case TSPI_RX_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Error Interrupt's parameter. - * @param param :Error Interrupt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_ErrorInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_err_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_ERR_INT_DISABLE: - case TSPI_ERR_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx DMA Interrupt's parameter. - * @param param :Tx DMA Interrupt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TxDMAInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tx_dma_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TX_DMA_INT_DISABLE: - case TSPI_TX_DMA_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx DMA Interrupt's parameter. - * @param param :Rx DMA Interrupt's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_RxDMAInterrupt - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_rx_dma_int(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_RX_DMA_INT_DISABLE: - case TSPI_RX_DMA_INT_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Input Clock's parameter. - * @param param :Input Clock's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Baudrate_Clock - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_input_clock(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_BR_CLOCK_0: - case TSPI_BR_CLOCK_1: - case TSPI_BR_CLOCK_2: - case TSPI_BR_CLOCK_4: - case TSPI_BR_CLOCK_8: - case TSPI_BR_CLOCK_16: - case TSPI_BR_CLOCK_32: - case TSPI_BR_CLOCK_64: - case TSPI_BR_CLOCK_128: - case TSPI_BR_CLOCK_256: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Baudrate Divider's parameter. - * @param param :Baudrate Divider's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Baudrate_Clock - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_input_divider(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_BR_DIVIDER_16: - case TSPI_BR_DIVIDER_1: - case TSPI_BR_DIVIDER_2: - case TSPI_BR_DIVIDER_3: - case TSPI_BR_DIVIDER_4: - case TSPI_BR_DIVIDER_5: - case TSPI_BR_DIVIDER_6: - case TSPI_BR_DIVIDER_7: - case TSPI_BR_DIVIDER_8: - case TSPI_BR_DIVIDER_9: - case TSPI_BR_DIVIDER_10: - case TSPI_BR_DIVIDER_11: - case TSPI_BR_DIVIDER_12: - case TSPI_BR_DIVIDER_13: - case TSPI_BR_DIVIDER_14: - case TSPI_BR_DIVIDER_15: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Direction's parameter. - * @param param :Data Direction's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_DataDirection"TSPI_DATA_DIRECTION_xxxx". - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_data_direction(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_DATA_DIRECTION_LSB: - case TSPI_DATA_DIRECTION_MSB: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Length's parameter. - * @param param :Data Length's parameter (Only support 8bit DATA) - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_DataLength"TSPI_DATA_LENGTH_xxxx". - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_frame_length(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_DATA_LENGTH_8: - case TSPI_DATA_LENGTH_9: - case TSPI_DATA_LENGTH_10: - case TSPI_DATA_LENGTH_11: - case TSPI_DATA_LENGTH_12: - case TSPI_DATA_LENGTH_13: - case TSPI_DATA_LENGTH_14: - case TSPI_DATA_LENGTH_15: - case TSPI_DATA_LENGTH_16: - case TSPI_DATA_LENGTH_17: - case TSPI_DATA_LENGTH_18: - case TSPI_DATA_LENGTH_19: - case TSPI_DATA_LENGTH_20: - case TSPI_DATA_LENGTH_21: - case TSPI_DATA_LENGTH_22: - case TSPI_DATA_LENGTH_23: - case TSPI_DATA_LENGTH_24: - case TSPI_DATA_LENGTH_25: - case TSPI_DATA_LENGTH_26: - case TSPI_DATA_LENGTH_27: - case TSPI_DATA_LENGTH_28: - case TSPI_DATA_LENGTH_29: - case TSPI_DATA_LENGTH_30: - case TSPI_DATA_LENGTH_31: - case TSPI_DATA_LENGTH_32: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Frame Interval's parameter. - * @param param :Frame Interval's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Frame_Interval_Time - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_frame_interval(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_INTERVAL_TIME_0: - case TSPI_INTERVAL_TIME_1: - case TSPI_INTERVAL_TIME_2: - case TSPI_INTERVAL_TIME_3: - case TSPI_INTERVAL_TIME_4: - case TSPI_INTERVAL_TIME_5: - case TSPI_INTERVAL_TIME_6: - case TSPI_INTERVAL_TIME_7: - case TSPI_INTERVAL_TIME_8: - case TSPI_INTERVAL_TIME_9: - case TSPI_INTERVAL_TIME_10: - case TSPI_INTERVAL_TIME_11: - case TSPI_INTERVAL_TIME_12: - case TSPI_INTERVAL_TIME_13: - case TSPI_INTERVAL_TIME_14: - case TSPI_INTERVAL_TIME_15: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the TTSPIxCS3 Polarity's parameter. - * @param param :TTSPIxCS3 Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TTSPIxCS3_Polarity. - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tspixcs3_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TSPIxCS3_NEGATIVE: - case TSPI_TSPIxCS3_POSITIVE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the TTSPIxCS2 Polarity's parameter. - * @param param :TTSPIxCS2 Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TTSPIxCS2_Polarity. - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tspixcs2_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TSPIxCS2_NEGATIVE: - case TSPI_TSPIxCS2_POSITIVE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the TTSPIxCS1 Polarity's parameter. - * @param param :TTSPIxCS1 Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TTSPIxCS1_Polarity. - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tspixcs1_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TSPIxCS1_NEGATIVE: - case TSPI_TSPIxCS1_POSITIVE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the TTSPIxCS0 Polarity's parameter. - * @param param :TTSPIxCS0 Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_TTSPIxCS0_Polarity. - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_tspixcs0_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_TSPIxCS0_NEGATIVE: - case TSPI_TSPIxCS0_POSITIVE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Serial Clock Polarity's parameter. - * @param param :Serial Clock Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Serial_Clock_Polarity - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_clock_edge_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_SERIAL_CK_1ST_EDGE: - case TSPI_SERIAL_CK_2ND_EDGE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Serial Clock IDLE Polarity's parameter. - * @param param :Serial Clock IDLE Polarity's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Serial_Clock_IDLE_Polarity - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_clock_idle_imp(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_SERIAL_CK_IDLE_LOW: - case TSPI_SERIAL_CK_IDLE_HI: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Minimum IDLE Time's parameter. - * @param param :Minimum IDLE Time's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Minimum_IDLE_Time - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_min_idle_time(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_MIN_IDLE_TIME_1: - case TSPI_MIN_IDLE_TIME_2: - case TSPI_MIN_IDLE_TIME_3: - case TSPI_MIN_IDLE_TIME_4: - case TSPI_MIN_IDLE_TIME_5: - case TSPI_MIN_IDLE_TIME_6: - case TSPI_MIN_IDLE_TIME_7: - case TSPI_MIN_IDLE_TIME_8: - case TSPI_MIN_IDLE_TIME_9: - case TSPI_MIN_IDLE_TIME_10: - case TSPI_MIN_IDLE_TIME_11: - case TSPI_MIN_IDLE_TIME_12: - case TSPI_MIN_IDLE_TIME_13: - case TSPI_MIN_IDLE_TIME_14: - case TSPI_MIN_IDLE_TIME_15: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Serial Clock Delay's parameter. - * @param param :Serial Clock Delay's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Serial_Clock_Delay - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_clock_delay(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_SERIAL_CK_DELAY_1: - case TSPI_SERIAL_CK_DELAY_2: - case TSPI_SERIAL_CK_DELAY_3: - case TSPI_SERIAL_CK_DELAY_4: - case TSPI_SERIAL_CK_DELAY_5: - case TSPI_SERIAL_CK_DELAY_6: - case TSPI_SERIAL_CK_DELAY_7: - case TSPI_SERIAL_CK_DELAY_8: - case TSPI_SERIAL_CK_DELAY_9: - case TSPI_SERIAL_CK_DELAY_10: - case TSPI_SERIAL_CK_DELAY_11: - case TSPI_SERIAL_CK_DELAY_12: - case TSPI_SERIAL_CK_DELAY_13: - case TSPI_SERIAL_CK_DELAY_14: - case TSPI_SERIAL_CK_DELAY_15: - case TSPI_SERIAL_CK_DELAY_16: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Negate Delay's parameter. - * @param param :Negate Delay's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_Negate_Delay - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_negate_delay(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_NEGATE_1: - case TSPI_NEGATE_2: - case TSPI_NEGATE_3: - case TSPI_NEGATE_4: - case TSPI_NEGATE_5: - case TSPI_NEGATE_6: - case TSPI_NEGATE_7: - case TSPI_NEGATE_8: - case TSPI_NEGATE_9: - case TSPI_NEGATE_10: - case TSPI_NEGATE_11: - case TSPI_NEGATE_12: - case TSPI_NEGATE_13: - case TSPI_NEGATE_14: - case TSPI_NEGATE_15: - case TSPI_NEGATE_16: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Enable's parameter. - * @param param :Parity Enable's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_ParityEnable"TSPI_PARITY_xxxx". - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_parity_enable(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_PARITY_DISABLE: - case TSPI_PARITY_ENABLE: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Bit's parameter. - * @param param :Parity Bit's parameter - * @retval PARAM_OK :Valid - * @retval PARAM_NG :Invalid - * @note Macro definition is @ref TSPI_ParityBit"TSPI_PARITY_BIT_xxxx". - */ -/*--------------------------------------------------*/ -__INLINE static int32_t check_param_parity_bit(uint32_t param) -{ - int32_t result = PARAM_NG; - - switch (param) - { - case TSPI_PARITY_BIT_ODD: - case TSPI_PARITY_BIT_EVEN: - result = PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} -#endif -/** - * @} - */ /* End of group TSPI_Private_functions */ - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup TSPI_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/** - * @brief Initialize the TSPI object. - * @param p_obj :TSPI object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_init(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - /* Check the parameter of TTSPIxCR1. */ - assert_param(check_param_transmit_enable(p_obj->init.cnt1.trxe)); - assert_param(check_param_transmit_tspi_sio(p_obj->init.cnt1.tspims)); - assert_param(check_param_transmit_master(p_obj->init.cnt1.mstr)); - assert_param(check_param_transmit_mode(p_obj->init.cnt1.tmmd)); - assert_param(check_param_transmit_sel_select(p_obj->init.cnt1.cssel)); - assert_param(check_param_frame_range(p_obj->init.cnt1.fc)); - /* Check the parameter of TTSPIxCR2 */ - assert_param(check_param_idle_imp(p_obj->init.cnt2.tidle)); - assert_param(check_param_underrun_imp(p_obj->init.cnt2.txdemp)); - assert_param(check_param_tx_fill_level(p_obj->init.cnt2.til)); - assert_param(check_param_rx_fill_level(p_obj->init.cnt2.ril)); - assert_param(check_param_tx_int(p_obj->init.cnt2.inttxwe)); - assert_param(check_param_rx_int(p_obj->init.cnt2.intrxwe)); - assert_param(check_param_tx_fifo_int(p_obj->init.cnt2.inttxfe)); - assert_param(check_param_rx_fifo_int(p_obj->init.cnt2.intrxfe)); - assert_param(check_param_err_int(p_obj->init.cnt2.interr)); - assert_param(check_param_tx_dma_int(p_obj->init.cnt2.dmate)); - assert_param(check_param_rx_dma_int(p_obj->init.cnt2.dmare)); - /* Check the parameter of TTSPIxBR */ - assert_param(check_param_input_clock(p_obj->init.brd.brck)); - assert_param(check_param_input_divider(p_obj->init.brd.brs)); - /* Check the parameter of TTSPIxFMTR0 */ - assert_param(check_param_data_direction(p_obj->init.fmr0.dir)); - assert_param(check_param_frame_length(p_obj->init.fmr0.fl)); - assert_param(check_param_frame_interval(p_obj->init.fmr0.fint)); - assert_param(check_param_tspixcs3_imp(p_obj->init.fmr0.cs3pol)); - assert_param(check_param_tspixcs2_imp(p_obj->init.fmr0.cs2pol)); - assert_param(check_param_tspixcs1_imp(p_obj->init.fmr0.cs1pol)); - assert_param(check_param_tspixcs0_imp(p_obj->init.fmr0.cs0pol)); - assert_param(check_param_clock_edge_imp(p_obj->init.fmr0.ckpha)); - assert_param(check_param_clock_idle_imp(p_obj->init.fmr0.ckpol)); - assert_param(check_param_min_idle_time(p_obj->init.fmr0.csint)); - assert_param(check_param_clock_delay(p_obj->init.fmr0.cssckdl)); - assert_param(check_param_negate_delay(p_obj->init.fmr0.sckcsdl)); - /* Check the parameter of TTSPIxFMTR1 */ - assert_param(check_param_parity_enable(p_obj->init.fmr1.vpe)); - assert_param(check_param_parity_bit(p_obj->init.fmr1.vpm)); -#endif - - - /* TSPI Software Reset */ - p_obj->p_instance->CR0 = (TSPI_RESET10 | TSPI_ENABLE); - p_obj->p_instance->CR0 = (TSPI_RESET01 | TSPI_ENABLE);; - - /* Wait for 2 clocks of reset completion */ - __NOP(); - __NOP(); - - /* Enable the selected TSPI peripheral (TSPIE)*/ - p_obj->p_instance->CR0 = TSPI_ENABLE; - - /* Control1 Register1 Set*/ - p_obj->p_instance->CR1 = 0x00001C01U; - p_obj->p_instance->CR1 = (p_obj->init.cnt1.cssel | p_obj->init.cnt1.fc | p_obj->init.cnt1.mstr | p_obj->init.cnt1.tmmd | \ - p_obj->init.cnt1.trxe | p_obj->init.cnt1.tspims| p_obj->init.cnt1.trgen); - /* Control2 Register Set */ - p_obj->p_instance->CR2 = 0x00E10100U; - p_obj->p_instance->CR2 = (p_obj->init.cnt2.tidle | p_obj->init.cnt2.txdemp | p_obj->init.cnt2.rxdly | p_obj->init.cnt2.til | \ - p_obj->init.cnt2.ril | p_obj->init.cnt2.inttxfe | p_obj->init.cnt2.intrxfe |p_obj->init.cnt2.inttxwe | \ - p_obj->init.cnt2.intrxwe | p_obj->init.cnt2.interr | p_obj->init.cnt2.dmate | p_obj->init.cnt2.dmare ); - - /* Control3 Register is FIFO clear, do nothing */ - - /* Baudrate Register Set */ - p_obj->p_instance->BR = 0U; - p_obj->p_instance->BR = (p_obj->init.brd.brck | p_obj->init.brd.brs); - - /* Format control0 Register Set */ - p_obj->p_instance->FMTR0 = 0x8800C400U; - p_obj->p_instance->FMTR0 = (p_obj->init.fmr0.ckpha | p_obj->init.fmr0.ckpol | p_obj->init.fmr0.cs0pol | p_obj->init.fmr0.cs1pol | \ - p_obj->init.fmr0.cs2pol | p_obj->init.fmr0.cs3pol | p_obj->init.fmr0.csint | p_obj->init.fmr0.cssckdl | \ - p_obj->init.fmr0.dir | p_obj->init.fmr0.fint | p_obj->init.fmr0.fl | p_obj->init.fmr0.sckcsdl ); - - /* Format control1 Register Set*/ - p_obj->p_instance->FMTR1 = 0U; - p_obj->p_instance->FMTR1 = (p_obj->init.fmr1.vpm | p_obj->init.fmr1.vpe); - - /* not created */ - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Release the TSPI object. - * @param p_obj :TSPI object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_deinit(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - - /* Disable the selected TSPI peripheral */ - p_obj->p_instance->CR0 = TSPI_DISABLE; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Transmit data.. - * @param p_obj :TSPI object. - * @param p_info :The information of transmit data. - * @param timeout :Timeout duration. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note When p_info is NULL, "Failure" is returned. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_write(tspi_t *p_obj, tspi_transmit_t *p_info, uint32_t timeout) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t err=0; - uint32_t length = 0; - - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - - p_obj->errcode = NOERROR; - - /* Check the Transfer Mode setting */ - if((p_obj->p_instance->CR1 & TSPI_Transfer_Mode_MASK) == TSPI_RX_ONLY) { - p_obj->errcode = TRANSMITMODEERR; - result = TXZ_ERROR; - return (result); - } - - /* Transmit data check*/ - if((p_info->tx8.p_data == TSPI_NULL ) || (p_info->tx8.num == 0)) - { - p_obj->errcode = DATABUFEMPERR; - result = TXZ_ERROR; - return (result); - } - - /* FIFO Cear */ - p_obj->p_instance->CR3 |= TSPI_TX_BUFF_CLR_DONE; - /* Check the Frame length setting */ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24); - /* Blocking Communication support frame length 8bit (1 byte) only */ - if (length == (TSPI_DATA_LENGTH_8 >> 24)) { - p_obj->transmit.tx_allign = TSPI_DATA_ALLIGN_8; - }else{ - p_obj->errcode = DATALENGTHERR; - result = TXZ_ERROR; - return (result); - } - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - /* Transmit Data write to D ata Register */ - while (p_info->tx8.num > 0) - { - /* Check the current fill level */ - if(((p_obj->p_instance->SR & TSPI_TX_REACH_FILL_LEVEL_MASK) >> 16) <= 7) - { - *((__IO uint8_t*)&p_obj->p_instance->DR) = ((*p_info->tx8.p_data++) & (uint8_t)TSPI_DR_8BIT_MASK); - p_info->tx8.num--; - /* check complete transmit */ - if((p_obj->p_instance->SR & TSPI_TX_DONE_FLAG) != TSPI_TX_DONE) - { - timeout--; - if(timeout == 0) { - p_obj->errcode = TIMEOUTERR; - result = TXZ_ERROR; - return (result); - } - } - else - { - /* Enable TSPI Transmission Control */ - if(p_info->tx8.num==0){ - p_obj->p_instance->CR3 |= TSPI_TX_BUFF_CLR_DONE; - return (result); - } - else { - /* Next transmit data sending */ - p_obj->p_instance->SR |= TSPI_TX_DONE_CLR; - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - } - - } - }else{ - p_obj->errcode = FIFOFULLERR; - timeout--; - if(timeout == 0) { - p_obj->errcode = TIMEOUTERR; - result = TXZ_ERROR; - return (result); - } - } - - } - /* check complete transmit */ - while((p_obj->p_instance->SR & TSPI_TX_DONE_FLAG) != TSPI_TX_DONE) - { - timeout--; - if(timeout == 0) { - p_obj->errcode = TIMEOUTERR; - result = TXZ_ERROR; - return (result); - } - } - /* Check Error Flag */ - if((tspi_get_error(p_obj, &err)) != TXZ_ERROR) - { - if(((err) & TSPI_UNDERRUN_ERR)== TSPI_UNDERRUN_ERR) {p_obj->errcode = UNDERRUNERR;} - else if(((err) & TSPI_OVERRUN_ERR) == TSPI_OVERRUN_ERR) {p_obj->errcode = OVERRUNERR;} - else if(((err) & TSPI_PARITY_ERR) == TSPI_PARITY_ERR) {p_obj->errcode = PARITYERR;} - }else{ - result = TXZ_ERROR; - return (result); - } - if(p_obj->errcode == NOERROR) { - //p_obj->p_instance->SR |= TSPI_TX_DONE_CLR; - p_obj->p_instance->CR3 |= TSPI_TX_BUFF_CLR_DONE; - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - return (result); - }else{ - result = TXZ_ERROR; - return (result); - } -} - -/*--------------------------------------------------*/ -/** - * @brief Receive data. Blocking Communication. - * @param p_obj :TSPI object. - * @param p_info :The information of receive buffer. - * @param timeout :Timeout duration. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note When p_info is NULL, "Failure" is returned. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_read(tspi_t *p_obj, tspi_receive_t *p_info, uint32_t timeout) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t err=0; - uint32_t length = 0; - uint32_t count = 0; - uint32_t index = 0; -// uint32_t level = 0; - - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - - p_obj->errcode = NOERROR; - - /* Check the Transfer Mode setting */ - if((p_obj->p_instance->CR1 & TSPI_Transfer_Mode_MASK) == TSPI_TX_ONLY) { - p_obj->errcode = TRANSMITMODEERR; - result = TXZ_ERROR; - return (result); - } - if((p_obj->p_instance->CR1 & TSPI_Transfer_Mode_MASK) == TSPI_RX_ONLY) { - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - } - - /* Transmit data check*/ - if((p_info->rx8.p_data == TSPI_NULL ) || (p_info->rx8.num == 0)) - { - result = TXZ_ERROR; - return (result); - } - count = p_info->rx8.num; - - /* Check the Frame length setting */ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - /* Blocking Communication support frame length 8bit (1 byte) only */ - if (length == (TSPI_DATA_LENGTH_8 >> 24)) { - p_obj->receive.rx_allign = TSPI_DATA_ALLIGN_8; - }else{ - p_obj->errcode = DATALENGTHERR; - result = TXZ_ERROR; - return (result); - } - - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - while (timeout > 0) - { - /* Wait until Receive Complete Flag is set to receive data */ - if((p_obj->p_instance->SR & TSPI_RX_DONE_FLAG) == TSPI_RX_DONE) - { - while (count > 0) { - /* Check the remain data exist */ - if((p_obj->p_instance->SR & TSPI_RX_REACH_FILL_LEVEL_MASK) != 0){ - p_info->rx8.p_data[index] = (*((__IO uint8_t*)&p_obj->p_instance->DR) & (uint8_t)TSPI_DR_8BIT_MASK); - count--; - index++; - }else{ - p_obj->errcode = FIFOFULLERR; - timeout--; - if(timeout == 0) { - p_obj->errcode = TIMEOUTERR; - result = TXZ_ERROR; - return (result); - } - } - } - /* Receive Complete Flag is clear */ - p_obj->p_instance->SR |= TSPI_RX_DONE_CLR; - /* FIFO Cear */ - p_obj->p_instance->CR2 |= TSPI_RX_BUFF_CLR_DONE; - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - return (result); - } - else {timeout--;} - } - /* Timeout management */ - p_obj->errcode = TIMEOUTERR; - - /* Check Error Flag set */ - if((tspi_get_error(p_obj, &err)) != TXZ_ERROR) - { - if(((err) & TSPI_UNDERRUN_ERR)== TSPI_UNDERRUN_ERR) {p_obj->errcode = UNDERRUNERR;} - else if(((err) & TSPI_OVERRUN_ERR) == TSPI_OVERRUN_ERR) {p_obj->errcode = OVERRUNERR;} - else if(((err) & TSPI_PARITY_ERR) == TSPI_PARITY_ERR) {p_obj->errcode = PARITYERR;} - }else{ - result = TXZ_ERROR; - return (result); - } - - result = TXZ_ERROR; - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Transmit data. Non-Blocking Communication. - * @param p_obj :TSPI object. - * @param p_info :The information of transmit data. - * @retval SUCCESS :Success. - * @retval FAILURE :Failure. - * @note Asynchronous Processing. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_transfer(tspi_t *p_obj, tspi_transmit_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t length = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if(p_obj->init.fmr0.fl == TSPI_DATA_LENGTH_8) - { - /* 8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx8.p_data)); - } - else if ((p_obj->init.fmr0.fl > TSPI_DATA_LENGTH_8) && (p_obj->init.fmr0.fl < TSPI_DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx16.p_data)); - } - else - { - /* 17 - 32 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx32.p_data)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - p_obj->p_instance->SR |= TSPI_TX_DONE_CLR; - p_obj->p_instance->CR3 |= TSPI_TX_BUFF_CLR_DONE; - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - p_obj->transmit.rp = 0; - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->transmit.info.tx8.p_data = p_info->tx8.p_data; - p_obj->transmit.info.tx8.num = p_info->tx8.num; - p_obj->transmit.tx_allign = 8; - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->transmit.info.tx16.p_data = p_info->tx16.p_data; - p_obj->transmit.info.tx16.num = p_info->tx16.num; - p_obj->transmit.tx_allign = 16; - } - else - { - /* 17 - 32 bit */ - p_obj->transmit.info.tx32.p_data = p_info->tx32.p_data; - p_obj->transmit.info.tx32.num = p_info->tx32.num; - p_obj->transmit.tx_allign = 32; - } - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - { - /* transmit data length set */ - - /*--- TSPIxSR ---*/ - /* Read FIFO fill level. */ - /* Read current TLVL. */ - __IO uint32_t tlvl = (p_obj->p_instance->SR & TSPI_TX_REACH_FILL_LEVEL_MASK); - tlvl >>= 8; - /* FIFO Max = TRANSFER_FIFO_MAX_NUM */ - if (tlvl > TRANSFER_FIFO_MAX_NUM) - { - tlvl = TRANSFER_FIFO_MAX_NUM; - } - /* Empty FIFO Num */ - { - __IO uint32_t work = tlvl; - tlvl = (TRANSFER_FIFO_MAX_NUM - work); - } - /*--- TSPIxDR ---*/ - /* Only the empty number of FIFO is a transmission data set. */ - { - uint32_t i = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - /* Set data to FIFO. */ - for (i=0; (i < tlvl) && (loopBreak == TXZ_BUSY); i++) - { - switch (p_obj->transmit.tx_allign) - { - case 8: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & (uint8_t)TSPI_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 16: - if (p_obj->transmit.info.tx16.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx16.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 32: - if (p_obj->transmit.info.tx32.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx32.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - default: - /* no process */ - break; - } - } - } - } - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - return (result); -} - - - -/*--------------------------------------------------*/ -/** - * @brief Receive data. Non-Blocking Communication. - * @param p_obj :TSPI object. - * @param p_info :The information of receive buffer. - * @retval SUCCESS :Success. - * @retval FAILURE :Failure. - * @note Asynchronous Processing. - * @attention "p_info->rx8(or rx16).num" must be over FIFO max(Refer @ref TSPI_TxReachFillLevel) num. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_receive(tspi_t *p_obj, tspi_receive_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t length = 0; - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if(p_obj->init.fmr0.fl == TSPI_DATA_LENGTH_8) - { - /* 8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx8.p_data)); - } - else if ((p_obj->init.fmr0.fl > TSPI_DATA_LENGTH_8) && (p_obj->init.fmr0.fl < TSPI_DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx16.p_data)); - } - else - { - /* 17 - 32 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx32.p_data)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - //p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->receive.info.rx8.p_data = p_info->rx8.p_data; - p_obj->receive.info.rx8.num = p_info->rx8.num; - p_obj->receive.rx_allign = 8; - - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->receive.info.rx16.p_data = p_info->rx16.p_data; - p_obj->receive.info.rx16.num = p_info->rx16.num; - p_obj->receive.rx_allign = 16; - } - else - { - /* 17 - 32 bit */ - p_obj->receive.info.rx32.p_data = p_info->rx32.p_data; - p_obj->receive.info.rx32.num = p_info->rx32.num; - p_obj->receive.rx_allign = 32; - } - /*------------------------------*/ - /* Enable Receive */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Transmit data DMA. Non-Blocking Communication. - * @param p_obj :TSPI object. - * @param p_info :The information of transmit data. - * @retval SUCCESS :Success. - * @retval FAILURE :Failure. - * @note Asynchronous Processing. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_dma_transfer(tspi_t *p_obj, tspi_transmit_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t length = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if(p_obj->init.fmr0.fl == TSPI_DATA_LENGTH_8) - { - /* 8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx8.p_data)); - } - else if ((p_obj->init.fmr0.fl > TSPI_DATA_LENGTH_8) && (p_obj->init.fmr0.fl < TSPI_DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx16.p_data)); - } - else - { - /* 17 - 32 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx32.p_data)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - p_obj->p_instance->SR |= TSPI_TX_DONE_CLR; - p_obj->p_instance->CR3 |= TSPI_TX_BUFF_CLR_DONE; - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - p_obj->transmit.rp = 0; - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->transmit.info.tx8.p_data = p_info->tx8.p_data; - p_obj->transmit.info.tx8.num = p_info->tx8.num; - p_obj->transmit.tx_allign = 8; - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->transmit.info.tx16.p_data = p_info->tx16.p_data; - p_obj->transmit.info.tx16.num = p_info->tx16.num; - p_obj->transmit.tx_allign = 16; - } - else - { - /* 17 - 32 bit */ - p_obj->transmit.info.tx32.p_data = p_info->tx32.p_data; - p_obj->transmit.info.tx32.num = p_info->tx32.num; - p_obj->transmit.tx_allign = 32; - } - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - { - /* transmit data length set */ - - /*--- TSPIxSR ---*/ - /* Read FIFO fill level. */ - /* Read current TLVL. */ - __IO uint32_t tlvl = (p_obj->p_instance->SR & TSPI_TX_REACH_FILL_LEVEL_MASK); - tlvl >>= 8; - /* FIFO Max = TRANSFER_FIFO_MAX_NUM */ - if (tlvl > TRANSFER_FIFO_MAX_NUM) - { - tlvl = TRANSFER_FIFO_MAX_NUM; - } - /* Empty FIFO Num */ - { - __IO uint32_t work = tlvl; - tlvl = (TRANSFER_FIFO_MAX_NUM - work); - } - /*--- TSPIxDR ---*/ - /* Only the empty number of FIFO is a transmission data set. */ - { - uint32_t i = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - /* Set data to FIFO. */ - for (i=0; (i < tlvl) && (loopBreak == TXZ_BUSY); i++) - { - switch (p_obj->transmit.tx_allign) - { - case 8: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & (uint8_t)TSPI_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 16: - if (p_obj->transmit.info.tx16.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx16.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 32: - if (p_obj->transmit.info.tx32.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx32.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - default: - /* no process */ - break; - } - } - } - } - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /* Write to DMATE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR2 & TSPI_TX_DMA_INT_ENABLE) != TSPI_TX_DMA_INT_ENABLE) - { - p_obj->p_instance->CR2 |= TSPI_TX_DMA_INT_ENABLE; - } - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Receive data DMA. Non-Blocking Communication. - * @param p_obj :TSPI object. - * @param p_info :The information of receive buffer. - * @retval SUCCESS :Success. - * @retval FAILURE :Failure. - * @note Asynchronous Processing. - * @attention "p_info->rx8(or rx16).num" must be over FIFO max(Refer @ref TSPI_TxReachFillLevel) num. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_master_dma_receive(tspi_t *p_obj, tspi_receive_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t length = 0; - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if(p_obj->init.fmr0.fl == TSPI_DATA_LENGTH_8) - { - /* 8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx8.p_data)); - } - else if ((p_obj->init.fmr0.fl > TSPI_DATA_LENGTH_8) && (p_obj->init.fmr0.fl < TSPI_DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx16.p_data)); - } - else - { - /* 17 - 32 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx32.p_data)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->receive.info.rx8.p_data = p_info->rx8.p_data; - p_obj->receive.info.rx8.num = p_info->rx8.num; - p_obj->receive.rx_allign = 8; - - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->receive.info.rx16.p_data = p_info->rx16.p_data; - p_obj->receive.info.rx16.num = p_info->rx16.num; - p_obj->receive.rx_allign = 16; - } - else - { - /* 17 - 32 bit */ - p_obj->receive.info.rx32.p_data = p_info->rx32.p_data; - p_obj->receive.info.rx32.num = p_info->rx32.num; - p_obj->receive.rx_allign = 32; - } - /*------------------------------*/ - /* Enable Receive */ - /*------------------------------*/ - /* Write to DMARE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR2 & TSPI_RX_DMA_INT_ENABLE) != TSPI_RX_DMA_INT_ENABLE) - { - p_obj->p_instance->CR2 |= TSPI_RX_DMA_INT_ENABLE; - } - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for transmit. - * @param p_obj :TSPI object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void tspi_irq_handler_transmit(tspi_t *p_obj) -{ - __IO uint32_t status; - - uint32_t length; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Status Registar Control */ - /*------------------------------*/ - /* Read current TSPIxSR. */ - status = p_obj->p_instance->SR; - /* Clear the transmit's end flag. */ - /* Write to TXEND(=1), and TXFF(=1). */ - //p_obj->p_instance->SR = (TSPI_TX_DONE_CLR | TSPI_TX_FIFO_INT_CLR); - /*------------------------------*/ - /* Data length setting */ - /*------------------------------*/ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24U); - /*------------------------------*/ - /* Transmit Status Check */ - /*------------------------------*/ - /* Check the transmit's end flag. */ - if (((status & TSPI_TX_DONE_FLAG ) == TSPI_TX_DONE) || - ((status & TSPI_TX_REACH_FILL_LEVEL_MASK) == p_obj->init.cnt2.til)) - { - TXZ_WorkState txDone = TXZ_BUSY; - /* Read FIFO fill level. */ - __IO uint32_t tlvl = (status & TSPI_TX_REACH_FILL_LEVEL_MASK); - tlvl >>= 8; - /* FIFO Max = TRANSFER_FIFO_MAX_NUM */ - if (tlvl > TRANSFER_FIFO_MAX_NUM) - { - tlvl = TRANSFER_FIFO_MAX_NUM; - } - /* Get the empty num in FIFO. */ - { - __IO uint32_t work = tlvl; - tlvl = (TRANSFER_FIFO_MAX_NUM - work); - } - if (tlvl == TRANSFER_FIFO_MAX_NUM) - { - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->transmit.tx_allign = 8; - if (p_obj->transmit.info.tx8.num <= p_obj->transmit.rp) - { - txDone = TXZ_DONE; - } - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->transmit.tx_allign = 16; - if (p_obj->transmit.info.tx16.num <= p_obj->transmit.rp) - { - txDone = TXZ_DONE; - } - } - else - { - /* 17 - 32 bit */ - p_obj->transmit.tx_allign = 32; - if (p_obj->transmit.info.tx32.num <= p_obj->transmit.rp) - { - txDone = TXZ_DONE; - } - } - } - if (txDone == TXZ_DONE) - { - /*=== Transmit Done!! ===*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->transmit.handler != TSPI_NULL) - { - /* Call the transmit handler with SUCCESS. */ - p_obj->transmit.handler(p_obj->init.id, TXZ_SUCCESS); - } - } - else - { - /*=== Transmit Continue ===*/ - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - /* Only the empty number of FIFO is a transmission data set. */ - uint32_t i = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - /* Set data to FIFO. */ - for (i=0; (i < tlvl) && (loopBreak == TXZ_BUSY); i++) - { - switch (p_obj->transmit.tx_allign) - { - case 8: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & (uint8_t)TSPI_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 16: - if (p_obj->transmit.info.tx16.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx16.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case 32: - if (p_obj->transmit.info.tx32.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx32.p_data + p_obj->transmit.rp) & mask[length]); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - default: - /* no process */ - break; - } - } - #if 0 - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - #endif - } - } -} -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for receive. - * @param p_obj :TSPI object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void tspi_irq_handler_receive(tspi_t *p_obj) -{ - __IO uint32_t status; - - uint32_t length = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - - /*------------------------------*/ - /* Status Registar Control */ - /*------------------------------*/ - /* Read current TSPIxSR. */ - status = p_obj->p_instance->SR; - /* Clear the transmit's end flag. */ - /* Write to RXEND(=1), and RXFF(=1). */ - //p_obj->p_instance->SR = (TSPI_RX_DONE_CLR | TSPI_RX_FIFO_INT_CLR); - /*------------------------------*/ - /* Data length setting */ - /*------------------------------*/ - length = ((p_obj->p_instance->FMTR0 & TSPI_DATA_LENGTH_MASK) >> 24); - if(length == DATA_LENGTH_8) - { - /* 8 bit */ - p_obj->receive.rx_allign = 8; - } - else if ((length > DATA_LENGTH_8) && (length < DATA_LENGTH_17) ) - { - /* 9 - 16 bit */ - p_obj->receive.rx_allign = 16; - } - else - { - /* 17 - 32 bit */ - p_obj->receive.rx_allign = 32; - } - /*------------------------------*/ - /* Receive Status Check */ - /*------------------------------*/ - /* Check the receive's end flag. */ - if (((status & TSPI_RX_DONE_FLAG ) == TSPI_RX_DONE) || - ((status & TSPI_RX_REACH_FILL_LEVEL_MASK) == p_obj->init.cnt2.ril)) - { - /* Read FIFO fill level. */ - __IO uint32_t rlvl = (status & TSPI_RX_REACH_FILL_LEVEL_MASK); - //__IO uint32_t rlvl = 7; - /* FIFO Max = RECEIVE_FIFO_MAX_NUM */ - if (rlvl > RECEIVE_FIFO_MAX_NUM) - { - rlvl = RECEIVE_FIFO_MAX_NUM; - } - /*------------------------------*/ - /* Data Read */ - /*------------------------------*/ - /* Read FIFO data. */ - if (rlvl != 0) - { - uint32_t i; - for (i=0; ireceive.rx_allign) - { - case 8: - *(p_obj->receive.info.rx8.p_data + i) = (uint8_t)(p_obj->p_instance->DR & (uint8_t)TSPI_DR_8BIT_MASK); - break; - case 16: - *(p_obj->receive.info.rx16.p_data + i) = (uint8_t)(p_obj->p_instance->DR & mask[length]); - break; - case 32: - *(p_obj->receive.info.rx32.p_data + i) = (uint8_t)(p_obj->p_instance->DR & mask[length]); - break; - default: - /* no process */ - break; - } - } - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != TSPI_NULL) - { - tspi_receive_t param; - - switch (p_obj->receive.rx_allign) - { - case 8: - param.rx8.p_data = p_obj->receive.info.rx8.p_data; - param.rx8.num = rlvl; - break; - case 16: - param.rx16.p_data = p_obj->receive.info.rx16.p_data; - param.rx16.num = rlvl; - break; - case 32: - param.rx32.p_data = p_obj->receive.info.rx32.p_data; - param.rx32.num = rlvl; - break; - default: - /* no process */ - break; - } - /* Call the receive handler with SUCCESS. */ - p_obj->receive.handler(p_obj->init.id, TXZ_SUCCESS, ¶m); - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for error. - * @param p_obj :TSPI object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void tspi_error_irq_handler(tspi_t *p_obj) -{ - __IO uint32_t error; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Error Registar Control */ - /*------------------------------*/ - /* Read current TSPIxERR. */ - error = p_obj->p_instance->ERR; - /* Now, no clear the error flag. */ - /*------------------------------*/ - /* Error Check */ - /*------------------------------*/ - /*--- TSPIxERR ---*/ - /* Check the transmit error. */ - /* TRGERR */ - if ((error & TSPI_TRGERR_MASK) == TSPI_TRGERR_ERR) - { - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->transmit.handler != TSPI_NULL) - { - /* Call the transmit handler with FAILURE. */ - p_obj->transmit.handler(p_obj->init.id, TXZ_ERROR); - } - } - /* Check the receive error. */ - { - TXZ_Result err = TXZ_SUCCESS; - /* UNDERERR */ - if ((error & TSPI_UNDERRUN_MASK) == TSPI_UNDERRUN_ERR) - { - err = TXZ_ERROR; - } - /* OVRERR */ - if ((error & TSPI_OVERRUN_MASK) == TSPI_OVERRUN_ERR) - { - err = TXZ_ERROR; - } - /* PERR */ - if ((error & TSPI_PARITY_MASK) == TSPI_PARITY_ERR) - { - err = TXZ_ERROR; - } - if (err == TXZ_ERROR) - { - /*------------------------------*/ - /* Receive Check */ - /*------------------------------*/ - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=0). */ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != TSPI_NULL) - { - /* Call the receive handler with FAILURE. */ - p_obj->receive.handler(p_obj->init.id, TXZ_ERROR, TSPI_NULL); - } - } - } -} - - -/*--------------------------------------------------*/ -/** - * @brief Data Format setting - * @param p_obj :TSPI object. - * @retval - - * @note When p_obj is NULL, no processing. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_format(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - /* Check the parameter of TTSPIxFMTR0 */ - assert_param(check_param_data_direction(p_obj->init.fmr0.dir)); - assert_param(check_param_frame_length(p_obj->init.fmr0.fl)); - assert_param(check_param_frame_interval(p_obj->init.fmr0.fint)); - assert_param(check_param_tspixcs3_imp(p_obj->init.fmr0.cs3pol)); - assert_param(check_param_tspixcs2_imp(p_obj->init.fmr0.cs2pol)); - assert_param(check_param_tspixcs1_imp(p_obj->init.fmr0.cs1pol)); - assert_param(check_param_tspixcs0_imp(p_obj->init.fmr0.cs0pol)); - assert_param(check_param_clock_edge_imp(p_obj->init.fmr0.ckpha)); - assert_param(check_param_clock_idle_imp(p_obj->init.fmr0.ckpol)); - assert_param(check_param_min_idle_time(p_obj->init.fmr0.csint)); - assert_param(check_param_clock_delay(p_obj->init.fmr0.cssckdl)); - assert_param(check_param_negate_delay(p_obj->init.fmr0.sckcsdl)); - /* Check the parameter of TTSPIxFMTR1 */ - assert_param(check_param_parity_enable(p_obj->init.fmr1.vpe)); - assert_param(check_param_parity_bit(p_obj->init.fmr1.vpm)); -#endif - - - /* Format control1 Register Set*/ - p_obj->p_instance->FMTR1 = (p_obj->init.fmr1.vpm | p_obj->init.fmr1.vpe); - /* Format control0 Register Set */ - p_obj->p_instance->FMTR0 = (p_obj->init.fmr0.ckpha | p_obj->init.fmr0.ckpol | p_obj->init.fmr0.cs0pol | p_obj->init.fmr0.cs1pol | \ - p_obj->init.fmr0.cs2pol | p_obj->init.fmr0.cs3pol | p_obj->init.fmr0.csint | p_obj->init.fmr0.cssckdl | \ - p_obj->init.fmr0.dir | p_obj->init.fmr0.fint | p_obj->init.fmr0.fl | p_obj->init.fmr0.sckcsdl ); - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Get status. - * @details Status bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31 | SUE | Setting Enable Flag. Use @ref TSPI_Status_Setting_flag. | - * | 30-24 | - | - | - * | 23 | TXRUN | Transmitting State Flag. Use @ref TSPI_TxState. | - * | 22 | TXEND | Transmitting Done Flag. Use @ref TSPI_TxDone. | - * | 21 | INTTXWF | Transmitting FIFO Interrpt Flag. Use @ref TSPI_TxFIFOInterruptFlag. | - * | 20 | TFEMP | Transmitting FIFO Empty Flag. Use @ref TSPI_TxFIFOEmptyFlag. | - * | 19-16 | TLVL | Current Transmitting FIFO Level. @ref TSPI_TxReachFillLevel. | - * | 15-8 | - | - | - * | 7 | RXRUN | Receive State Flag. Use @ref TSPI_RxState. | - * | 6 | RXEND | Receive Done Flag. Use @ref TSPI_RxDone. | - * | 5 | INTRXFF | Receiving FIFO Interrpt Flag. Use @ref TSPI_RxFIFOInterruptFlag. | - * | 4 | RXFLL | Receiving FIFO Full Flag. Use @ref TSPI_RxFIFOFullFlag | - * | 3-0 | RLVL | Current Receive FIFO Level. Use @ref TSPI_RxFIFOFullFlag | - * - * @param p_obj :TSPI object. - * @param p_status :Save area for status. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note When p_status is NULL, "Failure" is returned. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_get_status(tspi_t *p_obj, uint32_t *p_status) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - - /* Return TSPI state */ - *p_status = p_obj->p_instance->SR; - if(p_status != TSPI_NULL){ return (result);} - else { - result = TXZ_ERROR; - return (result); - } -} - -/*--------------------------------------------------*/ -/** - * @brief Get error information. - * @details Error bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-3 | - | - | - * | 2 | UDRERR | Overrun Error. Use @ref TSPI_UnderrunErr. | - * | 1 | OVRERR | Overrun Error. Use @ref TSPI_OverrunErr. | - * | 0 | PERR | Parity Error. Use @ref TSPI_ParityErr. | - * - * @param p_obj :TSPI object. - * @param p_error :Save area for error. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note When p_error is NULL, "Failure" is returned. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_get_error(tspi_t *p_obj, uint32_t *p_error) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - - /* Return TSPI ERROR */ - *p_error = p_obj->p_instance->ERR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Error information clear. - * @details Error bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-3 | - | - | - * | 2 | UDRERR | Overrun Error. Use @ref TSPI_UnderrunErr. | - * | 1 | OVRERR | Overrun Error. Use @ref TSPI_OverrunErr. | - * | 0 | PERR | Parity Error. Use @ref TSPI_ParityErr. | - * - * @param p_obj :TSPI object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note When p_obj is NULL, "Failure" is returned. - * @note When p_error is NULL, "Failure" is returned. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_error_clear(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - /* Check the parameters */ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); -#endif - p_obj->p_instance->ERR = (TSPI_UNDERRUN_ERR | TSPI_OVERRUN_ERR | TSPI_PARITY_ERR); - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard transmit. - * @param p_obj :TSPI object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears transmit's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_discard_transmit(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - /*--- TSPIxTRXE ---*/ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Refresh Setting */ - /*------------------------------*/ - /*--- TSPIxSR ---*/ - /* Clear the transmit's end flag. */ - /* Write to TXEND(=1), and TXFF(=1). */ - p_obj->p_instance->SR = (TSPI_TX_DONE_CLR | TSPI_RX_DONE_CLR); - /*--- TSPIxFIFOCLR ---*/ - /* Clear the transmit's FIFO. */ - /* Write to TFCLR(=1). */ - p_obj->p_instance->CR3 = (TSPI_TX_BUFF_CLR_DONE | TSPI_RX_BUFF_CLR_DONE); - /*--- TSPIxERR ---*/ - /* Clear the trigger error flag. */ - /* Write to TRGERR(=1). */ - p_obj->p_instance->ERR = (TSPI_TRGERR_ERR ); - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard receive. - * @param p_obj :TSPI object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears receive's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result tspi_discard_receive(tspi_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the TSPI_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - /*--- TSPIxTRXE ---*/ - p_obj->p_instance->CR1 &= TSPI_TRXE_DISABLE_MASK; - /*------------------------------*/ - /* Refresh Setting */ - /*------------------------------*/ - /*------------------------------*/ - /* Refresh Setting */ - /*------------------------------*/ - /*--- TSPIxSR ---*/ - /* Clear the transmit's end flag. */ - /* Write to TXEND(=1), and TXFF(=1). */ - p_obj->p_instance->SR = (TSPI_TX_DONE_CLR | TSPI_RX_DONE_CLR); - /*--- TSPIxFIFOCLR ---*/ - /* Clear the transmit's FIFO. */ - /* Write to TFCLR(=1). */ - p_obj->p_instance->CR3 = (TSPI_TX_BUFF_CLR_DONE | TSPI_RX_BUFF_CLR_DONE); - /*--- TSPIxERR ---*/ - /* Clear the trigger error flag. */ - /* Write to TRGERR(=1), UDRERR(=1), and OVRERR(=1), PERR(=1) */ - p_obj->p_instance->ERR = (TSPI_TRGERR_ERR | TSPI_UNDERRUN_ERR |TSPI_OVERRUN_ERR | TSPI_PARITY_ERR ); - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- TSPIxTRANS ---*/ - /* Write to TRXE(=1). */ - /* Check if the TSPI is already enabled */ - if((p_obj->p_instance->CR0 & TSPI_ENABLE) != TSPI_ENABLE) - { - p_obj->p_instance->CR0 |= TSPI_ENABLE; - } - - /* Enable TSPI Transmission Control */ - p_obj->p_instance->CR1 |= TSPI_TRXE_ENABLE; - - return (result); -} - - -/** - * @} - */ /* End of group TSPI_Exported_functions */ - -/** - * @} - */ /* End of group TSPI */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__TSPI_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_uart.c b/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_uart.c deleted file mode 100644 index 6ef89e65e51..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/Periph_Driver/src/txz_uart.c +++ /dev/null @@ -1,1910 +0,0 @@ -/** - ******************************************************************************* - * @file txz_uart.c - * @brief This file provides API functions for UART driver. - * @version V1.0.0.1 - * $Date:: 2018-04-02 19:31:41 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -#ifdef __cplusplus - extern "C" { -#endif - -/*------------------------------------------------------------------------------*/ -/* Includes */ -/*------------------------------------------------------------------------------*/ -#include "txz_uart_include.h" -#include "txz_uart.h" - -#if defined(__UART_H) -/** - * @addtogroup Periph_Driver - * @{ - */ - -/** - * @addtogroup UART - * @{ - */ -/*------------------------------------------------------------------------------*/ -/* Configuration */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Private_define UART Private Define - * @{ - */ - -/** - * @defgroup UART_BourateConfig Bourate Setting Configuration - * @brief Bourate Setting Configuration. - * @{ - */ -#define UART_CFG_GET_BOUDRATE_DISABLE (0) /*!< Disable to get bourate setting. */ -#define UART_CFG_GET_BOUDRATE_ENABLE (1) /*!< Enable to get bourate setting. */ -#define UART_CFG_GET_BOUDRATE UART_CFG_GET_BOUDRATE_ENABLE /* Disable/Enable Get Bourate Setting */ - -#define UART_CFG_GET_BOUDRATE_TYPE_SINGLE (0) /*!< When the function finds within error margin, finish calculation. */ -#define UART_CFG_GET_BOUDRATE_TYPE_ALL (1) /*!< The function calculates all patern(calculates minimum error margin). */ -#define UART_CFG_GET_BOUDRATE_TYPE UART_CFG_GET_BOUDRATE_TYPE_ALL - -#define UART_CFG_BOUDRATE_ERROR_RANGE ((uint32_t)3) /*!< Error Margin(%). */ -#define UART_CFG_BOUDRATE_FIXED_POINT_BIT ((uint32_t)6) /*!< Fiexd Point Bit. */ -/** - * @} - */ /* End of group UART_BourateConfig */ - -/** - * @} - */ /* End of group UART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Macro Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Private_define UART Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Enumerated Type Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Private_define UART Private Define - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Private_define */ - - -/*------------------------------------------------------------------------------*/ -/* Structure Definition */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Private_typedef UART Private Typedef - * @{ - */ - -/* no define */ - -/** - * @} - */ /* End of group UART_Private_typedef */ - - -/*------------------------------------------------------------------------------*/ -/* Private Function */ -/*------------------------------------------------------------------------------*/ -/** - * @defgroup UART_Private_fuctions UART Private Fuctions - * @{ - */ -#ifdef DEBUG - __STATIC_INLINE int32_t check_param_noize_filter(uint32_t param); - __STATIC_INLINE int32_t check_param_cts_handshake(uint32_t param); - __STATIC_INLINE int32_t check_param_rts_handshake(uint32_t param); - __STATIC_INLINE int32_t check_param_data_complemention(uint32_t param); - __STATIC_INLINE int32_t check_param_data_direction(uint32_t param); - __STATIC_INLINE int32_t check_param_stop_bit(uint32_t param); - __STATIC_INLINE int32_t check_param_parity_bit(uint32_t param); - __STATIC_INLINE int32_t check_param_parity_enable(uint32_t param); - __STATIC_INLINE int32_t check_param_data_length(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_fill_level_range(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_fill_level_range(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_fifo_int(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_int(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_fifo_int(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_int(uint32_t param); - __STATIC_INLINE int32_t check_param_err_int(uint32_t param); - __STATIC_INLINE int32_t check_param_prescaler(uint32_t param); - __STATIC_INLINE int32_t check_param_division(uint32_t param); - __STATIC_INLINE int32_t check_param_rangeK(uint32_t param); - __STATIC_INLINE int32_t check_param_rangeN(uint32_t param); - __STATIC_INLINE int32_t check_param_tx_buff_num(uint32_t param); - __STATIC_INLINE int32_t check_param_rx_buff_num(uint32_t param); -#endif /* #ifdef DEBUG */ -__STATIC_INLINE uint32_t convert_tx_fifo_fill_level_to_reg(uint32_t level); -__STATIC_INLINE uint32_t convert_rx_fifo_fill_level_to_reg(uint32_t level); -#if (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) - static TXZ_Result verification_boudrate64(uint32_t clock, uart_clock_t *p_clk, uint32_t boudrate, uint32_t k, uint32_t n, uint64_t *p_range64); -#endif /* #if (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) */ - -#ifdef DEBUG -/*--------------------------------------------------*/ -/** - * @brief Check the Noize Fileter's parameter. - * @param param :Noize fileter's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_NoiseFilter"UART_NOISE_FILTER_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_noize_filter(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_NOISE_FILTER_NON: - case UART_NOISE_FILTER_2_T0: - case UART_NOISE_FILTER_4_T0: - case UART_NOISE_FILTER_8_T0: - case UART_NOISE_FILTER_2_CLOCK: - case UART_NOISE_FILTER_3_CLOCK: - case UART_NOISE_FILTER_4_CLOCK: - case UART_NOISE_FILTER_5_CLOCK: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the CTS Handshake's parameter. - * @param param :CTS Handshake's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_CTSHandshake"UART_CTS_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_cts_handshake(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_CTS_DISABLE: - case UART_CTS_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the RTS Handshake's parameter. - * @param param :RTS Handshake's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RTSHandshake"UART_RTS_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rts_handshake(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_RTS_DISABLE: - case UART_RTS_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Complementation's parameter. - * @param param :Data Complementation's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_DataComplementation"UART_DATA_COMPLEMENTION_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_data_complemention(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_DATA_COMPLEMENTION_DISABLE: - case UART_DATA_COMPLEMENTION_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Direction's parameter. - * @param param :Data Direction's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_DataDirection"UART_DATA_DIRECTION_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_data_direction(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_DATA_DIRECTION_LSB: - case UART_DATA_DIRECTION_MSB: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Stop Bit's parameter. - * @param param :Stop Bit's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_StopBit"UART_STOP_BIT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_stop_bit(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_STOP_BIT_1: - case UART_STOP_BIT_2: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Bit's parameter. - * @param param :Parity Bit's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_ParityBit"UART_PARITY_BIT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_parity_bit(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_PARITY_BIT_ODD: - case UART_PARITY_BIT_EVEN: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Parity Enable's parameter. - * @param param :Parity Enable's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_ParityEnable"UART_PARITY_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_parity_enable(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_PARITY_DISABLE: - case UART_PARITY_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Data Length's parameter. - * @param param :Data Length's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_DataLength"UART_DATA_LENGTH_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_data_length(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_DATA_LENGTH_7: - case UART_DATA_LENGTH_8: - case UART_DATA_LENGTH_9: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Fill Level Range's parameter. - * @param param :Tx Fill Level Range's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_TxFillLevelRange"UART_TX_FILL_RANGE_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_fill_level_range(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - /*--- Now, UART_TX_FILL_RANGE_MIN is 0. ---*/ -#if 0 - if ((UART_TX_FILL_RANGE_MIN <= param) && (param <= UART_TX_FILL_RANGE_MAX)) -#else - if (param <= UART_TX_FILL_RANGE_MAX) -#endif - { - result = UART_PARAM_OK; - } - - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Fill Level's parameter. - * @param param :Rx Fill Level's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RxFillLevel"UART_RX_FILL_RANGE_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_fill_level_range(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - if ((UART_RX_FILL_RANGE_MIN <= param) && (param <= UART_RX_FILL_RANGE_MAX)) - { - result = UART_PARAM_OK; - } - - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx FIFO Interrpt's parameter. - * @param param :Tx FIFO Interrpt's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_TxFIFOInterrupt"UART_TX_FIFO_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_fifo_int(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_TX_FIFO_INT_DISABLE: - case UART_TX_FIFO_INT_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Tx Interrpt's parameter. - * @param param :Tx Interrpt's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_TxInterrupt"UART_TX_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_int(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_TX_INT_DISABLE: - case UART_TX_INT_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx FIFO Interrpt's parameter. - * @param param :Rx FIFO Interrpt's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RxFIFOInterrupt"UART_RX_FIFO_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_fifo_int(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_RX_FIFO_INT_DISABLE: - case UART_RX_FIFO_INT_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Rx Interrpt's parameter. - * @param param :Rx Interrpt's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RxInterrupt"UART_RX_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_int(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_RX_INT_DISABLE: - case UART_RX_INT_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Error Interrupt's parameter. - * @param param :Error Interrupt's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_ErrorInterrupt"UART_ERR_INT_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_err_int(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_ERR_INT_DISABLE: - case UART_ERR_INT_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Prescaler's parameter. - * @param param :Prescaler's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_Prescaler"UART_PLESCALER_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_prescaler(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_PLESCALER_1: - case UART_PLESCALER_2: - case UART_PLESCALER_4: - case UART_PLESCALER_8: - case UART_PLESCALER_16: - case UART_PLESCALER_32: - case UART_PLESCALER_64: - case UART_PLESCALER_128: - case UART_PLESCALER_256: - case UART_PLESCALER_512: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} -/*--------------------------------------------------*/ -/** - * @brief Check the Division's parameter. - * @param param :Division's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_Division"UART_DIVISION_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_division(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - switch (param) - { - case UART_DIVISION_DISABLE: - case UART_DIVISION_ENABLE: - result = UART_PARAM_OK; - break; - default: - /* no process */ - break; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Range K's parameter. - * @param param :Range K's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RangeK"UART_RANGE_K_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rangeK(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - /*--- Now, UART_RANGE_K_MIN is 0. ---*/ -#if 0 - if ((UART_RANGE_K_MIN <= param) && (param <= UART_RANGE_K_MAX)) -#else - if (param <= UART_RANGE_K_MAX) -#endif - { - result = UART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the Range N's parameter. - * @param param :Range N's parameter - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note Macro definition is @ref UART_RangeN"UART_RANGE_N_xxxx". - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rangeN(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - if ((UART_RANGE_N_MIN <= param) && (param <= UART_RANGE_N_MAX)) - { - result = UART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the num of buff for transmit. - * @param param :Num of buff. - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_tx_buff_num(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - if (param != 0) - { - result = UART_PARAM_OK; - } - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Check the num of buff for receive. - * @param param :Num of buff. - * @retval UART_PARAM_OK :Valid - * @retval UART_PARAM_NG :Invalid - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE int32_t check_param_rx_buff_num(uint32_t param) -{ - int32_t result = UART_PARAM_NG; - - if (param >= 8) - { - result = UART_PARAM_OK; - } - - return (result); -} -#endif /* #ifdef DEBUG */ - -/*--------------------------------------------------*/ -/** - * @brief Convert Tx FIFO fill level to register. - * @param level :Fill Level. - * @retval Register value. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE uint32_t convert_tx_fifo_fill_level_to_reg(uint32_t level) -{ - uint32_t result = (level << 12); - - return(result); -} - -/*--------------------------------------------------*/ -/** - * @brief Convert Rx FIFO fill level to register. - * @param level :Fill Level. - * @retval Register value. - * @note - - */ -/*--------------------------------------------------*/ -__STATIC_INLINE uint32_t convert_rx_fifo_fill_level_to_reg(uint32_t level) -{ - uint32_t result; - - if (level < 8) - { - result = (level << 8); - } - else - { - result = 0; - } - - return(result); -} - -#if (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) -/*--------------------------------------------------*/ -/** - * @brief Check the within error margin. - * @param boudrate :Boudrate(bps). - * @param clock :Clock(hz). - * @param p_clk :Select Clock Setting. - * @param boudrate :Boudrate(bps). - * @param k :K Value. Must be set "UART_RANGE_K_MIN <= k <=UART_RANGE_K_MAX" - * @param n :N Value. Must be set "UART_RANGE_N_MIN <= n <=UART_RANGE_N_MAX" - * @param p_range64 :Error range(after fixed point bit shift). - * @retval TXZ_SUCCESS :Within error margin. - * @retval TXZ_ERROR :Without error margin. - * @note For N+(64-K)/64 division. - */ -/*--------------------------------------------------*/ -static TXZ_Result verification_boudrate64(uint32_t clock, uart_clock_t *p_clk, uint32_t boudrate, uint32_t k, uint32_t n, uint64_t *p_range64) -{ - TXZ_Result result = TXZ_ERROR; - uint64_t boud64 = 0; - uint64_t tx64 = 0; - uint64_t work64 = 0; - - /* phi Tx */ - uint32_t prescaler = (p_clk->prsel >> 4); - - work64 = (uint64_t)((uint64_t)1 << prescaler); - tx64 = (uint64_t)((uint64_t)clock << (UART_CFG_BOUDRATE_FIXED_POINT_BIT+2)); - tx64 /= work64; - - /* Bourate */ - boud64 = (uint64_t)((uint64_t)boudrate << UART_CFG_BOUDRATE_FIXED_POINT_BIT); - *p_range64 = ((boud64/100)*UART_CFG_BOUDRATE_ERROR_RANGE); - /* BourateX */ - work64 = (uint64_t)((uint64_t)n << 6); - work64 = (uint64_t)(work64 + (64-(uint64_t)k)); - work64 = (tx64 / work64); - if (boud64 >= *p_range64) - { - if (((boud64 - *p_range64) <= work64) && (work64 <= (boud64 + *p_range64))) - { - if( boud64 < work64 ) - { - *p_range64 = (work64 - boud64); - } - else - { - *p_range64 = (boud64 - work64); - } - result = TXZ_SUCCESS; - } - } - - return (result); -} -#endif /* #if (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) */ - -/** - * @} - */ /* End of group UART_Private_functions */ - - -/*------------------------------------------------------------------------------*/ -/* Public Function */ -/*------------------------------------------------------------------------------*/ -/** - * @addtogroup UART_Exported_functions - * @{ - */ -/*--------------------------------------------------*/ -/** - * @brief Initialize the UART object. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_init(uart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(check_param_prescaler(p_obj->init.clock.prsel)); - assert_param(check_param_division(p_obj->init.boudrate.ken)); - assert_param(check_param_rangeK(p_obj->init.boudrate.brk)); - assert_param(check_param_rangeN(p_obj->init.boudrate.brn)); - assert_param(check_param_tx_int(p_obj->init.inttx)); - assert_param(check_param_rx_int(p_obj->init.intrx)); - assert_param(check_param_err_int(p_obj->init.interr)); - assert_param(check_param_tx_fifo_int(p_obj->init.txfifo.inttx)); - assert_param(check_param_tx_fill_level_range(p_obj->init.txfifo.level)); - assert_param(check_param_rx_fifo_int(p_obj->init.rxfifo.intrx)); - assert_param(check_param_rx_fill_level_range(p_obj->init.rxfifo.level)); - assert_param(check_param_noize_filter(p_obj->init.nf)); - assert_param(check_param_cts_handshake(p_obj->init.ctse)); - assert_param(check_param_rts_handshake(p_obj->init.rtse)); - assert_param(check_param_data_complemention(p_obj->init.iv)); - assert_param(check_param_data_direction(p_obj->init.dir)); - assert_param(check_param_stop_bit(p_obj->init.sblen)); - assert_param(check_param_parity_bit(p_obj->init.even)); - assert_param(check_param_parity_enable(p_obj->init.pe)); - assert_param(check_param_data_length(p_obj->init.sm)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* SW Reset */ - /*------------------------------*/ - /*--- UARTxSWRST ---*/ - /* SW Reset initializes UARTxTRANS, UARTxDR, UARTxSR, UARTxERR. */ - /* Wait to "SWRSTF = 0". */ - while (((p_obj->p_instance->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) - { - /* no process */ - } - /* Write to SWRST(=10). */ - p_obj->p_instance->SWRST = UARTxSWRST_SWRST_10; - /* Write to SWRST(=01). */ - p_obj->p_instance->SWRST = UARTxSWRST_SWRST_01; - /* Wait to "SWRSTF = 0". */ - while (((p_obj->p_instance->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) - { - /* no process */ - } - /*------------------------------*/ - /* FIFO Clear */ - /*------------------------------*/ - /*--- UARTxFIFOCLR ---*/ - /* Write to TFCLR(=1), and RFCLR(=1) */ - p_obj->p_instance->FIFOCLR = (UARTxFIFOCLR_TFCLR_CLEAR | UARTxFIFOCLR_RFCLR_CLEAR); - /*------------------------------*/ - /* Register Setting */ - /*------------------------------*/ - /*--- UARTxCLK ---*/ - /* Reflecting "p_obj->init.clk" */ - p_obj->p_instance->CLK = (p_obj->init.clock.prsel & UART_UARTxCLK_MASK); - /*--- UARTxBRD ---*/ - /* Reflecting "p_obj->init.brd" */ - /* Be careful, BRK needs to bit shit. */ - { - uint32_t brk = (p_obj->init.boudrate.brk << 16); - p_obj->p_instance->BRD = (p_obj->init.boudrate.ken | brk | p_obj->init.boudrate.brn); - } - /*--- UARTxCR0 ---*/ - /* Reflecting "p_obj->init.cnt0" */ - p_obj->p_instance->CR0 = (p_obj->init.hct | p_obj->init.hcm | - p_obj->init.hcc | p_obj->init.lbc | - p_obj->init.nf | p_obj->init.ctse | - p_obj->init.rtse | p_obj->init.iv | - p_obj->init.dir | p_obj->init.sblen | - p_obj->init.even | p_obj->init.pe | - p_obj->init.sm); - /*--- UARTxCR1 ---*/ - /* Reflecting "p_obj->init.cnt1" */ - /* Fixed: "DMATE=0", "DMARE=0". */ - /* Be careful, "TIL", "RIL" need to bit shit. */ - p_obj->p_instance->CR1 = (convert_tx_fifo_fill_level_to_reg(p_obj->init.txfifo.level) | - convert_rx_fifo_fill_level_to_reg(p_obj->init.rxfifo.level) | - p_obj->init.txfifo.inttx | p_obj->init.inttx | - p_obj->init.rxfifo.intrx | p_obj->init.intrx | - p_obj->init.interr); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Release the UART object. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_deinit(uart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to BK(=0), TXTRG(=0), TXE(=0), RXE(=0) */ - p_obj->p_instance->TRANS = (UARTxTRANS_BK_STOP | UARTxTRANS_TXTRG_DISABLE | - UARTxTRANS_TXE_DISABLE | UARTxTRANS_RXE_DISABLE); - /*--- UARTxCR1 ---*/ - p_obj->p_instance->CR1 = 0; - /*--- UARTxCR0 ---*/ - p_obj->p_instance->CR0 = 0; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard transmit. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears transmit's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_discard_transmit(uart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t trans = 0; - uint32_t count = 10000000; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Read current UARTxTRANS value. */ - trans = p_obj->p_instance->TRANS; - /* Write to BK(=0), TXTRG(=0), TXE(=0), RXE(=0) */ - p_obj->p_instance->TRANS = (UARTxTRANS_BK_STOP | UARTxTRANS_TXTRG_DISABLE | - UARTxTRANS_TXE_DISABLE | UARTxTRANS_RXE_DISABLE); - /*------------------------------*/ - /* Refresh Setting */ - /*------------------------------*/ - /*--- UARTxSR ---*/ - /* Clear the transmit's end flag. */ - /* Write to TXEND(=1), and TXFF(=1). */ - p_obj->p_instance->SR = (UARTxSR_TXEND_W_CLEAR | UARTxSR_TXFF_W_CLEAR); - while((p_obj->p_instance->SR & UART_TX_STATE_MASK) == UART_TX_STATE_RUN) - { - if(--count == 0) - { - break; - } - } - /*--- UARTxFIFOCLR ---*/ - /* Clear the transmit's FIFO. */ - /* Write to TFCLR(=1). */ - p_obj->p_instance->FIFOCLR = (UARTxFIFOCLR_TFCLR_CLEAR); - /*--- UARTxERR ---*/ - /* Clear the trigger error flag. */ - /* Write to TRGERR(=1). */ - p_obj->p_instance->ERR = (UARTxERR_TRGERR_W_CLEAR); - /*------------------------------*/ - /* Enable Receive */ - /*------------------------------*/ - /* Return RXE setting to UARTxTRANS */ - p_obj->p_instance->TRANS = (trans & UARTxTRANS_RXE_MASK); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Discard receive. - * @param p_obj :UART object. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note This function clears receive's fifo, end flag and error info. - * @attention This function is not available in interrupt. - * @attention Use after interrupt is disabled. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_discard_receive(uart_t *p_obj) -{ - TXZ_Result result = TXZ_SUCCESS; - uint32_t trans = 0; - uint32_t count = 10000000; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transfer */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Read current UARTxTRANS value. */ - trans = p_obj->p_instance->TRANS; - /* Write to BK(=0), TXTRG(=0), TXE(=0), RXE(=0) */ - p_obj->p_instance->TRANS = (UARTxTRANS_BK_STOP | UARTxTRANS_TXTRG_DISABLE | - UARTxTRANS_TXE_DISABLE | UARTxTRANS_RXE_DISABLE); - /*------------------------------*/ - /* Refresh Setting */ - /*------------------------------*/ - /*--- UARTxSR ---*/ - /* Clear the receive's end flag. */ - /* Write to RXEND(=1), and RXFF(=1). */ - p_obj->p_instance->SR = (UARTxSR_RXEND_W_CLEAR | UARTxSR_RXFF_W_CLEAR); - while((p_obj->p_instance->SR & UART_RX_STATE_MASK) == UART_RX_STATE_RUN) - { - if(--count == 0) - { - break; - } - } - /*--- UARTxFIFOCLR ---*/ - /* Clear the transmit's FIFO. */ - /* Write to RFCLR(=1). */ - p_obj->p_instance->FIFOCLR = (UARTxFIFOCLR_RFCLR_CLEAR); - /*--- UARTxERR ---*/ - /* Clear the trigger error flag. */ - /* Write to OVRERR(=1), PERR(=1), and FERR(=1), BERR(=1) */ - p_obj->p_instance->ERR = (UARTxERR_OVRERR_W_CLEAR | UARTxERR_PERR_W_CLEAR | - UARTxERR_FERR_W_CLEAR | UARTxERR_BERR_W_CLEAR); - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /* Return TXE setting to UARTxTRANS */ - p_obj->p_instance->TRANS = (trans & (UARTxTRANS_BK_MASK | UARTxTRANS_TXTRG_MASK | UARTxTRANS_TXE_MASK)); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Transmit data. Non-Blocking Communication. - * @param p_obj :UART object. - * @param p_info :The information of transmit data. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Asynchronous Processing. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_transmitIt(uart_t *p_obj, uart_transmit_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if (p_obj->init.sm == UART_DATA_LENGTH_9 ) - { - /* 9 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx16.p_data)); - assert_param(check_param_tx_buff_num(p_info->tx16.num)); - } - else - { - /* 7/8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->tx8.p_data)); - assert_param(check_param_tx_buff_num(p_info->tx8.num)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to TXE(=0). */ - /* Bitband Access. */ - disable_UARTxTRANS_TXE(p_obj->p_instance); - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - p_obj->transmit.rp = 0; - if (p_obj->init.sm == UART_DATA_LENGTH_9) - { - /* 9 bit */ - p_obj->transmit.info.tx16.p_data = p_info->tx16.p_data; - p_obj->transmit.info.tx16.num = p_info->tx16.num; - } - else - { - /* 7/8 bit */ - p_obj->transmit.info.tx8.p_data = p_info->tx8.p_data; - p_obj->transmit.info.tx8.num = p_info->tx8.num; - } - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - { - /*--- UARTxSR ---*/ - /* Read FIFO fill level. */ - /* Read current TLVL. */ - uint32_t tlvl = (p_obj->p_instance->SR & UARTxSR_TLVL_MASK); - tlvl >>= 8; - /* FIFO Max = UART_TX_FIFO_MAX */ - if (tlvl > UART_TX_FIFO_MAX) - { - tlvl = UART_TX_FIFO_MAX; - } - /* Empty FIFO Num */ - { - uint32_t work = tlvl; - tlvl = (UART_TX_FIFO_MAX - work); - } - /*--- UARTxDR ---*/ - /* Only the empty number of FIFO is a transmission data set. */ - { - uint32_t i = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - /* Set data to FIFO. */ - for (i=0; (i < tlvl) && (loopBreak == TXZ_BUSY); i++) - { - switch (p_obj->init.sm) - { - case UART_DATA_LENGTH_9: - if (p_obj->transmit.info.tx16.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx16.p_data + p_obj->transmit.rp) & UARTxDR_DR_9BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case UART_DATA_LENGTH_8: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & UARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case UART_DATA_LENGTH_7: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = ((uint32_t)*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & UARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - default: - /* no process */ - break; - } - } - } - } - /*------------------------------*/ - /* Enable Transmit */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to TXE(=1). */ - /* Bitband Access. */ - enable_UARTxTRANS_TXE(p_obj->p_instance); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Receive data. Non-Blocking Communication. - * @param p_obj :UART object. - * @param p_info :The information of receive buffer. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note Asynchronous Processing. - * @attention "p_info->rx8(or rx16).num" must be over FIFO max(Refer @ref UART_FifoMax) num. - * @attention This function is not available in interrupt. - */ -/*--------------------------------------------------*/ -TXZ_Result uart_receiveIt(uart_t *p_obj, uart_receive_t *p_info) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_info)); - /* Check the parameter of transmit. */ - if (p_obj->init.sm == UART_DATA_LENGTH_9 ) - { - /* 9 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx16.p_data)); - assert_param(check_param_rx_buff_num(p_info->rx16.num)); - } - else - { - /* 7/8 bit */ - assert_param(IS_POINTER_NOT_NULL(p_info->rx8.p_data)); - assert_param(check_param_rx_buff_num(p_info->rx8.num)); - } -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /* Write to RXE(=0). */ - /* Bitband Access. */ - disable_UARTxTRANS_RXE(p_obj->p_instance); - /*------------------------------*/ - /* Information Setting */ - /*------------------------------*/ - if (p_obj->init.sm == UART_DATA_LENGTH_9 ) - { - /* 9 bit */ - p_obj->receive.info.rx16.p_data = p_info->rx16.p_data; - p_obj->receive.info.rx16.num = p_info->rx16.num; - } - else - { - /* 7/8 bit */ - p_obj->receive.info.rx8.p_data = p_info->rx8.p_data; - p_obj->receive.info.rx8.num = p_info->rx8.num; - } - /*------------------------------*/ - /* Enable Receive */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to RXE(=1). */ - /* Bitband Access. */ - enable_UARTxTRANS_RXE(p_obj->p_instance); - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for transmit. - * @param p_obj :UART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void uart_transmit_irq_handler(uart_t *p_obj) -{ - uint32_t trans; - uint32_t status; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current UARTxTRANS */ - trans = p_obj->p_instance->TRANS; - /*------------------------------*/ - /* Status Registar Control */ - /*------------------------------*/ - /* Read current UARTxSR. */ - status = p_obj->p_instance->SR; - /* Clear the transmit's end flag. */ - /* Write to TXEND(=1), and TXFF(=1). */ - p_obj->p_instance->SR = (UARTxSR_TXEND_W_CLEAR | UARTxSR_TXFF_W_CLEAR); - /*------------------------------*/ - /* Transmit Status Check */ - /*------------------------------*/ - if ((trans & UARTxTRANS_TXE_MASK) == UARTxTRANS_TXE_ENABLE) - { - /*---- UARTxSR ---*/ - /* Check the transmit's end flag. */ - if (((status & UARTxSR_TXEND_MASK) == UARTxSR_TXEND_R_END) || - ((status & UARTxSR_TXFF_MASK) == UARTxSR_TXFF_R_REACHED)) - { - TXZ_WorkState txDone = TXZ_BUSY; - /* Read FIFO fill level. */ - uint32_t tlvl = (status & UARTxSR_TLVL_MASK); - tlvl >>= 8; - /* FIFO Max = UART_TX_FIFO_MAX */ - if (tlvl > UART_TX_FIFO_MAX) - { - tlvl = UART_TX_FIFO_MAX; - } - /* Get the empty num in FIFO. */ - { - uint32_t work = tlvl; - tlvl = (UART_TX_FIFO_MAX - work); - } - if (tlvl == UART_TX_FIFO_MAX) - { - switch (p_obj->init.sm) - { - case UART_DATA_LENGTH_9: - if (p_obj->transmit.info.tx16.num <= p_obj->transmit.rp) - { - txDone = TXZ_DONE; - } - break; - default: - if (p_obj->transmit.info.tx8.num <= p_obj->transmit.rp) - { - txDone = TXZ_DONE; - } - break; - } - } - if (txDone == TXZ_DONE) - { - /*=== Transmit Done!! ===*/ - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to TXE(=0). */ - /* Bitband Access. */ - disable_UARTxTRANS_TXE(p_obj->p_instance); - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->transmit.handler != UART_NULL) - { - /* Call the transmit handler with TXZ_SUCCESS. */ - p_obj->transmit.handler(p_obj->init.id, TXZ_SUCCESS); - } - } - else - { - /*=== Transmit Continue ===*/ - /*------------------------------*/ - /* Data Setting */ - /*------------------------------*/ - /*--- UARTxDR ---*/ - /* Only the empty number of FIFO is a transmission data set. */ - uint32_t i = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - /* Set data to FIFO. */ - for (i=0; (i < tlvl) && (loopBreak == TXZ_BUSY); i++) - { - switch (p_obj->init.sm) - { - case UART_DATA_LENGTH_9: - if (p_obj->transmit.info.tx16.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = (*(p_obj->transmit.info.tx16.p_data + p_obj->transmit.rp) & UARTxDR_DR_9BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case UART_DATA_LENGTH_8: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = (*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & UARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - case UART_DATA_LENGTH_7: - if (p_obj->transmit.info.tx8.num > p_obj->transmit.rp) - { - p_obj->p_instance->DR = (*(p_obj->transmit.info.tx8.p_data + p_obj->transmit.rp) & UARTxDR_DR_8BIT_MASK); - p_obj->transmit.rp += 1; - } - else - { - loopBreak = TXZ_DONE; - } - break; - default: - /* no process */ - break; - } - } - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for receive. - * @param p_obj :UART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void uart_receive_irq_handler(uart_t *p_obj) -{ - uint32_t trans; - uint32_t status; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current UARTxTRANS */ - trans = p_obj->p_instance->TRANS; - /*------------------------------*/ - /* Status Registar Control */ - /*------------------------------*/ - /* Read current UARTxSR. */ - status = p_obj->p_instance->SR; - /* Clear the transmit's end flag. */ - /* Write to RXEND(=1), and RXFF(=1). */ - p_obj->p_instance->SR = (UARTxSR_RXEND_W_CLEAR | UARTxSR_RXFF_W_CLEAR); - /*------------------------------*/ - /* Receive Status Check */ - /*------------------------------*/ - if ((trans & UARTxTRANS_RXE_MASK) == UARTxTRANS_RXE_ENABLE) - { - /* Check the receive's end flag. */ - if (((status & UARTxSR_RXEND_MASK) == UARTxSR_RXEND_R_END) || - ((status & UARTxSR_RXFF_MASK) == UARTxSR_RXFF_R_REACHED)) - { - /* Read FIFO fill level. */ - uint32_t rlvl = (status & UARTxSR_RLVL_MASK); - /* FIFO Max = UART_RX_FIFO_MAX */ - if (rlvl > UART_RX_FIFO_MAX) - { - rlvl = UART_RX_FIFO_MAX; - } - /*------------------------------*/ - /* Data Read */ - /*------------------------------*/ - /* Read FIFO data. */ - if (rlvl != 0) - { - uint32_t i; - for (i=0; iinit.sm) - { - case UART_DATA_LENGTH_9: - *(p_obj->receive.info.rx16.p_data + i) = (uint16_t)(p_obj->p_instance->DR & UARTxDR_DR_9BIT_MASK); - break; - case UART_DATA_LENGTH_8: - *(p_obj->receive.info.rx8.p_data + i) = (uint8_t)(p_obj->p_instance->DR & UARTxDR_DR_8BIT_MASK); - break; - case UART_DATA_LENGTH_7: - *(p_obj->receive.info.rx8.p_data + i) = (uint8_t)(p_obj->p_instance->DR & UARTxDR_DR_7BIT_MASK); - break; - default: - /* no process */ - break; - } - } - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != UART_NULL) - { - uart_receive_t param; - - if (p_obj->init.sm == UART_DATA_LENGTH_9) - { - param.rx16.p_data = p_obj->receive.info.rx16.p_data; - param.rx16.num = rlvl; - } - else - { - param.rx8.p_data = p_obj->receive.info.rx8.p_data; - param.rx8.num = rlvl; - } - /* Call the receive handler with TXZ_SUCCESS. */ - p_obj->receive.handler(p_obj->init.id, TXZ_SUCCESS, ¶m); - } - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief IRQ Handler for error. - * @param p_obj :UART object. - * @retval - - * @note - - */ -/*--------------------------------------------------*/ -void uart_error_irq_handler(uart_t *p_obj) -{ - uint32_t trans; - uint32_t error; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Trans Registar */ - /*------------------------------*/ - /* Read current UARTxTRANS */ - trans = p_obj->p_instance->TRANS; - /*------------------------------*/ - /* Error Registar Control */ - /*------------------------------*/ - /* Read current UARTxERR. */ - error = p_obj->p_instance->ERR; - /* Now, no clear the error flag. */ - /*------------------------------*/ - /* Error Check */ - /*------------------------------*/ - /*--- UARTxERR ---*/ - /* Check the transmit error. */ - /* TRGERR */ - if ((error & UARTxERR_TRGERR_MASK) == UARTxERR_TRGERR_R_ERR) - { - /*------------------------------*/ - /* Transmit Check */ - /*------------------------------*/ - if ((trans & UARTxTRANS_TXE_MASK) == UARTxTRANS_TXE_ENABLE) - { - /*------------------------------*/ - /* Disable Transmit */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to TXE(=0). */ - /* Bitband Access. */ - disable_UARTxTRANS_TXE(p_obj->p_instance); - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->transmit.handler != UART_NULL) - { - /* Call the transmit handler with TXZ_ERROR. */ - p_obj->transmit.handler(p_obj->init.id, TXZ_ERROR); - } - } - } - /* Check the receive error. */ - { - TXZ_Result err = TXZ_SUCCESS; - /* OVRERR */ - if ((error & UARTxERR_OVRERR_MASK) == UARTxERR_OVRERR_R_ERR) - { - err = TXZ_ERROR; - } - /* PERR */ - if ((error & UARTxERR_PERR_MASK) == UARTxERR_PERR_R_ERR) - { - err = TXZ_ERROR; - } - /* FERR */ - if ((error & UARTxERR_FERR_MASK) == UARTxERR_FERR_R_ERR) - { - err = TXZ_ERROR; - } - /* BERR */ - if ((error & UARTxERR_BERR_MASK) == UARTxERR_BERR_R_ERR) - { - err = TXZ_ERROR; - } - if (err == TXZ_ERROR) - { - /*------------------------------*/ - /* Receive Check */ - /*------------------------------*/ - if ((trans & UARTxTRANS_RXE_MASK) == UARTxTRANS_RXE_ENABLE) - { - /*------------------------------*/ - /* Disable Receive */ - /*------------------------------*/ - /*--- UARTxTRANS ---*/ - /* Write to RXE(=0). */ - /* Bitband Access. */ - disable_UARTxTRANS_RXE(p_obj->p_instance); - /*------------------------------*/ - /* Call Handler */ - /*------------------------------*/ - if (p_obj->receive.handler != UART_NULL) - { - /* Call the receive handler with TXZ_ERROR. */ - p_obj->receive.handler(p_obj->init.id, TXZ_ERROR, UART_NULL); - } - } - } - } -} - -/*--------------------------------------------------*/ -/** - * @brief Get status. - * @details Status bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31 | SUE | Setting Enable Flag. Use @ref UART_SettingEnable. | - * | 30-16 | - | - | - * | 15 | TXRUN | Transmitting State Flag. Use @ref UART_TxState. | - * | 14 | TXEND | Transmitting Done Flag. Use @ref UART_TxDone. | - * | 13 | TXFF | Reach Transmitting Fill Level Flag. Use @ref UART_TxReachFillLevel. | - * | 12 | - | - | - * | 11-8 | TLVL | Current Transmitting FIFO Level. Use @ref UART_TxFifoLevel | - * | 7 | RXRUN | Receive State Flag. Use @ref UART_RxState. | - * | 6 | RXEND | Receive Done Flag. Use @ref UART_RxDone. | - * | 5 | RXFF | Reach Receive Fill Level Flag. Use @ref UART_RxReachFillLevel | - * | 4 | - | - | - * | 3-0 | RLVL | Current Receive FIFO Level. Use @ref UART_RxFifoLevel | - * - * @param p_obj :UART object. - * @param p_status :Save area for status. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result uart_get_status(uart_t *p_obj, uint32_t *p_status) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_status)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Status Read */ - /*------------------------------*/ - /*--- UARTxSR ---*/ - /* Read current UARTxSR. */ - *p_status = p_obj->p_instance->SR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Get error information. - * @details Error bits. - * | Bit | Bit Symbol | Function | - * | :--- | :--- | :--- | - * | 31-5 | - | - | - * | 4 | TRGERR | Transmitting Trigger Error. Use @ref UART_TriggerErr. | - * | 3 | OVRERR | Overrun Error. Use @ref UART_OverrunErr. | - * | 2 | PERR | Parity Error. Use @ref UART_ParityErr. | - * | 1 | FERR | Framing Error. Use @ref UART_FramingErr. | - * | 0 | BERR | Break Error Flag. Use @ref UART_BreakErr. | - * - * @param p_obj :UART object. - * @param p_error :Save area for error. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Failure. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result uart_get_error(uart_t *p_obj, uint32_t *p_error) -{ - TXZ_Result result = TXZ_SUCCESS; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the UART_NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_obj)); - assert_param(IS_POINTER_NOT_NULL(p_obj->p_instance)); - assert_param(IS_POINTER_NOT_NULL(p_error)); -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Error Read */ - /*------------------------------*/ - /*--- UARTxERR ---*/ - /* Read current UARTxERR. */ - *p_error = p_obj->p_instance->ERR; - - return (result); -} - -/*--------------------------------------------------*/ -/** - * @brief Get the setting of boudrate. - * @param clock :Clock(hz) "Phi T0" or "Clock Input A" or "Clock Input B". - * @param p_clk :Select Clock Setting. - * @param boudrate :Boudrate(bps). - * @param p_brd :Save area for Division Setting. - * @retval TXZ_SUCCESS :Success. - * @retval TXZ_ERROR :Not support setting. - * @note - - */ -/*--------------------------------------------------*/ -TXZ_Result uart_get_boudrate_setting(uint32_t clock, uart_clock_t *p_clk, uint32_t boudrate, uart_boudrate_t *p_brd) -{ - TXZ_Result result = TXZ_ERROR; -#if (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) - uint64_t tx = 0; - uint64_t work = 0; - uint64_t range64 = 0; - - /*------------------------------*/ - /* Parameter Check */ - /*------------------------------*/ -#ifdef DEBUG - /* Check the NULL of address. */ - assert_param(IS_POINTER_NOT_NULL(p_clk)); - assert_param(IS_POINTER_NOT_NULL(p_brd)); - /* Check the parameter of UARTxCLK. */ -#endif /* #ifdef DEBUG */ - /*------------------------------*/ - /* Calculate Division Setting */ - /*------------------------------*/ - if ((clock > 0) && (boudrate > 0)) - { - /*--- phi Tx ---*/ - uint32_t prescaler = (p_clk->prsel >> 4); - - work = (uint64_t)((uint64_t)1 << prescaler); - tx = (uint64_t)((uint64_t)clock << UART_CFG_BOUDRATE_FIXED_POINT_BIT); - tx /= work; - - /*--- N+(64-K)/64 division ---*/ - { - uint8_t k = 0; - TXZ_WorkState loopBreak = TXZ_BUSY; - - work = ((uint64_t)boudrate); - tx /= work; - tx >>= 4; - for (k=UART_RANGE_K_MIN; (k <= UART_RANGE_K_MAX) && (loopBreak == TXZ_BUSY); k++) - { - work = tx + (uint64_t)k; - if (work >= (uint64_t)((uint64_t)1 << UART_CFG_BOUDRATE_FIXED_POINT_BIT)) - { - work -= (uint64_t)((uint64_t)1 << UART_CFG_BOUDRATE_FIXED_POINT_BIT); - work >>= UART_CFG_BOUDRATE_FIXED_POINT_BIT; /* Now, omit the figures below the decimal place. */ - if ((UART_RANGE_N_MIN <= (uint32_t)work) && ((uint32_t)work <= UART_RANGE_N_MAX)) - { - uint64_t workRange = 0; - - /* Verification */ - if (verification_boudrate64(clock, p_clk, boudrate, (uint32_t)k, (uint32_t)work, &workRange) == TXZ_SUCCESS) - { -#if (UART_CFG_GET_BOUDRATE_TYPE == UART_CFG_GET_BOUDRATE_TYPE_ALL) - /* Compare the previous range. */ - if (result == TXZ_SUCCESS) - { - if (range64 > workRange) - { - p_brd->ken = UART_DIVISION_ENABLE; - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - range64 = workRange; - } - } - else - { - p_brd->ken = UART_DIVISION_ENABLE; - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - range64 = workRange; - } - result = TXZ_SUCCESS; -#else - /* Finish!! */ - if (result == TXZ_SUCCESS) - { - if (range64 > workRange) - { - p_brd->ken = UART_DIVISION_ENABLE; - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - } - } - else - { - p_brd->ken = UART_DIVISION_ENABLE; - p_brd->brk = (uint32_t)k; - p_brd->brn = (uint32_t)work; - } - result = TXZ_SUCCESS; - loopBreak = TXZ_DONE; -#endif - } - } - } - } - } - } -#endif /* (UART_CFG_GET_BOUDRATE == UART_CFG_GET_BOUDRATE_ENABLE) */ - - return (result); -} - -/** - * @} - */ /* End of group UART_Exported_functions */ - -/** - * @} - */ /* End of group UART */ - -/** - * @} - */ /* End of group Periph_Driver */ - -#endif /* defined(__UART_H) */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/PeripheralNames.h b/targets/TARGET_TT/TARGET_TT_M4G9/PeripheralNames.h deleted file mode 100644 index ecef2da7544..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/PeripheralNames.h +++ /dev/null @@ -1,187 +0,0 @@ -/* mbed Microcontroller Library -* (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved -* SPDX-License-Identifier: Apache-2.0 -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -#ifndef MBED_PERIPHERALNAMES_H -#define MBED_PERIPHERALNAMES_H - -#include "PinNames.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SERIAL_0 = 0, - SERIAL_1, - SERIAL_2, - SERIAL_3, - SERIAL_4, - SERIAL_5, - SERIAL_6, - SERIAL_7, - INVALID_SERIAL = (int)NC -} UARTName; - -typedef enum { - DAC_0 = 0, - DAC_1, - INVALID_DAC = (int)NC -} DACName; - -typedef enum { - PWM_0 = 0, - PWM_1, - PWM_2, - PWM_3, - PWM_4, - PWM_5, - PWM_6, - PWM_7, - PWM_8, - PWM_9, - PWM_10, - PWM_11, - PWM_12, - INVALID_PWM = (int)NC -} PWMName; - -typedef enum { - ADC_A0, - ADC_A1, - ADC_A2, - ADC_A3, - ADC_A4, - ADC_A5, - ADC_A6, - ADC_A7, - ADC_A8, - ADC_A9, - ADC_A10, - ADC_A11, - ADC_A12, - ADC_A13, - ADC_A14, - ADC_A15, - ADC_A16, - ADC_A17, - ADC_A18, - ADC_A19, - ADC_A20, - ADC_A21, - ADC_A22, - ADC_A23, - INVALID_ADC = (int)NC -} ADCName; - -typedef enum { - I2C_0 = 0, - I2C_1, - I2C_2, - I2C_3, - I2C_4, - INVALID_I2C = (int)NC -} I2CName; - -typedef enum { - SPI_0 = 0, - SPI_1, - SPI_2, - SPI_3, - SPI_4, - SPI_5, - INVALID_SPI = (int)NC -} SPIName; - -typedef enum { - GPIO_IRQ_0 = 0, - GPIO_IRQ_1 = 1, - GPIO_IRQ_2 = 2, - GPIO_IRQ_3 = 3, - GPIO_IRQ_4 = 4, - GPIO_IRQ_5 = 5, - GPIO_IRQ_6 = 6, - GPIO_IRQ_7 = 7, - GPIO_IRQ_8 = 8, - GPIO_IRQ_9 = 9, - GPIO_IRQ_A = 10, - GPIO_IRQ_B = 11, - GPIO_IRQ_C = 12, - GPIO_IRQ_D = 13, - GPIO_IRQ_E = 14, - GPIO_IRQ_F = 15, - INVALID_GPIO_IRQ = (int)NC -} GPIO_IRQName; - -// DAP UART -#define STDIO_UART_TX USBTX -#define STDIO_UART_RX USBRX - -#define SERIAL_TX PU0 -#define SERIAL_RX PU1 - -#define STDIO_UART SERIAL_4 - -// TxD RxD -#define MBED_UART0 PE3, PE2 -#define MBED_UART1 PH1, PH0 -#define MBED_UART2 PG1, PG0 -#define MBED_UART3 PU7, PU6 -#define MBED_UART4 PM1, PM0 -#define MBED_UART5 PJ1, PJ0 -#define MBED_UART6 PG4, PG5 -#define MBED_UART7 PJ6, PJ7 -#define MBED_UARTUSB USBTX, USBRX - -// SDA SCK -#define MBED_I2C0 PG2, PG3 -#define MBED_I2C1 PF2, PF3 -#define MBED_I2C2 PG4, PG5 -#define MBED_I2C3 PJ6, PJ7 -#define MBED_I2C4 PJ3, PJ2 - -// MOSI, MISO, SCLK SS -#define MBED_SPI0 PA3, PA2, PA1, PA0 -#define MBED_SPI1 PL3, PL2, PL1, PL0 -#define MBED_SPI2 PA4, PA5, PA6, PA7 -#define MBED_SPI3 PK4, PK5, PK6, PK7 -#define MBED_SPI4 PD3, PD2, PD1, PD0 -#define MBED_SPI5 PM0, PM1, PM2, PM3 - -#define MBED_ANALOGIN0 A0 -#define MBED_ANALOGIN1 A1 -#define MBED_ANALOGIN2 A2 -#define MBED_ANALOGIN3 A3 -#define MBED_ANALOGIN4 A4 -#define MBED_ANALOGIN5 A5 - -#define MBED_PWMOUT0 PA5 -#define MBED_PWMOUT1 PB2 -#define MBED_PWMOUT2 PB4 -#define MBED_PWMOUT3 PD2 -#define MBED_PWMOUT4 PD4 -#define MBED_PWMOUT5 PE1 -#define MBED_PWMOUT6 PE6 -#define MBED_PWMOUT7 PC2 -#define MBED_PWMOUT8 PL6 -#define MBED_PWMOUT9 PC4 -#define MBED_PWMOUT10 PM2 -#define MBED_PWMOUT11 PU0 -#define MBED_PWMOUT12 PU6 - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/PinNames.h b/targets/TARGET_TT/TARGET_TT_M4G9/PinNames.h deleted file mode 100644 index 28b0b37b20d..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/PinNames.h +++ /dev/null @@ -1,139 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PINNAMES_H -#define MBED_PINNAMES_H - -#include "cmsis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define PIN_PORT(X) (((uint32_t)(X) >> 3) & 0xFF) -#define PIN_POS(X) ((uint32_t)(X) & 0x7) - -// Pin data, bit 31..16: Pin Function, bit 15..0: Pin Direction -#define PIN_DATA(FUNC, DIR) (int)(((FUNC) << 16) | ((DIR) << 0)) -#define PIN_FUNC(X) (((X) & 0xffff0000) >> 16) -#define PIN_DIR(X) ((X) & 0xffff) - -typedef enum { - PIN_INPUT, - PIN_OUTPUT, - PIN_INOUT -} PinDirection; - -typedef enum { - // TMPM4G9 Pin Names - PA0 = 0 << 3, PA1, PA2, PA3, PA4, PA5, PA6, PA7, - PB0 = 1 << 3, PB1, PB2, PB3, PB4, PB5, PB6, PB7, - PC0 = 2 << 3, PC1, PC2, PC3, PC4, PC5, PC6, PC7, - PD0 = 3 << 3, PD1, PD2, PD3, PD4, PD5, PD6, PD7, - PE0 = 4 << 3, PE1, PE2, PE3, PE4, PE5, PE6, PE7, - PF0 = 5 << 3, PF1, PF2, PF3, PF4, PF5, PF6, PF7, - PG0 = 6 << 3, PG1, PG2, PG3, PG4, PG5, PG6, PG7, - PH0 = 7 << 3, PH1, PH2, PH3, PH4, PH5, PH6, PH7, - PJ0 = 8 << 3, PJ1, PJ2, PJ3, PJ4, PJ5, PJ6, PJ7, - PK0 = 9 << 3, PK1, PK2, PK3, PK4, PK5, PK6, PK7, - PL0 = 10 << 3, PL1, PL2, PL3, PL4, PL5, PL6, PL7, - PM0 = 11 << 3, PM1, PM2, PM3, PM4, PM5, PM6, PM7, - PN0 = 12 << 3, PN1, PN2, PN3, PN4, PN5, PN6, PN7, - PP0 = 13 << 3, PP1, PP2, PP3, PP4, PP5, PP6, PP7, - PR0 = 14 << 3, PR1, PR2, PR3, PR4, PR5, PR6, PR7, - PT0 = 15 << 3, PT1, PT2, PT3, PT4, PT5, - PU0 = 16 << 3, PU1, PU2, PU3, PU4, PU5, PU6, PU7, - PV0 = 17 << 3, PV1, PV2, PV3, PV4, PV5, PV6, PV7, - PW0 = 18 << 3, PW1, PW2, PW3, PW4, PW5, PW6, PW7, - PY0 = 19 << 3, PY1, PY2, PY3, PY4, - - // Other mbed Pin Names - LED0 = PE4, - LED1 = PE5, - LED2 = PE6, - LED3 = PE7, - - // External data bus Pin Names - D0 = PJ0, - D1 = PJ1, - D2 = PF4, - D3 = PB2, - D4 = PF5, - D5 = PB4, - D6 = PC2, - D7 = PF6, - D8 = PA4, - D9 = PC4, - D10 = PA6, - D11 = PA3, - D12 = PA2, - D13 = PA1, - D14 = PG2, - D15 = PG3, - - // Analogue out pins - A0 = PN0, - A1 = PN1, - A2 = PN2, - A3 = PN3, - A4 = PN4, - A5 = PN5, - - // USB2_UART - USBTX = PU0, - USBRX = PU1, - MBEDIF_TXD = USBTX, - MBEDIF_RXD = USBRX, - - MBED_CONF_APP_UART0_TX = PE3, - MBED_CONF_APP_UART0_RX = PE2, - - // Switches - SW1 = (int)0xFFFFFFFF, //Reset Button - SW2 = PL4, //Push button S2 - SW3 = PM0, //DIP switch J7_1 - SW4 = PM1, //DIP switch J7_2 - USER_BUTTON = PL4, - - // I2C pins - SDA = PG2, - SCL = PG3, - I2C_SDA = SDA, - I2C_SCL = SCL, - - // SPI pins - SPI_MOSI = D11, - SPI_MISO = D12, - SPI_SCK = D13, - SPI_CS = D10, - - - // Not connected - NC = (int)0xFFFFFFFF, -} PinName; - -typedef enum { - PullUp = 0, - PullDown, - PullNone, - OpenDrain, - PullDefault = PullDown -} PinMode; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/PortNames.h b/targets/TARGET_TT/TARGET_TT_M4G9/PortNames.h deleted file mode 100644 index 3a3a0bda28c..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/PortNames.h +++ /dev/null @@ -1,50 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PORTNAMES_H -#define MBED_PORTNAMES_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - PortA = 0, - PortB, - PortC, - PortD, - PortE, - PortF, - PortG, - PortH, - PortJ, - PortK, - PortL, - PortM, - PortN, - PortP, - PortR, - PortT, - PortU, - PortV, - PortW, - PortY -} PortName; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/analogin_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/analogin_api.c deleted file mode 100644 index 35a3f5fd79d..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/analogin_api.c +++ /dev/null @@ -1,138 +0,0 @@ -/* mbed Microcontroller Library -* (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved -* SPDX-License-Identifier: Apache-2.0 -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -#include "analogin_api.h" -#include "PeripheralNames.h" -#include "pinmap.h" -#include "mbed_wait_api.h" -#include "mbed_error.h" -#include "adc_include.h" - -#define ADC_12BIT_RANGE 0xFFF -#define CONVERSION_FLAG 0x4 - -static const PinMap PinMap_ADC[] = { - {PN0, ADC_A0, PIN_DATA(0, 0)}, - {PN1, ADC_A1, PIN_DATA(0, 0)}, - {PN2, ADC_A2, PIN_DATA(0, 0)}, - {PN3, ADC_A3, PIN_DATA(0, 0)}, - {PN4, ADC_A4, PIN_DATA(0, 0)}, - {PN5, ADC_A5, PIN_DATA(0, 0)}, - {PN6, ADC_A6, PIN_DATA(0, 0)}, - {PN7, ADC_A7, PIN_DATA(0, 0)}, - {PP0, ADC_A8, PIN_DATA(0, 0)}, - {PP1, ADC_A9, PIN_DATA(0, 0)}, - {PP2, ADC_A10, PIN_DATA(0, 0)}, - {PP3, ADC_A11, PIN_DATA(0, 0)}, - {PP4, ADC_A12, PIN_DATA(0, 0)}, - {PP5, ADC_A13, PIN_DATA(0, 0)}, - {PP6, ADC_A14, PIN_DATA(0, 0)}, - {PP7, ADC_A15, PIN_DATA(0, 0)}, - {PR0, ADC_A16, PIN_DATA(0, 0)}, - {PR1, ADC_A17, PIN_DATA(0, 0)}, - {PR2, ADC_A18, PIN_DATA(0, 0)}, - {PR3, ADC_A19, PIN_DATA(0, 0)}, - {PR4, ADC_A20, PIN_DATA(0, 0)}, - {PR5, ADC_A21, PIN_DATA(0, 0)}, - {PR6, ADC_A22, PIN_DATA(0, 0)}, - {PR7, ADC_A23, PIN_DATA(0, 0)}, - {NC, NC, 0} -}; - -void analogin_init(analogin_t *obj, PinName pin) -{ - // Check that pin belong to ADC module - obj->adc = (ADCName)pinmap_peripheral(pin, PinMap_ADC); - MBED_ASSERT(obj->adc != (ADCName)NC); - - // Enable ADC clock supply - TSB_CG_FSYSMENA_IPMENA03 = TXZ_ENABLE; - TSB_CG_SPCLKEN_ADCKEN = TXZ_ENABLE; - TSB_CG_SPCLKEN_TRCKEN = TXZ_ENABLE; - - // Enable clock for GPIO - if(obj->adc <= ADC_A7) { - TSB_CG_FSYSMENB_IPMENB14 = TXZ_ENABLE; - } else if(obj->adc <= ADC_A15) { - TSB_CG_FSYSMENB_IPMENB15 = TXZ_ENABLE; - } else { - TSB_CG_FSYSMENB_IPMENB16 = TXZ_ENABLE; - } - - // Set pin function as ADC - pinmap_pinout(pin, PinMap_ADC); - - // Initialize - obj->p_adc.p_instance = TSB_ADA; - obj->p_adc.init.clk.exaz0 = ADC_SAMPLING_PERIOD0_XN; - obj->p_adc.init.clk.exaz1 = ADC_SAMPLING_PERIOD1_XN; - obj->p_adc.init.clk.vadcld = ADC_SCLK_1; - obj->p_adc.init.mod1 = ADC_MOD1_SCLK_3; - obj->p_adc.init.mod2 = ADC_MOD2_TMPM4G9; - obj->p_adc.handler.single = NULL; - obj->p_adc.handler.continuity = NULL; - obj->p_adc.handler.trigger = NULL; - obj->p_adc.handler.highpriority = NULL; - - if (adc_init(&obj->p_adc) != TXZ_SUCCESS) { - error("Failed : ADC Initialization"); - } - - // ADC channel setting - obj->param.interrupt = ADC_INT_DISABLE; - obj->param.type = ADC_CONVERSION_SGL; - obj->param.ain = obj->adc; - - if (adc_channel_setting(&obj->p_adc, obj->param.ain, &obj->param) != TXZ_SUCCESS) { - error("Failed : ADC channel setting"); - } -} - -uint16_t analogin_read_u16(analogin_t *obj) -{ - uint32_t adc_result = 0; - - // Assert that ADC channel is valid - MBED_ASSERT(obj->adc != (ADCName)NC); - - if (adc_start(&obj->p_adc) == TXZ_SUCCESS) { - // adc started - } - - // wait for Continuous conversion program flag clear. - while((obj->p_adc.p_instance->ST & CONVERSION_FLAG)) { - // Do nothing... - } - - if (adc_channel_get_value(&obj->p_adc, obj->param.ain, &adc_result) != TXZ_SUCCESS) { - error("Failed : To read ADC converted result"); - } - - if (adc_stop(&obj->p_adc) != TXZ_SUCCESS) { - error("Failed : To Stop ADC Conversion"); - } - return (uint16_t)adc_result; -} - -float analogin_read(analogin_t *obj) -{ - uint16_t value = analogin_read_u16(obj); - return (float)(value * (1.0f / (float)ADC_12BIT_RANGE)); -} - -const PinMap *analogin_pinmap() -{ - return PinMap_ADC; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/analogout_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/analogout_api.c deleted file mode 100644 index bdbf9b3e4dd..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/analogout_api.c +++ /dev/null @@ -1,127 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "mbed_assert.h" -#include "cmsis.h" -#include "analogout_api.h" -#include "pinmap.h" - -#define REG_DAC_DAxCR_REN_DISABLE ((uint32_t)0x00000000) // DAC Control Disable. -#define REG_DAC_DAxCR_REN_ENABLE ((uint32_t)0x00000001) // DAC Control Enable. -#define DAC_RANGE (0xFF) // 8 bits -#define DAC_NB_BITS (8) -#define DAC0_CLR_IN_CLR_OUT (1) // As per TRM DAC pin inout mode should be neither in nor out -#define DAC1_CLR_IN_CLR_OUT (2) -#define MAX_ANALOG_VAL (1.0f) -#define MIN_ANALOG_VAL (0.0f) -#define MAX_DIGITAL_VAL (0xFF) -#define MIN_DIGITAL_VAL (0x00) - -static const PinMap PinMap_DAC[] = { - {PT0, DAC_0, PIN_DATA(0, 1)}, - {PT1, DAC_1, PIN_DATA(0, 1)}, - {NC, NC, 0} -}; - -static inline void dac_write(dac_t *obj,int val) -{ - // Set the DAC output - obj->DACx->REG = (val &= DAC_RANGE); -} - -static inline int dac_read(dac_t *obj) -{ - return ((obj->DACx->REG) & DAC_RANGE); -} - -void analogout_init(dac_t *obj, PinName pin) -{ - DACName dac_name = (DACName)pinmap_peripheral(pin, PinMap_DAC); - MBED_ASSERT(dac_name != (DACName)NC); - obj->dac = dac_name; - switch (dac_name) { - case DAC_0: - obj->DACx = TSB_DA0; - //Enable clock for DAC0 and Port T - TSB_CG_FSYSMENA_IPMENA04 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB17 = TXZ_ENABLE; - break; - case DAC_1: - obj->DACx = TSB_DA1; - //Enable clock for DAC1 and Port T - TSB_CG_FSYSMENA_IPMENA05 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB17 = TXZ_ENABLE; - break; - default: - break; - } - // Pinout the chosen DAC - pinmap_pinout(pin, PinMap_DAC); - //DAC pins as neither input and nor output - if(dac_name == DAC_0) { - TSB_PT->CR &= ~(DAC0_CLR_IN_CLR_OUT); - TSB_PT->IE &= ~(DAC0_CLR_IN_CLR_OUT); - } else if(dac_name == DAC_1) { - TSB_PT->CR &= ~(DAC1_CLR_IN_CLR_OUT); - TSB_PT->IE &= ~(DAC1_CLR_IN_CLR_OUT); - } else { - return; - } - - //Enable DAC - obj->DACx->CR = REG_DAC_DAxCR_REN_ENABLE; - analogout_write_u16(obj, MIN_DIGITAL_VAL); -} - -void analogout_free(dac_t *obj) -{ - obj->DACx->CR = REG_DAC_DAxCR_REN_DISABLE; - obj->dac = (DACName)NC; -} - -void analogout_write(dac_t *obj, float value) -{ - if (value < MIN_ANALOG_VAL) { - dac_write(obj, MIN_DIGITAL_VAL); - } else if (value > MAX_ANALOG_VAL) { - dac_write(obj,DAC_RANGE); - } else { - dac_write(obj, value * (float)DAC_RANGE); - } -} - -void analogout_write_u16(dac_t *obj, uint16_t value) -{ - // writing higher 8-bits to Data Register - dac_write(obj, (value >> (16 - DAC_NB_BITS))); -} - -float analogout_read(dac_t *obj) -{ - uint32_t value = dac_read(obj); - return (float)value * (MAX_ANALOG_VAL / (float)DAC_RANGE); -} - -uint16_t analogout_read_u16(dac_t *obj) -{ - uint32_t value = dac_read(obj); - //Upper and lower byte stored with read value - return ((value << (16 - DAC_NB_BITS)) | value); -} - -const PinMap *analogout_pinmap() -{ - return PinMap_DAC; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device.h b/targets/TARGET_TT/TARGET_TT_M4G9/device.h deleted file mode 100644 index d05e3ffe69c..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device.h +++ /dev/null @@ -1,24 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_DEVICE_H -#define MBED_DEVICE_H - -#define DEVICE_ID_LENGTH 32 - -#include "objects.h" -#include - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TMPM4G9.h b/targets/TARGET_TT/TARGET_TT_M4G9/device/TMPM4G9.h deleted file mode 100644 index 89371d636e8..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TMPM4G9.h +++ /dev/null @@ -1,6129 +0,0 @@ -/** - ******************************************************************************* - * @file TMPM4G9.h - * @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File for the - * TOSHIBA 'TMPM4G9' Device Series - * @version V1.0.9.0 - * $Date:: 2018-04-02 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -/** @addtogroup TOSHIBA_TXZ_MICROCONTROLLER - * @{ - */ - -/** @addtogroup TMPM4G9 - * @{ - */ - -#ifndef __TMPM4G9_H__ -#define __TMPM4G9_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** @addtogroup Configuration_of_CMSIS - * @{ - */ - -/** Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M4 Processor Exceptions Numbers ***************************************************************/ - NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /*!< 3 Cortex-M4 Hard Fault Interrupt */ - MemoryManagement_IRQn = -12, /*!< 4 Cortex-M4 Memory Management Interrupt */ - BusFault_IRQn = -11, /*!< 5 Cortex-M4 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /*!< 6 Cortex-M4 Usage Fault Interrupt */ - SVCall_IRQn = -5, /*!< 11 Cortex-M4 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /*!< 12 Cortex-M4 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /*!< 14 Cortex-M4 Pend SV Interrupt */ - SysTick_IRQn = -1, /*!< 15 Cortex-M4 System Tick Interrupt */ - -/****** TMPM4G9 Specific Interrupt Numbers *******************************************************************/ - INT00_IRQn = 0, /*!< Interrupt pin 00a/00b */ - INT01_IRQn = 1, /*!< Interrupt pin 01a/00b */ - INT02_IRQn = 2, /*!< Interrupt pin 02a/00b */ - INT03_IRQn = 3, /*!< Interrupt pin 03a/03b */ - INT04_IRQn = 4, /*!< Interrupt pin 04a/04b */ - INT05_IRQn = 5, /*!< Interrupt pin 05a/05b */ - INT06_IRQn = 6, /*!< Interrupt pin 06a/06b */ - INT07_IRQn = 7, /*!< Interrupt pin 07a/07b */ - INT08_IRQn = 8, /*!< Interrupt pin 08a/08b */ - INT09_IRQn = 9, /*!< Interrupt pin 09a/09b */ - INT10_IRQn = 10, /*!< Interrupt pin 10a/10b */ - INT11_IRQn = 11, /*!< Interrupt pin 11a/11b */ - INT12_IRQn = 12, /*!< Interrupt pin 12a/12b */ - INT13_IRQn = 13, /*!< Interrupt pin 13a/13b */ - INT14_IRQn = 14, /*!< Interrupt pin 14a/14b */ - INT15_IRQn = 15, /*!< Interrupt pin 15a/15b */ - INTRTC_IRQn = 16, /*!< Real time clock(XHz) interrupt */ - INTCEC0RX_IRQn = 17, /*!< CEC reception interrupt (channel 0) */ - INTCEC0TX_IRQn = 18, /*!< CEC transmission interrupt (channel 0) */ - INTISDA_IRQn = 19, /*!< Interval Sensing Detector Interrupt (Unit A) */ - INTISDB_IRQn = 20, /*!< Interval Sensing Detector Interrupt (Unit B) */ - INTISDC_IRQn = 21, /*!< Interval Sensing Detector Interrupt (Unit C) */ - INTRMC0_IRQn = 22, /*!< Remote control reception interrupt 0 */ - INTRMC1_IRQn = 23, /*!< Remote control reception interrupt 1 */ - INTLTTMR0_IRQn = 24, /*!< Long Term Timer Interrupt(channel 0) */ - INTHDMAATC_IRQn = 25, /*!< HDMA Complete of transfer(Unit A) */ - INTHDMAAERR_IRQn = 26, /*!< HDMA transfer error(Unit A) */ - INTHDMABTC_IRQn = 27, /*!< HDMA end of transfer(Unit B) */ - INTHDMABERR_IRQn = 28, /*!< HDMA transfer error(Unit B) */ - INTMDMAATC_IRQn = 29, /*!< MDMA Complete of transfer(Unit A) */ - INTT32A00_A_CT_IRQn = 30, /*!< T32A00 TimerA All Interrupt/Timer Interrupt C */ - INTT32A00_B_C01_CPC_IRQn = 31, /*!< T32A00 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A01_A_CT_IRQn = 32, /*!< T32A01 TimerA All Interrupt/Timer Interrupt C */ - INTT32A01_B_C01_CPC_IRQn = 33, /*!< T32A01 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A02_A_CT_IRQn = 34, /*!< T32A02 TimerA All Interrupt/Timer Interrupt C */ - INTT32A02_B_C01_CPC_IRQn = 35, /*!< T32A02 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A03_A_CT_IRQn = 36, /*!< T32A03 TimerA All Interrupt/Timer Interrupt C */ - INTT32A03_B_C01_CPC_IRQn = 37, /*!< T32A03 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A04_A_CT_IRQn = 38, /*!< T32A04 TimerA All Interrupt/Timer Interrupt C */ - INTT32A04_B_C01_CPC_IRQn = 39, /*!< T32A04 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A05_A_CT_IRQn = 40, /*!< T32A05 TimerA All Interrupt/Timer Interrupt C */ - INTT32A05_B_C01_CPC_IRQn = 41, /*!< T32A05 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A06_A_CT_IRQn = 42, /*!< T32A06 TimerA All Interrupt/Timer Interrupt C */ - INTT32A06_B_C01_CPC_IRQn = 43, /*!< T32A06 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A07_A_CT_IRQn = 44, /*!< T32A07 TimerA All Interrupt/Timer Interrupt C */ - INTT32A07_B_C01_CPC_IRQn = 45, /*!< T32A07 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A08_A_CT_IRQn = 46, /*!< T32A08 TimerA All Interrupt/Timer Interrupt C */ - INTT32A08_B_C01_CPC_IRQn = 47, /*!< T32A08 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A09_A_CT_IRQn = 48, /*!< T32A09 TimerA All Interrupt/Timer Interrupt C */ - INTT32A09_B_C01_CPC_IRQn = 49, /*!< T32A09 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A10_A_CT_IRQn = 50, /*!< T32A10 TimerA All Interrupt/Timer Interrupt C */ - INTT32A10_B_C01_CPC_IRQn = 51, /*!< T32A10 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A11_A_CT_IRQn = 52, /*!< T32A11 TimerA All Interrupt/Timer Interrupt C */ - INTT32A11_B_C01_CPC_IRQn = 53, /*!< T32A11 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A12_A_CT_IRQn = 54, /*!< T32A12 TimerA All Interrupt/Timer Interrupt C */ - INTT32A12_B_C01_CPC_IRQn = 55, /*!< T32A12 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTT32A13_A_CT_IRQn = 56, /*!< T32A13 TimerA All Interrupt/Timer Interrupt C */ - INTT32A13_B_C01_CPC_IRQn = 57, /*!< T32A13 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C*/ - INTEMG0_IRQn = 58, /*!< PMD0 EMG interrupt */ - INTOVV0_IRQn = 59, /*!< PMD0 OVV interrupt */ - INTPWM0_IRQn = 60, /*!< PMD0 interrupt */ - INTT0RX_IRQn = 61, /*!< TSPI/SIO reception (channel 0) */ - INTT0TX_IRQn = 62, /*!< TSPI/SIO transmit (channel 0) */ - INTT0ERR_IRQn = 63, /*!< TSPI/SIO error (channel 0) */ - INTT1RX_IRQn = 64, /*!< TSPI/SIO reception (channel 1) */ - INTT1TX_IRQn = 65, /*!< TSPI/SIO transmit (channel 1) */ - INTT1ERR_IRQn = 66, /*!< TSPI/SIO error (channel 1) */ - INTT2RX_IRQn = 67, /*!< TSPI/SIO reception (channel 2) */ - INTT2TX_IRQn = 68, /*!< TSPI/SIO transmit (channel 2) */ - INTT2ERR_IRQn = 69, /*!< TSPI/SIO error (channel 2) */ - INTT3RX_IRQn = 70, /*!< TSPI/SIO reception (channel 3) */ - INTT3TX_IRQn = 71, /*!< TSPI/SIO transmit (channel 3) */ - INTT3ERR_IRQn = 72, /*!< TSPI/SIO error (channel 3) */ - INTT4RX_IRQn = 73, /*!< TSPI/SIO reception (channel 4) */ - INTT4TX_IRQn = 74, /*!< TSPI/SIO transmit (channel 4) */ - INTT4ERR_IRQn = 75, /*!< TSPI/SIO error (channel 4) */ - INTT5RX_IRQn = 76, /*!< TSPI/SIO reception (channel 5) */ - INTT5TX_IRQn = 77, /*!< TSPI/SIO transmit (channel 5) */ - INTT5ERR_IRQn = 78, /*!< TSPI/SIO error (channel 5) */ - INTT6RX_IRQn = 79, /*!< TSPI/SIO reception (channel 6) */ - INTT6TX_IRQn = 80, /*!< TSPI/SIO transmit (channel 6) */ - INTT6ERR_IRQn = 81, /*!< TSPI/SIO error (channel 6) */ - INTT7RX_IRQn = 82, /*!< TSPI/SIO reception (channel 7) */ - INTT7TX_IRQn = 83, /*!< TSPI/SIO transmit (channel 7) */ - INTT7ERR_IRQn = 84, /*!< TSPI/SIO error (channel 7) */ - INTT8RX_IRQn = 85, /*!< TSPI/SIO reception (channel 8) */ - INTT8TX_IRQn = 86, /*!< TSPI/SIO transmit (channel 8) */ - INTT8ERR_IRQn = 87, /*!< TSPI/SIO error (channel 8) */ - INTSMI0_IRQn = 88, /*!< Serial Memory Interface Interrupt */ - INTUART0RX_IRQn = 89, /*!< UART reception (channel 0) */ - INTUART0TX_IRQn = 90, /*!< UART transmit (channel 0) */ - INTUART0ERR_IRQn = 91, /*!< UART error (channel 0) */ - INTUART1RX_IRQn = 92, /*!< UART reception (channel 1) */ - INTUART1TX_IRQn = 93, /*!< UART transmit (channel 1) */ - INTUART1ERR_IRQn = 94, /*!< UART error (channel 1) */ - INTUART2RX_IRQn = 95, /*!< UART reception (channel 2) */ - INTUART2TX_IRQn = 96, /*!< UART transmit (channel 2) */ - INTUART2ERR_IRQn = 97, /*!< UART error (channel 2) */ - INTUART3RX_IRQn = 98, /*!< UART reception (channel 3) */ - INTUART3TX_IRQn = 99, /*!< UART transmit (channel 3) */ - INTUART3ERR_IRQn = 100, /*!< UART error (channel 3) */ - INTUART4RX_IRQn = 101, /*!< UART reception (channel 4) */ - INTUART4TX_IRQn = 102, /*!< UART transmit (channel 4) */ - INTUART4ERR_IRQn = 103, /*!< UART error (channel 4) */ - INTUART5RX_IRQn = 104, /*!< UART reception (channel 5) */ - INTUART5TX_IRQn = 105, /*!< UART transmit (channel 5) */ - INTUART5ERR_IRQn = 106, /*!< UART error (channel 5) */ - INTFUART0_IRQn = 107, /*!< FUART Interrupt(channel 0) */ - INTFUART1_IRQn = 108, /*!< FUART Interrupt(channel 1) */ - INTI2C0_IRQn = 109, /*!< I2C0 transmission and reception interrupt */ - INTI2C0AL_IRQn = 110, /*!< I2C0 arbitration lost interrupt */ - INTI2C0BF_IRQn = 111, /*!< I2C0 bus free interrupt */ - INTI2C0NACK_IRQn = 112, /*!< I2C0 no ack interrupt */ - INTI2C1_IRQn = 113, /*!< I2C1 transmission and reception interrupt */ - INTI2C1AL_IRQn = 114, /*!< I2C1 arbitration lost interrupt */ - INTI2C1BF_IRQn = 115, /*!< I2C1 bus free interrupt */ - INTI2C1NACK_IRQn = 116, /*!< I2C1 no ack interrupt */ - INTI2C2_IRQn = 117, /*!< I2C2 transmission and reception interrupt */ - INTI2C2AL_IRQn = 118, /*!< I2C2 arbitration lost interrupt */ - INTI2C2BF_IRQn = 119, /*!< I2C2 bus free interrupt */ - INTI2C2NACK_IRQn = 120, /*!< I2C2 no ack interrupt */ - INTI2C3_IRQn = 121, /*!< I2C3 transmission and reception interrupt */ - INTI2C3AL_IRQn = 122, /*!< I2C3 arbitration lost interrupt */ - INTI2C3BF_IRQn = 123, /*!< I2C3 bus free interrupt */ - INTI2C3NACK_IRQn = 124, /*!< I2C3 no ack interrupt */ - INTI2C4_IRQn = 125, /*!< I2C4 transmission and reception interrupt */ - INTI2C4AL_IRQn = 126, /*!< I2C4 arbitration lost interrupt */ - INTI2C4BF_IRQn = 127, /*!< I2C4 bus free interrupt */ - INTI2C4NACK_IRQn = 128, /*!< I2C4 no ack interrupt */ - INTADACP0_IRQn = 129, /*!< ADC conversion monitoring function interrupt 0 */ - INTADACP1_IRQn = 130, /*!< ADC conversion monitoring function interrupt 1 */ - INTADATRG_IRQn = 131, /*!< ADC conversion triggered by General purpose is finished */ - INTADASGL_IRQn = 132, /*!< ADC conversion triggered by Single program is finished */ - INTADACNT_IRQn = 133, /*!< ADC conversion triggered by Continuity program is finished */ - INTADAHP_IRQn = 134, /*!< ADC High Priority AD conversion interrupt */ - INTFLDRDY_IRQn = 135, /*!< Data FLASH Ready interrupt */ - INTFLCRDY0_IRQn = 136, /*!< Code FLASH Area0/1 Ready interrupt */ - INTFLCRDY1_IRQn = 137, /*!< Code FLASH Area2 Ready interrupt */ - INTMDMAABERR_IRQn = 139, /*!< MDMA bus error(Unit A) */ - INTMDMAADERR_IRQn = 140 /*!< MDMA descriptor error(Unit A) */ -} IRQn_Type; - -/** Processor and Core Peripheral Section */ - -/* Configuration of the Cortex-M4 Processor and Core Peripherals */ -#define __CM4_REV 0x0001 /*!< Cortex-M4 Core Revision */ -#define __NVIC_PRIO_BITS 4 /*!< Number of Bits used for Priority Levels */ -#define __MPU_PRESENT 1 /*!< MPU present or not */ -#define __FPU_PRESENT 1 /*!< FPU present or not */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** @} */ /* End of group Configuration_of_CMSIS */ - -#include "core_cm4.h" /* Cortex-M4 processor and core peripherals */ -#include "system_TMPM4G9.h" /* TMPM4G9 System */ - -/** @addtogroup Device_Peripheral_registers - * @{ - */ - -/** Device Specific Peripheral registers structures */ - -/** - * @brief DMA Controller - */ -typedef struct -{ - __I uint32_t INTSTATUS; /*!< DMAC Interrupt Status Register */ - __I uint32_t INTTCSTATUS; /*!< DMAC Interrupt Terminal Count Status Register*/ - __O uint32_t INTTCCLEAR; /*!< DMAC Interrupt Terminal Count Clear Register */ - __I uint32_t INTERRORSTATUS; /*!< DMAC Interrupt Error Status Register */ - __O uint32_t INTERRCLR; /*!< DMAC Interrupt Error Clear Register */ - __I uint32_t RAWINTTCSTATUS; /*!< DMAC Raw Interrupt Terminal Count Status Register*/ - __I uint32_t RAWINTERRORSTATUS; /*!< DMAC Raw Error Interrupt Status Register */ - __I uint32_t ENBLDCHNS; /*!< DMAC Enabled Channel Register */ - __IO uint32_t SOFTBREQ; /*!< DMAC Software Burst Request Register */ - __IO uint32_t SOFTSREQ; /*!< DMAC Software Single Request Register */ - uint32_t RESERVED0[2]; - __IO uint32_t CONFIGURATION; /*!< DMAC Configuration Register */ - uint32_t RESERVED1[51]; - __IO uint32_t C0SRCADDR; /*!< DMAC Channel 0 Source Address Register */ - __IO uint32_t C0DESTADDR; /*!< DMAC Channel 0 Destination Address Register */ - __IO uint32_t C0LLI; /*!< DMAC Channel 0 Linked List Item Register */ - __IO uint32_t C0CONTROL; /*!< DMAC Channel 0 Control Register */ - __IO uint32_t C0CONFIGURATION; /*!< DMAC Channel 0 Configuration Register */ - uint32_t RESERVED2[3]; - __IO uint32_t C1SRCADDR; /*!< DMAC Channel 1 Source Address Register */ - __IO uint32_t C1DESTADDR; /*!< DMAC Channel 1 Destination Address Register */ - __IO uint32_t C1LLI; /*!< DMAC Channel 1 Linked List Item Register */ - __IO uint32_t C1CONTROL; /*!< DMAC Channel 1 Control Register */ - __IO uint32_t C1CONFIGURATION; /*!< DMAC Channel 1 Configuration Register */ -} TSB_DMAC_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t MAP0; /*!< SMIF Flash Memory Map0 Register */ - __IO uint32_t MAP1; /*!< SMIF Flash Memory Map1 Register */ - __IO uint32_t DACR0; /*!< SMIF Direct Access Control Register 0 */ - __IO uint32_t DACR1; /*!< SMIF Direct Access Control Register 1 */ - __IO uint32_t DRCR0; /*!< SMIF Direct Read Control Register 0 */ - __IO uint32_t DRCR1; /*!< SMIF Direct Read Control Register 1 */ - uint32_t RESERVED0[250]; - __IO uint32_t RACR0; /*!< SMIF Program Register Access Control Register 0*/ - __IO uint32_t RACR1; /*!< SMIF Program Register Access Control Register 1*/ - __IO uint32_t INT; /*!< SMIF Program Register Access Interrupt Enable Register*/ - __IO uint32_t STAT; /*!< SMIF Program Register Access Status Register */ - uint32_t RESERVED1[60]; - __IO uint32_t PBUF0; /*!< SMIF Program Register Primary Buffer Data Register 0*/ - __IO uint32_t PBUF1; /*!< SMIF Program Register Primary Buffer Data Register 1*/ - uint32_t RESERVED2[62]; - __IO uint32_t SBUF00; /*!< SMIF Program Register Secondary Buffer Data Register 00*/ - __IO uint32_t SBUF01; /*!< SMIF Program Register Secondary Buffer Data Register 01*/ - __IO uint32_t SBUF02; /*!< SMIF Program Register Secondary Buffer Data Register 02*/ - __IO uint32_t SBUF03; /*!< SMIF Program Register Secondary Buffer Data Register 03*/ - __IO uint32_t SBUF04; /*!< SMIF Program Register Secondary Buffer Data Register 04*/ - __IO uint32_t SBUF05; /*!< SMIF Program Register Secondary Buffer Data Register 05*/ - __IO uint32_t SBUF06; /*!< SMIF Program Register Secondary Buffer Data Register 06*/ - __IO uint32_t SBUF07; /*!< SMIF Program Register Secondary Buffer Data Register 07*/ - __IO uint32_t SBUF08; /*!< SMIF Program Register Secondary Buffer Data Register 08*/ - __IO uint32_t SBUF09; /*!< SMIF Program Register Secondary Buffer Data Register 09*/ - __IO uint32_t SBUF10; /*!< SMIF Program Register Secondary Buffer Data Register 10*/ - __IO uint32_t SBUF11; /*!< SMIF Program Register Secondary Buffer Data Register 11*/ - __IO uint32_t SBUF12; /*!< SMIF Program Register Secondary Buffer Data Register 12*/ - __IO uint32_t SBUF13; /*!< SMIF Program Register Secondary Buffer Data Register 13*/ - __IO uint32_t SBUF14; /*!< SMIF Program Register Secondary Buffer Data Register 14*/ - __IO uint32_t SBUF15; /*!< SMIF Program Register Secondary Buffer Data Register 15*/ - __IO uint32_t SBUF16; /*!< SMIF Program Register Secondary Buffer Data Register 16*/ - __IO uint32_t SBUF17; /*!< SMIF Program Register Secondary Buffer Data Register 17*/ - __IO uint32_t SBUF18; /*!< SMIF Program Register Secondary Buffer Data Register 18*/ - __IO uint32_t SBUF19; /*!< SMIF Program Register Secondary Buffer Data Register 19*/ - __IO uint32_t SBUF20; /*!< SMIF Program Register Secondary Buffer Data Register 20*/ - __IO uint32_t SBUF21; /*!< SMIF Program Register Secondary Buffer Data Register 21*/ - __IO uint32_t SBUF22; /*!< SMIF Program Register Secondary Buffer Data Register 22*/ - __IO uint32_t SBUF23; /*!< SMIF Program Register Secondary Buffer Data Register 23*/ - __IO uint32_t SBUF24; /*!< SMIF Program Register Secondary Buffer Data Register 24*/ - __IO uint32_t SBUF25; /*!< SMIF Program Register Secondary Buffer Data Register 25*/ - __IO uint32_t SBUF26; /*!< SMIF Program Register Secondary Buffer Data Register 26*/ - __IO uint32_t SBUF27; /*!< SMIF Program Register Secondary Buffer Data Register 27*/ - __IO uint32_t SBUF28; /*!< SMIF Program Register Secondary Buffer Data Register 28*/ - __IO uint32_t SBUF29; /*!< SMIF Program Register Secondary Buffer Data Register 29*/ - __IO uint32_t SBUF30; /*!< SMIF Program Register Secondary Buffer Data Register 30*/ - __IO uint32_t SBUF31; /*!< SMIF Program Register Secondary Buffer Data Register 31*/ - __IO uint32_t SBUF32; /*!< SMIF Program Register Secondary Buffer Data Register 32*/ - __IO uint32_t SBUF33; /*!< SMIF Program Register Secondary Buffer Data Register 33*/ - __IO uint32_t SBUF34; /*!< SMIF Program Register Secondary Buffer Data Register 34*/ - __IO uint32_t SBUF35; /*!< SMIF Program Register Secondary Buffer Data Register 35*/ - __IO uint32_t SBUF36; /*!< SMIF Program Register Secondary Buffer Data Register 36*/ - __IO uint32_t SBUF37; /*!< SMIF Program Register Secondary Buffer Data Register 37*/ - __IO uint32_t SBUF38; /*!< SMIF Program Register Secondary Buffer Data Register 38*/ - __IO uint32_t SBUF39; /*!< SMIF Program Register Secondary Buffer Data Register 39*/ - __IO uint32_t SBUF40; /*!< SMIF Program Register Secondary Buffer Data Register 40*/ - __IO uint32_t SBUF41; /*!< SMIF Program Register Secondary Buffer Data Register 41*/ - __IO uint32_t SBUF42; /*!< SMIF Program Register Secondary Buffer Data Register 42*/ - __IO uint32_t SBUF43; /*!< SMIF Program Register Secondary Buffer Data Register 43*/ - __IO uint32_t SBUF44; /*!< SMIF Program Register Secondary Buffer Data Register 44*/ - __IO uint32_t SBUF45; /*!< SMIF Program Register Secondary Buffer Data Register 45*/ - __IO uint32_t SBUF46; /*!< SMIF Program Register Secondary Buffer Data Register 46*/ - __IO uint32_t SBUF47; /*!< SMIF Program Register Secondary Buffer Data Register 47*/ - __IO uint32_t SBUF48; /*!< SMIF Program Register Secondary Buffer Data Register 48*/ - __IO uint32_t SBUF49; /*!< SMIF Program Register Secondary Buffer Data Register 49*/ - __IO uint32_t SBUF50; /*!< SMIF Program Register Secondary Buffer Data Register 50*/ - __IO uint32_t SBUF51; /*!< SMIF Program Register Secondary Buffer Data Register 51*/ - __IO uint32_t SBUF52; /*!< SMIF Program Register Secondary Buffer Data Register 52*/ - __IO uint32_t SBUF53; /*!< SMIF Program Register Secondary Buffer Data Register 53*/ - __IO uint32_t SBUF54; /*!< SMIF Program Register Secondary Buffer Data Register 54*/ - __IO uint32_t SBUF55; /*!< SMIF Program Register Secondary Buffer Data Register 55*/ - __IO uint32_t SBUF56; /*!< SMIF Program Register Secondary Buffer Data Register 56*/ - __IO uint32_t SBUF57; /*!< SMIF Program Register Secondary Buffer Data Register 57*/ - __IO uint32_t SBUF58; /*!< SMIF Program Register Secondary Buffer Data Register 58*/ - __IO uint32_t SBUF59; /*!< SMIF Program Register Secondary Buffer Data Register 59*/ - __IO uint32_t SBUF60; /*!< SMIF Program Register Secondary Buffer Data Register 60*/ - __IO uint32_t SBUF61; /*!< SMIF Program Register Secondary Buffer Data Register 61*/ - __IO uint32_t SBUF62; /*!< SMIF Program Register Secondary Buffer Data Register 62*/ - __IO uint32_t SBUF63; /*!< SMIF Program Register Secondary Buffer Data Register 63*/ -} TSB_SMI_TypeDef; - -/** - * @brief Interrupt control A Register - */ -typedef struct -{ - __IO uint8_t NIC00; /*!< Non Maskable interrupt Mode Control Register A 00*/ - uint8_t RESERVED0[31]; - __IO uint8_t IMC00; /*!< interrupt Mode Control Register A 00 */ - __IO uint8_t IMC01; /*!< interrupt Mode Control Register A 01 */ - __IO uint8_t IMC02; /*!< interrupt Mode Control Register A 02 */ - __IO uint8_t IMC03; /*!< interrupt Mode Control Register A 03 */ - __IO uint8_t IMC04; /*!< interrupt Mode Control Register A 04 */ - __IO uint8_t IMC05; /*!< interrupt Mode Control Register A 05 */ - __IO uint8_t IMC06; /*!< interrupt Mode Control Register A 06 */ - __IO uint8_t IMC07; /*!< interrupt Mode Control Register A 07 */ - __IO uint8_t IMC08; /*!< interrupt Mode Control Register A 08 */ - __IO uint8_t IMC09; /*!< interrupt Mode Control Register A 09 */ - __IO uint8_t IMC10; /*!< interrupt Mode Control Register A 10 */ - __IO uint8_t IMC11; /*!< interrupt Mode Control Register A 11 */ - __IO uint8_t IMC12; /*!< interrupt Mode Control Register A 12 */ - __IO uint8_t IMC13; /*!< interrupt Mode Control Register A 13 */ - __IO uint8_t IMC14; /*!< interrupt Mode Control Register A 14 */ - __IO uint8_t IMC15; /*!< interrupt Mode Control Register A 15 */ - __IO uint8_t IMC16; /*!< interrupt Mode Control Register A 16 */ - __IO uint8_t IMC17; /*!< interrupt Mode Control Register A 17 */ - __IO uint8_t IMC18; /*!< interrupt Mode Control Register A 18 */ - __IO uint8_t IMC19; /*!< interrupt Mode Control Register A 19 */ - __IO uint8_t IMC20; /*!< interrupt Mode Control Register A 20 */ - __IO uint8_t IMC21; /*!< interrupt Mode Control Register A 21 */ - __IO uint8_t IMC22; /*!< interrupt Mode Control Register A 22 */ - __IO uint8_t IMC23; /*!< interrupt Mode Control Register A 23 */ - __IO uint8_t IMC24; /*!< interrupt Mode Control Register A 24 */ - __IO uint8_t IMC25; /*!< interrupt Mode Control Register A 25 */ - __IO uint8_t IMC26; /*!< interrupt Mode Control Register A 26 */ - __IO uint8_t IMC27; /*!< interrupt Mode Control Register A 27 */ - __IO uint8_t IMC28; /*!< interrupt Mode Control Register A 28 */ - __IO uint8_t IMC29; /*!< interrupt Mode Control Register A 29 */ - __IO uint8_t IMC30; /*!< interrupt Mode Control Register A 30 */ - __IO uint8_t IMC31; /*!< interrupt Mode Control Register A 31 */ - uint8_t RESERVED1[17]; - __IO uint8_t IMC49; /*!< interrupt Mode Control Register A 49 */ - __IO uint8_t IMC50; /*!< interrupt Mode Control Register A 50 */ - __IO uint8_t IMC51; /*!< interrupt Mode Control Register A 51 */ - __IO uint8_t IMC52; /*!< interrupt Mode Control Register A 52 */ - __IO uint8_t IMC53; /*!< interrupt Mode Control Register A 53 */ - __IO uint8_t IMC54; /*!< interrupt Mode Control Register A 54 */ - __IO uint8_t IMC55; /*!< interrupt Mode Control Register A 55 */ - __IO uint8_t IMC56; /*!< interrupt Mode Control Register A 56 */ - __IO uint8_t IMC57; /*!< interrupt Mode Control Register A 57 */ -} TSB_IA_TypeDef; - -/** - * @brief Reset Low power Management Register - */ -typedef struct -{ - __IO uint8_t LOSCCR; /*!< Low OSC and IHOSC2 clock supply Control Register*/ - __IO uint8_t SHTDNOP; /*!< Power Shut Down Control Register */ - __IO uint8_t RSTFLG0; /*!< Reset flag register 0 */ - __IO uint8_t RSTFLG1; /*!< Reset flag register 1 */ - uint8_t RESERVED0[11]; - __IO uint8_t PROTECT; /*!< Protect Register */ -} TSB_RLM_TypeDef; - -/** - * @brief LVD0 - */ -typedef struct -{ - __IO uint8_t CR1; /*!< LVD Control register1 */ - __IO uint8_t CR2; /*!< LVD Control register2 */ - __IO uint8_t LVL1; /*!< LVD detection voltage select register 1 */ - __IO uint8_t LVL2; /*!< LVD detection voltage select register 2 */ - __I uint8_t SR; /*!< LVD status register */ -} TSB_LVD_TypeDef; - -/** - * @brief TRGSEL - */ -typedef struct -{ - __IO uint32_t CR0; /*!< TRGSEL Control register 0 */ - __IO uint32_t CR1; /*!< TRGSEL Control register 1 */ - __IO uint32_t CR2; /*!< TSEL Control register 2 */ - __IO uint32_t CR3; /*!< TRGSEL Control register 3 */ - __IO uint32_t CR4; /*!< TRGSEL Control register 4 */ - __IO uint32_t CR5; /*!< TRGSEL Control register 5 */ - __IO uint32_t CR6; /*!< TRGSEL Control register 6 */ - __IO uint32_t CR7; /*!< TRGSEL Control register 7 */ - __IO uint32_t CR8; /*!< TRGSEL Control register 8 */ - __IO uint32_t CR9; /*!< TRGSEL Control register 9 */ - __IO uint32_t CR10; /*!< TRGSEL Control register 10 */ - __IO uint32_t CR11; /*!< TRGSEL Control register 11 */ - __IO uint32_t CR12; /*!< TRGSEL Control register 12 */ - __IO uint32_t CR13; /*!< TRGSEL Control register 13 */ -} TSB_TSEL_TypeDef; - -/** - * @brief Long Term Timer(LTTMR) - */ -typedef struct -{ - __IO uint8_t CR0; /*!< Long Term Control Register */ - __IO uint8_t VALL; /*!< Long Term Setting Register */ - __IO uint8_t VALH; /*!< Long Term Setting Register */ -} TSB_LTT_TypeDef; - -/** - * @brief Serial Interface (TSPI) - */ -typedef struct -{ - __IO uint32_t CR0; /*!< TSPI Control Register 0 */ - __IO uint32_t CR1; /*!< TSPI Control Register 1 */ - __IO uint32_t CR2; /*!< TSPI Control Register 2 */ - __IO uint32_t CR3; /*!< TSPI Control Register 3 */ - __IO uint32_t BR; /*!< TSPI Baud Rate Generator Control Register */ - __IO uint32_t FMTR0; /*!< TSPI Format Control Register 0 */ - __IO uint32_t FMTR1; /*!< TSPI Format Control Register 1 */ - uint32_t RESERVED0[57]; - __IO uint32_t DR; /*!< TSPI Data Register */ - uint32_t RESERVED1[63]; - __IO uint32_t SR; /*!< TSPI Status Register */ - __IO uint32_t ERR; /*!< TSPI Parity Error Flag Register */ -} TSB_TSPI_TypeDef; - -/** - * @brief External Bus Interface(EXB) - */ -typedef struct -{ - __IO uint32_t MOD; /*!< External Bus Mode Control Register */ - uint32_t RESERVED0[3]; - __IO uint32_t AS0; /*!< External Bus Base Address and CS Space setting Register 0*/ - __IO uint32_t AS1; /*!< External Bus Base Address and CS Space setting Register 1 */ - __IO uint32_t AS2; /*!< External Bus Base Address and CS Space setting Register 2*/ - __IO uint32_t AS3; /*!< External Bus Base Address and CS Space setting Register 3*/ - uint32_t RESERVED1[8]; - __IO uint32_t CS0; /*!< Chip Select and Wait Controller Register 0 */ - __IO uint32_t CS1; /*!< Chip Select and Wait Controller Register 1 */ - __IO uint32_t CS2; /*!< Chip Select and Wait Controller Register 2 */ - __IO uint32_t CS3; /*!< Chip Select and Wait Controller Register 3 */ - uint32_t RESERVED2[4]; - __IO uint32_t CLKCTL; /*!< Clock output controlRegister */ -} TSB_EXB_TypeDef; - -/** - * @brief Clock Generator (CG) - */ -typedef struct -{ - __IO uint32_t PROTECT; /*!< Protect Register */ - __IO uint32_t OSCCR; /*!< Oscillation Control Register */ - __IO uint32_t SYSCR; /*!< System Clock Control Register */ - __IO uint32_t STBYCR; /*!< Standby Control Register */ - uint32_t RESERVED0[4]; - __IO uint32_t PLL0SEL; /*!< PLL Selection Register 0 */ - uint32_t RESERVED1[3]; - __IO uint32_t WUPHCR; /*!< High OSC Warming-up Register */ - __IO uint32_t WUPLCR; /*!< Low OSC Warming-up Register */ - uint32_t RESERVED2[4]; - __IO uint32_t FSYSMENA; /*!< Middle fsys Supply Stop Register A */ - __IO uint32_t FSYSMENB; /*!< Middle fsys Supply Stop Register A */ - __IO uint32_t FSYSENA; /*!< High fsys Supply Stop Register A */ - uint32_t RESERVED3; - __IO uint32_t FCEN; /*!< FC Supply Stop Register */ - __IO uint32_t SPCLKEN; /*!< ADC TRACE Clock Supply Stop Register */ - uint32_t RESERVED4[2]; - __IO uint32_t EXTEND2; /*!< Extend for MDMAC Register */ -} TSB_CG_TypeDef; - -/** - * @brief Interrupt Control B Register - */ -typedef struct -{ - uint8_t RESERVED0[16]; - __IO uint8_t NIC00; /*!< Non maskable interrupt Control Register 00 */ - uint8_t RESERVED1[79]; - __IO uint8_t IMC000; /*!< interrupt Mode Control Register 000 */ - __IO uint8_t IMC001; /*!< interrupt Mode Control Register 001 */ - __IO uint8_t IMC002; /*!< interrupt Mode Control Register 002 */ - __IO uint8_t IMC003; /*!< interrupt Mode Control Register 003 */ - __IO uint8_t IMC004; /*!< interrupt Mode Control Register 004 */ - __IO uint8_t IMC005; /*!< interrupt Mode Control Register 005 */ - __IO uint8_t IMC006; /*!< interrupt Mode Control Register 006 */ - __IO uint8_t IMC007; /*!< interrupt Mode Control Register 007 */ - __IO uint8_t IMC008; /*!< interrupt Mode Control Register 008 */ - __IO uint8_t IMC009; /*!< interrupt Mode Control Register 009 */ - __IO uint8_t IMC010; /*!< interrupt Mode Control Register 010 */ - __IO uint8_t IMC011; /*!< interrupt Mode Control Register 011 */ - __IO uint8_t IMC012; /*!< interrupt Mode Control Register 012 */ - __IO uint8_t IMC013; /*!< interrupt Mode Control Register 013 */ - __IO uint8_t IMC014; /*!< interrupt Mode Control Register 014 */ - __IO uint8_t IMC015; /*!< interrupt Mode Control Register 015 */ - __IO uint8_t IMC016; /*!< interrupt Mode Control Register 016 */ - __IO uint8_t IMC017; /*!< interrupt Mode Control Register 017 */ - __IO uint8_t IMC018; /*!< interrupt Mode Control Register 018 */ - __IO uint8_t IMC019; /*!< interrupt Mode Control Register 019 */ - __IO uint8_t IMC020; /*!< interrupt Mode Control Register 020 */ - __IO uint8_t IMC021; /*!< interrupt Mode Control Register 021 */ - __IO uint8_t IMC022; /*!< interrupt Mode Control Register 022 */ - __IO uint8_t IMC023; /*!< interrupt Mode Control Register 023 */ - __IO uint8_t IMC024; /*!< interrupt Mode Control Register 024 */ - __IO uint8_t IMC025; /*!< interrupt Mode Control Register 025 */ - __IO uint8_t IMC026; /*!< interrupt Mode Control Register 026 */ - __IO uint8_t IMC027; /*!< interrupt Mode Control Register 027 */ - __IO uint8_t IMC028; /*!< interrupt Mode Control Register 028 */ - __IO uint8_t IMC029; /*!< interrupt Mode Control Register 029 */ - __IO uint8_t IMC030; /*!< interrupt Mode Control Register 030 */ - __IO uint8_t IMC031; /*!< interrupt Mode Control Register 031 */ - __IO uint8_t IMC032; /*!< interrupt Mode Control Register 032 */ - __IO uint8_t IMC033; /*!< interrupt Mode Control Register 033 */ - __IO uint8_t IMC034; /*!< interrupt Mode Control Register 034 */ - __IO uint8_t IMC035; /*!< interrupt Mode Control Register 035 */ - __IO uint8_t IMC036; /*!< interrupt Mode Control Register 036 */ - __IO uint8_t IMC037; /*!< interrupt Mode Control Register 037 */ - __IO uint8_t IMC038; /*!< interrupt Mode Control Register 038 */ - __IO uint8_t IMC039; /*!< interrupt Mode Control Register 039 */ - __IO uint8_t IMC040; /*!< interrupt Mode Control Register 040 */ - __IO uint8_t IMC041; /*!< interrupt Mode Control Register 041 */ - __IO uint8_t IMC042; /*!< interrupt Mode Control Register 042 */ - __IO uint8_t IMC043; /*!< interrupt Mode Control Register 043 */ - __IO uint8_t IMC044; /*!< interrupt Mode Control Register 044 */ - __IO uint8_t IMC045; /*!< interrupt Mode Control Register 045 */ - __IO uint8_t IMC046; /*!< interrupt Mode Control Register 046 */ - __IO uint8_t IMC047; /*!< interrupt Mode Control Register 047 */ - __IO uint8_t IMC048; /*!< interrupt Mode Control Register 048 */ - __IO uint8_t IMC049; /*!< interrupt Mode Control Register 049 */ - __IO uint8_t IMC050; /*!< interrupt Mode Control Register 050 */ - __IO uint8_t IMC051; /*!< interrupt Mode Control Register 051 */ - __IO uint8_t IMC052; /*!< interrupt Mode Control Register 052 */ - __IO uint8_t IMC053; /*!< interrupt Mode Control Register 053 */ - __IO uint8_t IMC054; /*!< interrupt Mode Control Register 054 */ - __IO uint8_t IMC055; /*!< interrupt Mode Control Register 055 */ - __IO uint8_t IMC056; /*!< interrupt Mode Control Register 056 */ - __IO uint8_t IMC057; /*!< interrupt Mode Control Register 057 */ - __IO uint8_t IMC058; /*!< interrupt Mode Control Register 058 */ - __IO uint8_t IMC059; /*!< interrupt Mode Control Register 059 */ - __IO uint8_t IMC060; /*!< interrupt Mode Control Register 060 */ - __IO uint8_t IMC061; /*!< interrupt Mode Control Register 061 */ - __IO uint8_t IMC062; /*!< interrupt Mode Control Register 062 */ - __IO uint8_t IMC063; /*!< interrupt Mode Control Register 063 */ - __IO uint8_t IMC064; /*!< interrupt Mode Control Register 064 */ - __IO uint8_t IMC065; /*!< interrupt Mode Control Register 065 */ - __IO uint8_t IMC066; /*!< interrupt Mode Control Register 066 */ - __IO uint8_t IMC067; /*!< interrupt Mode Control Register 067 */ - __IO uint8_t IMC068; /*!< interrupt Mode Control Register 068 */ - __IO uint8_t IMC069; /*!< interrupt Mode Control Register 069 */ - __IO uint8_t IMC070; /*!< interrupt Mode Control Register 070 */ - __IO uint8_t IMC071; /*!< interrupt Mode Control Register 071 */ - __IO uint8_t IMC072; /*!< interrupt Mode Control Register 072 */ - __IO uint8_t IMC073; /*!< interrupt Mode Control Register 073 */ - __IO uint8_t IMC074; /*!< interrupt Mode Control Register 074 */ - __IO uint8_t IMC075; /*!< interrupt Mode Control Register 075 */ - __IO uint8_t IMC076; /*!< interrupt Mode Control Register 076 */ - __IO uint8_t IMC077; /*!< interrupt Mode Control Register 077 */ - __IO uint8_t IMC078; /*!< interrupt Mode Control Register 078 */ - __IO uint8_t IMC079; /*!< interrupt Mode Control Register 079 */ - __IO uint8_t IMC080; /*!< interrupt Mode Control Register 080 */ - __IO uint8_t IMC081; /*!< interrupt Mode Control Register 081 */ - __IO uint8_t IMC082; /*!< interrupt Mode Control Register 082 */ - __IO uint8_t IMC083; /*!< interrupt Mode Control Register 083 */ - __IO uint8_t IMC084; /*!< interrupt Mode Control Register 084 */ - __IO uint8_t IMC085; /*!< interrupt Mode Control Register 085 */ - __IO uint8_t IMC086; /*!< interrupt Mode Control Register 086 */ - __IO uint8_t IMC087; /*!< interrupt Mode Control Register 087 */ - __IO uint8_t IMC088; /*!< interrupt Mode Control Register 088 */ - __IO uint8_t IMC089; /*!< interrupt Mode Control Register 089 */ - __IO uint8_t IMC090; /*!< interrupt Mode Control Register 090 */ - __IO uint8_t IMC091; /*!< interrupt Mode Control Register 091 */ - __IO uint8_t IMC092; /*!< interrupt Mode Control Register 092 */ - __IO uint8_t IMC093; /*!< interrupt Mode Control Register 093 */ - __IO uint8_t IMC094; /*!< interrupt Mode Control Register 094 */ - __IO uint8_t IMC095; /*!< interrupt Mode Control Register 095 */ - __IO uint8_t IMC096; /*!< interrupt Mode Control Register 096 */ - __IO uint8_t IMC097; /*!< interrupt Mode Control Register 097 */ - __IO uint8_t IMC098; /*!< interrupt Mode Control Register 098 */ - __IO uint8_t IMC099; /*!< interrupt Mode Control Register 099 */ - __IO uint8_t IMC100; /*!< interrupt Mode Control Register 100 */ - __IO uint8_t IMC101; /*!< interrupt Mode Control Register 101 */ - __IO uint8_t IMC102; /*!< interrupt Mode Control Register 102 */ - __IO uint8_t IMC103; /*!< interrupt Mode Control Register 103 */ - __IO uint8_t IMC104; /*!< interrupt Mode Control Register 104 */ - __IO uint8_t IMC105; /*!< interrupt Mode Control Register 105 */ - __IO uint8_t IMC106; /*!< interrupt Mode Control Register 106 */ - __IO uint8_t IMC107; /*!< interrupt Mode Control Register 107 */ - __IO uint8_t IMC108; /*!< interrupt Mode Control Register 108 */ - __IO uint8_t IMC109; /*!< interrupt Mode Control Register 109 */ - __IO uint8_t IMC110; /*!< interrupt Mode Control Register 110 */ - __IO uint8_t IMC111; /*!< interrupt Mode Control Register 111 */ - __IO uint8_t IMC112; /*!< interrupt Mode Control Register 112 */ - __IO uint8_t IMC113; /*!< interrupt Mode Control Register 113 */ - __IO uint8_t IMC114; /*!< interrupt Mode Control Register 114 */ - __IO uint8_t IMC115; /*!< interrupt Mode Control Register 115 */ - __IO uint8_t IMC116; /*!< interrupt Mode Control Register 116 */ - __IO uint8_t IMC117; /*!< interrupt Mode Control Register 117 */ - __IO uint8_t IMC118; /*!< interrupt Mode Control Register 118 */ - __IO uint8_t IMC119; /*!< interrupt Mode Control Register 119 */ - __IO uint8_t IMC120; /*!< interrupt Mode Control Register 120 */ - __IO uint8_t IMC121; /*!< interrupt Mode Control Register 121 */ - __IO uint8_t IMC122; /*!< interrupt Mode Control Register 122 */ - __IO uint8_t IMC123; /*!< interrupt Mode Control Register 123 */ - __IO uint8_t IMC124; /*!< interrupt Mode Control Register 124 */ - __IO uint8_t IMC125; /*!< interrupt Mode Control Register 125 */ - __IO uint8_t IMC126; /*!< interrupt Mode Control Register 126 */ - __IO uint8_t IMC127; /*!< interrupt Mode Control Register 127 */ - __IO uint8_t IMC128; /*!< interrupt Mode Control Register 128 */ - __IO uint8_t IMC129; /*!< interrupt Mode Control Register 129 */ - __IO uint8_t IMC130; /*!< interrupt Mode Control Register 130 */ - __IO uint8_t IMC131; /*!< interrupt Mode Control Register 131 */ - __IO uint8_t IMC132; /*!< interrupt Mode Control Register 132 */ - __IO uint8_t IMC133; /*!< interrupt Mode Control Register 133 */ - __IO uint8_t IMC134; /*!< interrupt Mode Control Register 134 */ - __IO uint8_t IMC135; /*!< interrupt Mode Control Register 135 */ - __IO uint8_t IMC136; /*!< interrupt Mode Control Register 136 */ - __IO uint8_t IMC137; /*!< interrupt Mode Control Register 137 */ - __IO uint8_t IMC138; /*!< interrupt Mode Control Register 138 */ - __IO uint8_t IMC139; /*!< interrupt Mode Control Register 139 */ - __IO uint8_t IMC140; /*!< interrupt Mode Control Register 140 */ - __IO uint8_t IMC141; /*!< interrupt Mode Control Register 141 */ -} TSB_IB_TypeDef; - -/** - * @brief Interrupt Monitor Register - */ -typedef struct -{ - __I uint32_t FLGNMI; /*!< NMI Interrupt Monitor Flag 0 */ - __I uint32_t FLG1; /*!< Interrupt Monitor Flag 1 (032 - 063) */ - __I uint32_t FLG2; /*!< Interrupt Monitor Flag 2 (064 - 095) */ - __I uint32_t FLG3; /*!< Interrupt Monitor Flag 3 (096 - 127) */ - __I uint32_t FLG4; /*!< Interrupt Monitor Flag 4 (128 - 159) */ - __I uint32_t FLG5; /*!< Interrupt Monitor Flag 5 (160 - 191) */ - __I uint32_t FLG6; /*!< Interrupt Monitor Flag 6 (192 - 223) */ - __I uint32_t FLG7; /*!< Interrupt Monitor Flag 7 (224 - 225) */ -} TSB_IMN_TypeDef; - -/** - * @brief DNF - */ -typedef struct -{ - __IO uint32_t CKCR; /*!< DNF clock Control register */ - __IO uint32_t ENCR; /*!< DNF Enable register */ -} TSB_DNF_TypeDef; - -/** - * @brief Watchdog Timer (WD) - */ -typedef struct -{ - __IO uint32_t PRO; /*!< SIWD Protect Register */ - __IO uint32_t EN; /*!< SIWD Enable Register */ - __O uint32_t CR; /*!< SIWD Control Register */ - __IO uint32_t MOD; /*!< SIWD Mode Register */ - __I uint32_t MONI; /*!< SIWD Monitor Register */ -} TSB_SIWD_TypeDef; - -/** - * @brief NBD - */ -typedef struct -{ - __IO uint32_t CR0; /*!< NBD control register 0 */ - __IO uint32_t CR1; /*!< NBD control register 1 */ -} TSB_NBD_TypeDef; - -/** - * @brief Malti Porpose Direct Memory Accsess(MDMA) - */ -typedef struct -{ - uint32_t RESERVED0; - __IO uint32_t CEN; /*!< MDMAC Channel Enable Register */ - __IO uint32_t REQ; /*!< MDMAC Transfer Request Register */ - __IO uint32_t SUS; /*!< MDMAC Transfer Suspension Register */ - __IO uint32_t ACT; /*!< MDMAC Transfer Active Register */ - __IO uint32_t END; /*!< MDMAC Transfer End Register */ - __IO uint32_t PRI; /*!< MDMAC Priority Setting Register */ - __IO uint32_t ENE; /*!< MDMAC End Interrupt Enable Register */ - __IO uint32_t DTAB; /*!< MDMAC Channel Information Address Register */ - uint32_t RESERVED1; - __I uint32_t CHN; /*!< MDMAC Channel Number Register */ - __I uint32_t XFTYP; /*!< MDMAC Channel Number Register */ - __I uint32_t XFSAD; /*!< MDMAC Transfer Source Address Register */ - __I uint32_t XFDAD; /*!< MDMAC Transfer Destination Address Register */ - __I uint32_t XFSIZ; /*!< MDMAC Transfer Size Register */ - __I uint32_t DSADS; /*!< MDMAC Descriptor Address Register */ - __I uint32_t DSNUM; /*!< MDMAC Descriptor Number Register */ - uint32_t RESERVED2[3]; - __I uint32_t C00XFTYP; /*!< MDMAC Channel 00 Number Avoidance Register */ - __I uint32_t C00XFSAD; /*!< MDMAC Channel 00 Transfer Source Address Avoidance Register*/ - __I uint32_t C00XFDAD; /*!< MDMAC Channel 00 Transfer Destination Address Avoidance Register*/ - __I uint32_t C00XFSIZ; /*!< MDMAC Channel 00 Transfer Size Avoidance Register*/ - __I uint32_t C00DSADS; /*!< MDMAC Channel 00 Descriptor Address Avoidance Register*/ - __I uint32_t C00DSNUM; /*!< MDMAC Channel 00 Descriptor Number Avoidance Register*/ - uint32_t RESERVED3[2]; - __I uint32_t C01XFTYP; /*!< MDMAC Channel 01 Number Avoidance Register */ - __I uint32_t C01XFSAD; /*!< MDMAC Channel 01 Transfer Source Address Avoidance Register*/ - __I uint32_t C01XFDAD; /*!< MDMAC Channel 01 Transfer Destination Address Avoidance Register*/ - __I uint32_t C01XFSIZ; /*!< MDMAC Channel 01 Transfer Size Avoidance Register*/ - __I uint32_t C01DSADS; /*!< MDMAC Channel 01 Descriptor Address Avoidance Register*/ - __I uint32_t C01DSNUM; /*!< MDMAC Channel 01 Descriptor Number Avoidance Register*/ - uint32_t RESERVED4[2]; - __I uint32_t C02XFTYP; /*!< MDMAC Channel 02 Number Avoidance Register */ - __I uint32_t C02XFSAD; /*!< MDMAC Channel 02 Transfer Source Address Avoidance Register*/ - __I uint32_t C02XFDAD; /*!< MDMAC Channel 02 Transfer Destination Address Avoidance Register*/ - __I uint32_t C02XFSIZ; /*!< MDMAC Channel 02 Transfer Size Avoidance Register*/ - __I uint32_t C02DSADS; /*!< MDMAC Channel 02 Descriptor Address Avoidance Register*/ - __I uint32_t C02DSNUM; /*!< MDMAC Channel 02 Descriptor Number Avoidance Register*/ - uint32_t RESERVED5[2]; - __I uint32_t C03XFTYP; /*!< MDMAC Channel 03 Number Avoidance Register */ - __I uint32_t C03XFSAD; /*!< MDMAC Channel 03 Transfer Source Address Avoidance Register*/ - __I uint32_t C03XFDAD; /*!< MDMAC Channel 03 Transfer Destination Address Avoidance Register*/ - __I uint32_t C03XFSIZ; /*!< MDMAC Channel 03 Transfer Size Avoidance Register*/ - __I uint32_t C03DSADS; /*!< MDMAC Channel 03 Descriptor Address Avoidance Register*/ - __I uint32_t C03DSNUM; /*!< MDMAC Channel 03 Descriptor Number Avoidance Register*/ - uint32_t RESERVED6[2]; - __I uint32_t C04XFTYP; /*!< MDMAC Channel 04 Number Avoidance Register */ - __I uint32_t C04XFSAD; /*!< MDMAC Channel 04 Transfer Source Address Avoidance Register*/ - __I uint32_t C04XFDAD; /*!< MDMAC Channel 04 Transfer Destination Address Avoidance Register*/ - __I uint32_t C04XFSIZ; /*!< MDMAC Channel 04 Transfer Size Avoidance Register*/ - __I uint32_t C04DSADS; /*!< MDMAC Channel 04 Descriptor Address Avoidance Register*/ - __I uint32_t C04DSNUM; /*!< MDMAC Channel 04 Descriptor Number Avoidance Register*/ - uint32_t RESERVED7[2]; - __I uint32_t C05XFTYP; /*!< MDMAC Channel 05 Number Avoidance Register */ - __I uint32_t C05XFSAD; /*!< MDMAC Channel 05 Transfer Source Address Avoidance Register*/ - __I uint32_t C05XFDAD; /*!< MDMAC Channel 05 Transfer Destination Address Avoidance Register*/ - __I uint32_t C05XFSIZ; /*!< MDMAC Channel 05 Transfer Size Avoidance Register*/ - __I uint32_t C05DSADS; /*!< MDMAC Channel 05 Descriptor Address Avoidance Register*/ - __I uint32_t C05DSNUM; /*!< MDMAC Channel 05 Descriptor Number Avoidance Register*/ - uint32_t RESERVED8[2]; - __I uint32_t C06XFTYP; /*!< MDMAC Channel 06 Number Avoidance Register */ - __I uint32_t C06XFSAD; /*!< MDMAC Channel 06 Transfer Source Address Avoidance Register*/ - __I uint32_t C06XFDAD; /*!< MDMAC Channel 06 Transfer Destination Address Avoidance Register*/ - __I uint32_t C06XFSIZ; /*!< MDMAC Channel 06 Transfer Size Avoidance Register*/ - __I uint32_t C06DSADS; /*!< MDMAC Channel 06 Descriptor Address Avoidance Register*/ - __I uint32_t C06DSNUM; /*!< MDMAC Channel 06 Descriptor Number Avoidance Register*/ - uint32_t RESERVED9[2]; - __I uint32_t C07XFTYP; /*!< MDMAC Channel 07 Number Avoidance Register */ - __I uint32_t C07XFSAD; /*!< MDMAC Channel 07 Transfer Source Address Avoidance Register*/ - __I uint32_t C07XFDAD; /*!< MDMAC Channel 07 Transfer Destination Address Avoidance Register*/ - __I uint32_t C07XFSIZ; /*!< MDMAC Channel 07 Transfer Size Avoidance Register*/ - __I uint32_t C07DSADS; /*!< MDMAC Channel 07 Descriptor Address Avoidance Register*/ - __I uint32_t C07DSNUM; /*!< MDMAC Channel 07 Descriptor Number Avoidance Register*/ - uint32_t RESERVED10[2]; - __I uint32_t C08XFTYP; /*!< MDMAC Channel 08 Number Avoidance Register */ - __I uint32_t C08XFSAD; /*!< MDMAC Channel 08 Transfer Source Address Avoidance Register*/ - __I uint32_t C08XFDAD; /*!< MDMAC Channel 08 Transfer Destination Address Avoidance Register*/ - __I uint32_t C08XFSIZ; /*!< MDMAC Channel 08 Transfer Size Avoidance Register*/ - __I uint32_t C08DSADS; /*!< MDMAC Channel 08 Descriptor Address Avoidance Register*/ - __I uint32_t C08DSNUM; /*!< MDMAC Channel 08 Descriptor Number Avoidance Register*/ - uint32_t RESERVED11[2]; - __I uint32_t C09XFTYP; /*!< MDMAC Channel 09 Number Avoidance Register */ - __I uint32_t C09XFSAD; /*!< MDMAC Channel 09 Transfer Source Address Avoidance Register*/ - __I uint32_t C09XFDAD; /*!< MDMAC Channel 09 Transfer Destination Address Avoidance Register*/ - __I uint32_t C09XFSIZ; /*!< MDMAC Channel 09 Transfer Size Avoidance Register*/ - __I uint32_t C09DSADS; /*!< MDMAC Channel 09 Descriptor Address Avoidance Register*/ - __I uint32_t C09DSNUM; /*!< MDMAC Channel 09 Descriptor Number Avoidance Register*/ - uint32_t RESERVED12[2]; - __I uint32_t C10XFTYP; /*!< MDMAC Channel 10 Number Avoidance Register */ - __I uint32_t C10XFSAD; /*!< MDMAC Channel 10 Transfer Source Address Avoidance Register*/ - __I uint32_t C10XFDAD; /*!< MDMAC Channel 10 Transfer Destination Address Avoidance Register*/ - __I uint32_t C10XFSIZ; /*!< MDMAC Channel 10 Transfer Size Avoidance Register*/ - __I uint32_t C10DSADS; /*!< MDMAC Channel 10 Descriptor Address Avoidance Register*/ - __I uint32_t C10DSNUM; /*!< MDMAC Channel 10 Descriptor Number Avoidance Register*/ - uint32_t RESERVED13[2]; - __I uint32_t C11XFTYP; /*!< MDMAC Channel 11 Number Avoidance Register */ - __I uint32_t C11XFSAD; /*!< MDMAC Channel 11 Transfer Source Address Avoidance Register*/ - __I uint32_t C11XFDAD; /*!< MDMAC Channel 11 Transfer Destination Address Avoidance Register*/ - __I uint32_t C11XFSIZ; /*!< MDMAC Channel 11 Transfer Size Avoidance Register*/ - __I uint32_t C11DSADS; /*!< MDMAC Channel 11 Descriptor Address Avoidance Register*/ - __I uint32_t C11DSNUM; /*!< MDMAC Channel 11 Descriptor Number Avoidance Register*/ - uint32_t RESERVED14[2]; - __I uint32_t C12XFTYP; /*!< MDMAC Channel 12 Number Avoidance Register */ - __I uint32_t C12XFSAD; /*!< MDMAC Channel 12 Transfer Source Address Avoidance Register*/ - __I uint32_t C12XFDAD; /*!< MDMAC Channel 12 Transfer Destination Address Avoidance Register*/ - __I uint32_t C12XFSIZ; /*!< MDMAC Channel 12 Transfer Size Avoidance Register*/ - __I uint32_t C12DSADS; /*!< MDMAC Channel 12 Descriptor Address Avoidance Register*/ - __I uint32_t C12DSNUM; /*!< MDMAC Channel 12 Descriptor Number Avoidance Register*/ - uint32_t RESERVED15[2]; - __I uint32_t C13XFTYP; /*!< MDMAC Channel 13 Number Avoidance Register */ - __I uint32_t C13XFSAD; /*!< MDMAC Channel 13 Transfer Source Address Avoidance Register*/ - __I uint32_t C13XFDAD; /*!< MDMAC Channel 13 Transfer Destination Address Avoidance Register*/ - __I uint32_t C13XFSIZ; /*!< MDMAC Channel 13 Transfer Size Avoidance Register*/ - __I uint32_t C13DSADS; /*!< MDMAC Channel 13 Descriptor Address Avoidance Register*/ - __I uint32_t C13DSNUM; /*!< MDMAC Channel 13 Descriptor Number Avoidance Register*/ - uint32_t RESERVED16[2]; - __I uint32_t C14XFTYP; /*!< MDMAC Channel 14 Number Avoidance Register */ - __I uint32_t C14XFSAD; /*!< MDMAC Channel 14 Transfer Source Address Avoidance Register*/ - __I uint32_t C14XFDAD; /*!< MDMAC Channel 14 Transfer Destination Address Avoidance Register*/ - __I uint32_t C14XFSIZ; /*!< MDMAC Channel 14 Transfer Size Avoidance Register*/ - __I uint32_t C14DSADS; /*!< MDMAC Channel 14 Descriptor Address Avoidance Register*/ - __I uint32_t C14DSNUM; /*!< MDMAC Channel 14 Descriptor Number Avoidance Register*/ - uint32_t RESERVED17[2]; - __I uint32_t C15XFTYP; /*!< MDMAC Channel 15 Number Avoidance Register */ - __I uint32_t C15XFSAD; /*!< MDMAC Channel 15 Transfer Source Address Avoidance Register*/ - __I uint32_t C15XFDAD; /*!< MDMAC Channel 15 Transfer Destination Address Avoidance Register*/ - __I uint32_t C15XFSIZ; /*!< MDMAC Channel 15 Transfer Size Avoidance Register*/ - __I uint32_t C15DSADS; /*!< MDMAC Channel 15 Descriptor Address Avoidance Register*/ - __I uint32_t C15DSNUM; /*!< MDMAC Channel 15 Descriptor Number Avoidance Register*/ - uint32_t RESERVED18[2]; - __I uint32_t C16XFTYP; /*!< MDMAC Channel 16 Number Avoidance Register */ - __I uint32_t C16XFSAD; /*!< MDMAC Channel 16 Transfer Source Address Avoidance Register*/ - __I uint32_t C16XFDAD; /*!< MDMAC Channel 16 Transfer Destination Address Avoidance Register*/ - __I uint32_t C16XFSIZ; /*!< MDMAC Channel 16 Transfer Size Avoidance Register*/ - __I uint32_t C16DSADS; /*!< MDMAC Channel 16 Descriptor Address Avoidance Register*/ - __I uint32_t C16DSNUM; /*!< MDMAC Channel 16 Descriptor Number Avoidance Register*/ - uint32_t RESERVED19[2]; - __I uint32_t C17XFTYP; /*!< MDMAC Channel 17 Number Avoidance Register */ - __I uint32_t C17XFSAD; /*!< MDMAC Channel 17 Transfer Source Address Avoidance Register*/ - __I uint32_t C17XFDAD; /*!< MDMAC Channel 17 Transfer Destination Address Avoidance Register*/ - __I uint32_t C17XFSIZ; /*!< MDMAC Channel 17 Transfer Size Avoidance Register*/ - __I uint32_t C17DSADS; /*!< MDMAC Channel 17 Descriptor Address Avoidance Register*/ - __I uint32_t C17DSNUM; /*!< MDMAC Channel 17 Descriptor Number Avoidance Register*/ - uint32_t RESERVED20[2]; - __I uint32_t C18XFTYP; /*!< MDMAC Channel 18 Number Avoidance Register */ - __I uint32_t C18XFSAD; /*!< MDMAC Channel 18 Transfer Source Address Avoidance Register*/ - __I uint32_t C18XFDAD; /*!< MDMAC Channel 18 Transfer Destination Address Avoidance Register*/ - __I uint32_t C18XFSIZ; /*!< MDMAC Channel 18 Transfer Size Avoidance Register*/ - __I uint32_t C18DSADS; /*!< MDMAC Channel 18 Descriptor Address Avoidance Register*/ - __I uint32_t C18DSNUM; /*!< MDMAC Channel 18 Descriptor Number Avoidance Register*/ - uint32_t RESERVED21[2]; - __I uint32_t C19XFTYP; /*!< MDMAC Channel 19 Number Avoidance Register */ - __I uint32_t C19XFSAD; /*!< MDMAC Channel 19 Transfer Source Address Avoidance Register*/ - __I uint32_t C19XFDAD; /*!< MDMAC Channel 19 Transfer Destination Address Avoidance Register*/ - __I uint32_t C19XFSIZ; /*!< MDMAC Channel 19 Transfer Size Avoidance Register*/ - __I uint32_t C19DSADS; /*!< MDMAC Channel 19 Descriptor Address Avoidance Register*/ - __I uint32_t C19DSNUM; /*!< MDMAC Channel 19 Descriptor Number Avoidance Register*/ - uint32_t RESERVED22[2]; - __I uint32_t C20XFTYP; /*!< MDMAC Channel 20 Number Avoidance Register */ - __I uint32_t C20XFSAD; /*!< MDMAC Channel 20 Transfer Source Address Avoidance Register*/ - __I uint32_t C20XFDAD; /*!< MDMAC Channel 20 Transfer Destination Address Avoidance Register*/ - __I uint32_t C20XFSIZ; /*!< MDMAC Channel 20 Transfer Size Avoidance Register*/ - __I uint32_t C20DSADS; /*!< MDMAC Channel 20 Descriptor Address Avoidance Register*/ - __I uint32_t C20DSNUM; /*!< MDMAC Channel 20 Descriptor Number Avoidance Register*/ - uint32_t RESERVED23[2]; - __I uint32_t C21XFTYP; /*!< MDMAC Channel 21 Number Avoidance Register */ - __I uint32_t C21XFSAD; /*!< MDMAC Channel 21 Transfer Source Address Avoidance Register*/ - __I uint32_t C21XFDAD; /*!< MDMAC Channel 21 Transfer Destination Address Avoidance Register*/ - __I uint32_t C21XFSIZ; /*!< MDMAC Channel 21 Transfer Size Avoidance Register*/ - __I uint32_t C21DSADS; /*!< MDMAC Channel 21 Descriptor Address Avoidance Register*/ - __I uint32_t C21DSNUM; /*!< MDMAC Channel 21 Descriptor Number Avoidance Register*/ - uint32_t RESERVED24[2]; - __I uint32_t C22XFTYP; /*!< MDMAC Channel 22 Number Avoidance Register */ - __I uint32_t C22XFSAD; /*!< MDMAC Channel 22 Transfer Source Address Avoidance Register*/ - __I uint32_t C22XFDAD; /*!< MDMAC Channel 22 Transfer Destination Address Avoidance Register*/ - __I uint32_t C22XFSIZ; /*!< MDMAC Channel 22 Transfer Size Avoidance Register*/ - __I uint32_t C22DSADS; /*!< MDMAC Channel 22 Descriptor Address Avoidance Register*/ - __I uint32_t C22DSNUM; /*!< MDMAC Channel 22 Descriptor Number Avoidance Register*/ - uint32_t RESERVED25[2]; - __I uint32_t C23XFTYP; /*!< MDMAC Channel 23 Number Avoidance Register */ - __I uint32_t C23XFSAD; /*!< MDMAC Channel 23 Transfer Source Address Avoidance Register*/ - __I uint32_t C23XFDAD; /*!< MDMAC Channel 23 Transfer Destination Address Avoidance Register*/ - __I uint32_t C23XFSIZ; /*!< MDMAC Channel 23 Transfer Size Avoidance Register*/ - __I uint32_t C23DSADS; /*!< MDMAC Channel 23 Descriptor Address Avoidance Register*/ - __I uint32_t C23DSNUM; /*!< MDMAC Channel 23 Descriptor Number Avoidance Register*/ - uint32_t RESERVED26[2]; - __I uint32_t C24XFTYP; /*!< MDMAC Channel 24 Number Avoidance Register */ - __I uint32_t C24XFSAD; /*!< MDMAC Channel 24 Transfer Source Address Avoidance Register*/ - __I uint32_t C24XFDAD; /*!< MDMAC Channel 24 Transfer Destination Address Avoidance Register*/ - __I uint32_t C24XFSIZ; /*!< MDMAC Channel 24 Transfer Size Avoidance Register*/ - __I uint32_t C24DSADS; /*!< MDMAC Channel 24 Descriptor Address Avoidance Register*/ - __I uint32_t C24DSNUM; /*!< MDMAC Channel 24 Descriptor Number Avoidance Register*/ - uint32_t RESERVED27[2]; - __I uint32_t C25XFTYP; /*!< MDMAC Channel 25 Number Avoidance Register */ - __I uint32_t C25XFSAD; /*!< MDMAC Channel 25 Transfer Source Address Avoidance Register*/ - __I uint32_t C25XFDAD; /*!< MDMAC Channel 25 Transfer Destination Address Avoidance Register*/ - __I uint32_t C25XFSIZ; /*!< MDMAC Channel 25 Transfer Size Avoidance Register*/ - __I uint32_t C25DSADS; /*!< MDMAC Channel 25 Descriptor Address Avoidance Register*/ - __I uint32_t C25DSNUM; /*!< MDMAC Channel 25 Descriptor Number Avoidance Register*/ - uint32_t RESERVED28[2]; - __I uint32_t C26XFTYP; /*!< MDMAC Channel 26 Number Avoidance Register */ - __I uint32_t C26XFSAD; /*!< MDMAC Channel 26 Transfer Source Address Avoidance Register*/ - __I uint32_t C26XFDAD; /*!< MDMAC Channel 26 Transfer Destination Address Avoidance Register*/ - __I uint32_t C26XFSIZ; /*!< MDMAC Channel 26 Transfer Size Avoidance Register*/ - __I uint32_t C26DSADS; /*!< MDMAC Channel 26 Descriptor Address Avoidance Register*/ - __I uint32_t C26DSNUM; /*!< MDMAC Channel 26 Descriptor Number Avoidance Register*/ - uint32_t RESERVED29[2]; - __I uint32_t C27XFTYP; /*!< MDMAC Channel 27 Number Avoidance Register */ - __I uint32_t C27XFSAD; /*!< MDMAC Channel 27 Transfer Source Address Avoidance Register*/ - __I uint32_t C27XFDAD; /*!< MDMAC Channel 27 Transfer Destination Address Avoidance Register*/ - __I uint32_t C27XFSIZ; /*!< MDMAC Channel 27 Transfer Size Avoidance Register*/ - __I uint32_t C27DSADS; /*!< MDMAC Channel 27 Descriptor Address Avoidance Register*/ - __I uint32_t C27DSNUM; /*!< MDMAC Channel 27 Descriptor Number Avoidance Register*/ - uint32_t RESERVED30[2]; - __I uint32_t C28XFTYP; /*!< MDMAC Channel 28 Number Avoidance Register */ - __I uint32_t C28XFSAD; /*!< MDMAC Channel 28 Transfer Source Address Avoidance Register*/ - __I uint32_t C28XFDAD; /*!< MDMAC Channel 28 Transfer Destination Address Avoidance Register*/ - __I uint32_t C28XFSIZ; /*!< MDMAC Channel 28 Transfer Size Avoidance Register*/ - __I uint32_t C28DSADS; /*!< MDMAC Channel 28 Descriptor Address Avoidance Register*/ - __I uint32_t C28DSNUM; /*!< MDMAC Channel 28 Descriptor Number Avoidance Register*/ - uint32_t RESERVED31[2]; - __I uint32_t C29XFTYP; /*!< MDMAC Channel 29 Number Avoidance Register */ - __I uint32_t C29XFSAD; /*!< MDMAC Channel 29 Transfer Source Address Avoidance Register*/ - __I uint32_t C29XFDAD; /*!< MDMAC Channel 29 Transfer Destination Address Avoidance Register*/ - __I uint32_t C29XFSIZ; /*!< MDMAC Channel 29 Transfer Size Avoidance Register*/ - __I uint32_t C29DSADS; /*!< MDMAC Channel 29 Descriptor Address Avoidance Register*/ - __I uint32_t C29DSNUM; /*!< MDMAC Channel 29 Descriptor Number Avoidance Register*/ - uint32_t RESERVED32[2]; - __I uint32_t C30XFTYP; /*!< MDMAC Channel 30 Number Avoidance Register */ - __I uint32_t C30XFSAD; /*!< MDMAC Channel 30 Transfer Source Address Avoidance Register*/ - __I uint32_t C30XFDAD; /*!< MDMAC Channel 30 Transfer Destination Address Avoidance Register*/ - __I uint32_t C30XFSIZ; /*!< MDMAC Channel 30 Transfer Size Avoidance Register*/ - __I uint32_t C30DSADS; /*!< MDMAC Channel 30 Descriptor Address Avoidance Register*/ - __I uint32_t C30DSNUM; /*!< MDMAC Channel 30 Descriptor Number Avoidance Register*/ - uint32_t RESERVED33[2]; - __I uint32_t C31XFTYP; /*!< MDMAC Channel 31 Number Avoidance Register */ - __I uint32_t C31XFSAD; /*!< MDMAC Channel 31 Transfer Source Address Avoidance Register*/ - __I uint32_t C31XFDAD; /*!< MDMAC Channel 31 Transfer Destination Address Avoidance Register*/ - __I uint32_t C31XFSIZ; /*!< MDMAC Channel 31 Transfer Size Avoidance Register*/ - __I uint32_t C31DSADS; /*!< MDMAC Channel 31 Descriptor Address Avoidance Register*/ - __I uint32_t C31DSNUM; /*!< MDMAC Channel 31 Descriptor Number Avoidance Register*/ - uint32_t RESERVED34[238]; - __IO uint32_t MSK; /*!< MDMAC Mask Register */ -} TSB_MDMA_TypeDef; - -#if defined ( __CC_ARM ) /* RealView Compiler */ -#pragma anon_unions -#elif (defined (__ICCARM__)) /* ICC Compiler */ -#pragma language=extended -#endif - -/** - * @brief ARM Prime Cell PL011 - */ -typedef struct -{ - __IO uint32_t DR; /*!< Data Register */ -union { - __I uint32_t RSR; /*!< Receive Status Register */ - __O uint32_t ECR; /*!< Error Clear Register */ - }; - uint32_t RESERVED0[4]; - __I uint32_t FR; /*!< Flag Register */ - uint32_t RESERVED1; - __IO uint32_t ILPR; /*!< IrDA Low-power Counter register */ - __IO uint32_t BRD; /*!< Integer Baud Rate Register */ - __IO uint32_t FBRD; /*!< Fractional Baud Rate Register */ - __IO uint32_t LCR_H; /*!< Line Control Register */ - __IO uint32_t CR; /*!< Cntrol Register */ - __IO uint32_t IFLS; /*!< Interrupt FIFO Level Select Register */ - __IO uint32_t IMSC; /*!< Interrupt Mask set/Clear Register */ - __I uint32_t RIS; /*!< Raw Interrupt Status Register */ - __I uint32_t MIS; /*!< Masked Interrupt Status Register */ - __O uint32_t ICR; /*!< Interrupt Clear Register */ - __IO uint32_t DMACR; /*!< DMA Control Register */ -} TSB_FURT_TypeDef; - -/** - * @brief ADC - */ -typedef struct -{ - __IO uint32_t CR0; /*!< AD Control Register 0 */ - __IO uint32_t CR1; /*!< AD Control Register 1 */ - __I uint32_t ST; /*!< AD Status Register */ - __IO uint32_t CLK; /*!< AD Conversion Clock Setting Register */ - __IO uint32_t MOD0; /*!< AD Mode Control Register 0 */ - __IO uint32_t MOD1; /*!< AD Mode Control Register 1 */ - __IO uint32_t MOD2; /*!< AD Mode Control Register 2 */ - uint32_t RESERVED0; - __IO uint32_t CMPEN; /*!< AD Monitoring interrupt permission register */ - __IO uint32_t CMPCR0; /*!< AD Monitoring Setting Register 0 */ - __IO uint32_t CMPCR1; /*!< AD Monitoring Setting Register 1 */ - __IO uint32_t CMP0; /*!< AD Conversion Result Comparison Register 0 */ - __IO uint32_t CMP1; /*!< AD Conversion Result Comparison Register 1 */ - __IO uint32_t CMPCR2; /*!< AD Conversion Monitor Function setting Register 2*/ - __IO uint32_t CMPCR3; /*!< AD Conversion Monitor Function setting Register 3*/ - __IO uint32_t CMP2; /*!< AD Conversion Result Comparison Register 2 */ - __IO uint32_t CMP3; /*!< AD Conversion Result Comparison Register 3 */ - uint32_t RESERVED1[30]; - __IO uint32_t EXAZSEL; /*!< AIN sampling period selection register */ - __IO uint32_t TSET0; /*!< AD General purpose Trigger Program Register 0*/ - __IO uint32_t TSET1; /*!< AD General purpose Trigger Program Register 1*/ - __IO uint32_t TSET2; /*!< AD General purpose Trigger Program Register 2*/ - __IO uint32_t TSET3; /*!< AD General purpose Trigger Program Register 3*/ - __IO uint32_t TSET4; /*!< AD General purpose Trigger Program Register 4*/ - __IO uint32_t TSET5; /*!< AD General purpose Trigger Program Register 5*/ - __IO uint32_t TSET6; /*!< AD General purpose Trigger Program Register 6*/ - __IO uint32_t TSET7; /*!< AD General purpose Trigger Program Register 7*/ - __IO uint32_t TSET8; /*!< AD General purpose Trigger Program Register 8*/ - __IO uint32_t TSET9; /*!< AD General purpose Trigger Program Register 9*/ - __IO uint32_t TSET10; /*!< AD General purpose Trigger Program Register 10*/ - __IO uint32_t TSET11; /*!< AD General purpose Trigger Program Register 11*/ - __IO uint32_t TSET12; /*!< AD General purpose Trigger Program Register 12*/ - __IO uint32_t TSET13; /*!< AD General purpose Trigger Program Register 13*/ - __IO uint32_t TSET14; /*!< AD General purpose Trigger Program Register 14*/ - __IO uint32_t TSET15; /*!< AD General purpose Trigger Program Register 15*/ - __IO uint32_t TSET16; /*!< AD General purpose Trigger Program Register 16*/ - __IO uint32_t TSET17; /*!< AD General purpose Trigger Program Register 17*/ - __IO uint32_t TSET18; /*!< AD General purpose Trigger Program Register 18*/ - __IO uint32_t TSET19; /*!< AD General purpose Trigger Program Register 19*/ - __IO uint32_t TSET20; /*!< AD General purpose Trigger Program Register 20*/ - __IO uint32_t TSET21; /*!< AD General purpose Trigger Program Register 21*/ - __IO uint32_t TSET22; /*!< AD General purpose Trigger Program Register 22*/ - __IO uint32_t TSET23; /*!< AD General purpose Trigger Program Register 23*/ - uint32_t RESERVED2[8]; - __I uint32_t REG0; /*!< AD AD Conversion Result Register 0 */ - __I uint32_t REG1; /*!< AD Conversion Result Register 1 */ - __I uint32_t REG2; /*!< AD Conversion Result Register 2 */ - __I uint32_t REG3; /*!< AD Conversion Result Register 3 */ - __I uint32_t REG4; /*!< AD Conversion Result Register 4 */ - __I uint32_t REG5; /*!< AD Conversion Result Register 5 */ - __I uint32_t REG6; /*!< AD Conversion Result Register 6 */ - __I uint32_t REG7; /*!< AD Conversion Result Register 7 */ - __I uint32_t REG8; /*!< AD Conversion Result Register 8 */ - __I uint32_t REG9; /*!< AD Conversion Result Register 9 */ - __I uint32_t REG10; /*!< AD Conversion Result Register 10 */ - __I uint32_t REG11; /*!< AD Conversion Result Register 11 */ - __I uint32_t REG12; /*!< AD Conversion Result Register 12 */ - __I uint32_t REG13; /*!< AD Conversion Result Register 13 */ - __I uint32_t REG14; /*!< AD Conversion Result Register 14 */ - __I uint32_t REG15; /*!< AD Conversion Result Register 15 */ - __I uint32_t REG16; /*!< AD Conversion Result Register 16 */ - __I uint32_t REG17; /*!< AD Conversion Result Register 17 */ - __I uint32_t REG18; /*!< AD Conversion Result Register 18 */ - __I uint32_t REG19; /*!< AD Conversion Result Register 19 */ - __I uint32_t REG20; /*!< AD Conversion Result Register 20 */ - __I uint32_t REG21; /*!< AD Conversion Result Register 21 */ - __I uint32_t REG22; /*!< AD Conversion Result Register 22 */ - __I uint32_t REG23; /*!< AD Conversion Result Register 23 */ -} TSB_AD_TypeDef; - -/** - * @brief Digital analog converter (DAC) - */ -typedef struct -{ - __IO uint32_t CR; /*!< DAC Control Register */ - __IO uint32_t REG; /*!< DAC output Register */ -} TSB_DA_TypeDef; - -/** - * @brief 16-bit Timer/Event Counter (TB) - */ -typedef struct -{ - __IO uint32_t MOD; /*!< T32A Mode Register */ - uint32_t RESERVED0[15]; - __IO uint32_t RUNA; /*!< T32A Run Register A */ - __IO uint32_t CRA; /*!< T32A Counter Control Register A */ - __IO uint32_t CAPCRA; /*!< T32A Capture Control Register A */ - __O uint32_t OUTCRA0; /*!< T32A Output Control Register A0 */ - __IO uint32_t OUTCRA1; /*!< T32A Output Control Register A1 */ - __IO uint32_t STA; /*!< T32A Status Register A */ - __IO uint32_t IMA; /*!< T32A Interrupt Mask Register A */ - __I uint32_t TMRA; /*!< T32A Counter Capture Register A */ - __IO uint32_t RELDA; /*!< T32A Counter Reload Register A */ - __IO uint32_t RGA0; /*!< T32A Timer Register A0 */ - __IO uint32_t RGA1; /*!< T32A Timer Register A1 */ - __I uint32_t CAPA0; /*!< T32A Timer Capture A0 Register */ - __I uint32_t CAPA1; /*!< T32A Timer Cupture A1 Register */ - __IO uint32_t DMAA; /*!< T32A DMA Request Enable Register A */ - uint32_t RESERVED1[2]; - __IO uint32_t RUNB; /*!< T32A Run Register B */ - __IO uint32_t CRB; /*!< T32A Counter Control Register B */ - __IO uint32_t CAPCRB; /*!< T32A Capture Control Register B */ - __O uint32_t OUTCRB0; /*!< T32A Output Control Register B0 */ - __IO uint32_t OUTCRB1; /*!< T32A Output Control Register B1 */ - __IO uint32_t STB; /*!< T32A Status Register B */ - __IO uint32_t IMB; /*!< T32A Interrupt Mask Register B */ - __I uint32_t TMRB; /*!< T32A Counter Capture Register B */ - __IO uint32_t RELDB; /*!< T32A Counter Reload Register B */ - __IO uint32_t RGB0; /*!< T32A Timer Register B0 */ - __IO uint32_t RGB1; /*!< T32A Timer Register B1 */ - __I uint32_t CAPB0; /*!< T32A Timer Capture B0 Register */ - __I uint32_t CAPB1; /*!< T32A Timer Capture B1 Register */ - __IO uint32_t DMAB; /*!< T32A DMA Request Enable Register B */ - uint32_t RESERVED2[2]; - __IO uint32_t RUNC; /*!< T32A Run Register C */ - __IO uint32_t CRC; /*!< T32A Counter Control Register C */ - __IO uint32_t CAPCRC; /*!< T32A Capture Control Register C */ - __O uint32_t OUTCRC0; /*!< T32A Output Control Register C0 */ - __IO uint32_t OUTCRC1; /*!< T32A Output Control Register C1 */ - __IO uint32_t STC; /*!< T32A Status Register C */ - __IO uint32_t IMC; /*!< T32A Interrupt Mask Register C */ - __I uint32_t TMRC; /*!< T32A Counter Capture Register C */ - __IO uint32_t RELDC; /*!< T32A Counter Reload Register C */ - __IO uint32_t RGC0; /*!< T32A Timer Register C0 */ - __IO uint32_t RGC1; /*!< T32A Timer Register C1 */ - __I uint32_t CAPC0; /*!< T32A Timer Capture C0 Register */ - __I uint32_t CAPC1; /*!< T32A Capture Register C1 */ - __IO uint32_t DMAC; /*!< T32A DMA Request Enable Register C */ - __IO uint32_t PLSCR; /*!< T32A Pulse Count Control Register */ -} TSB_T32A_TypeDef; - -/** - * @brief UART - */ -typedef struct -{ - __IO uint32_t SWRST; /*!< UART Software Reset Register */ - __IO uint32_t CR0; /*!< UART Control Register 0 */ - __IO uint32_t CR1; /*!< UART Control Register 1 */ - __IO uint32_t CLK; /*!< UART Clock Control Register */ - __IO uint32_t BRD; /*!< UART Baud Rate Register */ - __IO uint32_t TRANS; /*!< UART Transfer Enable Register */ - __IO uint32_t DR; /*!< UART Data Register */ - __IO uint32_t SR; /*!< UART Status Register */ - __O uint32_t FIFOCLR; /*!< UART FIFO Clear Register */ - __IO uint32_t ERR; /*!< UART Error Register */ -} TSB_UART_TypeDef; - -/** - * @brief I2C - */ -typedef struct -{ - __IO uint32_t CR1; /*!< I2C Control Register 1 */ - __IO uint32_t DBR; /*!< I2C Data Buffer Register */ - __IO uint32_t AR; /*!< I2C Bus address Register */ -union { - __O uint32_t CR2; /*!< I2C Control Register 2 */ - __I uint32_t SR; /*!< I2C Status Register */ - }; - __IO uint32_t PRS; /*!< I2C Prescaler clcok setting Register */ - __IO uint32_t IE; /*!< I2C Interrupt Enable Register */ - __IO uint32_t ST; /*!< Interrupt Register */ - __IO uint32_t OP; /*!< Optiononal Function register */ - __I uint32_t PM; /*!< Bus Monitor register */ - __IO uint32_t AR2; /*!< Second Slave address register */ -} TSB_I2C_TypeDef; - -/** - * @brief Port A - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port A Data Register */ - __IO uint32_t CR; /*!< Port A Output Control Register */ - __IO uint32_t FR1; /*!< Port A Function Register 1 */ - __IO uint32_t FR2; /*!< Port A Function Register 2 */ - __IO uint32_t FR3; /*!< Port A Function Register 3 */ - uint32_t RESERVED0; - __IO uint32_t FR5; /*!< Port A Function Register 5 */ - __IO uint32_t FR6; /*!< Port A Function Register 6 */ - __IO uint32_t FR7; /*!< Port A Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port A Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port A Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port A Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port A Input Control Register */ -} TSB_PA_TypeDef; - -/** - * @brief Port B - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port B Data Register */ - __IO uint32_t CR; /*!< Port B Output Control Register */ - __IO uint32_t FR1; /*!< Port B Function Register 1 */ - __IO uint32_t FR2; /*!< Port B Function Register 2 */ - __IO uint32_t FR3; /*!< Port B Function Register 3 */ - uint32_t RESERVED0; - __IO uint32_t FR5; /*!< Port B Function Register 5 */ - __IO uint32_t FR6; /*!< Port B Function Register 6 */ - uint32_t RESERVED1[2]; - __IO uint32_t OD; /*!< Port B Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port B Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port B Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port B Input Control Register */ -} TSB_PB_TypeDef; - -/** - * @brief Port C - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port C Data Register */ - __IO uint32_t CR; /*!< Port C Output Control Register */ - __IO uint32_t FR1; /*!< Port C Function Register 1 */ - uint32_t RESERVED0; - __IO uint32_t FR3; /*!< Port C Function Register 3 */ - uint32_t RESERVED1; - __IO uint32_t FR5; /*!< Port C Function Register 5 */ - uint32_t RESERVED2[3]; - __IO uint32_t OD; /*!< Port C Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port C Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port C Pull-down Control Register */ - uint32_t RESERVED3; - __IO uint32_t IE; /*!< Port C Input Control Register */ -} TSB_PC_TypeDef; - -/** - * @brief Port D - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port D Data Register */ - __IO uint32_t CR; /*!< Port D Output Control Register */ - __IO uint32_t FR1; /*!< Port D Function Register 1 */ - __IO uint32_t FR2; /*!< Port D Function Register 2 */ - __IO uint32_t FR3; /*!< Port D Function Register 3 */ - __IO uint32_t FR4; /*!< Port D Function Register 4 */ - __IO uint32_t FR5; /*!< Port D Function Register 5 */ - __IO uint32_t FR6; /*!< Port D Function Register 6 */ - __IO uint32_t FR7; /*!< Port D Function Register 7 */ - uint32_t RESERVED0; - __IO uint32_t OD; /*!< Port D Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port D Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port D Pull-down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< Port D Input Control Register */ -} TSB_PD_TypeDef; - -/** - * @brief Port E - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port E Data Register */ - __IO uint32_t CR; /*!< Port E Output Control Register */ - __IO uint32_t FR1; /*!< Port E Function Register 1 */ - __IO uint32_t FR2; /*!< Port E Function Register 2 */ - __IO uint32_t FR3; /*!< Port E Function Register 3 */ - __IO uint32_t FR4; /*!< Port E Function Register 4 */ - __IO uint32_t FR5; /*!< Port E Function Register 5 */ - uint32_t RESERVED0; - __IO uint32_t FR7; /*!< Port E Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port E Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port E Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port E Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port E Input Control Register */ -} TSB_PE_TypeDef; - -/** - * @brief Port F - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port F Data Register */ - __IO uint32_t CR; /*!< Port F Output Control Register */ - __IO uint32_t FR1; /*!< Port F Function Register 1 */ - uint32_t RESERVED0[5]; - __IO uint32_t FR7; /*!< Port F Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port F Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port F Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port F Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port F Input Control Register */ -} TSB_PF_TypeDef; - -/** - * @brief Port G - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port G Data Register */ - __IO uint32_t CR; /*!< Port G Output Control Register */ - __IO uint32_t FR1; /*!< Port G Function Register 1 */ - __IO uint32_t FR2; /*!< Port G Function Register 2 */ - __IO uint32_t FR3; /*!< Port G Function Register 3 */ - __IO uint32_t FR4; /*!< Port G Function Register 4 */ - __IO uint32_t FR5; /*!< Port G Function Register 5 */ - uint32_t RESERVED0; - __IO uint32_t FR7; /*!< Port G Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port G Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port G Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port G Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port G Input Control Register */ -} TSB_PG_TypeDef; - -/** - * @brief Port H - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port H Data Register */ - __IO uint32_t CR; /*!< Port H Output Control Register */ - __IO uint32_t FR1; /*!< Port H Function Register 1 */ - uint32_t RESERVED0; - __IO uint32_t FR3; /*!< Port H Function Register 3 */ - __IO uint32_t FR4; /*!< Port H Function Register 4 */ - __IO uint32_t FR5; /*!< Port H Function Register 5 */ - uint32_t RESERVED1[3]; - __IO uint32_t OD; /*!< Port H Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port H Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port H Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port H Input Control Register */ -} TSB_PH_TypeDef; - -/** - * @brief Port J - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port J Data Register */ - __IO uint32_t CR; /*!< Port J Output Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port J Function Register 2 */ - __IO uint32_t FR3; /*!< Port J Function Register 3 */ - uint32_t RESERVED1; - __IO uint32_t FR5; /*!< Port J Function Register 5 */ - uint32_t RESERVED2; - __IO uint32_t FR7; /*!< Port J Function Register 7 */ - uint32_t RESERVED3; - __IO uint32_t OD; /*!< Port J Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port J Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port J Pull-down Control Register */ - uint32_t RESERVED4; - __IO uint32_t IE; /*!< Port J Input Control Register */ -} TSB_PJ_TypeDef; - -/** - * @brief Port K - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port K Data Register */ - __IO uint32_t CR; /*!< Port K Output Control Register */ - __IO uint32_t FR1; /*!< Port K Function Register 1 */ - __IO uint32_t FR2; /*!< Port K Function Register 2 */ - __IO uint32_t FR3; /*!< Port K Function Register 3 */ - __IO uint32_t FR4; /*!< Port K Function Register 4 */ - uint32_t RESERVED0; - __IO uint32_t FR6; /*!< Port K Function Register 6 */ - __IO uint32_t FR7; /*!< Port K Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port K Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port K Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port K Pull-up Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port K Input Control Register */ -} TSB_PK_TypeDef; - -/** - * @brief Port L - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port L Data Register */ - __IO uint32_t CR; /*!< Port L Output Control Register */ - __IO uint32_t FR1; /*!< Port L Function Register 1 */ - __IO uint32_t FR2; /*!< Port L Function Register 2 */ - __IO uint32_t FR3; /*!< Port L Function Register 3 */ - uint32_t RESERVED0[2]; - __IO uint32_t FR6; /*!< Port L Function Register 6 */ - __IO uint32_t FR7; /*!< Port L Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port L Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port L Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port L Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port L Input Control Register */ -} TSB_PL_TypeDef; - -/** - * @brief Port M - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port M Data Register */ - __IO uint32_t CR; /*!< Port M Output Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port M Function Register 2 */ - __IO uint32_t FR3; /*!< Port M Function Register 3 */ - __IO uint32_t FR4; /*!< Port M Function Register 4 */ - __IO uint32_t FR5; /*!< Port M Function Register 5 */ - __IO uint32_t FR6; /*!< Port M Function Register 6 */ - __IO uint32_t FR7; /*!< Port M Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port M Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port M Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port M Pull-up Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port M Input Control Register */ -} TSB_PM_TypeDef; - -/** - * @brief Port N - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port N Data Register */ - __IO uint32_t CR; /*!< Port N Output Control Register */ - uint32_t RESERVED0[8]; - __IO uint32_t OD; /*!< Port N Opend Drain Control Register */ - __IO uint32_t PUP; /*!< Port N Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port N Pull-down Control Register */ - uint32_t RESERVED1; - __IO uint32_t IE; /*!< Port N Input Control Register */ -} TSB_PN_TypeDef; - -/** - * @brief Port P - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port P Data Register */ - __IO uint32_t CR; /*!< Port P Output Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port P Function Register 2 */ - __IO uint32_t FR3; /*!< Port P Function Register 3 */ - uint32_t RESERVED1; - __IO uint32_t FR5; /*!< Port P Function Register 5 */ - uint32_t RESERVED2[3]; - __IO uint32_t OD; /*!< Port P Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port P Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port P Pull-down Control Register */ - uint32_t RESERVED3; - __IO uint32_t IE; /*!< Port P Input Control Register */ -} TSB_PP_TypeDef; - -/** - * @brief Port R - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port R Data Register */ - __IO uint32_t CR; /*!< Port R Output Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port R Function Register 2 */ - __IO uint32_t FR3; /*!< Port R Function Register 3 */ - uint32_t RESERVED1[5]; - __IO uint32_t OD; /*!< Port R Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port R Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port R Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port R Input Control Register */ -} TSB_PR_TypeDef; - -/** - * @brief Port T - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port T Data Register */ - __IO uint32_t CR; /*!< Port T Output Control Register */ - __IO uint32_t FR1; /*!< Port T Function Register 1 */ - __IO uint32_t FR2; /*!< Port T Function Register 2 */ - __IO uint32_t FR3; /*!< Port T Function Register 3 */ - uint32_t RESERVED0[2]; - __IO uint32_t FR6; /*!< Port T Function Register 6 */ - __IO uint32_t FR7; /*!< Port T Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port T Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port T Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port T Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port T Input Control Register */ -} TSB_PT_TypeDef; - -/** - * @brief Port U - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port U Data Register */ - __IO uint32_t CR; /*!< Port U Output Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port U Function Register 2 */ - __IO uint32_t FR3; /*!< Port U Function Register 3 */ - uint32_t RESERVED1[3]; - __IO uint32_t FR7; /*!< Port U Function Register 7 */ - uint32_t RESERVED2; - __IO uint32_t OD; /*!< Port U Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port U Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port U Pull-down Control Register */ - uint32_t RESERVED3; - __IO uint32_t IE; /*!< Port U Input Control Register */ -} TSB_PU_TypeDef; - -/** - * @brief Port V - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port V Data Register */ - __IO uint32_t CR; /*!< Port V OutPut Control Register */ - uint32_t RESERVED0; - __IO uint32_t FR2; /*!< Port V Function Register 2 */ - __IO uint32_t FR3; /*!< Port V Function Register 3 */ - __IO uint32_t FR4; /*!< Port V Function Register 4 */ - __IO uint32_t FR5; /*!< Port V Function Register 5 */ - __IO uint32_t FR6; /*!< Port V Function Register 6 */ - __IO uint32_t FR7; /*!< Port V Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port V Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port V Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port V Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port V InPut Control Register */ -} TSB_PV_TypeDef; - -/** - * @brief Port W - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port W Data Register */ - __IO uint32_t CR; /*!< Port W OutPut Control Register */ - uint32_t RESERVED0[2]; - __IO uint32_t FR3; /*!< Port W Function Register 3 */ - __IO uint32_t FR4; /*!< Port W Function Register 4 */ - __IO uint32_t FR5; /*!< Port W Function Register 5 */ - __IO uint32_t FR6; /*!< Port W Function Register 6 */ - __IO uint32_t FR7; /*!< Port W Function Register 7 */ - uint32_t RESERVED1; - __IO uint32_t OD; /*!< Port W Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port W Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port W Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port W InPut Control Register */ -} TSB_PW_TypeDef; - -/** - * @brief Port Y - */ -typedef struct -{ - __IO uint32_t DATA; /*!< Port Y Data Register */ - __IO uint32_t CR; /*!< Port Y OutPut Control Register */ - __IO uint32_t FR1; /*!< Port Y Function Register 1 */ - uint32_t RESERVED0[2]; - __IO uint32_t FR4; /*!< Port Y Function Register 4 */ - uint32_t RESERVED1[4]; - __IO uint32_t OD; /*!< Port Y Open Drain Control Register */ - __IO uint32_t PUP; /*!< Port Y Pull-up Control Register */ - __IO uint32_t PDN; /*!< Port Y Pull-down Control Register */ - uint32_t RESERVED2; - __IO uint32_t IE; /*!< Port Y InPut Control Register */ -} TSB_PY_TypeDef; - -/** - * @brief Internal High-speed Oscillation Adjustment - */ -typedef struct -{ - __IO uint32_t OSCPRO; /*!< TRM Protection Register */ - __IO uint32_t OSCEN; /*!< TRM Enable Register */ - __I uint32_t OSCINIT; /*!< TRM Initial Trimming Level Monitor Register */ - __IO uint32_t OSCSET; /*!< TRM Trimming Level Setting Register */ -} TSB_TRM_TypeDef; - -/** - * @brief Oscillation Frequency Detector (OFD) - */ -typedef struct -{ - __IO uint32_t CR1; /*!< OFD Control Register 1 */ - __IO uint32_t CR2; /*!< OFD Control Register 2 */ - __IO uint32_t MN0; /*!< OFD Lower Detection Frequency Setting Register0*/ - __IO uint32_t MN1; /*!< OFD Lower Detection Frequency Setting Register1*/ - __IO uint32_t MX0; /*!< OFD Higher Detection Frequency Setting Register0*/ - __IO uint32_t MX1; /*!< OFD Higher Detection Frequency Setting Register1*/ - __IO uint32_t RST; /*!< OFD Reset Enable Control Register */ - __I uint32_t STAT; /*!< OFD Status Register */ - __IO uint32_t MON; /*!< OFD External high frequency oscillaion clock monitor register */ -} TSB_OFD_TypeDef; - -/** - * @brief Real Time Clock (RTC) - */ -typedef struct -{ - __IO uint8_t SECR; /*!< RTC Sec setting register */ - __IO uint8_t MINR; /*!< RTC Min settging register */ - __IO uint8_t HOURR; /*!< RTC Hour setting register */ - uint8_t RESERVED0; - __IO uint8_t DAYR; /*!< RTC Day setting register */ - __IO uint8_t DATER; /*!< RTC Date setting register */ - __IO uint8_t MONTHR; /*!< RTC Month settging register PAGE0 */ - __IO uint8_t YEARR; /*!< RTC Year setting register PAGE0 */ - __IO uint8_t PAGER; /*!< RTC Page register */ - uint8_t RESERVED1[3]; - __IO uint8_t RESTR; /*!< RTC Reset register */ - uint8_t RESERVED2; - __IO uint8_t PROTECT; /*!< RTC protect register */ - __IO uint8_t ADJCTL; /*!< RTC clock adjust control register */ - __IO uint8_t ADJDAT; /*!< RTC clock adjust data register */ - __IO uint8_t ADJSIGN; /*!< RTC clock adjust sign register */ -} TSB_RTC_TypeDef; - -/** - * @brief Consumer Electronics Control (CEC) - */ -typedef struct -{ - __IO uint32_t EN; /*!< CEC Enable Register */ - __IO uint32_t ADD; /*!< CEC Logical Address Register */ - __O uint32_t RESET; /*!< CEC Software Reset Register */ - __IO uint32_t REN; /*!< CEC Receive Enable Register */ - __I uint32_t RBUF; /*!< CEC Receive Buffer Register */ - __IO uint32_t RCR1; /*!< CEC Receive Control Register 1 */ - __IO uint32_t RCR2; /*!< CEC Receive Control Register 2 */ - __IO uint32_t RCR3; /*!< CEC Receive Control Register 3 */ - __IO uint32_t TEN; /*!< CEC Transmit Enable Register */ - __IO uint32_t TBUF; /*!< CEC Transmit Buffer Register */ - __IO uint32_t TCR; /*!< CEC Transmit Control Register */ - __I uint32_t RSTAT; /*!< CEC Receive Interrupt Status Register */ - __I uint32_t TSTAT; /*!< CEC Transmit Interrupt Status Register */ - __IO uint32_t FSSEL; /*!< CEC sampling clock selection Register */ -} TSB_CEC_TypeDef; - -/** - * @brief Remote Control Signal Preprocessor (RMC) - */ -typedef struct -{ - __IO uint32_t EN; /*!< RMC Enable Register */ - __IO uint32_t REN; /*!< RMC Receive Enable Register */ - __I uint32_t RBUF1; /*!< RMC Receive Data Buffer Register 1 */ - __I uint32_t RBUF2; /*!< RMC Receive Data Buffer Register 2 */ - __I uint32_t RBUF3; /*!< RMC Receive Data Buffer Register 3 */ - __IO uint32_t RCR1; /*!< RMC Receive Control Register 1 */ - __IO uint32_t RCR2; /*!< RMC Receive Control Register 2 */ - __IO uint32_t RCR3; /*!< RMC Receive Control Register 3 */ - __IO uint32_t RCR4; /*!< RMC Receive Control Register 4 */ - __I uint32_t RSTAT; /*!< RMC Receive Status Register */ - __IO uint32_t END1; /*!< RMC Receive End Bit Number Register 1 */ - __IO uint32_t END2; /*!< RMC Receive End Bit Number Register 2 */ - __IO uint32_t END3; /*!< RMC Receive End Bit Number Register 3 */ - __IO uint32_t FSSEL; /*!< RMC Frequency Selection Register */ -} TSB_RMC_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t MDEN; /*!< PMD Enable Register */ - __IO uint32_t PORTMD; /*!< PMD Port Output Mode Register */ - __IO uint32_t MDCR; /*!< PMD Control Register */ - __I uint32_t CARSTA; /*!< PWM Carrier Status Register */ - __I uint32_t BCARI; /*!< PWM Basic Carrier Register */ - __IO uint32_t RATE; /*!< PWM Frequency Register */ - __IO uint32_t CMPU; /*!< PMD PWM Compare U Register */ - __IO uint32_t CMPV; /*!< PMD PWM Compare V Register */ - __IO uint32_t CMPW; /*!< PMD PWM Compare W Register */ - __IO uint32_t MODESEL; /*!< PMD Mode Select Register */ - __IO uint32_t MDOUT; /*!< PMD Conduction Control Register */ - __IO uint32_t MDPOT; /*!< PMD Output Setting Register */ - __O uint32_t EMGREL; /*!< PMD EMG Release Register */ - __IO uint32_t EMGCR; /*!< PMD EMG Control Register */ - __I uint32_t EMGSTA; /*!< PMD EMG Status Register */ - __IO uint32_t OVVCR; /*!< PMD OVV Control Register */ - __I uint32_t OVVSTA; /*!< PMD OVV Status Register */ - __IO uint32_t DTR; /*!< PMD Dead Time Register */ - __IO uint32_t TRGCMP0; /*!< PMD Trigger Compare Register 0 */ - __IO uint32_t TRGCMP1; /*!< PMD Trigger Compare Register 1 */ - __IO uint32_t TRGCMP2; /*!< PMD Trigger Compare Register 2 */ - __IO uint32_t TRGCMP3; /*!< PMD Trigger Compare Register 3 */ - __IO uint32_t TRGCR; /*!< PMD Trigger Control Register */ - __IO uint32_t TRGMD; /*!< PMD Trigger Output Mode Setting Register */ - __IO uint32_t TRGSEL; /*!< PMD Trigger Output Select Register */ - __IO uint32_t TRGSYNCR; /*!< PMD Trigger Update Timing Setting Register */ - __IO uint32_t VPWMPH; /*!< Phase difference setting of the V-phase PWM */ - __IO uint32_t WPWMPH; /*!< Phase difference setting of the W-phase PWM */ - __IO uint32_t MBUFCR; /*!< Update timing of the triple buffer */ - __IO uint32_t SYNCCR; /*!< Synchronization control between the PMD channel*/ -} TSB_PMD_TypeDef; - -/** - * @brief - */ -typedef struct -{ - __IO uint32_t EN; /*!< Interval Sencing Detector(ISD) */ - __IO uint32_t CLKCR; /*!< Clock Control Register */ - __IO uint32_t OCR0; /*!< Output Control Register 0 */ - __IO uint32_t OCR1; /*!< Output Control Register 1 */ - __IO uint32_t ICR; /*!< Input Control Register */ - __IO uint32_t CR; /*!< Control Register */ - __I uint32_t BR; /*!< Buffer Register */ - __I uint32_t SR; /*!< Status Register */ - __IO uint32_t INTCR; /*!< interrupt Control Register */ -} TSB_ISD_TypeDef; - -/** - * @brief - */ -typedef struct -{ - uint32_t RESERVED0[4]; - __IO uint32_t SBMR; /*!< Flash Security Bit Mask Register */ - __IO uint32_t SSR; /*!< Flash Security Status Register */ - __O uint32_t KCR; /*!< Flash Key Code Register */ - uint32_t RESERVED1; - __IO uint32_t SR0; /*!< Flash Status Register 0 */ - uint32_t RESERVED2[3]; - __I uint32_t PSR0; /*!< Flash Protect Status Register 0 */ - __I uint32_t PSR1; /*!< Flash Protect Status Register 1 */ - uint32_t RESERVED3; - __I uint32_t PSR3; /*!< Flash Protect Status Register 3 */ - __I uint32_t PSR4; /*!< Flash Protect Status Register 4 */ - uint32_t RESERVED4; - __I uint32_t PSR6; /*!< Flash Protect Status Register 6 */ - uint32_t RESERVED5; - __IO uint32_t PMR0; /*!< Flash Protect Mask Register 0 */ - __IO uint32_t PMR1; /*!< Flash Protect Mask Register 1 */ - uint32_t RESERVED6; - __IO uint32_t PMR3; /*!< Flash Protect Mask Register 3 */ - __IO uint32_t PMR4; /*!< Flash Protect Mask Register 4 */ - uint32_t RESERVED7; - __IO uint32_t PMR6; /*!< Flash Protect Mask Register 6 */ - uint32_t RESERVED8[37]; - __I uint32_t SR1; /*!< Flash Status Register 1 */ - __I uint32_t SWPSR; /*!< Flash Memory SWP Status Register */ - uint32_t RESERVED9[14]; - __IO uint32_t AREASEL; /*!< Flash Area Selection Register */ - uint32_t RESERVED10; - __IO uint32_t CR; /*!< Flash Control Register */ - __IO uint32_t STSCLR; /*!< Flash Status Clear Register */ - __IO uint32_t BNKCR; /*!< Flash Bank Change Register */ - uint32_t RESERVED11; - __IO uint32_t BUFDISCLR; /*!< Flash Buffer Disable and Clear Register */ -} TSB_FC_TypeDef; - - -/* Memory map */ -#define FLASH_BASE (0x00000000UL) -#define RAM_BASE (0x20000000UL) -#define PERI_BASE (0x40000000UL) - - -#define TSB_DMACA_BASE (PERI_BASE + 0x0000000UL) -#define TSB_DMACB_BASE (PERI_BASE + 0x0001000UL) -#define TSB_SMI0_BASE (PERI_BASE + 0x000C000UL) -#define TSB_IA_BASE (PERI_BASE + 0x003E000UL) -#define TSB_RLM_BASE (PERI_BASE + 0x003E400UL) -#define TSB_LVD_BASE (PERI_BASE + 0x003EC00UL) -#define TSB_TSEL0_BASE (PERI_BASE + 0x00A0400UL) -#define TSB_LTT0_BASE (PERI_BASE + 0x003FF00UL) -#define TSB_TSPI0_BASE (PERI_BASE + 0x006A000UL) -#define TSB_TSPI1_BASE (PERI_BASE + 0x006A400UL) -#define TSB_TSPI2_BASE (PERI_BASE + 0x006A800UL) -#define TSB_TSPI3_BASE (PERI_BASE + 0x006AC00UL) -#define TSB_TSPI4_BASE (PERI_BASE + 0x006B000UL) -#define TSB_TSPI5_BASE (PERI_BASE + 0x006B400UL) -#define TSB_TSPI6_BASE (PERI_BASE + 0x00CB800UL) -#define TSB_TSPI7_BASE (PERI_BASE + 0x00CBC00UL) -#define TSB_TSPI8_BASE (PERI_BASE + 0x00CC000UL) -#define TSB_EXB_BASE (PERI_BASE + 0x0076000UL) -#define TSB_CG_BASE (PERI_BASE + 0x0083000UL) -#define TSB_IB_BASE (PERI_BASE + 0x0083200UL) -#define TSB_IMN_BASE (PERI_BASE + 0x0083300UL) -#define TSB_DNFA_BASE (PERI_BASE + 0x00A0200UL) -#define TSB_DNFB_BASE (PERI_BASE + 0x00A0300UL) -#define TSB_SIWD0_BASE (PERI_BASE + 0x00A0600UL) -#define TSB_NBD_BASE (PERI_BASE + 0x00A2000UL) -#define TSB_MDMAA_BASE (PERI_BASE + 0x00A4000UL) -#define TSB_FURT0_BASE (PERI_BASE + 0x00A8000UL) -#define TSB_FURT1_BASE (PERI_BASE + 0x00A9000UL) -#define TSB_ADA_BASE (PERI_BASE + 0x00BA000UL) -#define TSB_DA0_BASE (PERI_BASE + 0x00BC800UL) -#define TSB_DA1_BASE (PERI_BASE + 0x00BC900UL) -#define TSB_T32A0_BASE (PERI_BASE + 0x00C1000UL) -#define TSB_T32A1_BASE (PERI_BASE + 0x00C1400UL) -#define TSB_T32A2_BASE (PERI_BASE + 0x00C1800UL) -#define TSB_T32A3_BASE (PERI_BASE + 0x00C1C00UL) -#define TSB_T32A4_BASE (PERI_BASE + 0x00C2000UL) -#define TSB_T32A5_BASE (PERI_BASE + 0x00C2400UL) -#define TSB_T32A6_BASE (PERI_BASE + 0x00C2800UL) -#define TSB_T32A7_BASE (PERI_BASE + 0x00C2C00UL) -#define TSB_T32A8_BASE (PERI_BASE + 0x00C3000UL) -#define TSB_T32A9_BASE (PERI_BASE + 0x00C3400UL) -#define TSB_T32A10_BASE (PERI_BASE + 0x00C3800UL) -#define TSB_T32A11_BASE (PERI_BASE + 0x00C3C00UL) -#define TSB_T32A12_BASE (PERI_BASE + 0x00C4000UL) -#define TSB_T32A13_BASE (PERI_BASE + 0x00C4400UL) -#define TSB_UART0_BASE (PERI_BASE + 0x00CE000UL) -#define TSB_UART1_BASE (PERI_BASE + 0x00CE400UL) -#define TSB_UART2_BASE (PERI_BASE + 0x00CE800UL) -#define TSB_UART3_BASE (PERI_BASE + 0x00CEC00UL) -#define TSB_UART4_BASE (PERI_BASE + 0x00CF000UL) -#define TSB_UART5_BASE (PERI_BASE + 0x00CF400UL) -#define TSB_I2C0_BASE (PERI_BASE + 0x00D1000UL) -#define TSB_I2C1_BASE (PERI_BASE + 0x00D2000UL) -#define TSB_I2C2_BASE (PERI_BASE + 0x00D3000UL) -#define TSB_I2C3_BASE (PERI_BASE + 0x00D4000UL) -#define TSB_I2C4_BASE (PERI_BASE + 0x00D5000UL) -#define TSB_PA_BASE (PERI_BASE + 0x00E0000UL) -#define TSB_PB_BASE (PERI_BASE + 0x00E0100UL) -#define TSB_PC_BASE (PERI_BASE + 0x00E0200UL) -#define TSB_PD_BASE (PERI_BASE + 0x00E0300UL) -#define TSB_PE_BASE (PERI_BASE + 0x00E0400UL) -#define TSB_PF_BASE (PERI_BASE + 0x00E0500UL) -#define TSB_PG_BASE (PERI_BASE + 0x00E0600UL) -#define TSB_PH_BASE (PERI_BASE + 0x00E0700UL) -#define TSB_PJ_BASE (PERI_BASE + 0x00E0800UL) -#define TSB_PK_BASE (PERI_BASE + 0x00E0900UL) -#define TSB_PL_BASE (PERI_BASE + 0x00E0A00UL) -#define TSB_PM_BASE (PERI_BASE + 0x00E0B00UL) -#define TSB_PN_BASE (PERI_BASE + 0x00E0C00UL) -#define TSB_PP_BASE (PERI_BASE + 0x00E0D00UL) -#define TSB_PR_BASE (PERI_BASE + 0x00E0E00UL) -#define TSB_PT_BASE (PERI_BASE + 0x00E0F00UL) -#define TSB_PU_BASE (PERI_BASE + 0x00E1000UL) -#define TSB_PV_BASE (PERI_BASE + 0x00E1100UL) -#define TSB_PW_BASE (PERI_BASE + 0x00E1200UL) -#define TSB_PY_BASE (PERI_BASE + 0x00E1300UL) -#define TSB_TRM_BASE (PERI_BASE + 0x00E3100UL) -#define TSB_OFD_BASE (PERI_BASE + 0x00E4000UL) -#define TSB_RTC_BASE (PERI_BASE + 0x00E4800UL) -#define TSB_CEC0_BASE (PERI_BASE + 0x00E8000UL) -#define TSB_RMC0_BASE (PERI_BASE + 0x00E8100UL) -#define TSB_RMC1_BASE (PERI_BASE + 0x00E8200UL) -#define TSB_PMD0_BASE (PERI_BASE + 0x00E9000UL) -#define TSB_ISDA_BASE (PERI_BASE + 0x00F0000UL) -#define TSB_ISDB_BASE (PERI_BASE + 0x00F0100UL) -#define TSB_ISDC_BASE (PERI_BASE + 0x00F0200UL) -#define TSB_FC_BASE (PERI_BASE + 0x1DFF0000UL) - - -/* Peripheral declaration */ -#define TSB_DMACA (( TSB_DMAC_TypeDef *) TSB_DMACA_BASE) -#define TSB_DMACB (( TSB_DMAC_TypeDef *) TSB_DMACB_BASE) -#define TSB_SMI0 (( TSB_SMI_TypeDef *) TSB_SMI0_BASE) -#define TSB_IA (( TSB_IA_TypeDef *) TSB_IA_BASE) -#define TSB_RLM (( TSB_RLM_TypeDef *) TSB_RLM_BASE) -#define TSB_LVD (( TSB_LVD_TypeDef *) TSB_LVD_BASE) -#define TSB_TSEL0 (( TSB_TSEL_TypeDef *) TSB_TSEL0_BASE) -#define TSB_LTT0 (( TSB_LTT_TypeDef *) TSB_LTT0_BASE) -#define TSB_TSPI0 (( TSB_TSPI_TypeDef *) TSB_TSPI0_BASE) -#define TSB_TSPI1 (( TSB_TSPI_TypeDef *) TSB_TSPI1_BASE) -#define TSB_TSPI2 (( TSB_TSPI_TypeDef *) TSB_TSPI2_BASE) -#define TSB_TSPI3 (( TSB_TSPI_TypeDef *) TSB_TSPI3_BASE) -#define TSB_TSPI4 (( TSB_TSPI_TypeDef *) TSB_TSPI4_BASE) -#define TSB_TSPI5 (( TSB_TSPI_TypeDef *) TSB_TSPI5_BASE) -#define TSB_TSPI6 (( TSB_TSPI_TypeDef *) TSB_TSPI6_BASE) -#define TSB_TSPI7 (( TSB_TSPI_TypeDef *) TSB_TSPI7_BASE) -#define TSB_TSPI8 (( TSB_TSPI_TypeDef *) TSB_TSPI8_BASE) -#define TSB_EXB (( TSB_EXB_TypeDef *) TSB_EXB_BASE) -#define TSB_CG (( TSB_CG_TypeDef *) TSB_CG_BASE) -#define TSB_IB (( TSB_IB_TypeDef *) TSB_IB_BASE) -#define TSB_IMN (( TSB_IMN_TypeDef *) TSB_IMN_BASE) -#define TSB_DNFA (( TSB_DNF_TypeDef *) TSB_DNFA_BASE) -#define TSB_DNFB (( TSB_DNF_TypeDef *) TSB_DNFB_BASE) -#define TSB_SIWD0 (( TSB_SIWD_TypeDef *) TSB_SIWD0_BASE) -#define TSB_NBD (( TSB_NBD_TypeDef *) TSB_NBD_BASE) -#define TSB_MDMAA (( TSB_MDMA_TypeDef *) TSB_MDMAA_BASE) -#define TSB_FURT0 (( TSB_FURT_TypeDef *) TSB_FURT0_BASE) -#define TSB_FURT1 (( TSB_FURT_TypeDef *) TSB_FURT1_BASE) -#define TSB_ADA (( TSB_AD_TypeDef *) TSB_ADA_BASE) -#define TSB_DA0 (( TSB_DA_TypeDef *) TSB_DA0_BASE) -#define TSB_DA1 (( TSB_DA_TypeDef *) TSB_DA1_BASE) -#define TSB_T32A0 (( TSB_T32A_TypeDef *) TSB_T32A0_BASE) -#define TSB_T32A1 (( TSB_T32A_TypeDef *) TSB_T32A1_BASE) -#define TSB_T32A2 (( TSB_T32A_TypeDef *) TSB_T32A2_BASE) -#define TSB_T32A3 (( TSB_T32A_TypeDef *) TSB_T32A3_BASE) -#define TSB_T32A4 (( TSB_T32A_TypeDef *) TSB_T32A4_BASE) -#define TSB_T32A5 (( TSB_T32A_TypeDef *) TSB_T32A5_BASE) -#define TSB_T32A6 (( TSB_T32A_TypeDef *) TSB_T32A6_BASE) -#define TSB_T32A7 (( TSB_T32A_TypeDef *) TSB_T32A7_BASE) -#define TSB_T32A8 (( TSB_T32A_TypeDef *) TSB_T32A8_BASE) -#define TSB_T32A9 (( TSB_T32A_TypeDef *) TSB_T32A9_BASE) -#define TSB_T32A10 (( TSB_T32A_TypeDef *)TSB_T32A10_BASE) -#define TSB_T32A11 (( TSB_T32A_TypeDef *)TSB_T32A11_BASE) -#define TSB_T32A12 (( TSB_T32A_TypeDef *)TSB_T32A12_BASE) -#define TSB_T32A13 (( TSB_T32A_TypeDef *)TSB_T32A13_BASE) -#define TSB_UART0 (( TSB_UART_TypeDef *) TSB_UART0_BASE) -#define TSB_UART1 (( TSB_UART_TypeDef *) TSB_UART1_BASE) -#define TSB_UART2 (( TSB_UART_TypeDef *) TSB_UART2_BASE) -#define TSB_UART3 (( TSB_UART_TypeDef *) TSB_UART3_BASE) -#define TSB_UART4 (( TSB_UART_TypeDef *) TSB_UART4_BASE) -#define TSB_UART5 (( TSB_UART_TypeDef *) TSB_UART5_BASE) -#define TSB_I2C0 (( TSB_I2C_TypeDef *) TSB_I2C0_BASE) -#define TSB_I2C1 (( TSB_I2C_TypeDef *) TSB_I2C1_BASE) -#define TSB_I2C2 (( TSB_I2C_TypeDef *) TSB_I2C2_BASE) -#define TSB_I2C3 (( TSB_I2C_TypeDef *) TSB_I2C3_BASE) -#define TSB_I2C4 (( TSB_I2C_TypeDef *) TSB_I2C4_BASE) -#define TSB_PA (( TSB_PA_TypeDef *) TSB_PA_BASE) -#define TSB_PB (( TSB_PB_TypeDef *) TSB_PB_BASE) -#define TSB_PC (( TSB_PC_TypeDef *) TSB_PC_BASE) -#define TSB_PD (( TSB_PD_TypeDef *) TSB_PD_BASE) -#define TSB_PE (( TSB_PE_TypeDef *) TSB_PE_BASE) -#define TSB_PF (( TSB_PF_TypeDef *) TSB_PF_BASE) -#define TSB_PG (( TSB_PG_TypeDef *) TSB_PG_BASE) -#define TSB_PH (( TSB_PH_TypeDef *) TSB_PH_BASE) -#define TSB_PJ (( TSB_PJ_TypeDef *) TSB_PJ_BASE) -#define TSB_PK (( TSB_PK_TypeDef *) TSB_PK_BASE) -#define TSB_PL (( TSB_PL_TypeDef *) TSB_PL_BASE) -#define TSB_PM (( TSB_PM_TypeDef *) TSB_PM_BASE) -#define TSB_PN (( TSB_PN_TypeDef *) TSB_PN_BASE) -#define TSB_PP (( TSB_PP_TypeDef *) TSB_PP_BASE) -#define TSB_PR (( TSB_PR_TypeDef *) TSB_PR_BASE) -#define TSB_PT (( TSB_PT_TypeDef *) TSB_PT_BASE) -#define TSB_PU (( TSB_PU_TypeDef *) TSB_PU_BASE) -#define TSB_PV (( TSB_PV_TypeDef *) TSB_PV_BASE) -#define TSB_PW (( TSB_PW_TypeDef *) TSB_PW_BASE) -#define TSB_PY (( TSB_PY_TypeDef *) TSB_PY_BASE) -#define TSB_TRM (( TSB_TRM_TypeDef *) TSB_TRM_BASE) -#define TSB_OFD (( TSB_OFD_TypeDef *) TSB_OFD_BASE) -#define TSB_RTC (( TSB_RTC_TypeDef *) TSB_RTC_BASE) -#define TSB_CEC0 (( TSB_CEC_TypeDef *) TSB_CEC0_BASE) -#define TSB_RMC0 (( TSB_RMC_TypeDef *) TSB_RMC0_BASE) -#define TSB_RMC1 (( TSB_RMC_TypeDef *) TSB_RMC1_BASE) -#define TSB_PMD0 (( TSB_PMD_TypeDef *) TSB_PMD0_BASE) -#define TSB_ISDA (( TSB_ISD_TypeDef *) TSB_ISDA_BASE) -#define TSB_ISDB (( TSB_ISD_TypeDef *) TSB_ISDB_BASE) -#define TSB_ISDC (( TSB_ISD_TypeDef *) TSB_ISDC_BASE) -#define TSB_FC (( TSB_FC_TypeDef *) TSB_FC_BASE) - - -/* Bit-Band for Device Specific Peripheral Registers */ -#define BITBAND_OFFSET (0x02000000UL) -#define BITBAND_PERI_BASE (PERI_BASE + BITBAND_OFFSET) -#define BITBAND_PERI(addr, bitnum) (BITBAND_PERI_BASE + (((uint32_t)(addr) - PERI_BASE) << 5) + ((uint32_t)(bitnum) << 2)) - - - -/* DMA Controller */ -#define TSB_DMACA_INTSTATUS_INTSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTSTATUS,0))) -#define TSB_DMACA_INTSTATUS_INTSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTSTATUS,1))) -#define TSB_DMACA_INTTCSTATUS_INTTCSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTTCSTATUS,0))) -#define TSB_DMACA_INTTCSTATUS_INTTCSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTTCSTATUS,1))) -#define TSB_DMACA_INTERRORSTATUS_INTERRSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTERRORSTATUS,0))) -#define TSB_DMACA_INTERRORSTATUS_INTERRSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->INTERRORSTATUS,1))) -#define TSB_DMACA_RAWINTTCSTATUS_RAWINTTCS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->RAWINTTCSTATUS,0))) -#define TSB_DMACA_RAWINTTCSTATUS_RAWINTTCS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->RAWINTTCSTATUS,1))) -#define TSB_DMACA_RAWINTERRORSTATUS_RAWINTERRS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->RAWINTERRORSTATUS,0))) -#define TSB_DMACA_RAWINTERRORSTATUS_RAWINTERRS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->RAWINTERRORSTATUS,1))) -#define TSB_DMACA_ENBLDCHNS_ENABLEDCH0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->ENBLDCHNS,0))) -#define TSB_DMACA_ENBLDCHNS_ENABLEDCH1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->ENBLDCHNS,1))) -#define TSB_DMACA_CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->CONFIGURATION,0))) -#define TSB_DMACA_C0CONTROL_SI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONTROL,26))) -#define TSB_DMACA_C0CONTROL_DI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONTROL,27))) -#define TSB_DMACA_C0CONTROL_I (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONTROL,31))) -#define TSB_DMACA_C0CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,0))) -#define TSB_DMACA_C0CONFIGURATION_IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,14))) -#define TSB_DMACA_C0CONFIGURATION_ITC (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,15))) -#define TSB_DMACA_C0CONFIGURATION_LOCK (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,16))) -#define TSB_DMACA_C0CONFIGURATION_ACTIVE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,17))) -#define TSB_DMACA_C0CONFIGURATION_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C0CONFIGURATION,18))) -#define TSB_DMACA_C1CONTROL_SI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONTROL,26))) -#define TSB_DMACA_C1CONTROL_DI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONTROL,27))) -#define TSB_DMACA_C1CONTROL_I (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONTROL,31))) -#define TSB_DMACA_C1CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,0))) -#define TSB_DMACA_C1CONFIGURATION_IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,14))) -#define TSB_DMACA_C1CONFIGURATION_ITC (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,15))) -#define TSB_DMACA_C1CONFIGURATION_LOCK (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,16))) -#define TSB_DMACA_C1CONFIGURATION_ACTIVE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,17))) -#define TSB_DMACA_C1CONFIGURATION_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACA->C1CONFIGURATION,18))) - -#define TSB_DMACB_INTSTATUS_INTSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTSTATUS,0))) -#define TSB_DMACB_INTSTATUS_INTSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTSTATUS,1))) -#define TSB_DMACB_INTTCSTATUS_INTTCSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTTCSTATUS,0))) -#define TSB_DMACB_INTTCSTATUS_INTTCSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTTCSTATUS,1))) -#define TSB_DMACB_INTERRORSTATUS_INTERRSTATUS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTERRORSTATUS,0))) -#define TSB_DMACB_INTERRORSTATUS_INTERRSTATUS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->INTERRORSTATUS,1))) -#define TSB_DMACB_RAWINTTCSTATUS_RAWINTTCS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->RAWINTTCSTATUS,0))) -#define TSB_DMACB_RAWINTTCSTATUS_RAWINTTCS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->RAWINTTCSTATUS,1))) -#define TSB_DMACB_RAWINTERRORSTATUS_RAWINTERRS0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->RAWINTERRORSTATUS,0))) -#define TSB_DMACB_RAWINTERRORSTATUS_RAWINTERRS1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->RAWINTERRORSTATUS,1))) -#define TSB_DMACB_ENBLDCHNS_ENABLEDCH0 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->ENBLDCHNS,0))) -#define TSB_DMACB_ENBLDCHNS_ENABLEDCH1 (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->ENBLDCHNS,1))) -#define TSB_DMACB_CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->CONFIGURATION,0))) -#define TSB_DMACB_C0CONTROL_SI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONTROL,26))) -#define TSB_DMACB_C0CONTROL_DI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONTROL,27))) -#define TSB_DMACB_C0CONTROL_I (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONTROL,31))) -#define TSB_DMACB_C0CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,0))) -#define TSB_DMACB_C0CONFIGURATION_IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,14))) -#define TSB_DMACB_C0CONFIGURATION_ITC (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,15))) -#define TSB_DMACB_C0CONFIGURATION_LOCK (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,16))) -#define TSB_DMACB_C0CONFIGURATION_ACTIVE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,17))) -#define TSB_DMACB_C0CONFIGURATION_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C0CONFIGURATION,18))) -#define TSB_DMACB_C1CONTROL_SI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONTROL,26))) -#define TSB_DMACB_C1CONTROL_DI (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONTROL,27))) -#define TSB_DMACB_C1CONTROL_I (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONTROL,31))) -#define TSB_DMACB_C1CONFIGURATION_E (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,0))) -#define TSB_DMACB_C1CONFIGURATION_IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,14))) -#define TSB_DMACB_C1CONFIGURATION_ITC (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,15))) -#define TSB_DMACB_C1CONFIGURATION_LOCK (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,16))) -#define TSB_DMACB_C1CONFIGURATION_ACTIVE (*((__I uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,17))) -#define TSB_DMACB_C1CONFIGURATION_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_DMACB->C1CONFIGURATION,18))) - - -/* */ -#define TSB_SMI0_MAP0_RE (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->MAP0,0))) -#define TSB_SMI0_MAP1_RE (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->MAP1,0))) -#define TSB_SMI0_DACR0_POLLWIP (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->DACR0,6))) -#define TSB_SMI0_DACR1_POLLWIP (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->DACR1,6))) -#define TSB_SMI0_RACR1_CYCGO (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->RACR1,0))) -#define TSB_SMI0_RACR1_CSNUM (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->RACR1,1))) -#define TSB_SMI0_RACR1_PBUFEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->RACR1,4))) -#define TSB_SMI0_RACR1_SBUFEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->RACR1,5))) -#define TSB_SMI0_INT_INTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->INT,0))) -#define TSB_SMI0_STAT_CYCDONE (*((__IO uint32_t *)BITBAND_PERI(&TSB_SMI0->STAT,0))) -#define TSB_SMI0_STAT_CYCPROG (*((__I uint32_t *)BITBAND_PERI(&TSB_SMI0->STAT,1))) - - - - - -/* TRGSEL */ -#define TSB_TSEL0_CR0_EN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,0))) -#define TSB_TSEL0_CR0_OUTSEL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,1))) -#define TSB_TSEL0_CR0_UPDN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,2))) -#define TSB_TSEL0_CR0_EN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,8))) -#define TSB_TSEL0_CR0_OUTSEL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,9))) -#define TSB_TSEL0_CR0_UPDN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,10))) -#define TSB_TSEL0_CR0_EN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,16))) -#define TSB_TSEL0_CR0_OUTSEL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,17))) -#define TSB_TSEL0_CR0_UPDN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,18))) -#define TSB_TSEL0_CR0_EN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,24))) -#define TSB_TSEL0_CR0_OUTSEL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,25))) -#define TSB_TSEL0_CR0_UPDN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR0,26))) -#define TSB_TSEL0_CR1_EN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,0))) -#define TSB_TSEL0_CR1_OUTSEL4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,1))) -#define TSB_TSEL0_CR1_UPDN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,2))) -#define TSB_TSEL0_CR1_EN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,8))) -#define TSB_TSEL0_CR1_OUTSEL5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,9))) -#define TSB_TSEL0_CR1_UPDN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,10))) -#define TSB_TSEL0_CR1_EN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,16))) -#define TSB_TSEL0_CR1_OUTSEL6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,17))) -#define TSB_TSEL0_CR1_UPDN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,18))) -#define TSB_TSEL0_CR1_EN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,24))) -#define TSB_TSEL0_CR1_OUTSEL7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,25))) -#define TSB_TSEL0_CR1_UPDN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR1,26))) -#define TSB_TSEL0_CR2_EN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,0))) -#define TSB_TSEL0_CR2_OUTSEL8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,1))) -#define TSB_TSEL0_CR2_UPDN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,2))) -#define TSB_TSEL0_CR2_EN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,8))) -#define TSB_TSEL0_CR2_OUTSEL9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,9))) -#define TSB_TSEL0_CR2_UPDN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,10))) -#define TSB_TSEL0_CR2_EN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,16))) -#define TSB_TSEL0_CR2_OUTSEL10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,17))) -#define TSB_TSEL0_CR2_UPDN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,18))) -#define TSB_TSEL0_CR2_EN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,24))) -#define TSB_TSEL0_CR2_OUTSEL11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,25))) -#define TSB_TSEL0_CR2_UPDN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR2,26))) -#define TSB_TSEL0_CR3_EN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,0))) -#define TSB_TSEL0_CR3_OUTSEL12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,1))) -#define TSB_TSEL0_CR3_UPDN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,2))) -#define TSB_TSEL0_CR3_EN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,8))) -#define TSB_TSEL0_CR3_OUTSEL13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,9))) -#define TSB_TSEL0_CR3_UPDN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,10))) -#define TSB_TSEL0_CR3_EN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,16))) -#define TSB_TSEL0_CR3_OUTSEL14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,17))) -#define TSB_TSEL0_CR3_UPDN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,18))) -#define TSB_TSEL0_CR3_EN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,24))) -#define TSB_TSEL0_CR3_OUTSEL15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,25))) -#define TSB_TSEL0_CR3_UPDN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR3,26))) -#define TSB_TSEL0_CR4_EN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,0))) -#define TSB_TSEL0_CR4_OUTSEL16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,1))) -#define TSB_TSEL0_CR4_UPDN16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,2))) -#define TSB_TSEL0_CR4_EN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,8))) -#define TSB_TSEL0_CR4_OUTSEL17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,9))) -#define TSB_TSEL0_CR4_UPDN17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,10))) -#define TSB_TSEL0_CR4_EN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,16))) -#define TSB_TSEL0_CR4_OUTSEL18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,17))) -#define TSB_TSEL0_CR4_UPDN18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,18))) -#define TSB_TSEL0_CR4_EN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,24))) -#define TSB_TSEL0_CR4_OUTSEL19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,25))) -#define TSB_TSEL0_CR4_UPDN19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR4,26))) -#define TSB_TSEL0_CR5_EN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,0))) -#define TSB_TSEL0_CR5_OUTSEL20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,1))) -#define TSB_TSEL0_CR5_UPDN20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,2))) -#define TSB_TSEL0_CR5_EN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,8))) -#define TSB_TSEL0_CR5_OUTSEL21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,9))) -#define TSB_TSEL0_CR5_UPDN21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,10))) -#define TSB_TSEL0_CR5_EN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,16))) -#define TSB_TSEL0_CR5_OUTSEL22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,17))) -#define TSB_TSEL0_CR5_UPDN22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,18))) -#define TSB_TSEL0_CR5_EN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,24))) -#define TSB_TSEL0_CR5_OUTSEL23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,25))) -#define TSB_TSEL0_CR5_UPDN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR5,26))) -#define TSB_TSEL0_CR6_EN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,0))) -#define TSB_TSEL0_CR6_OUTSEL24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,1))) -#define TSB_TSEL0_CR6_UPDN24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,2))) -#define TSB_TSEL0_CR6_EN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,8))) -#define TSB_TSEL0_CR6_OUTSEL25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,9))) -#define TSB_TSEL0_CR6_UPDN25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,10))) -#define TSB_TSEL0_CR6_EN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,16))) -#define TSB_TSEL0_CR6_OUTSEL26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,17))) -#define TSB_TSEL0_CR6_UPDN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,18))) -#define TSB_TSEL0_CR6_EN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,24))) -#define TSB_TSEL0_CR6_OUTSEL27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,25))) -#define TSB_TSEL0_CR6_UPDN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR6,26))) -#define TSB_TSEL0_CR7_EN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,0))) -#define TSB_TSEL0_CR7_OUTSEL28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,1))) -#define TSB_TSEL0_CR7_UPDN28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,2))) -#define TSB_TSEL0_CR7_EN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,8))) -#define TSB_TSEL0_CR7_OUTSEL29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,9))) -#define TSB_TSEL0_CR7_UPDN29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,10))) -#define TSB_TSEL0_CR7_EN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,16))) -#define TSB_TSEL0_CR7_OUTSEL30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,17))) -#define TSB_TSEL0_CR7_UPDN30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,18))) -#define TSB_TSEL0_CR7_EN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,24))) -#define TSB_TSEL0_CR7_OUTSEL31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,25))) -#define TSB_TSEL0_CR7_UPDN31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR7,26))) -#define TSB_TSEL0_CR8_EN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,0))) -#define TSB_TSEL0_CR8_OUTSEL32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,1))) -#define TSB_TSEL0_CR8_UPDN32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,2))) -#define TSB_TSEL0_CR8_EN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,8))) -#define TSB_TSEL0_CR8_OUTSEL33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,9))) -#define TSB_TSEL0_CR8_UPDN33 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,10))) -#define TSB_TSEL0_CR8_EN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,16))) -#define TSB_TSEL0_CR8_OUTSEL34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,17))) -#define TSB_TSEL0_CR8_UPDN34 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,18))) -#define TSB_TSEL0_CR8_EN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,24))) -#define TSB_TSEL0_CR8_OUTSEL35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,25))) -#define TSB_TSEL0_CR8_UPDN35 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR8,26))) -#define TSB_TSEL0_CR9_EN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,0))) -#define TSB_TSEL0_CR9_OUTSEL36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,1))) -#define TSB_TSEL0_CR9_UPDN36 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,2))) -#define TSB_TSEL0_CR9_EN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,8))) -#define TSB_TSEL0_CR9_OUTSEL37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,9))) -#define TSB_TSEL0_CR9_UPDN37 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,10))) -#define TSB_TSEL0_CR9_EN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,16))) -#define TSB_TSEL0_CR9_OUTSEL38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,17))) -#define TSB_TSEL0_CR9_UPDN38 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,18))) -#define TSB_TSEL0_CR9_EN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,24))) -#define TSB_TSEL0_CR9_OUTSEL39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,25))) -#define TSB_TSEL0_CR9_UPDN39 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR9,26))) -#define TSB_TSEL0_CR10_EN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,0))) -#define TSB_TSEL0_CR10_OUTSEL40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,1))) -#define TSB_TSEL0_CR10_UPDN40 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,2))) -#define TSB_TSEL0_CR10_EN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,8))) -#define TSB_TSEL0_CR10_OUTSEL41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,9))) -#define TSB_TSEL0_CR10_UPDN41 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,10))) -#define TSB_TSEL0_CR10_EN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,16))) -#define TSB_TSEL0_CR10_OUTSEL42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,17))) -#define TSB_TSEL0_CR10_UPDN42 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,18))) -#define TSB_TSEL0_CR10_EN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,24))) -#define TSB_TSEL0_CR10_OUTSEL43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,25))) -#define TSB_TSEL0_CR10_UPDN43 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR10,26))) -#define TSB_TSEL0_CR11_EN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,0))) -#define TSB_TSEL0_CR11_OUTSEL44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,1))) -#define TSB_TSEL0_CR11_UPDN44 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,2))) -#define TSB_TSEL0_CR11_EN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,8))) -#define TSB_TSEL0_CR11_OUTSEL45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,9))) -#define TSB_TSEL0_CR11_UPDN45 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,10))) -#define TSB_TSEL0_CR11_EN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,16))) -#define TSB_TSEL0_CR11_OUTSEL46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,17))) -#define TSB_TSEL0_CR11_UPDN46 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,18))) -#define TSB_TSEL0_CR11_EN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,24))) -#define TSB_TSEL0_CR11_OUTSEL47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,25))) -#define TSB_TSEL0_CR11_UPDN47 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR11,26))) -#define TSB_TSEL0_CR12_EN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,0))) -#define TSB_TSEL0_CR12_OUTSEL48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,1))) -#define TSB_TSEL0_CR12_UPDN48 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,2))) -#define TSB_TSEL0_CR12_EN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,8))) -#define TSB_TSEL0_CR12_OUTSEL49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,9))) -#define TSB_TSEL0_CR12_UPDN49 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,10))) -#define TSB_TSEL0_CR12_EN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,16))) -#define TSB_TSEL0_CR12_OUTSEL50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,17))) -#define TSB_TSEL0_CR12_UPDN50 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,18))) -#define TSB_TSEL0_CR12_EN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,24))) -#define TSB_TSEL0_CR12_OUTSEL51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,25))) -#define TSB_TSEL0_CR12_UPDN51 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR12,26))) -#define TSB_TSEL0_CR13_EN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,0))) -#define TSB_TSEL0_CR13_OUTSEL52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,1))) -#define TSB_TSEL0_CR13_UPDN52 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,2))) -#define TSB_TSEL0_CR13_EN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,8))) -#define TSB_TSEL0_CR13_OUTSEL53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,9))) -#define TSB_TSEL0_CR13_UPDN53 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,10))) -#define TSB_TSEL0_CR13_EN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,16))) -#define TSB_TSEL0_CR13_OUTSEL54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,17))) -#define TSB_TSEL0_CR13_UPDN54 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,18))) -#define TSB_TSEL0_CR13_EN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,24))) -#define TSB_TSEL0_CR13_OUTSEL55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,25))) -#define TSB_TSEL0_CR13_UPDN55 (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSEL0->CR13,26))) - - - -/* Serial Interface (TSPI) */ -#define TSB_TSPI0_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR0,0))) -#define TSB_TSPI0_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,12))) -#define TSB_TSPI0_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,13))) -#define TSB_TSPI0_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,14))) -#define TSB_TSPI0_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR1,15))) -#define TSB_TSPI0_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,0))) -#define TSB_TSPI0_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,1))) -#define TSB_TSPI0_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,2))) -#define TSB_TSPI0_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,4))) -#define TSB_TSPI0_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,5))) -#define TSB_TSPI0_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,6))) -#define TSB_TSPI0_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,7))) -#define TSB_TSPI0_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,16))) -#define TSB_TSPI0_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR2,21))) -#define TSB_TSPI0_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR3,0))) -#define TSB_TSPI0_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI0->CR3,1))) -#define TSB_TSPI0_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,14))) -#define TSB_TSPI0_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,15))) -#define TSB_TSPI0_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,16))) -#define TSB_TSPI0_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,17))) -#define TSB_TSPI0_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,18))) -#define TSB_TSPI0_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,19))) -#define TSB_TSPI0_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR0,31))) -#define TSB_TSPI0_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR1,0))) -#define TSB_TSPI0_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->FMTR1,1))) -#define TSB_TSPI0_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,4))) -#define TSB_TSPI0_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,5))) -#define TSB_TSPI0_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,6))) -#define TSB_TSPI0_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,7))) -#define TSB_TSPI0_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,20))) -#define TSB_TSPI0_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,21))) -#define TSB_TSPI0_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,22))) -#define TSB_TSPI0_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,23))) -#define TSB_TSPI0_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI0->SR,31))) -#define TSB_TSPI0_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,1))) -#define TSB_TSPI0_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,2))) -#define TSB_TSPI0_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI0->ERR,3))) - -#define TSB_TSPI1_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR0,0))) -#define TSB_TSPI1_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,12))) -#define TSB_TSPI1_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,13))) -#define TSB_TSPI1_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,14))) -#define TSB_TSPI1_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR1,15))) -#define TSB_TSPI1_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,0))) -#define TSB_TSPI1_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,1))) -#define TSB_TSPI1_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,2))) -#define TSB_TSPI1_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,4))) -#define TSB_TSPI1_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,5))) -#define TSB_TSPI1_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,6))) -#define TSB_TSPI1_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,7))) -#define TSB_TSPI1_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,16))) -#define TSB_TSPI1_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR2,21))) -#define TSB_TSPI1_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR3,0))) -#define TSB_TSPI1_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI1->CR3,1))) -#define TSB_TSPI1_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,14))) -#define TSB_TSPI1_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,15))) -#define TSB_TSPI1_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,16))) -#define TSB_TSPI1_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,17))) -#define TSB_TSPI1_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,18))) -#define TSB_TSPI1_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,19))) -#define TSB_TSPI1_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR0,31))) -#define TSB_TSPI1_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR1,0))) -#define TSB_TSPI1_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->FMTR1,1))) -#define TSB_TSPI1_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,4))) -#define TSB_TSPI1_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,5))) -#define TSB_TSPI1_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,6))) -#define TSB_TSPI1_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,7))) -#define TSB_TSPI1_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,20))) -#define TSB_TSPI1_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,21))) -#define TSB_TSPI1_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,22))) -#define TSB_TSPI1_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,23))) -#define TSB_TSPI1_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI1->SR,31))) -#define TSB_TSPI1_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,1))) -#define TSB_TSPI1_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,2))) -#define TSB_TSPI1_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI1->ERR,3))) - -#define TSB_TSPI2_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR0,0))) -#define TSB_TSPI2_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,12))) -#define TSB_TSPI2_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,13))) -#define TSB_TSPI2_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,14))) -#define TSB_TSPI2_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR1,15))) -#define TSB_TSPI2_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,0))) -#define TSB_TSPI2_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,1))) -#define TSB_TSPI2_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,2))) -#define TSB_TSPI2_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,4))) -#define TSB_TSPI2_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,5))) -#define TSB_TSPI2_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,6))) -#define TSB_TSPI2_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,7))) -#define TSB_TSPI2_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,16))) -#define TSB_TSPI2_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR2,21))) -#define TSB_TSPI2_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR3,0))) -#define TSB_TSPI2_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI2->CR3,1))) -#define TSB_TSPI2_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,14))) -#define TSB_TSPI2_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,15))) -#define TSB_TSPI2_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,16))) -#define TSB_TSPI2_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,17))) -#define TSB_TSPI2_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,18))) -#define TSB_TSPI2_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,19))) -#define TSB_TSPI2_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR0,31))) -#define TSB_TSPI2_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR1,0))) -#define TSB_TSPI2_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->FMTR1,1))) -#define TSB_TSPI2_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,4))) -#define TSB_TSPI2_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,5))) -#define TSB_TSPI2_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,6))) -#define TSB_TSPI2_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,7))) -#define TSB_TSPI2_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,20))) -#define TSB_TSPI2_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,21))) -#define TSB_TSPI2_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,22))) -#define TSB_TSPI2_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,23))) -#define TSB_TSPI2_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI2->SR,31))) -#define TSB_TSPI2_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,1))) -#define TSB_TSPI2_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,2))) -#define TSB_TSPI2_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI2->ERR,3))) - -#define TSB_TSPI3_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR0,0))) -#define TSB_TSPI3_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,12))) -#define TSB_TSPI3_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,13))) -#define TSB_TSPI3_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,14))) -#define TSB_TSPI3_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR1,15))) -#define TSB_TSPI3_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,0))) -#define TSB_TSPI3_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,1))) -#define TSB_TSPI3_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,2))) -#define TSB_TSPI3_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,4))) -#define TSB_TSPI3_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,5))) -#define TSB_TSPI3_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,6))) -#define TSB_TSPI3_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,7))) -#define TSB_TSPI3_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,16))) -#define TSB_TSPI3_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR2,21))) -#define TSB_TSPI3_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR3,0))) -#define TSB_TSPI3_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI3->CR3,1))) -#define TSB_TSPI3_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,14))) -#define TSB_TSPI3_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,15))) -#define TSB_TSPI3_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,16))) -#define TSB_TSPI3_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,17))) -#define TSB_TSPI3_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,18))) -#define TSB_TSPI3_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,19))) -#define TSB_TSPI3_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR0,31))) -#define TSB_TSPI3_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR1,0))) -#define TSB_TSPI3_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->FMTR1,1))) -#define TSB_TSPI3_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,4))) -#define TSB_TSPI3_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,5))) -#define TSB_TSPI3_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,6))) -#define TSB_TSPI3_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,7))) -#define TSB_TSPI3_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,20))) -#define TSB_TSPI3_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,21))) -#define TSB_TSPI3_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,22))) -#define TSB_TSPI3_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,23))) -#define TSB_TSPI3_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI3->SR,31))) -#define TSB_TSPI3_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,1))) -#define TSB_TSPI3_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,2))) -#define TSB_TSPI3_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI3->ERR,3))) - -#define TSB_TSPI4_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR0,0))) -#define TSB_TSPI4_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,12))) -#define TSB_TSPI4_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,13))) -#define TSB_TSPI4_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,14))) -#define TSB_TSPI4_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR1,15))) -#define TSB_TSPI4_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,0))) -#define TSB_TSPI4_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,1))) -#define TSB_TSPI4_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,2))) -#define TSB_TSPI4_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,4))) -#define TSB_TSPI4_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,5))) -#define TSB_TSPI4_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,6))) -#define TSB_TSPI4_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,7))) -#define TSB_TSPI4_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,16))) -#define TSB_TSPI4_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR2,21))) -#define TSB_TSPI4_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR3,0))) -#define TSB_TSPI4_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI4->CR3,1))) -#define TSB_TSPI4_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,14))) -#define TSB_TSPI4_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,15))) -#define TSB_TSPI4_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,16))) -#define TSB_TSPI4_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,17))) -#define TSB_TSPI4_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,18))) -#define TSB_TSPI4_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,19))) -#define TSB_TSPI4_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR0,31))) -#define TSB_TSPI4_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR1,0))) -#define TSB_TSPI4_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->FMTR1,1))) -#define TSB_TSPI4_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,4))) -#define TSB_TSPI4_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,5))) -#define TSB_TSPI4_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,6))) -#define TSB_TSPI4_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,7))) -#define TSB_TSPI4_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,20))) -#define TSB_TSPI4_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,21))) -#define TSB_TSPI4_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,22))) -#define TSB_TSPI4_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,23))) -#define TSB_TSPI4_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI4->SR,31))) -#define TSB_TSPI4_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,1))) -#define TSB_TSPI4_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,2))) -#define TSB_TSPI4_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI4->ERR,3))) - -#define TSB_TSPI5_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR0,0))) -#define TSB_TSPI5_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR1,12))) -#define TSB_TSPI5_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR1,13))) -#define TSB_TSPI5_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR1,14))) -#define TSB_TSPI5_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR1,15))) -#define TSB_TSPI5_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,0))) -#define TSB_TSPI5_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,1))) -#define TSB_TSPI5_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,2))) -#define TSB_TSPI5_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,4))) -#define TSB_TSPI5_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,5))) -#define TSB_TSPI5_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,6))) -#define TSB_TSPI5_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,7))) -#define TSB_TSPI5_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,16))) -#define TSB_TSPI5_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR2,21))) -#define TSB_TSPI5_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR3,0))) -#define TSB_TSPI5_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI5->CR3,1))) -#define TSB_TSPI5_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,14))) -#define TSB_TSPI5_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,15))) -#define TSB_TSPI5_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,16))) -#define TSB_TSPI5_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,17))) -#define TSB_TSPI5_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,18))) -#define TSB_TSPI5_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,19))) -#define TSB_TSPI5_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR0,31))) -#define TSB_TSPI5_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR1,0))) -#define TSB_TSPI5_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->FMTR1,1))) -#define TSB_TSPI5_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,4))) -#define TSB_TSPI5_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,5))) -#define TSB_TSPI5_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,6))) -#define TSB_TSPI5_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,7))) -#define TSB_TSPI5_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,20))) -#define TSB_TSPI5_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,21))) -#define TSB_TSPI5_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,22))) -#define TSB_TSPI5_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,23))) -#define TSB_TSPI5_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI5->SR,31))) -#define TSB_TSPI5_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->ERR,1))) -#define TSB_TSPI5_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->ERR,2))) -#define TSB_TSPI5_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI5->ERR,3))) - -#define TSB_TSPI6_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR0,0))) -#define TSB_TSPI6_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR1,12))) -#define TSB_TSPI6_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR1,13))) -#define TSB_TSPI6_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR1,14))) -#define TSB_TSPI6_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR1,15))) -#define TSB_TSPI6_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,0))) -#define TSB_TSPI6_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,1))) -#define TSB_TSPI6_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,2))) -#define TSB_TSPI6_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,4))) -#define TSB_TSPI6_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,5))) -#define TSB_TSPI6_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,6))) -#define TSB_TSPI6_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,7))) -#define TSB_TSPI6_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,16))) -#define TSB_TSPI6_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR2,21))) -#define TSB_TSPI6_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR3,0))) -#define TSB_TSPI6_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI6->CR3,1))) -#define TSB_TSPI6_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,14))) -#define TSB_TSPI6_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,15))) -#define TSB_TSPI6_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,16))) -#define TSB_TSPI6_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,17))) -#define TSB_TSPI6_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,18))) -#define TSB_TSPI6_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,19))) -#define TSB_TSPI6_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR0,31))) -#define TSB_TSPI6_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR1,0))) -#define TSB_TSPI6_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->FMTR1,1))) -#define TSB_TSPI6_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,4))) -#define TSB_TSPI6_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,5))) -#define TSB_TSPI6_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,6))) -#define TSB_TSPI6_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,7))) -#define TSB_TSPI6_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,20))) -#define TSB_TSPI6_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,21))) -#define TSB_TSPI6_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,22))) -#define TSB_TSPI6_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,23))) -#define TSB_TSPI6_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI6->SR,31))) -#define TSB_TSPI6_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->ERR,1))) -#define TSB_TSPI6_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->ERR,2))) -#define TSB_TSPI6_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI6->ERR,3))) - -#define TSB_TSPI7_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR0,0))) -#define TSB_TSPI7_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR1,12))) -#define TSB_TSPI7_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR1,13))) -#define TSB_TSPI7_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR1,14))) -#define TSB_TSPI7_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR1,15))) -#define TSB_TSPI7_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,0))) -#define TSB_TSPI7_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,1))) -#define TSB_TSPI7_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,2))) -#define TSB_TSPI7_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,4))) -#define TSB_TSPI7_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,5))) -#define TSB_TSPI7_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,6))) -#define TSB_TSPI7_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,7))) -#define TSB_TSPI7_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,16))) -#define TSB_TSPI7_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR2,21))) -#define TSB_TSPI7_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR3,0))) -#define TSB_TSPI7_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI7->CR3,1))) -#define TSB_TSPI7_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,14))) -#define TSB_TSPI7_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,15))) -#define TSB_TSPI7_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,16))) -#define TSB_TSPI7_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,17))) -#define TSB_TSPI7_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,18))) -#define TSB_TSPI7_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,19))) -#define TSB_TSPI7_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR0,31))) -#define TSB_TSPI7_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR1,0))) -#define TSB_TSPI7_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->FMTR1,1))) -#define TSB_TSPI7_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,4))) -#define TSB_TSPI7_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,5))) -#define TSB_TSPI7_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,6))) -#define TSB_TSPI7_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,7))) -#define TSB_TSPI7_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,20))) -#define TSB_TSPI7_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,21))) -#define TSB_TSPI7_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,22))) -#define TSB_TSPI7_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,23))) -#define TSB_TSPI7_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI7->SR,31))) -#define TSB_TSPI7_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->ERR,1))) -#define TSB_TSPI7_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->ERR,2))) -#define TSB_TSPI7_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI7->ERR,3))) - -#define TSB_TSPI8_CR0_TSPIE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR0,0))) -#define TSB_TSPI8_CR1_MSTR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR1,12))) -#define TSB_TSPI8_CR1_TSPIMS (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR1,13))) -#define TSB_TSPI8_CR1_TRXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR1,14))) -#define TSB_TSPI8_CR1_TRGIN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR1,15))) -#define TSB_TSPI8_CR2_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,0))) -#define TSB_TSPI8_CR2_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,1))) -#define TSB_TSPI8_CR2_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,2))) -#define TSB_TSPI8_CR2_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,4))) -#define TSB_TSPI8_CR2_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,5))) -#define TSB_TSPI8_CR2_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,6))) -#define TSB_TSPI8_CR2_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,7))) -#define TSB_TSPI8_CR2_RXDLY (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,16))) -#define TSB_TSPI8_CR2_TXDEMP (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR2,21))) -#define TSB_TSPI8_CR3_RFFLLCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR3,0))) -#define TSB_TSPI8_CR3_TFEMPCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_TSPI8->CR3,1))) -#define TSB_TSPI8_FMTR0_CKPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,14))) -#define TSB_TSPI8_FMTR0_CKPHA (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,15))) -#define TSB_TSPI8_FMTR0_CS0POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,16))) -#define TSB_TSPI8_FMTR0_CS1POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,17))) -#define TSB_TSPI8_FMTR0_CS2POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,18))) -#define TSB_TSPI8_FMTR0_CS3POL (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,19))) -#define TSB_TSPI8_FMTR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR0,31))) -#define TSB_TSPI8_FMTR1_VPM (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR1,0))) -#define TSB_TSPI8_FMTR1_VPE (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->FMTR1,1))) -#define TSB_TSPI8_SR_RFFLL (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,4))) -#define TSB_TSPI8_SR_INTRXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,5))) -#define TSB_TSPI8_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,6))) -#define TSB_TSPI8_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,7))) -#define TSB_TSPI8_SR_TFEMP (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,20))) -#define TSB_TSPI8_SR_INTTXWF (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,21))) -#define TSB_TSPI8_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,22))) -#define TSB_TSPI8_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,23))) -#define TSB_TSPI8_SR_TSPISUE (*((__I uint32_t *)BITBAND_PERI(&TSB_TSPI8->SR,31))) -#define TSB_TSPI8_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->ERR,1))) -#define TSB_TSPI8_ERR_UDRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->ERR,2))) -#define TSB_TSPI8_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_TSPI8->ERR,3))) - - -/* External Bus Interface(EXB) */ -#define TSB_EXB_MOD_EXBSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->MOD,0))) -#define TSB_EXB_CS0_CSW0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS0,0))) -#define TSB_EXB_CS0_WAIT (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS0,12))) -#define TSB_EXB_CS0_WSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS0,13))) -#define TSB_EXB_CS1_CSW0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS1,0))) -#define TSB_EXB_CS1_WAIT (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS1,12))) -#define TSB_EXB_CS1_WSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS1,13))) -#define TSB_EXB_CS2_CSW0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS2,0))) -#define TSB_EXB_CS2_WAIT (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS2,12))) -#define TSB_EXB_CS2_WSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS2,13))) -#define TSB_EXB_CS3_CSW0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS3,0))) -#define TSB_EXB_CS3_WAIT (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS3,12))) -#define TSB_EXB_CS3_WSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CS3,13))) -#define TSB_EXB_CLKCTL_CLKEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_EXB->CLKCTL,0))) - - -/* Clock Generator (CG) */ -#define TSB_CG_OSCCR_IHOSC1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,0))) -#define TSB_CG_OSCCR_OSCSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,8))) -#define TSB_CG_OSCCR_OSCF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,9))) -#define TSB_CG_OSCCR_IHOSC1F (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->OSCCR,16))) -#define TSB_CG_PLL0SEL_PLL0ON (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,0))) -#define TSB_CG_PLL0SEL_PLL0SEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,1))) -#define TSB_CG_PLL0SEL_PLL0ST (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->PLL0SEL,2))) -#define TSB_CG_WUPHCR_WUON (*((__O uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,0))) -#define TSB_CG_WUPHCR_WUEF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,1))) -#define TSB_CG_WUPHCR_WUCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->WUPHCR,8))) -#define TSB_CG_WUPLCR_WULON (*((__O uint32_t *)BITBAND_PERI(&TSB_CG->WUPLCR,0))) -#define TSB_CG_WUPLCR_WULEF (*((__I uint32_t *)BITBAND_PERI(&TSB_CG->WUPLCR,1))) -#define TSB_CG_FSYSMENA_IPMENA00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,0))) -#define TSB_CG_FSYSMENA_IPMENA01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,1))) -#define TSB_CG_FSYSMENA_IPMENA02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,2))) -#define TSB_CG_FSYSMENA_IPMENA03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,3))) -#define TSB_CG_FSYSMENA_IPMENA04 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,4))) -#define TSB_CG_FSYSMENA_IPMENA05 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,5))) -#define TSB_CG_FSYSMENA_IPMENA06 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,6))) -#define TSB_CG_FSYSMENA_IPMENA07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,7))) -#define TSB_CG_FSYSMENA_IPMENA08 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,8))) -#define TSB_CG_FSYSMENA_IPMENA09 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,9))) -#define TSB_CG_FSYSMENA_IPMENA10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,10))) -#define TSB_CG_FSYSMENA_IPMENA11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,11))) -#define TSB_CG_FSYSMENA_IPMENA12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,12))) -#define TSB_CG_FSYSMENA_IPMENA13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,13))) -#define TSB_CG_FSYSMENA_IPMENA14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,14))) -#define TSB_CG_FSYSMENA_IPMENA15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,15))) -#define TSB_CG_FSYSMENA_IPMENA16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,16))) -#define TSB_CG_FSYSMENA_IPMENA17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,17))) -#define TSB_CG_FSYSMENA_IPMENA18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,18))) -#define TSB_CG_FSYSMENA_IPMENA19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,19))) -#define TSB_CG_FSYSMENA_IPMENA20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,20))) -#define TSB_CG_FSYSMENA_IPMENA21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,21))) -#define TSB_CG_FSYSMENA_IPMENA22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,22))) -#define TSB_CG_FSYSMENA_IPMENA23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,23))) -#define TSB_CG_FSYSMENA_IPMENA24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,24))) -#define TSB_CG_FSYSMENA_IPMENA25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,25))) -#define TSB_CG_FSYSMENA_IPMENA26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,26))) -#define TSB_CG_FSYSMENA_IPMENA27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,27))) -#define TSB_CG_FSYSMENA_IPMENA28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,28))) -#define TSB_CG_FSYSMENA_IPMENA29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,29))) -#define TSB_CG_FSYSMENA_IPMENA30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,30))) -#define TSB_CG_FSYSMENA_IPMENA31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENA,31))) -#define TSB_CG_FSYSMENB_IPMENB00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,0))) -#define TSB_CG_FSYSMENB_IPMENB01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,1))) -#define TSB_CG_FSYSMENB_IPMENB02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,2))) -#define TSB_CG_FSYSMENB_IPMENB03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,3))) -#define TSB_CG_FSYSMENB_IPMENB04 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,4))) -#define TSB_CG_FSYSMENB_IPMENB05 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,5))) -#define TSB_CG_FSYSMENB_IPMENB06 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,6))) -#define TSB_CG_FSYSMENB_IPMENB07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,7))) -#define TSB_CG_FSYSMENB_IPMENB08 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,8))) -#define TSB_CG_FSYSMENB_IPMENB09 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,9))) -#define TSB_CG_FSYSMENB_IPMENB10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,10))) -#define TSB_CG_FSYSMENB_IPMENB11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,11))) -#define TSB_CG_FSYSMENB_IPMENB12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,12))) -#define TSB_CG_FSYSMENB_IPMENB13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,13))) -#define TSB_CG_FSYSMENB_IPMENB14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,14))) -#define TSB_CG_FSYSMENB_IPMENB15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,15))) -#define TSB_CG_FSYSMENB_IPMENB16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,16))) -#define TSB_CG_FSYSMENB_IPMENB17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,17))) -#define TSB_CG_FSYSMENB_IPMENB18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,18))) -#define TSB_CG_FSYSMENB_IPMENB19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,19))) -#define TSB_CG_FSYSMENB_IPMENB20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,20))) -#define TSB_CG_FSYSMENB_IPMENB21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,21))) -#define TSB_CG_FSYSMENB_IPMENB22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,22))) -#define TSB_CG_FSYSMENB_IPMENB23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,23))) -#define TSB_CG_FSYSMENB_IPMENB24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,24))) -#define TSB_CG_FSYSMENB_IPMENB28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,28))) -#define TSB_CG_FSYSMENB_IPMENB29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,29))) -#define TSB_CG_FSYSMENB_IPMENB30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,30))) -#define TSB_CG_FSYSMENB_IPMENB31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSMENB,31))) -#define TSB_CG_FSYSENA_IPENA00 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,0))) -#define TSB_CG_FSYSENA_IPENA01 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,1))) -#define TSB_CG_FSYSENA_IPENA02 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,2))) -#define TSB_CG_FSYSENA_IPENA03 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,3))) -#define TSB_CG_FSYSENA_IPENA04 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,4))) -#define TSB_CG_FSYSENA_IPENA05 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,5))) -#define TSB_CG_FSYSENA_IPENA06 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,6))) -#define TSB_CG_FSYSENA_IPENA07 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,7))) -#define TSB_CG_FSYSENA_IPENA08 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,8))) -#define TSB_CG_FSYSENA_IPENA09 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,9))) -#define TSB_CG_FSYSENA_IPENA10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,10))) -#define TSB_CG_FSYSENA_IPENA11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,11))) -#define TSB_CG_FSYSENA_IPENA12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FSYSENA,12))) -#define TSB_CG_FCEN_FCIPEN23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FCEN,23))) -#define TSB_CG_FCEN_FCIPEN26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FCEN,26))) -#define TSB_CG_FCEN_FCIPEN27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->FCEN,27))) -#define TSB_CG_SPCLKEN_TRCKEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->SPCLKEN,0))) -#define TSB_CG_SPCLKEN_ADCKEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->SPCLKEN,16))) -#define TSB_CG_EXTEND2_RSV20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->EXTEND2,0))) -#define TSB_CG_EXTEND2_RSV21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->EXTEND2,1))) -#define TSB_CG_EXTEND2_RSV22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_CG->EXTEND2,2))) - - - -/* Interrupt Monitor Register */ -#define TSB_IMN_FLGNMI_INT000FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLGNMI,0))) -#define TSB_IMN_FLGNMI_INT016FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLGNMI,16))) -#define TSB_IMN_FLG1_INT032FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,0))) -#define TSB_IMN_FLG1_INT033FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,1))) -#define TSB_IMN_FLG1_INT034FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,2))) -#define TSB_IMN_FLG1_INT035FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,3))) -#define TSB_IMN_FLG1_INT036FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,4))) -#define TSB_IMN_FLG1_INT037FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,5))) -#define TSB_IMN_FLG1_INT038FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,6))) -#define TSB_IMN_FLG1_INT039FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,7))) -#define TSB_IMN_FLG1_INT040FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,8))) -#define TSB_IMN_FLG1_INT041FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,9))) -#define TSB_IMN_FLG1_INT042FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,10))) -#define TSB_IMN_FLG1_INT043FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,11))) -#define TSB_IMN_FLG1_INT044FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,12))) -#define TSB_IMN_FLG1_INT045FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,13))) -#define TSB_IMN_FLG1_INT046FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,14))) -#define TSB_IMN_FLG1_INT047FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,15))) -#define TSB_IMN_FLG1_INT048FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,16))) -#define TSB_IMN_FLG1_INT049FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,17))) -#define TSB_IMN_FLG1_INT050FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,18))) -#define TSB_IMN_FLG1_INT051FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,19))) -#define TSB_IMN_FLG1_INT052FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,20))) -#define TSB_IMN_FLG1_INT053FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,21))) -#define TSB_IMN_FLG1_INT054FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,22))) -#define TSB_IMN_FLG1_INT055FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,23))) -#define TSB_IMN_FLG1_INT056FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,24))) -#define TSB_IMN_FLG1_INT057FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,25))) -#define TSB_IMN_FLG1_INT058FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,26))) -#define TSB_IMN_FLG1_INT059FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,27))) -#define TSB_IMN_FLG1_INT060FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,28))) -#define TSB_IMN_FLG1_INT061FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,29))) -#define TSB_IMN_FLG1_INT062FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,30))) -#define TSB_IMN_FLG1_INT063FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG1,31))) -#define TSB_IMN_FLG2_INT081FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,17))) -#define TSB_IMN_FLG2_INT082FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,18))) -#define TSB_IMN_FLG2_INT083FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,19))) -#define TSB_IMN_FLG2_INT084FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,20))) -#define TSB_IMN_FLG2_INT085FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,21))) -#define TSB_IMN_FLG2_INT086FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,22))) -#define TSB_IMN_FLG2_INT087FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,23))) -#define TSB_IMN_FLG2_INT088FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,24))) -#define TSB_IMN_FLG2_INT089FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG2,25))) -#define TSB_IMN_FLG3_INT096FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,0))) -#define TSB_IMN_FLG3_INT097FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,1))) -#define TSB_IMN_FLG3_INT098FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,2))) -#define TSB_IMN_FLG3_INT099FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,3))) -#define TSB_IMN_FLG3_INT100FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,4))) -#define TSB_IMN_FLG3_INT101FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,5))) -#define TSB_IMN_FLG3_INT102FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,6))) -#define TSB_IMN_FLG3_INT103FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,7))) -#define TSB_IMN_FLG3_INT104FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,8))) -#define TSB_IMN_FLG3_INT105FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,9))) -#define TSB_IMN_FLG3_INT106FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,10))) -#define TSB_IMN_FLG3_INT107FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,11))) -#define TSB_IMN_FLG3_INT108FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,12))) -#define TSB_IMN_FLG3_INT109FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,13))) -#define TSB_IMN_FLG3_INT110FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,14))) -#define TSB_IMN_FLG3_INT111FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,15))) -#define TSB_IMN_FLG3_INT112FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,16))) -#define TSB_IMN_FLG3_INT113FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,17))) -#define TSB_IMN_FLG3_INT114FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,18))) -#define TSB_IMN_FLG3_INT115FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,19))) -#define TSB_IMN_FLG3_INT116FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,20))) -#define TSB_IMN_FLG3_INT117FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,21))) -#define TSB_IMN_FLG3_INT118FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,22))) -#define TSB_IMN_FLG3_INT119FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,23))) -#define TSB_IMN_FLG3_INT120FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,24))) -#define TSB_IMN_FLG3_INT121FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,25))) -#define TSB_IMN_FLG3_INT122FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,26))) -#define TSB_IMN_FLG3_INT123FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,27))) -#define TSB_IMN_FLG3_INT124FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,28))) -#define TSB_IMN_FLG3_INT125FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,29))) -#define TSB_IMN_FLG3_INT126FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,30))) -#define TSB_IMN_FLG3_INT127FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG3,31))) -#define TSB_IMN_FLG4_INT128FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,0))) -#define TSB_IMN_FLG4_INT129FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,1))) -#define TSB_IMN_FLG4_INT130FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,2))) -#define TSB_IMN_FLG4_INT131FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,3))) -#define TSB_IMN_FLG4_INT132FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,4))) -#define TSB_IMN_FLG4_INT133FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,5))) -#define TSB_IMN_FLG4_INT134FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,6))) -#define TSB_IMN_FLG4_INT135FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,7))) -#define TSB_IMN_FLG4_INT136FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,8))) -#define TSB_IMN_FLG4_INT137FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,9))) -#define TSB_IMN_FLG4_INT138FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,10))) -#define TSB_IMN_FLG4_INT139FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,11))) -#define TSB_IMN_FLG4_INT140FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,12))) -#define TSB_IMN_FLG4_INT141FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,13))) -#define TSB_IMN_FLG4_INT142FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,14))) -#define TSB_IMN_FLG4_INT143FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,15))) -#define TSB_IMN_FLG4_INT144FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,16))) -#define TSB_IMN_FLG4_INT145FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,17))) -#define TSB_IMN_FLG4_INT146FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,18))) -#define TSB_IMN_FLG4_INT147FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,19))) -#define TSB_IMN_FLG4_INT148FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,20))) -#define TSB_IMN_FLG4_INT149FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,21))) -#define TSB_IMN_FLG4_INT150FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,22))) -#define TSB_IMN_FLG4_INT151FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,23))) -#define TSB_IMN_FLG4_INT152FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,24))) -#define TSB_IMN_FLG4_INT153FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,25))) -#define TSB_IMN_FLG4_INT154FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,26))) -#define TSB_IMN_FLG4_INT155FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,27))) -#define TSB_IMN_FLG4_INT156FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,28))) -#define TSB_IMN_FLG4_INT157FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,29))) -#define TSB_IMN_FLG4_INT158FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,30))) -#define TSB_IMN_FLG4_INT159FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG4,31))) -#define TSB_IMN_FLG5_INT160FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,0))) -#define TSB_IMN_FLG5_INT161FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,1))) -#define TSB_IMN_FLG5_INT162FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,2))) -#define TSB_IMN_FLG5_INT163FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,3))) -#define TSB_IMN_FLG5_INT164FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,4))) -#define TSB_IMN_FLG5_INT165FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,5))) -#define TSB_IMN_FLG5_INT166FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,6))) -#define TSB_IMN_FLG5_INT167FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,7))) -#define TSB_IMN_FLG5_INT168FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,8))) -#define TSB_IMN_FLG5_INT169FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,9))) -#define TSB_IMN_FLG5_INT170FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,10))) -#define TSB_IMN_FLG5_INT171FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,11))) -#define TSB_IMN_FLG5_INT172FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,12))) -#define TSB_IMN_FLG5_INT173FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,13))) -#define TSB_IMN_FLG5_INT174FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,14))) -#define TSB_IMN_FLG5_INT175FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,15))) -#define TSB_IMN_FLG5_INT176FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,16))) -#define TSB_IMN_FLG5_INT177FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,17))) -#define TSB_IMN_FLG5_INT178FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,18))) -#define TSB_IMN_FLG5_INT179FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,19))) -#define TSB_IMN_FLG5_INT180FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,20))) -#define TSB_IMN_FLG5_INT181FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,21))) -#define TSB_IMN_FLG5_INT182FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,22))) -#define TSB_IMN_FLG5_INT183FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,23))) -#define TSB_IMN_FLG5_INT184FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,24))) -#define TSB_IMN_FLG5_INT185FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,25))) -#define TSB_IMN_FLG5_INT186FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,26))) -#define TSB_IMN_FLG5_INT187FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,27))) -#define TSB_IMN_FLG5_INT188FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,28))) -#define TSB_IMN_FLG5_INT189FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,29))) -#define TSB_IMN_FLG5_INT190FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,30))) -#define TSB_IMN_FLG5_INT191FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG5,31))) -#define TSB_IMN_FLG6_INT192FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,0))) -#define TSB_IMN_FLG6_INT193FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,1))) -#define TSB_IMN_FLG6_INT194FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,2))) -#define TSB_IMN_FLG6_INT195FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,3))) -#define TSB_IMN_FLG6_INT196FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,4))) -#define TSB_IMN_FLG6_INT197FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,5))) -#define TSB_IMN_FLG6_INT198FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,6))) -#define TSB_IMN_FLG6_INT199FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,7))) -#define TSB_IMN_FLG6_INT200FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,8))) -#define TSB_IMN_FLG6_INT201FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,9))) -#define TSB_IMN_FLG6_INT202FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,10))) -#define TSB_IMN_FLG6_INT203FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,11))) -#define TSB_IMN_FLG6_INT204FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,12))) -#define TSB_IMN_FLG6_INT205FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,13))) -#define TSB_IMN_FLG6_INT206FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,14))) -#define TSB_IMN_FLG6_INT207FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,15))) -#define TSB_IMN_FLG6_INT208FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,16))) -#define TSB_IMN_FLG6_INT209FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,17))) -#define TSB_IMN_FLG6_INT210FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,18))) -#define TSB_IMN_FLG6_INT211FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,19))) -#define TSB_IMN_FLG6_INT212FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,20))) -#define TSB_IMN_FLG6_INT213FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,21))) -#define TSB_IMN_FLG6_INT214FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,22))) -#define TSB_IMN_FLG6_INT215FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,23))) -#define TSB_IMN_FLG6_INT216FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,24))) -#define TSB_IMN_FLG6_INT217FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,25))) -#define TSB_IMN_FLG6_INT218FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,26))) -#define TSB_IMN_FLG6_INT219FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,27))) -#define TSB_IMN_FLG6_INT220FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,28))) -#define TSB_IMN_FLG6_INT221FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,29))) -#define TSB_IMN_FLG6_INT222FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,30))) -#define TSB_IMN_FLG6_INT223FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG6,31))) -#define TSB_IMN_FLG7_INT224FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,0))) -#define TSB_IMN_FLG7_INT225FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,1))) -#define TSB_IMN_FLG7_INT226FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,2))) -#define TSB_IMN_FLG7_INT227FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,3))) -#define TSB_IMN_FLG7_INT228FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,4))) -#define TSB_IMN_FLG7_INT229FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,5))) -#define TSB_IMN_FLG7_INT230FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,6))) -#define TSB_IMN_FLG7_INT231FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,7))) -#define TSB_IMN_FLG7_INT232FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,8))) -#define TSB_IMN_FLG7_INT233FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,9))) -#define TSB_IMN_FLG7_INT234FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,10))) -#define TSB_IMN_FLG7_INT235FLG (*((__I uint32_t *)BITBAND_PERI(&TSB_IMN->FLG7,11))) - - -/* DNF */ -#define TSB_DNFA_ENCR_NFEN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,0))) -#define TSB_DNFA_ENCR_NFEN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,1))) -#define TSB_DNFA_ENCR_NFEN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,2))) -#define TSB_DNFA_ENCR_NFEN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,3))) -#define TSB_DNFA_ENCR_NFEN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,4))) -#define TSB_DNFA_ENCR_NFEN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,5))) -#define TSB_DNFA_ENCR_NFEN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,6))) -#define TSB_DNFA_ENCR_NFEN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,7))) -#define TSB_DNFA_ENCR_NFEN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,8))) -#define TSB_DNFA_ENCR_NFEN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,9))) -#define TSB_DNFA_ENCR_NFEN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,10))) -#define TSB_DNFA_ENCR_NFEN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,11))) -#define TSB_DNFA_ENCR_NFEN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,12))) -#define TSB_DNFA_ENCR_NFEN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,13))) -#define TSB_DNFA_ENCR_NFEN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,14))) -#define TSB_DNFA_ENCR_NFEN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFA->ENCR,15))) - -#define TSB_DNFB_ENCR_NFEN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,0))) -#define TSB_DNFB_ENCR_NFEN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,1))) -#define TSB_DNFB_ENCR_NFEN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,2))) -#define TSB_DNFB_ENCR_NFEN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,3))) -#define TSB_DNFB_ENCR_NFEN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,4))) -#define TSB_DNFB_ENCR_NFEN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,5))) -#define TSB_DNFB_ENCR_NFEN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,6))) -#define TSB_DNFB_ENCR_NFEN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,7))) -#define TSB_DNFB_ENCR_NFEN8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,8))) -#define TSB_DNFB_ENCR_NFEN9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,9))) -#define TSB_DNFB_ENCR_NFEN10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,10))) -#define TSB_DNFB_ENCR_NFEN11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,11))) -#define TSB_DNFB_ENCR_NFEN12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,12))) -#define TSB_DNFB_ENCR_NFEN13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,13))) -#define TSB_DNFB_ENCR_NFEN14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,14))) -#define TSB_DNFB_ENCR_NFEN15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_DNFB->ENCR,15))) - - -/* Watchdog Timer (WD) */ -#define TSB_SIWD0_EN_WDTE (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->EN,0))) -#define TSB_SIWD0_EN_WDTF (*((__I uint32_t *)BITBAND_PERI(&TSB_SIWD0->EN,1))) -#define TSB_SIWD0_MOD_RESCR (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->MOD,0))) -#define TSB_SIWD0_MOD_INTF (*((__IO uint32_t *)BITBAND_PERI(&TSB_SIWD0->MOD,1))) - - -/* NBD */ -#define TSB_NBD_CR0_NBDEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_NBD->CR0,0))) - - -/* Malti Porpose Direct Memory Accsess(MDMA) */ -#define TSB_MDMAA_XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->XFTYP,16))) -#define TSB_MDMAA_XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->XFTYP,24))) -#define TSB_MDMAA_DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->DSNUM,8))) -#define TSB_MDMAA_C00XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C00XFTYP,16))) -#define TSB_MDMAA_C00XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C00XFTYP,24))) -#define TSB_MDMAA_C00DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C00DSNUM,8))) -#define TSB_MDMAA_C01XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C01XFTYP,16))) -#define TSB_MDMAA_C01XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C01XFTYP,24))) -#define TSB_MDMAA_C01DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C01DSNUM,8))) -#define TSB_MDMAA_C02XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C02XFTYP,16))) -#define TSB_MDMAA_C02XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C02XFTYP,24))) -#define TSB_MDMAA_C02DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C02DSNUM,8))) -#define TSB_MDMAA_C03XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C03XFTYP,16))) -#define TSB_MDMAA_C03XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C03XFTYP,24))) -#define TSB_MDMAA_C03DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C03DSNUM,8))) -#define TSB_MDMAA_C04XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C04XFTYP,16))) -#define TSB_MDMAA_C04XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C04XFTYP,24))) -#define TSB_MDMAA_C04DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C04DSNUM,8))) -#define TSB_MDMAA_C05XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C05XFTYP,16))) -#define TSB_MDMAA_C05XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C05XFTYP,24))) -#define TSB_MDMAA_C05DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C05DSNUM,8))) -#define TSB_MDMAA_C06XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C06XFTYP,16))) -#define TSB_MDMAA_C06XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C06XFTYP,24))) -#define TSB_MDMAA_C06DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C06DSNUM,8))) -#define TSB_MDMAA_C07XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C07XFTYP,16))) -#define TSB_MDMAA_C07XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C07XFTYP,24))) -#define TSB_MDMAA_C07DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C07DSNUM,8))) -#define TSB_MDMAA_C08XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C08XFTYP,16))) -#define TSB_MDMAA_C08XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C08XFTYP,24))) -#define TSB_MDMAA_C08DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C08DSNUM,8))) -#define TSB_MDMAA_C09XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C09XFTYP,16))) -#define TSB_MDMAA_C09XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C09XFTYP,24))) -#define TSB_MDMAA_C09DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C09DSNUM,8))) -#define TSB_MDMAA_C10XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C10XFTYP,16))) -#define TSB_MDMAA_C10XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C10XFTYP,24))) -#define TSB_MDMAA_C10DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C10DSNUM,8))) -#define TSB_MDMAA_C11XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C11XFTYP,16))) -#define TSB_MDMAA_C11XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C11XFTYP,24))) -#define TSB_MDMAA_C11DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C11DSNUM,8))) -#define TSB_MDMAA_C12XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C12XFTYP,16))) -#define TSB_MDMAA_C12XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C12XFTYP,24))) -#define TSB_MDMAA_C12DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C12DSNUM,8))) -#define TSB_MDMAA_C13XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C13XFTYP,16))) -#define TSB_MDMAA_C13XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C13XFTYP,24))) -#define TSB_MDMAA_C13DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C13DSNUM,8))) -#define TSB_MDMAA_C14XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C14XFTYP,16))) -#define TSB_MDMAA_C14XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C14XFTYP,24))) -#define TSB_MDMAA_C14DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C14DSNUM,8))) -#define TSB_MDMAA_C15XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C15XFTYP,16))) -#define TSB_MDMAA_C15XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C15XFTYP,24))) -#define TSB_MDMAA_C15DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C15DSNUM,8))) -#define TSB_MDMAA_C16XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C16XFTYP,16))) -#define TSB_MDMAA_C16XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C16XFTYP,24))) -#define TSB_MDMAA_C16DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C16DSNUM,8))) -#define TSB_MDMAA_C17XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C17XFTYP,16))) -#define TSB_MDMAA_C17XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C17XFTYP,24))) -#define TSB_MDMAA_C17DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C17DSNUM,8))) -#define TSB_MDMAA_C18XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C18XFTYP,16))) -#define TSB_MDMAA_C18XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C18XFTYP,24))) -#define TSB_MDMAA_C18DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C18DSNUM,8))) -#define TSB_MDMAA_C19XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C19XFTYP,16))) -#define TSB_MDMAA_C19XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C19XFTYP,24))) -#define TSB_MDMAA_C19DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C19DSNUM,8))) -#define TSB_MDMAA_C20XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C20XFTYP,16))) -#define TSB_MDMAA_C20XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C20XFTYP,24))) -#define TSB_MDMAA_C20DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C20DSNUM,8))) -#define TSB_MDMAA_C21XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C21XFTYP,16))) -#define TSB_MDMAA_C21XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C21XFTYP,24))) -#define TSB_MDMAA_C21DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C21DSNUM,8))) -#define TSB_MDMAA_C22XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C22XFTYP,16))) -#define TSB_MDMAA_C22XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C22XFTYP,24))) -#define TSB_MDMAA_C22DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C22DSNUM,8))) -#define TSB_MDMAA_C23XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C23XFTYP,16))) -#define TSB_MDMAA_C23XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C23XFTYP,24))) -#define TSB_MDMAA_C23DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C23DSNUM,8))) -#define TSB_MDMAA_C24XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C24XFTYP,16))) -#define TSB_MDMAA_C24XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C24XFTYP,24))) -#define TSB_MDMAA_C24DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C24DSNUM,8))) -#define TSB_MDMAA_C25XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C25XFTYP,16))) -#define TSB_MDMAA_C25XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C25XFTYP,24))) -#define TSB_MDMAA_C25DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C25DSNUM,8))) -#define TSB_MDMAA_C26XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C26XFTYP,16))) -#define TSB_MDMAA_C26XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C26XFTYP,24))) -#define TSB_MDMAA_C26DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C26DSNUM,8))) -#define TSB_MDMAA_C27XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C27XFTYP,16))) -#define TSB_MDMAA_C27XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C27XFTYP,24))) -#define TSB_MDMAA_C27DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C27DSNUM,8))) -#define TSB_MDMAA_C28XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C28XFTYP,16))) -#define TSB_MDMAA_C28XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C28XFTYP,24))) -#define TSB_MDMAA_C28DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C28DSNUM,8))) -#define TSB_MDMAA_C29XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C29XFTYP,16))) -#define TSB_MDMAA_C29XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C29XFTYP,24))) -#define TSB_MDMAA_C29DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C29DSNUM,8))) -#define TSB_MDMAA_C30XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C30XFTYP,16))) -#define TSB_MDMAA_C30XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C30XFTYP,24))) -#define TSB_MDMAA_C30DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C30DSNUM,8))) -#define TSB_MDMAA_C31XFTYP_UMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C31XFTYP,16))) -#define TSB_MDMAA_C31XFTYP_DMODE (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C31XFTYP,24))) -#define TSB_MDMAA_C31DSNUM_DSINF (*((__I uint32_t *)BITBAND_PERI(&TSB_MDMAA->C31DSNUM,8))) -#define TSB_MDMAA_MSK_MSK0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,0))) -#define TSB_MDMAA_MSK_MSK1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,1))) -#define TSB_MDMAA_MSK_MSK2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,2))) -#define TSB_MDMAA_MSK_MSK3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,3))) -#define TSB_MDMAA_MSK_MSK4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,4))) -#define TSB_MDMAA_MSK_MSK5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,5))) -#define TSB_MDMAA_MSK_MSK6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,6))) -#define TSB_MDMAA_MSK_MSK7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,7))) -#define TSB_MDMAA_MSK_MSK8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,8))) -#define TSB_MDMAA_MSK_MSK9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,9))) -#define TSB_MDMAA_MSK_MSK10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,10))) -#define TSB_MDMAA_MSK_MSK11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,11))) -#define TSB_MDMAA_MSK_MSK12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,12))) -#define TSB_MDMAA_MSK_MSK13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,13))) -#define TSB_MDMAA_MSK_MSK14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,14))) -#define TSB_MDMAA_MSK_MSK15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,15))) -#define TSB_MDMAA_MSK_MSK16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,16))) -#define TSB_MDMAA_MSK_MSK17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,17))) -#define TSB_MDMAA_MSK_MSK18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,18))) -#define TSB_MDMAA_MSK_MSK19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,19))) -#define TSB_MDMAA_MSK_MSK20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,20))) -#define TSB_MDMAA_MSK_MSK21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,21))) -#define TSB_MDMAA_MSK_MSK22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,22))) -#define TSB_MDMAA_MSK_MSK23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,23))) -#define TSB_MDMAA_MSK_MSK24 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,24))) -#define TSB_MDMAA_MSK_MSK25 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,25))) -#define TSB_MDMAA_MSK_MSK26 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,26))) -#define TSB_MDMAA_MSK_MSK27 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,27))) -#define TSB_MDMAA_MSK_MSK28 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,28))) -#define TSB_MDMAA_MSK_MSK29 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,29))) -#define TSB_MDMAA_MSK_MSK30 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,30))) -#define TSB_MDMAA_MSK_MSK31 (*((__IO uint32_t *)BITBAND_PERI(&TSB_MDMAA->MSK,31))) - - -/* ARM Prime Cell PL011 */ -#define TSB_FURT0_DR_FE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->DR,8))) -#define TSB_FURT0_DR_PE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->DR,9))) -#define TSB_FURT0_DR_BE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->DR,10))) -#define TSB_FURT0_DR_OE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->DR,11))) -#define TSB_FURT0_RSR_FE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RSR,0))) -#define TSB_FURT0_RSR_PE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RSR,1))) -#define TSB_FURT0_RSR_BE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RSR,2))) -#define TSB_FURT0_RSR_OE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RSR,3))) -#define TSB_FURT0_FR_CTS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,0))) -#define TSB_FURT0_FR_BUSY (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,3))) -#define TSB_FURT0_FR_RXFE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,4))) -#define TSB_FURT0_FR_TXFF (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,5))) -#define TSB_FURT0_FR_RXFF (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,6))) -#define TSB_FURT0_FR_TXFE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->FR,7))) -#define TSB_FURT0_LCR_H_BRK (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,0))) -#define TSB_FURT0_LCR_H_PEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,1))) -#define TSB_FURT0_LCR_H_EPS (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,2))) -#define TSB_FURT0_LCR_H_STP2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,3))) -#define TSB_FURT0_LCR_H_FEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,4))) -#define TSB_FURT0_LCR_H_SPS (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->LCR_H,7))) -#define TSB_FURT0_CR_UARTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,0))) -#define TSB_FURT0_CR_SIREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,1))) -#define TSB_FURT0_CR_SIRLP (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,2))) -#define TSB_FURT0_CR_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,8))) -#define TSB_FURT0_CR_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,9))) -#define TSB_FURT0_CR_RTSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,14))) -#define TSB_FURT0_CR_CTSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->CR,15))) -#define TSB_FURT0_IMSC_RXIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,4))) -#define TSB_FURT0_IMSC_TXIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,5))) -#define TSB_FURT0_IMSC_RTIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,6))) -#define TSB_FURT0_IMSC_FEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,7))) -#define TSB_FURT0_IMSC_PEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,8))) -#define TSB_FURT0_IMSC_BEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,9))) -#define TSB_FURT0_IMSC_OEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->IMSC,10))) -#define TSB_FURT0_RIS_RXRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,4))) -#define TSB_FURT0_RIS_TXRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,5))) -#define TSB_FURT0_RIS_RTRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,6))) -#define TSB_FURT0_RIS_FERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,7))) -#define TSB_FURT0_RIS_PERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,8))) -#define TSB_FURT0_RIS_BERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,9))) -#define TSB_FURT0_RIS_OERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->RIS,10))) -#define TSB_FURT0_MIS_RXMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,4))) -#define TSB_FURT0_MIS_TXMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,5))) -#define TSB_FURT0_MIS_RTMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,6))) -#define TSB_FURT0_MIS_FEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,7))) -#define TSB_FURT0_MIS_PEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,8))) -#define TSB_FURT0_MIS_BEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,9))) -#define TSB_FURT0_MIS_OEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT0->MIS,10))) -#define TSB_FURT0_ICR_RXIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,4))) -#define TSB_FURT0_ICR_TXIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,5))) -#define TSB_FURT0_ICR_RTIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,6))) -#define TSB_FURT0_ICR_FEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,7))) -#define TSB_FURT0_ICR_PEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,8))) -#define TSB_FURT0_ICR_BEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,9))) -#define TSB_FURT0_ICR_OEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT0->ICR,10))) -#define TSB_FURT0_DMACR_RXDMAE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->DMACR,0))) -#define TSB_FURT0_DMACR_TXDMAE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->DMACR,1))) -#define TSB_FURT0_DMACR_DMAONERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT0->DMACR,2))) - -#define TSB_FURT1_DR_FE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->DR,8))) -#define TSB_FURT1_DR_PE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->DR,9))) -#define TSB_FURT1_DR_BE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->DR,10))) -#define TSB_FURT1_DR_OE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->DR,11))) -#define TSB_FURT1_RSR_FE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RSR,0))) -#define TSB_FURT1_RSR_PE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RSR,1))) -#define TSB_FURT1_RSR_BE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RSR,2))) -#define TSB_FURT1_RSR_OE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RSR,3))) -#define TSB_FURT1_FR_CTS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,0))) -#define TSB_FURT1_FR_BUSY (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,3))) -#define TSB_FURT1_FR_RXFE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,4))) -#define TSB_FURT1_FR_TXFF (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,5))) -#define TSB_FURT1_FR_RXFF (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,6))) -#define TSB_FURT1_FR_TXFE (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->FR,7))) -#define TSB_FURT1_LCR_H_BRK (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,0))) -#define TSB_FURT1_LCR_H_PEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,1))) -#define TSB_FURT1_LCR_H_EPS (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,2))) -#define TSB_FURT1_LCR_H_STP2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,3))) -#define TSB_FURT1_LCR_H_FEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,4))) -#define TSB_FURT1_LCR_H_SPS (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->LCR_H,7))) -#define TSB_FURT1_CR_UARTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,0))) -#define TSB_FURT1_CR_SIREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,1))) -#define TSB_FURT1_CR_SIRLP (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,2))) -#define TSB_FURT1_CR_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,8))) -#define TSB_FURT1_CR_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,9))) -#define TSB_FURT1_CR_RTSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,14))) -#define TSB_FURT1_CR_CTSEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->CR,15))) -#define TSB_FURT1_IMSC_RXIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,4))) -#define TSB_FURT1_IMSC_TXIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,5))) -#define TSB_FURT1_IMSC_RTIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,6))) -#define TSB_FURT1_IMSC_FEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,7))) -#define TSB_FURT1_IMSC_PEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,8))) -#define TSB_FURT1_IMSC_BEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,9))) -#define TSB_FURT1_IMSC_OEIM (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->IMSC,10))) -#define TSB_FURT1_RIS_RXRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,4))) -#define TSB_FURT1_RIS_TXRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,5))) -#define TSB_FURT1_RIS_RTRIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,6))) -#define TSB_FURT1_RIS_FERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,7))) -#define TSB_FURT1_RIS_PERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,8))) -#define TSB_FURT1_RIS_BERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,9))) -#define TSB_FURT1_RIS_OERIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->RIS,10))) -#define TSB_FURT1_MIS_RXMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,4))) -#define TSB_FURT1_MIS_TXMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,5))) -#define TSB_FURT1_MIS_RTMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,6))) -#define TSB_FURT1_MIS_FEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,7))) -#define TSB_FURT1_MIS_PEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,8))) -#define TSB_FURT1_MIS_BEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,9))) -#define TSB_FURT1_MIS_OEMIS (*((__I uint32_t *)BITBAND_PERI(&TSB_FURT1->MIS,10))) -#define TSB_FURT1_ICR_RXIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,4))) -#define TSB_FURT1_ICR_TXIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,5))) -#define TSB_FURT1_ICR_RTIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,6))) -#define TSB_FURT1_ICR_FEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,7))) -#define TSB_FURT1_ICR_PEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,8))) -#define TSB_FURT1_ICR_BEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,9))) -#define TSB_FURT1_ICR_OEIC (*((__O uint32_t *)BITBAND_PERI(&TSB_FURT1->ICR,10))) -#define TSB_FURT1_DMACR_RXDMAE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->DMACR,0))) -#define TSB_FURT1_DMACR_TXDMAE (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->DMACR,1))) -#define TSB_FURT1_DMACR_DMAONERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_FURT1->DMACR,2))) - - -/* ADC */ -#define TSB_ADA_CR0_CNT (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,0))) -#define TSB_ADA_CR0_SGL (*((__O uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,1))) -#define TSB_ADA_CR0_HPSGL (*((__O uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,2))) -#define TSB_ADA_CR0_ADEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR0,7))) -#define TSB_ADA_CR1_TRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,0))) -#define TSB_ADA_CR1_HPTRGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,1))) -#define TSB_ADA_CR1_TRGDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,4))) -#define TSB_ADA_CR1_SGLDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,5))) -#define TSB_ADA_CR1_CNTDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,6))) -#define TSB_ADA_CR1_HPDMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CR1,7))) -#define TSB_ADA_ST_HPF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,0))) -#define TSB_ADA_ST_TRGF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,1))) -#define TSB_ADA_ST_SNGF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,2))) -#define TSB_ADA_ST_CNTF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,3))) -#define TSB_ADA_ST_ADBF (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->ST,7))) -#define TSB_ADA_MOD0_DACON (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->MOD0,0))) -#define TSB_ADA_MOD0_RCUT (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->MOD0,1))) -#define TSB_ADA_CMPEN_CMP0EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,0))) -#define TSB_ADA_CMPEN_CMP1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,1))) -#define TSB_ADA_CMPEN_CMP2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,2))) -#define TSB_ADA_CMPEN_CMP3EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPEN,3))) -#define TSB_ADA_CMPCR0_ADBIG0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR0,5))) -#define TSB_ADA_CMPCR0_CMPCND0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR0,6))) -#define TSB_ADA_CMPCR1_ADBIG1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR1,5))) -#define TSB_ADA_CMPCR1_CMPCND1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR1,6))) -#define TSB_ADA_CMPCR2_ADBIG2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR2,5))) -#define TSB_ADA_CMPCR2_CMPCND2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR2,6))) -#define TSB_ADA_CMPCR3_ADBIG3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR3,5))) -#define TSB_ADA_CMPCR3_CMPCND3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->CMPCR3,6))) -#define TSB_ADA_TSET0_ENINT0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET0,7))) -#define TSB_ADA_TSET1_ENINT1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET1,7))) -#define TSB_ADA_TSET2_ENINT2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET2,7))) -#define TSB_ADA_TSET3_ENINT3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET3,7))) -#define TSB_ADA_TSET4_ENINT4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET4,7))) -#define TSB_ADA_TSET5_ENINT5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET5,7))) -#define TSB_ADA_TSET6_ENINT6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET6,7))) -#define TSB_ADA_TSET7_ENINT7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET7,7))) -#define TSB_ADA_TSET8_ENINT8 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET8,7))) -#define TSB_ADA_TSET9_ENINT9 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET9,7))) -#define TSB_ADA_TSET10_ENINT10 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET10,7))) -#define TSB_ADA_TSET11_ENINT11 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET11,7))) -#define TSB_ADA_TSET12_ENINT12 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET12,7))) -#define TSB_ADA_TSET13_ENINT13 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET13,7))) -#define TSB_ADA_TSET14_ENINT14 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET14,7))) -#define TSB_ADA_TSET15_ENINT15 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET15,7))) -#define TSB_ADA_TSET16_ENINT16 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET16,7))) -#define TSB_ADA_TSET17_ENINT17 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET17,7))) -#define TSB_ADA_TSET18_ENINT18 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET18,7))) -#define TSB_ADA_TSET19_ENINT19 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET19,7))) -#define TSB_ADA_TSET20_ENINT20 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET20,7))) -#define TSB_ADA_TSET21_ENINT21 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET21,7))) -#define TSB_ADA_TSET22_ENINT22 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET22,7))) -#define TSB_ADA_TSET23_ENINT23 (*((__IO uint32_t *)BITBAND_PERI(&TSB_ADA->TSET23,7))) -#define TSB_ADA_REG0_ADRF0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,0))) -#define TSB_ADA_REG0_ADOVRF0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,1))) -#define TSB_ADA_REG0_ADRF_M0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,28))) -#define TSB_ADA_REG0_ADOVR_M0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG0,29))) -#define TSB_ADA_REG1_ADRF1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,0))) -#define TSB_ADA_REG1_ADOVRF1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,1))) -#define TSB_ADA_REG1_ADRF_M1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,28))) -#define TSB_ADA_REG1_ADOVR_M1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG1,29))) -#define TSB_ADA_REG2_ADRF2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,0))) -#define TSB_ADA_REG2_ADOVRF2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,1))) -#define TSB_ADA_REG2_ADRF_M2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,28))) -#define TSB_ADA_REG2_ADOVR_M2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG2,29))) -#define TSB_ADA_REG3_ADRF3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,0))) -#define TSB_ADA_REG3_ADOVRF3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,1))) -#define TSB_ADA_REG3_ADRF_M3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,28))) -#define TSB_ADA_REG3_ADOVR_M3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG3,29))) -#define TSB_ADA_REG4_ADRF4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,0))) -#define TSB_ADA_REG4_ADOVRF4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,1))) -#define TSB_ADA_REG4_ADRF_M4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,28))) -#define TSB_ADA_REG4_ADOVR_M4 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG4,29))) -#define TSB_ADA_REG5_ADRF5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,0))) -#define TSB_ADA_REG5_ADOVRF5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,1))) -#define TSB_ADA_REG5_ADRF_M5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,28))) -#define TSB_ADA_REG5_ADOVR_M5 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG5,29))) -#define TSB_ADA_REG6_ADRF6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,0))) -#define TSB_ADA_REG6_ADOVRF6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,1))) -#define TSB_ADA_REG6_ADRF_M6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,28))) -#define TSB_ADA_REG6_ADOVR_M6 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG6,29))) -#define TSB_ADA_REG7_ADRF7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,0))) -#define TSB_ADA_REG7_ADOVRF7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,1))) -#define TSB_ADA_REG7_ADRF_M7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,28))) -#define TSB_ADA_REG7_ADOVR_M7 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG7,29))) -#define TSB_ADA_REG8_ADRF8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,0))) -#define TSB_ADA_REG8_ADOVRF8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,1))) -#define TSB_ADA_REG8_ADRF_M8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,28))) -#define TSB_ADA_REG8_ADOVR_M8 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG8,29))) -#define TSB_ADA_REG9_ADRF9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,0))) -#define TSB_ADA_REG9_ADOVRF9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,1))) -#define TSB_ADA_REG9_ADRF_M9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,28))) -#define TSB_ADA_REG9_ADOVR_M9 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG9,29))) -#define TSB_ADA_REG10_ADRF10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,0))) -#define TSB_ADA_REG10_ADOVRF10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,1))) -#define TSB_ADA_REG10_ADRF_M10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,28))) -#define TSB_ADA_REG10_ADOVR_M10 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG10,29))) -#define TSB_ADA_REG11_ADRF11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,0))) -#define TSB_ADA_REG11_ADOVRF11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,1))) -#define TSB_ADA_REG11_ADRF_M11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,28))) -#define TSB_ADA_REG11_ADOVR_M11 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG11,29))) -#define TSB_ADA_REG12_ADRF12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,0))) -#define TSB_ADA_REG12_ADOVRF12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,1))) -#define TSB_ADA_REG12_ADRF_M12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,28))) -#define TSB_ADA_REG12_ADOVR_M12 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG12,29))) -#define TSB_ADA_REG13_ADRF13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,0))) -#define TSB_ADA_REG13_ADOVRF13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,1))) -#define TSB_ADA_REG13_ADRF_M13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,28))) -#define TSB_ADA_REG13_ADOVR_M13 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG13,29))) -#define TSB_ADA_REG14_ADRF14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,0))) -#define TSB_ADA_REG14_ADOVRF14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,1))) -#define TSB_ADA_REG14_ADRF_M14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,28))) -#define TSB_ADA_REG14_ADOVR_M14 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG14,29))) -#define TSB_ADA_REG15_ADRF15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,0))) -#define TSB_ADA_REG15_ADOVRF15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,1))) -#define TSB_ADA_REG15_ADRF_M15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,28))) -#define TSB_ADA_REG15_ADOVR_M15 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG15,29))) -#define TSB_ADA_REG16_ADRF16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,0))) -#define TSB_ADA_REG16_ADOVRF16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,1))) -#define TSB_ADA_REG16_ADRF_M16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,28))) -#define TSB_ADA_REG16_ADOVR_M16 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG16,29))) -#define TSB_ADA_REG17_ADRF17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,0))) -#define TSB_ADA_REG17_ADOVRF17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,1))) -#define TSB_ADA_REG17_ADRF_M17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,28))) -#define TSB_ADA_REG17_ADOVR_M17 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG17,29))) -#define TSB_ADA_REG18_ADRF18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,0))) -#define TSB_ADA_REG18_ADOVRF18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,1))) -#define TSB_ADA_REG18_ADRF_M18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,28))) -#define TSB_ADA_REG18_ADOVR_M18 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG18,29))) -#define TSB_ADA_REG19_ADRF19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,0))) -#define TSB_ADA_REG19_ADOVRF19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,1))) -#define TSB_ADA_REG19_ADRF_M19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,28))) -#define TSB_ADA_REG19_ADOVR_M19 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG19,29))) -#define TSB_ADA_REG20_ADRF20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,0))) -#define TSB_ADA_REG20_ADOVRF20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,1))) -#define TSB_ADA_REG20_ADRF_M20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,28))) -#define TSB_ADA_REG20_ADOVR_M20 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG20,29))) -#define TSB_ADA_REG21_ADRF21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,0))) -#define TSB_ADA_REG21_ADOVRF21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,1))) -#define TSB_ADA_REG21_ADRF_M21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,28))) -#define TSB_ADA_REG21_ADOVR_M21 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG21,29))) -#define TSB_ADA_REG22_ADRF22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,0))) -#define TSB_ADA_REG22_ADOVRF22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,1))) -#define TSB_ADA_REG22_ADRF_M22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,28))) -#define TSB_ADA_REG22_ADOVR_M22 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG22,29))) -#define TSB_ADA_REG23_ADRF23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,0))) -#define TSB_ADA_REG23_ADOVRF23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,1))) -#define TSB_ADA_REG23_ADRF_M23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,28))) -#define TSB_ADA_REG23_ADOVR_M23 (*((__I uint32_t *)BITBAND_PERI(&TSB_ADA->REG23,29))) - - -/* Digital analog converter (DAC) */ -#define TSB_DA0_CR_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_DA0->CR,0))) - -#define TSB_DA1_CR_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_DA1->CR,0))) - - -/* 16-bit Timer/Event Counter (TB) */ -#define TSB_T32A0_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->MOD,0))) -#define TSB_T32A0_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->MOD,1))) -#define TSB_T32A0_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,0))) -#define TSB_T32A0_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,1))) -#define TSB_T32A0_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,2))) -#define TSB_T32A0_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNA,4))) -#define TSB_T32A0_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRA,20))) -#define TSB_T32A0_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,0))) -#define TSB_T32A0_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,1))) -#define TSB_T32A0_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,2))) -#define TSB_T32A0_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STA,3))) -#define TSB_T32A0_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,0))) -#define TSB_T32A0_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,1))) -#define TSB_T32A0_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,2))) -#define TSB_T32A0_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMA,3))) -#define TSB_T32A0_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,0))) -#define TSB_T32A0_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,1))) -#define TSB_T32A0_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAA,2))) -#define TSB_T32A0_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,0))) -#define TSB_T32A0_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,1))) -#define TSB_T32A0_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,2))) -#define TSB_T32A0_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNB,4))) -#define TSB_T32A0_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRB,20))) -#define TSB_T32A0_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,0))) -#define TSB_T32A0_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,1))) -#define TSB_T32A0_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,2))) -#define TSB_T32A0_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STB,3))) -#define TSB_T32A0_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,0))) -#define TSB_T32A0_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,1))) -#define TSB_T32A0_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,2))) -#define TSB_T32A0_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMB,3))) -#define TSB_T32A0_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,0))) -#define TSB_T32A0_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,1))) -#define TSB_T32A0_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAB,2))) -#define TSB_T32A0_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,0))) -#define TSB_T32A0_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,1))) -#define TSB_T32A0_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,2))) -#define TSB_T32A0_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A0->RUNC,4))) -#define TSB_T32A0_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->CRC,20))) -#define TSB_T32A0_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,0))) -#define TSB_T32A0_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,1))) -#define TSB_T32A0_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,2))) -#define TSB_T32A0_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,3))) -#define TSB_T32A0_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->STC,4))) -#define TSB_T32A0_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,0))) -#define TSB_T32A0_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,1))) -#define TSB_T32A0_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,2))) -#define TSB_T32A0_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,3))) -#define TSB_T32A0_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->IMC,4))) -#define TSB_T32A0_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,0))) -#define TSB_T32A0_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,1))) -#define TSB_T32A0_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->DMAC,2))) -#define TSB_T32A0_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->PLSCR,0))) -#define TSB_T32A0_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A0->PLSCR,1))) - -#define TSB_T32A1_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->MOD,0))) -#define TSB_T32A1_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->MOD,1))) -#define TSB_T32A1_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,0))) -#define TSB_T32A1_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,1))) -#define TSB_T32A1_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,2))) -#define TSB_T32A1_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNA,4))) -#define TSB_T32A1_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRA,20))) -#define TSB_T32A1_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,0))) -#define TSB_T32A1_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,1))) -#define TSB_T32A1_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,2))) -#define TSB_T32A1_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STA,3))) -#define TSB_T32A1_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,0))) -#define TSB_T32A1_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,1))) -#define TSB_T32A1_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,2))) -#define TSB_T32A1_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMA,3))) -#define TSB_T32A1_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,0))) -#define TSB_T32A1_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,1))) -#define TSB_T32A1_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAA,2))) -#define TSB_T32A1_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,0))) -#define TSB_T32A1_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,1))) -#define TSB_T32A1_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,2))) -#define TSB_T32A1_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNB,4))) -#define TSB_T32A1_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRB,20))) -#define TSB_T32A1_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,0))) -#define TSB_T32A1_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,1))) -#define TSB_T32A1_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,2))) -#define TSB_T32A1_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STB,3))) -#define TSB_T32A1_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,0))) -#define TSB_T32A1_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,1))) -#define TSB_T32A1_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,2))) -#define TSB_T32A1_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMB,3))) -#define TSB_T32A1_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,0))) -#define TSB_T32A1_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,1))) -#define TSB_T32A1_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAB,2))) -#define TSB_T32A1_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,0))) -#define TSB_T32A1_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,1))) -#define TSB_T32A1_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,2))) -#define TSB_T32A1_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A1->RUNC,4))) -#define TSB_T32A1_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->CRC,20))) -#define TSB_T32A1_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,0))) -#define TSB_T32A1_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,1))) -#define TSB_T32A1_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,2))) -#define TSB_T32A1_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,3))) -#define TSB_T32A1_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->STC,4))) -#define TSB_T32A1_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,0))) -#define TSB_T32A1_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,1))) -#define TSB_T32A1_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,2))) -#define TSB_T32A1_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,3))) -#define TSB_T32A1_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->IMC,4))) -#define TSB_T32A1_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,0))) -#define TSB_T32A1_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,1))) -#define TSB_T32A1_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->DMAC,2))) -#define TSB_T32A1_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->PLSCR,0))) -#define TSB_T32A1_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A1->PLSCR,1))) - -#define TSB_T32A2_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->MOD,0))) -#define TSB_T32A2_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->MOD,1))) -#define TSB_T32A2_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,0))) -#define TSB_T32A2_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,1))) -#define TSB_T32A2_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,2))) -#define TSB_T32A2_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNA,4))) -#define TSB_T32A2_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRA,20))) -#define TSB_T32A2_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,0))) -#define TSB_T32A2_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,1))) -#define TSB_T32A2_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,2))) -#define TSB_T32A2_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STA,3))) -#define TSB_T32A2_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,0))) -#define TSB_T32A2_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,1))) -#define TSB_T32A2_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,2))) -#define TSB_T32A2_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMA,3))) -#define TSB_T32A2_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,0))) -#define TSB_T32A2_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,1))) -#define TSB_T32A2_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAA,2))) -#define TSB_T32A2_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,0))) -#define TSB_T32A2_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,1))) -#define TSB_T32A2_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,2))) -#define TSB_T32A2_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNB,4))) -#define TSB_T32A2_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRB,20))) -#define TSB_T32A2_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,0))) -#define TSB_T32A2_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,1))) -#define TSB_T32A2_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,2))) -#define TSB_T32A2_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STB,3))) -#define TSB_T32A2_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,0))) -#define TSB_T32A2_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,1))) -#define TSB_T32A2_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,2))) -#define TSB_T32A2_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMB,3))) -#define TSB_T32A2_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,0))) -#define TSB_T32A2_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,1))) -#define TSB_T32A2_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAB,2))) -#define TSB_T32A2_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,0))) -#define TSB_T32A2_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,1))) -#define TSB_T32A2_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,2))) -#define TSB_T32A2_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A2->RUNC,4))) -#define TSB_T32A2_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->CRC,20))) -#define TSB_T32A2_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,0))) -#define TSB_T32A2_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,1))) -#define TSB_T32A2_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,2))) -#define TSB_T32A2_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,3))) -#define TSB_T32A2_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->STC,4))) -#define TSB_T32A2_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,0))) -#define TSB_T32A2_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,1))) -#define TSB_T32A2_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,2))) -#define TSB_T32A2_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,3))) -#define TSB_T32A2_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->IMC,4))) -#define TSB_T32A2_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,0))) -#define TSB_T32A2_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,1))) -#define TSB_T32A2_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->DMAC,2))) -#define TSB_T32A2_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->PLSCR,0))) -#define TSB_T32A2_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A2->PLSCR,1))) - -#define TSB_T32A3_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->MOD,0))) -#define TSB_T32A3_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->MOD,1))) -#define TSB_T32A3_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,0))) -#define TSB_T32A3_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,1))) -#define TSB_T32A3_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,2))) -#define TSB_T32A3_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNA,4))) -#define TSB_T32A3_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRA,20))) -#define TSB_T32A3_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,0))) -#define TSB_T32A3_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,1))) -#define TSB_T32A3_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,2))) -#define TSB_T32A3_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STA,3))) -#define TSB_T32A3_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,0))) -#define TSB_T32A3_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,1))) -#define TSB_T32A3_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,2))) -#define TSB_T32A3_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMA,3))) -#define TSB_T32A3_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,0))) -#define TSB_T32A3_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,1))) -#define TSB_T32A3_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAA,2))) -#define TSB_T32A3_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,0))) -#define TSB_T32A3_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,1))) -#define TSB_T32A3_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,2))) -#define TSB_T32A3_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNB,4))) -#define TSB_T32A3_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRB,20))) -#define TSB_T32A3_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,0))) -#define TSB_T32A3_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,1))) -#define TSB_T32A3_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,2))) -#define TSB_T32A3_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STB,3))) -#define TSB_T32A3_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,0))) -#define TSB_T32A3_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,1))) -#define TSB_T32A3_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,2))) -#define TSB_T32A3_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMB,3))) -#define TSB_T32A3_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,0))) -#define TSB_T32A3_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,1))) -#define TSB_T32A3_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAB,2))) -#define TSB_T32A3_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,0))) -#define TSB_T32A3_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,1))) -#define TSB_T32A3_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,2))) -#define TSB_T32A3_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A3->RUNC,4))) -#define TSB_T32A3_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->CRC,20))) -#define TSB_T32A3_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,0))) -#define TSB_T32A3_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,1))) -#define TSB_T32A3_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,2))) -#define TSB_T32A3_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,3))) -#define TSB_T32A3_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->STC,4))) -#define TSB_T32A3_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,0))) -#define TSB_T32A3_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,1))) -#define TSB_T32A3_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,2))) -#define TSB_T32A3_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,3))) -#define TSB_T32A3_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->IMC,4))) -#define TSB_T32A3_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,0))) -#define TSB_T32A3_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,1))) -#define TSB_T32A3_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->DMAC,2))) -#define TSB_T32A3_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->PLSCR,0))) -#define TSB_T32A3_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A3->PLSCR,1))) - -#define TSB_T32A4_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->MOD,0))) -#define TSB_T32A4_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->MOD,1))) -#define TSB_T32A4_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,0))) -#define TSB_T32A4_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,1))) -#define TSB_T32A4_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,2))) -#define TSB_T32A4_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNA,4))) -#define TSB_T32A4_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRA,20))) -#define TSB_T32A4_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,0))) -#define TSB_T32A4_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,1))) -#define TSB_T32A4_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,2))) -#define TSB_T32A4_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STA,3))) -#define TSB_T32A4_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,0))) -#define TSB_T32A4_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,1))) -#define TSB_T32A4_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,2))) -#define TSB_T32A4_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMA,3))) -#define TSB_T32A4_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,0))) -#define TSB_T32A4_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,1))) -#define TSB_T32A4_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAA,2))) -#define TSB_T32A4_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,0))) -#define TSB_T32A4_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,1))) -#define TSB_T32A4_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,2))) -#define TSB_T32A4_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNB,4))) -#define TSB_T32A4_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRB,20))) -#define TSB_T32A4_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,0))) -#define TSB_T32A4_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,1))) -#define TSB_T32A4_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,2))) -#define TSB_T32A4_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STB,3))) -#define TSB_T32A4_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,0))) -#define TSB_T32A4_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,1))) -#define TSB_T32A4_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,2))) -#define TSB_T32A4_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMB,3))) -#define TSB_T32A4_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,0))) -#define TSB_T32A4_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,1))) -#define TSB_T32A4_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAB,2))) -#define TSB_T32A4_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,0))) -#define TSB_T32A4_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,1))) -#define TSB_T32A4_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,2))) -#define TSB_T32A4_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A4->RUNC,4))) -#define TSB_T32A4_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->CRC,20))) -#define TSB_T32A4_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,0))) -#define TSB_T32A4_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,1))) -#define TSB_T32A4_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,2))) -#define TSB_T32A4_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,3))) -#define TSB_T32A4_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->STC,4))) -#define TSB_T32A4_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,0))) -#define TSB_T32A4_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,1))) -#define TSB_T32A4_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,2))) -#define TSB_T32A4_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,3))) -#define TSB_T32A4_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->IMC,4))) -#define TSB_T32A4_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,0))) -#define TSB_T32A4_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,1))) -#define TSB_T32A4_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->DMAC,2))) -#define TSB_T32A4_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->PLSCR,0))) -#define TSB_T32A4_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A4->PLSCR,1))) - -#define TSB_T32A5_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->MOD,0))) -#define TSB_T32A5_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->MOD,1))) -#define TSB_T32A5_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,0))) -#define TSB_T32A5_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,1))) -#define TSB_T32A5_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,2))) -#define TSB_T32A5_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNA,4))) -#define TSB_T32A5_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRA,20))) -#define TSB_T32A5_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,0))) -#define TSB_T32A5_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,1))) -#define TSB_T32A5_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,2))) -#define TSB_T32A5_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STA,3))) -#define TSB_T32A5_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,0))) -#define TSB_T32A5_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,1))) -#define TSB_T32A5_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,2))) -#define TSB_T32A5_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMA,3))) -#define TSB_T32A5_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,0))) -#define TSB_T32A5_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,1))) -#define TSB_T32A5_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAA,2))) -#define TSB_T32A5_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,0))) -#define TSB_T32A5_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,1))) -#define TSB_T32A5_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,2))) -#define TSB_T32A5_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNB,4))) -#define TSB_T32A5_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRB,20))) -#define TSB_T32A5_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,0))) -#define TSB_T32A5_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,1))) -#define TSB_T32A5_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,2))) -#define TSB_T32A5_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STB,3))) -#define TSB_T32A5_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,0))) -#define TSB_T32A5_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,1))) -#define TSB_T32A5_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,2))) -#define TSB_T32A5_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMB,3))) -#define TSB_T32A5_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,0))) -#define TSB_T32A5_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,1))) -#define TSB_T32A5_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAB,2))) -#define TSB_T32A5_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,0))) -#define TSB_T32A5_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,1))) -#define TSB_T32A5_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,2))) -#define TSB_T32A5_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A5->RUNC,4))) -#define TSB_T32A5_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->CRC,20))) -#define TSB_T32A5_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,0))) -#define TSB_T32A5_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,1))) -#define TSB_T32A5_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,2))) -#define TSB_T32A5_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,3))) -#define TSB_T32A5_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->STC,4))) -#define TSB_T32A5_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,0))) -#define TSB_T32A5_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,1))) -#define TSB_T32A5_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,2))) -#define TSB_T32A5_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,3))) -#define TSB_T32A5_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->IMC,4))) -#define TSB_T32A5_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,0))) -#define TSB_T32A5_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,1))) -#define TSB_T32A5_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->DMAC,2))) -#define TSB_T32A5_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->PLSCR,0))) -#define TSB_T32A5_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A5->PLSCR,1))) - -#define TSB_T32A6_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->MOD,0))) -#define TSB_T32A6_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->MOD,1))) -#define TSB_T32A6_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,0))) -#define TSB_T32A6_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,1))) -#define TSB_T32A6_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,2))) -#define TSB_T32A6_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNA,4))) -#define TSB_T32A6_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRA,20))) -#define TSB_T32A6_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,0))) -#define TSB_T32A6_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,1))) -#define TSB_T32A6_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,2))) -#define TSB_T32A6_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STA,3))) -#define TSB_T32A6_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,0))) -#define TSB_T32A6_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,1))) -#define TSB_T32A6_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,2))) -#define TSB_T32A6_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMA,3))) -#define TSB_T32A6_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,0))) -#define TSB_T32A6_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,1))) -#define TSB_T32A6_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAA,2))) -#define TSB_T32A6_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,0))) -#define TSB_T32A6_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,1))) -#define TSB_T32A6_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,2))) -#define TSB_T32A6_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNB,4))) -#define TSB_T32A6_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRB,20))) -#define TSB_T32A6_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,0))) -#define TSB_T32A6_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,1))) -#define TSB_T32A6_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,2))) -#define TSB_T32A6_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STB,3))) -#define TSB_T32A6_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,0))) -#define TSB_T32A6_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,1))) -#define TSB_T32A6_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,2))) -#define TSB_T32A6_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMB,3))) -#define TSB_T32A6_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,0))) -#define TSB_T32A6_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,1))) -#define TSB_T32A6_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAB,2))) -#define TSB_T32A6_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,0))) -#define TSB_T32A6_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,1))) -#define TSB_T32A6_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,2))) -#define TSB_T32A6_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A6->RUNC,4))) -#define TSB_T32A6_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->CRC,20))) -#define TSB_T32A6_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,0))) -#define TSB_T32A6_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,1))) -#define TSB_T32A6_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,2))) -#define TSB_T32A6_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,3))) -#define TSB_T32A6_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->STC,4))) -#define TSB_T32A6_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,0))) -#define TSB_T32A6_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,1))) -#define TSB_T32A6_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,2))) -#define TSB_T32A6_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,3))) -#define TSB_T32A6_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->IMC,4))) -#define TSB_T32A6_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,0))) -#define TSB_T32A6_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,1))) -#define TSB_T32A6_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->DMAC,2))) -#define TSB_T32A6_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->PLSCR,0))) -#define TSB_T32A6_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A6->PLSCR,1))) - -#define TSB_T32A7_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->MOD,0))) -#define TSB_T32A7_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->MOD,1))) -#define TSB_T32A7_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,0))) -#define TSB_T32A7_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,1))) -#define TSB_T32A7_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,2))) -#define TSB_T32A7_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNA,4))) -#define TSB_T32A7_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRA,20))) -#define TSB_T32A7_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,0))) -#define TSB_T32A7_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,1))) -#define TSB_T32A7_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,2))) -#define TSB_T32A7_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STA,3))) -#define TSB_T32A7_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,0))) -#define TSB_T32A7_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,1))) -#define TSB_T32A7_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,2))) -#define TSB_T32A7_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMA,3))) -#define TSB_T32A7_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,0))) -#define TSB_T32A7_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,1))) -#define TSB_T32A7_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAA,2))) -#define TSB_T32A7_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,0))) -#define TSB_T32A7_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,1))) -#define TSB_T32A7_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,2))) -#define TSB_T32A7_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNB,4))) -#define TSB_T32A7_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRB,20))) -#define TSB_T32A7_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,0))) -#define TSB_T32A7_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,1))) -#define TSB_T32A7_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,2))) -#define TSB_T32A7_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STB,3))) -#define TSB_T32A7_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,0))) -#define TSB_T32A7_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,1))) -#define TSB_T32A7_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,2))) -#define TSB_T32A7_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMB,3))) -#define TSB_T32A7_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,0))) -#define TSB_T32A7_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,1))) -#define TSB_T32A7_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAB,2))) -#define TSB_T32A7_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,0))) -#define TSB_T32A7_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,1))) -#define TSB_T32A7_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,2))) -#define TSB_T32A7_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A7->RUNC,4))) -#define TSB_T32A7_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->CRC,20))) -#define TSB_T32A7_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,0))) -#define TSB_T32A7_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,1))) -#define TSB_T32A7_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,2))) -#define TSB_T32A7_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,3))) -#define TSB_T32A7_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->STC,4))) -#define TSB_T32A7_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,0))) -#define TSB_T32A7_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,1))) -#define TSB_T32A7_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,2))) -#define TSB_T32A7_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,3))) -#define TSB_T32A7_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->IMC,4))) -#define TSB_T32A7_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,0))) -#define TSB_T32A7_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,1))) -#define TSB_T32A7_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->DMAC,2))) -#define TSB_T32A7_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->PLSCR,0))) -#define TSB_T32A7_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A7->PLSCR,1))) - -#define TSB_T32A8_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->MOD,0))) -#define TSB_T32A8_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->MOD,1))) -#define TSB_T32A8_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNA,0))) -#define TSB_T32A8_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNA,1))) -#define TSB_T32A8_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNA,2))) -#define TSB_T32A8_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNA,4))) -#define TSB_T32A8_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->CRA,20))) -#define TSB_T32A8_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STA,0))) -#define TSB_T32A8_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STA,1))) -#define TSB_T32A8_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STA,2))) -#define TSB_T32A8_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STA,3))) -#define TSB_T32A8_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMA,0))) -#define TSB_T32A8_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMA,1))) -#define TSB_T32A8_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMA,2))) -#define TSB_T32A8_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMA,3))) -#define TSB_T32A8_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAA,0))) -#define TSB_T32A8_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAA,1))) -#define TSB_T32A8_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAA,2))) -#define TSB_T32A8_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNB,0))) -#define TSB_T32A8_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNB,1))) -#define TSB_T32A8_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNB,2))) -#define TSB_T32A8_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNB,4))) -#define TSB_T32A8_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->CRB,20))) -#define TSB_T32A8_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STB,0))) -#define TSB_T32A8_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STB,1))) -#define TSB_T32A8_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STB,2))) -#define TSB_T32A8_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STB,3))) -#define TSB_T32A8_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMB,0))) -#define TSB_T32A8_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMB,1))) -#define TSB_T32A8_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMB,2))) -#define TSB_T32A8_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMB,3))) -#define TSB_T32A8_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAB,0))) -#define TSB_T32A8_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAB,1))) -#define TSB_T32A8_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAB,2))) -#define TSB_T32A8_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNC,0))) -#define TSB_T32A8_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNC,1))) -#define TSB_T32A8_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNC,2))) -#define TSB_T32A8_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A8->RUNC,4))) -#define TSB_T32A8_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->CRC,20))) -#define TSB_T32A8_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STC,0))) -#define TSB_T32A8_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STC,1))) -#define TSB_T32A8_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STC,2))) -#define TSB_T32A8_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STC,3))) -#define TSB_T32A8_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->STC,4))) -#define TSB_T32A8_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMC,0))) -#define TSB_T32A8_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMC,1))) -#define TSB_T32A8_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMC,2))) -#define TSB_T32A8_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMC,3))) -#define TSB_T32A8_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->IMC,4))) -#define TSB_T32A8_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAC,0))) -#define TSB_T32A8_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAC,1))) -#define TSB_T32A8_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->DMAC,2))) -#define TSB_T32A8_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->PLSCR,0))) -#define TSB_T32A8_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A8->PLSCR,1))) - -#define TSB_T32A9_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->MOD,0))) -#define TSB_T32A9_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->MOD,1))) -#define TSB_T32A9_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNA,0))) -#define TSB_T32A9_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNA,1))) -#define TSB_T32A9_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNA,2))) -#define TSB_T32A9_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNA,4))) -#define TSB_T32A9_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->CRA,20))) -#define TSB_T32A9_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STA,0))) -#define TSB_T32A9_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STA,1))) -#define TSB_T32A9_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STA,2))) -#define TSB_T32A9_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STA,3))) -#define TSB_T32A9_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMA,0))) -#define TSB_T32A9_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMA,1))) -#define TSB_T32A9_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMA,2))) -#define TSB_T32A9_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMA,3))) -#define TSB_T32A9_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAA,0))) -#define TSB_T32A9_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAA,1))) -#define TSB_T32A9_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAA,2))) -#define TSB_T32A9_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNB,0))) -#define TSB_T32A9_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNB,1))) -#define TSB_T32A9_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNB,2))) -#define TSB_T32A9_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNB,4))) -#define TSB_T32A9_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->CRB,20))) -#define TSB_T32A9_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STB,0))) -#define TSB_T32A9_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STB,1))) -#define TSB_T32A9_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STB,2))) -#define TSB_T32A9_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STB,3))) -#define TSB_T32A9_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMB,0))) -#define TSB_T32A9_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMB,1))) -#define TSB_T32A9_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMB,2))) -#define TSB_T32A9_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMB,3))) -#define TSB_T32A9_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAB,0))) -#define TSB_T32A9_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAB,1))) -#define TSB_T32A9_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAB,2))) -#define TSB_T32A9_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNC,0))) -#define TSB_T32A9_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNC,1))) -#define TSB_T32A9_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNC,2))) -#define TSB_T32A9_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A9->RUNC,4))) -#define TSB_T32A9_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->CRC,20))) -#define TSB_T32A9_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STC,0))) -#define TSB_T32A9_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STC,1))) -#define TSB_T32A9_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STC,2))) -#define TSB_T32A9_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STC,3))) -#define TSB_T32A9_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->STC,4))) -#define TSB_T32A9_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMC,0))) -#define TSB_T32A9_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMC,1))) -#define TSB_T32A9_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMC,2))) -#define TSB_T32A9_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMC,3))) -#define TSB_T32A9_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->IMC,4))) -#define TSB_T32A9_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAC,0))) -#define TSB_T32A9_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAC,1))) -#define TSB_T32A9_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->DMAC,2))) -#define TSB_T32A9_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->PLSCR,0))) -#define TSB_T32A9_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A9->PLSCR,1))) - -#define TSB_T32A10_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->MOD,0))) -#define TSB_T32A10_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->MOD,1))) -#define TSB_T32A10_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNA,0))) -#define TSB_T32A10_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNA,1))) -#define TSB_T32A10_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNA,2))) -#define TSB_T32A10_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNA,4))) -#define TSB_T32A10_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->CRA,20))) -#define TSB_T32A10_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STA,0))) -#define TSB_T32A10_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STA,1))) -#define TSB_T32A10_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STA,2))) -#define TSB_T32A10_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STA,3))) -#define TSB_T32A10_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMA,0))) -#define TSB_T32A10_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMA,1))) -#define TSB_T32A10_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMA,2))) -#define TSB_T32A10_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMA,3))) -#define TSB_T32A10_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAA,0))) -#define TSB_T32A10_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAA,1))) -#define TSB_T32A10_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAA,2))) -#define TSB_T32A10_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNB,0))) -#define TSB_T32A10_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNB,1))) -#define TSB_T32A10_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNB,2))) -#define TSB_T32A10_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNB,4))) -#define TSB_T32A10_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->CRB,20))) -#define TSB_T32A10_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STB,0))) -#define TSB_T32A10_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STB,1))) -#define TSB_T32A10_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STB,2))) -#define TSB_T32A10_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STB,3))) -#define TSB_T32A10_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMB,0))) -#define TSB_T32A10_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMB,1))) -#define TSB_T32A10_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMB,2))) -#define TSB_T32A10_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMB,3))) -#define TSB_T32A10_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAB,0))) -#define TSB_T32A10_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAB,1))) -#define TSB_T32A10_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAB,2))) -#define TSB_T32A10_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNC,0))) -#define TSB_T32A10_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNC,1))) -#define TSB_T32A10_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNC,2))) -#define TSB_T32A10_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A10->RUNC,4))) -#define TSB_T32A10_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->CRC,20))) -#define TSB_T32A10_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STC,0))) -#define TSB_T32A10_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STC,1))) -#define TSB_T32A10_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STC,2))) -#define TSB_T32A10_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STC,3))) -#define TSB_T32A10_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->STC,4))) -#define TSB_T32A10_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMC,0))) -#define TSB_T32A10_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMC,1))) -#define TSB_T32A10_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMC,2))) -#define TSB_T32A10_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMC,3))) -#define TSB_T32A10_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->IMC,4))) -#define TSB_T32A10_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAC,0))) -#define TSB_T32A10_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAC,1))) -#define TSB_T32A10_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->DMAC,2))) -#define TSB_T32A10_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->PLSCR,0))) -#define TSB_T32A10_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A10->PLSCR,1))) - -#define TSB_T32A11_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->MOD,0))) -#define TSB_T32A11_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->MOD,1))) -#define TSB_T32A11_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNA,0))) -#define TSB_T32A11_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNA,1))) -#define TSB_T32A11_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNA,2))) -#define TSB_T32A11_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNA,4))) -#define TSB_T32A11_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->CRA,20))) -#define TSB_T32A11_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STA,0))) -#define TSB_T32A11_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STA,1))) -#define TSB_T32A11_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STA,2))) -#define TSB_T32A11_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STA,3))) -#define TSB_T32A11_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMA,0))) -#define TSB_T32A11_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMA,1))) -#define TSB_T32A11_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMA,2))) -#define TSB_T32A11_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMA,3))) -#define TSB_T32A11_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAA,0))) -#define TSB_T32A11_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAA,1))) -#define TSB_T32A11_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAA,2))) -#define TSB_T32A11_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNB,0))) -#define TSB_T32A11_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNB,1))) -#define TSB_T32A11_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNB,2))) -#define TSB_T32A11_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNB,4))) -#define TSB_T32A11_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->CRB,20))) -#define TSB_T32A11_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STB,0))) -#define TSB_T32A11_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STB,1))) -#define TSB_T32A11_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STB,2))) -#define TSB_T32A11_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STB,3))) -#define TSB_T32A11_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMB,0))) -#define TSB_T32A11_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMB,1))) -#define TSB_T32A11_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMB,2))) -#define TSB_T32A11_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMB,3))) -#define TSB_T32A11_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAB,0))) -#define TSB_T32A11_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAB,1))) -#define TSB_T32A11_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAB,2))) -#define TSB_T32A11_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNC,0))) -#define TSB_T32A11_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNC,1))) -#define TSB_T32A11_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNC,2))) -#define TSB_T32A11_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A11->RUNC,4))) -#define TSB_T32A11_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->CRC,20))) -#define TSB_T32A11_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STC,0))) -#define TSB_T32A11_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STC,1))) -#define TSB_T32A11_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STC,2))) -#define TSB_T32A11_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STC,3))) -#define TSB_T32A11_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->STC,4))) -#define TSB_T32A11_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMC,0))) -#define TSB_T32A11_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMC,1))) -#define TSB_T32A11_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMC,2))) -#define TSB_T32A11_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMC,3))) -#define TSB_T32A11_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->IMC,4))) -#define TSB_T32A11_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAC,0))) -#define TSB_T32A11_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAC,1))) -#define TSB_T32A11_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->DMAC,2))) -#define TSB_T32A11_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->PLSCR,0))) -#define TSB_T32A11_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A11->PLSCR,1))) - -#define TSB_T32A12_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->MOD,0))) -#define TSB_T32A12_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->MOD,1))) -#define TSB_T32A12_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNA,0))) -#define TSB_T32A12_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNA,1))) -#define TSB_T32A12_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNA,2))) -#define TSB_T32A12_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNA,4))) -#define TSB_T32A12_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->CRA,20))) -#define TSB_T32A12_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STA,0))) -#define TSB_T32A12_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STA,1))) -#define TSB_T32A12_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STA,2))) -#define TSB_T32A12_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STA,3))) -#define TSB_T32A12_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMA,0))) -#define TSB_T32A12_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMA,1))) -#define TSB_T32A12_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMA,2))) -#define TSB_T32A12_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMA,3))) -#define TSB_T32A12_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAA,0))) -#define TSB_T32A12_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAA,1))) -#define TSB_T32A12_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAA,2))) -#define TSB_T32A12_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNB,0))) -#define TSB_T32A12_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNB,1))) -#define TSB_T32A12_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNB,2))) -#define TSB_T32A12_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNB,4))) -#define TSB_T32A12_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->CRB,20))) -#define TSB_T32A12_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STB,0))) -#define TSB_T32A12_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STB,1))) -#define TSB_T32A12_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STB,2))) -#define TSB_T32A12_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STB,3))) -#define TSB_T32A12_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMB,0))) -#define TSB_T32A12_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMB,1))) -#define TSB_T32A12_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMB,2))) -#define TSB_T32A12_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMB,3))) -#define TSB_T32A12_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAB,0))) -#define TSB_T32A12_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAB,1))) -#define TSB_T32A12_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAB,2))) -#define TSB_T32A12_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNC,0))) -#define TSB_T32A12_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNC,1))) -#define TSB_T32A12_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNC,2))) -#define TSB_T32A12_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A12->RUNC,4))) -#define TSB_T32A12_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->CRC,20))) -#define TSB_T32A12_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STC,0))) -#define TSB_T32A12_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STC,1))) -#define TSB_T32A12_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STC,2))) -#define TSB_T32A12_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STC,3))) -#define TSB_T32A12_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->STC,4))) -#define TSB_T32A12_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMC,0))) -#define TSB_T32A12_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMC,1))) -#define TSB_T32A12_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMC,2))) -#define TSB_T32A12_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMC,3))) -#define TSB_T32A12_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->IMC,4))) -#define TSB_T32A12_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAC,0))) -#define TSB_T32A12_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAC,1))) -#define TSB_T32A12_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->DMAC,2))) -#define TSB_T32A12_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->PLSCR,0))) -#define TSB_T32A12_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A12->PLSCR,1))) - -#define TSB_T32A13_MOD_MODE32 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->MOD,0))) -#define TSB_T32A13_MOD_HALT (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->MOD,1))) -#define TSB_T32A13_RUNA_RUNA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNA,0))) -#define TSB_T32A13_RUNA_SFTSTAA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNA,1))) -#define TSB_T32A13_RUNA_SFTSTPA (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNA,2))) -#define TSB_T32A13_RUNA_RUNFLGA (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNA,4))) -#define TSB_T32A13_CRA_WBFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->CRA,20))) -#define TSB_T32A13_STA_INTA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STA,0))) -#define TSB_T32A13_STA_INTA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STA,1))) -#define TSB_T32A13_STA_INTOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STA,2))) -#define TSB_T32A13_STA_INTUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STA,3))) -#define TSB_T32A13_IMA_IMA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMA,0))) -#define TSB_T32A13_IMA_IMA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMA,1))) -#define TSB_T32A13_IMA_IMOFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMA,2))) -#define TSB_T32A13_IMA_IMUFA (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMA,3))) -#define TSB_T32A13_DMAA_DMAENA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAA,0))) -#define TSB_T32A13_DMAA_DMAENA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAA,1))) -#define TSB_T32A13_DMAA_DMAENA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAA,2))) -#define TSB_T32A13_RUNB_RUNB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNB,0))) -#define TSB_T32A13_RUNB_SFTSTAB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNB,1))) -#define TSB_T32A13_RUNB_SFTSTPB (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNB,2))) -#define TSB_T32A13_RUNB_RUNFLGB (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNB,4))) -#define TSB_T32A13_CRB_WBFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->CRB,20))) -#define TSB_T32A13_STB_INTB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STB,0))) -#define TSB_T32A13_STB_INTB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STB,1))) -#define TSB_T32A13_STB_INTOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STB,2))) -#define TSB_T32A13_STB_INTUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STB,3))) -#define TSB_T32A13_IMB_IMB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMB,0))) -#define TSB_T32A13_IMB_IMB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMB,1))) -#define TSB_T32A13_IMB_IMOFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMB,2))) -#define TSB_T32A13_IMB_IMUFB (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMB,3))) -#define TSB_T32A13_DMAB_DMAENB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAB,0))) -#define TSB_T32A13_DMAB_DMAENB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAB,1))) -#define TSB_T32A13_DMAB_DMAENB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAB,2))) -#define TSB_T32A13_RUNC_RUNC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNC,0))) -#define TSB_T32A13_RUNC_SFTSTAC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNC,1))) -#define TSB_T32A13_RUNC_SFTSTPC (*((__O uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNC,2))) -#define TSB_T32A13_RUNC_RUNFLGC (*((__I uint32_t *)BITBAND_PERI(&TSB_T32A13->RUNC,4))) -#define TSB_T32A13_CRC_WBFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->CRC,20))) -#define TSB_T32A13_STC_INTC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STC,0))) -#define TSB_T32A13_STC_INTC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STC,1))) -#define TSB_T32A13_STC_INTOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STC,2))) -#define TSB_T32A13_STC_INTUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STC,3))) -#define TSB_T32A13_STC_INTSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->STC,4))) -#define TSB_T32A13_IMC_IMC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMC,0))) -#define TSB_T32A13_IMC_IMC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMC,1))) -#define TSB_T32A13_IMC_IMOFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMC,2))) -#define TSB_T32A13_IMC_IMUFC (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMC,3))) -#define TSB_T32A13_IMC_IMSTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->IMC,4))) -#define TSB_T32A13_DMAC_DMAENC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAC,0))) -#define TSB_T32A13_DMAC_DMAENC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAC,1))) -#define TSB_T32A13_DMAC_DMAENC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->DMAC,2))) -#define TSB_T32A13_PLSCR_PMODE (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->PLSCR,0))) -#define TSB_T32A13_PLSCR_PDIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_T32A13->PLSCR,1))) - - -/* UART */ -#define TSB_UART0_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SWRST,7))) -#define TSB_UART0_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,2))) -#define TSB_UART0_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,3))) -#define TSB_UART0_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,4))) -#define TSB_UART0_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,5))) -#define TSB_UART0_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,6))) -#define TSB_UART0_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,8))) -#define TSB_UART0_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,9))) -#define TSB_UART0_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,10))) -#define TSB_UART0_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR0,15))) -#define TSB_UART0_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,0))) -#define TSB_UART0_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,1))) -#define TSB_UART0_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,2))) -#define TSB_UART0_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,4))) -#define TSB_UART0_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,5))) -#define TSB_UART0_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,6))) -#define TSB_UART0_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->CR1,7))) -#define TSB_UART0_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->BRD,23))) -#define TSB_UART0_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,0))) -#define TSB_UART0_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,1))) -#define TSB_UART0_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,2))) -#define TSB_UART0_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->TRANS,3))) -#define TSB_UART0_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,16))) -#define TSB_UART0_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,17))) -#define TSB_UART0_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->DR,18))) -#define TSB_UART0_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,5))) -#define TSB_UART0_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,6))) -#define TSB_UART0_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,7))) -#define TSB_UART0_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,13))) -#define TSB_UART0_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->SR,14))) -#define TSB_UART0_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,15))) -#define TSB_UART0_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART0->SR,31))) -#define TSB_UART0_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART0->FIFOCLR,0))) -#define TSB_UART0_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART0->FIFOCLR,1))) -#define TSB_UART0_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,0))) -#define TSB_UART0_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,1))) -#define TSB_UART0_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,2))) -#define TSB_UART0_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,3))) -#define TSB_UART0_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART0->ERR,4))) - -#define TSB_UART1_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SWRST,7))) -#define TSB_UART1_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,2))) -#define TSB_UART1_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,3))) -#define TSB_UART1_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,4))) -#define TSB_UART1_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,5))) -#define TSB_UART1_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,6))) -#define TSB_UART1_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,8))) -#define TSB_UART1_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,9))) -#define TSB_UART1_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,10))) -#define TSB_UART1_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR0,15))) -#define TSB_UART1_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,0))) -#define TSB_UART1_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,1))) -#define TSB_UART1_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,2))) -#define TSB_UART1_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,4))) -#define TSB_UART1_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,5))) -#define TSB_UART1_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,6))) -#define TSB_UART1_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->CR1,7))) -#define TSB_UART1_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->BRD,23))) -#define TSB_UART1_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,0))) -#define TSB_UART1_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,1))) -#define TSB_UART1_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,2))) -#define TSB_UART1_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->TRANS,3))) -#define TSB_UART1_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,16))) -#define TSB_UART1_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,17))) -#define TSB_UART1_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->DR,18))) -#define TSB_UART1_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,5))) -#define TSB_UART1_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,6))) -#define TSB_UART1_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,7))) -#define TSB_UART1_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,13))) -#define TSB_UART1_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->SR,14))) -#define TSB_UART1_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,15))) -#define TSB_UART1_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART1->SR,31))) -#define TSB_UART1_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART1->FIFOCLR,0))) -#define TSB_UART1_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART1->FIFOCLR,1))) -#define TSB_UART1_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,0))) -#define TSB_UART1_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,1))) -#define TSB_UART1_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,2))) -#define TSB_UART1_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,3))) -#define TSB_UART1_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART1->ERR,4))) - -#define TSB_UART2_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SWRST,7))) -#define TSB_UART2_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,2))) -#define TSB_UART2_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,3))) -#define TSB_UART2_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,4))) -#define TSB_UART2_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,5))) -#define TSB_UART2_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,6))) -#define TSB_UART2_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,8))) -#define TSB_UART2_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,9))) -#define TSB_UART2_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,10))) -#define TSB_UART2_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR0,15))) -#define TSB_UART2_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,0))) -#define TSB_UART2_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,1))) -#define TSB_UART2_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,2))) -#define TSB_UART2_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,4))) -#define TSB_UART2_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,5))) -#define TSB_UART2_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,6))) -#define TSB_UART2_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->CR1,7))) -#define TSB_UART2_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->BRD,23))) -#define TSB_UART2_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,0))) -#define TSB_UART2_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,1))) -#define TSB_UART2_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,2))) -#define TSB_UART2_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->TRANS,3))) -#define TSB_UART2_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,16))) -#define TSB_UART2_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,17))) -#define TSB_UART2_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->DR,18))) -#define TSB_UART2_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,5))) -#define TSB_UART2_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,6))) -#define TSB_UART2_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,7))) -#define TSB_UART2_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,13))) -#define TSB_UART2_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->SR,14))) -#define TSB_UART2_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,15))) -#define TSB_UART2_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART2->SR,31))) -#define TSB_UART2_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART2->FIFOCLR,0))) -#define TSB_UART2_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART2->FIFOCLR,1))) -#define TSB_UART2_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,0))) -#define TSB_UART2_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,1))) -#define TSB_UART2_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,2))) -#define TSB_UART2_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,3))) -#define TSB_UART2_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART2->ERR,4))) - -#define TSB_UART3_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SWRST,7))) -#define TSB_UART3_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,2))) -#define TSB_UART3_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,3))) -#define TSB_UART3_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,4))) -#define TSB_UART3_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,5))) -#define TSB_UART3_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,6))) -#define TSB_UART3_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,8))) -#define TSB_UART3_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,9))) -#define TSB_UART3_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,10))) -#define TSB_UART3_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR0,15))) -#define TSB_UART3_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,0))) -#define TSB_UART3_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,1))) -#define TSB_UART3_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,2))) -#define TSB_UART3_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,4))) -#define TSB_UART3_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,5))) -#define TSB_UART3_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,6))) -#define TSB_UART3_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->CR1,7))) -#define TSB_UART3_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->BRD,23))) -#define TSB_UART3_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,0))) -#define TSB_UART3_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,1))) -#define TSB_UART3_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,2))) -#define TSB_UART3_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->TRANS,3))) -#define TSB_UART3_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,16))) -#define TSB_UART3_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,17))) -#define TSB_UART3_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->DR,18))) -#define TSB_UART3_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,5))) -#define TSB_UART3_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,6))) -#define TSB_UART3_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,7))) -#define TSB_UART3_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,13))) -#define TSB_UART3_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->SR,14))) -#define TSB_UART3_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,15))) -#define TSB_UART3_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART3->SR,31))) -#define TSB_UART3_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART3->FIFOCLR,0))) -#define TSB_UART3_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART3->FIFOCLR,1))) -#define TSB_UART3_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,0))) -#define TSB_UART3_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,1))) -#define TSB_UART3_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,2))) -#define TSB_UART3_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,3))) -#define TSB_UART3_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART3->ERR,4))) - -#define TSB_UART4_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SWRST,7))) -#define TSB_UART4_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,2))) -#define TSB_UART4_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,3))) -#define TSB_UART4_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,4))) -#define TSB_UART4_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,5))) -#define TSB_UART4_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,6))) -#define TSB_UART4_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,8))) -#define TSB_UART4_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,9))) -#define TSB_UART4_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,10))) -#define TSB_UART4_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR0,15))) -#define TSB_UART4_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,0))) -#define TSB_UART4_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,1))) -#define TSB_UART4_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,2))) -#define TSB_UART4_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,4))) -#define TSB_UART4_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,5))) -#define TSB_UART4_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,6))) -#define TSB_UART4_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->CR1,7))) -#define TSB_UART4_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->BRD,23))) -#define TSB_UART4_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,0))) -#define TSB_UART4_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,1))) -#define TSB_UART4_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,2))) -#define TSB_UART4_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->TRANS,3))) -#define TSB_UART4_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,16))) -#define TSB_UART4_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,17))) -#define TSB_UART4_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->DR,18))) -#define TSB_UART4_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,5))) -#define TSB_UART4_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,6))) -#define TSB_UART4_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,7))) -#define TSB_UART4_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,13))) -#define TSB_UART4_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->SR,14))) -#define TSB_UART4_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,15))) -#define TSB_UART4_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART4->SR,31))) -#define TSB_UART4_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART4->FIFOCLR,0))) -#define TSB_UART4_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART4->FIFOCLR,1))) -#define TSB_UART4_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,0))) -#define TSB_UART4_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,1))) -#define TSB_UART4_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,2))) -#define TSB_UART4_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,3))) -#define TSB_UART4_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART4->ERR,4))) - -#define TSB_UART5_SWRST_SWRSTF (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SWRST,7))) -#define TSB_UART5_CR0_PE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,2))) -#define TSB_UART5_CR0_EVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,3))) -#define TSB_UART5_CR0_SBLEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,4))) -#define TSB_UART5_CR0_DIR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,5))) -#define TSB_UART5_CR0_IV (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,6))) -#define TSB_UART5_CR0_WU (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,8))) -#define TSB_UART5_CR0_RTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,9))) -#define TSB_UART5_CR0_CTSE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,10))) -#define TSB_UART5_CR0_LPB (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR0,15))) -#define TSB_UART5_CR1_DMARE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,0))) -#define TSB_UART5_CR1_DMATE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,1))) -#define TSB_UART5_CR1_INTERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,2))) -#define TSB_UART5_CR1_INTRXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,4))) -#define TSB_UART5_CR1_INTRXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,5))) -#define TSB_UART5_CR1_INTTXWE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,6))) -#define TSB_UART5_CR1_INTTXFE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->CR1,7))) -#define TSB_UART5_BRD_KEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->BRD,23))) -#define TSB_UART5_TRANS_RXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,0))) -#define TSB_UART5_TRANS_TXE (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,1))) -#define TSB_UART5_TRANS_TXTRG (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,2))) -#define TSB_UART5_TRANS_BK (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->TRANS,3))) -#define TSB_UART5_DR_BERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,16))) -#define TSB_UART5_DR_FERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,17))) -#define TSB_UART5_DR_PERR (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->DR,18))) -#define TSB_UART5_SR_RXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,5))) -#define TSB_UART5_SR_RXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,6))) -#define TSB_UART5_SR_RXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,7))) -#define TSB_UART5_SR_TXFF (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,13))) -#define TSB_UART5_SR_TXEND (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->SR,14))) -#define TSB_UART5_SR_TXRUN (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,15))) -#define TSB_UART5_SR_SUE (*((__I uint32_t *)BITBAND_PERI(&TSB_UART5->SR,31))) -#define TSB_UART5_FIFOCLR_RFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART5->FIFOCLR,0))) -#define TSB_UART5_FIFOCLR_TFCLR (*((__O uint32_t *)BITBAND_PERI(&TSB_UART5->FIFOCLR,1))) -#define TSB_UART5_ERR_BERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,0))) -#define TSB_UART5_ERR_FERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,1))) -#define TSB_UART5_ERR_PERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,2))) -#define TSB_UART5_ERR_OVRERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,3))) -#define TSB_UART5_ERR_TRGERR (*((__IO uint32_t *)BITBAND_PERI(&TSB_UART5->ERR,4))) - - -/* I2C */ -#define TSB_I2C0_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->CR1,3))) -#define TSB_I2C0_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->CR1,4))) -#define TSB_I2C0_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->AR,0))) -#define TSB_I2C0_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,3))) -#define TSB_I2C0_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,4))) -#define TSB_I2C0_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,5))) -#define TSB_I2C0_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,6))) -#define TSB_I2C0_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C0->CR2,7))) -#define TSB_I2C0_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,0))) -#define TSB_I2C0_SR_ADO (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,1))) -#define TSB_I2C0_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,2))) -#define TSB_I2C0_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,3))) -#define TSB_I2C0_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,4))) -#define TSB_I2C0_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,5))) -#define TSB_I2C0_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,6))) -#define TSB_I2C0_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->SR,7))) -#define TSB_I2C0_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,0))) -#define TSB_I2C0_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,1))) -#define TSB_I2C0_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,2))) -#define TSB_I2C0_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,3))) -#define TSB_I2C0_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,4))) -#define TSB_I2C0_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,5))) -#define TSB_I2C0_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->IE,6))) -#define TSB_I2C0_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,0))) -#define TSB_I2C0_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,1))) -#define TSB_I2C0_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,2))) -#define TSB_I2C0_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->ST,3))) -#define TSB_I2C0_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,0))) -#define TSB_I2C0_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,1))) -#define TSB_I2C0_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,2))) -#define TSB_I2C0_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,3))) -#define TSB_I2C0_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,4))) -#define TSB_I2C0_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,5))) -#define TSB_I2C0_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,6))) -#define TSB_I2C0_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->OP,7))) -#define TSB_I2C0_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->PM,0))) -#define TSB_I2C0_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C0->PM,1))) -#define TSB_I2C0_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C0->AR2,0))) - -#define TSB_I2C1_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->CR1,3))) -#define TSB_I2C1_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->CR1,4))) -#define TSB_I2C1_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->AR,0))) -#define TSB_I2C1_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,3))) -#define TSB_I2C1_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,4))) -#define TSB_I2C1_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,5))) -#define TSB_I2C1_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,6))) -#define TSB_I2C1_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C1->CR2,7))) -#define TSB_I2C1_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,0))) -#define TSB_I2C1_SR_ADO (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,1))) -#define TSB_I2C1_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,2))) -#define TSB_I2C1_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,3))) -#define TSB_I2C1_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,4))) -#define TSB_I2C1_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,5))) -#define TSB_I2C1_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,6))) -#define TSB_I2C1_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->SR,7))) -#define TSB_I2C1_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,0))) -#define TSB_I2C1_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,1))) -#define TSB_I2C1_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,2))) -#define TSB_I2C1_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,3))) -#define TSB_I2C1_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,4))) -#define TSB_I2C1_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,5))) -#define TSB_I2C1_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->IE,6))) -#define TSB_I2C1_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,0))) -#define TSB_I2C1_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,1))) -#define TSB_I2C1_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,2))) -#define TSB_I2C1_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->ST,3))) -#define TSB_I2C1_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,0))) -#define TSB_I2C1_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,1))) -#define TSB_I2C1_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,2))) -#define TSB_I2C1_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,3))) -#define TSB_I2C1_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,4))) -#define TSB_I2C1_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,5))) -#define TSB_I2C1_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,6))) -#define TSB_I2C1_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->OP,7))) -#define TSB_I2C1_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->PM,0))) -#define TSB_I2C1_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C1->PM,1))) -#define TSB_I2C1_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C1->AR2,0))) - -#define TSB_I2C2_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->CR1,3))) -#define TSB_I2C2_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->CR1,4))) -#define TSB_I2C2_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->AR,0))) -#define TSB_I2C2_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,3))) -#define TSB_I2C2_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,4))) -#define TSB_I2C2_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,5))) -#define TSB_I2C2_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,6))) -#define TSB_I2C2_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C2->CR2,7))) -#define TSB_I2C2_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,0))) -#define TSB_I2C2_SR_ADO (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,1))) -#define TSB_I2C2_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,2))) -#define TSB_I2C2_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,3))) -#define TSB_I2C2_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,4))) -#define TSB_I2C2_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,5))) -#define TSB_I2C2_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,6))) -#define TSB_I2C2_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->SR,7))) -#define TSB_I2C2_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,0))) -#define TSB_I2C2_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,1))) -#define TSB_I2C2_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,2))) -#define TSB_I2C2_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,3))) -#define TSB_I2C2_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,4))) -#define TSB_I2C2_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,5))) -#define TSB_I2C2_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->IE,6))) -#define TSB_I2C2_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,0))) -#define TSB_I2C2_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,1))) -#define TSB_I2C2_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,2))) -#define TSB_I2C2_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->ST,3))) -#define TSB_I2C2_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,0))) -#define TSB_I2C2_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,1))) -#define TSB_I2C2_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,2))) -#define TSB_I2C2_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,3))) -#define TSB_I2C2_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,4))) -#define TSB_I2C2_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,5))) -#define TSB_I2C2_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,6))) -#define TSB_I2C2_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->OP,7))) -#define TSB_I2C2_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->PM,0))) -#define TSB_I2C2_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C2->PM,1))) -#define TSB_I2C2_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C2->AR2,0))) - -#define TSB_I2C3_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->CR1,3))) -#define TSB_I2C3_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->CR1,4))) -#define TSB_I2C3_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->AR,0))) -#define TSB_I2C3_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,3))) -#define TSB_I2C3_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,4))) -#define TSB_I2C3_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,5))) -#define TSB_I2C3_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,6))) -#define TSB_I2C3_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C3->CR2,7))) -#define TSB_I2C3_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,0))) -#define TSB_I2C3_SR_ADO (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,1))) -#define TSB_I2C3_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,2))) -#define TSB_I2C3_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,3))) -#define TSB_I2C3_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,4))) -#define TSB_I2C3_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,5))) -#define TSB_I2C3_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,6))) -#define TSB_I2C3_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->SR,7))) -#define TSB_I2C3_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,0))) -#define TSB_I2C3_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,1))) -#define TSB_I2C3_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,2))) -#define TSB_I2C3_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,3))) -#define TSB_I2C3_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,4))) -#define TSB_I2C3_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,5))) -#define TSB_I2C3_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->IE,6))) -#define TSB_I2C3_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,0))) -#define TSB_I2C3_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,1))) -#define TSB_I2C3_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,2))) -#define TSB_I2C3_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->ST,3))) -#define TSB_I2C3_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,0))) -#define TSB_I2C3_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,1))) -#define TSB_I2C3_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,2))) -#define TSB_I2C3_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,3))) -#define TSB_I2C3_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,4))) -#define TSB_I2C3_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,5))) -#define TSB_I2C3_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,6))) -#define TSB_I2C3_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->OP,7))) -#define TSB_I2C3_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->PM,0))) -#define TSB_I2C3_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C3->PM,1))) -#define TSB_I2C3_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C3->AR2,0))) - -#define TSB_I2C4_CR1_NOACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->CR1,3))) -#define TSB_I2C4_CR1_ACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->CR1,4))) -#define TSB_I2C4_AR_ALS (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->AR,0))) -#define TSB_I2C4_CR2_I2CM (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C4->CR2,3))) -#define TSB_I2C4_CR2_PIN (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C4->CR2,4))) -#define TSB_I2C4_CR2_BB (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C4->CR2,5))) -#define TSB_I2C4_CR2_TRX (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C4->CR2,6))) -#define TSB_I2C4_CR2_MST (*((__O uint32_t *)BITBAND_PERI(&TSB_I2C4->CR2,7))) -#define TSB_I2C4_SR_LRB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,0))) -#define TSB_I2C4_SR_ADO (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,1))) -#define TSB_I2C4_SR_AAS (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,2))) -#define TSB_I2C4_SR_AL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,3))) -#define TSB_I2C4_SR_PIN (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,4))) -#define TSB_I2C4_SR_BB (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,5))) -#define TSB_I2C4_SR_TRX (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,6))) -#define TSB_I2C4_SR_MST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->SR,7))) -#define TSB_I2C4_IE_INTI2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,0))) -#define TSB_I2C4_IE_INTI2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,1))) -#define TSB_I2C4_IE_INTI2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,2))) -#define TSB_I2C4_IE_INTNACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,3))) -#define TSB_I2C4_IE_DMARI2CRX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,4))) -#define TSB_I2C4_IE_DMARI2CTX (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,5))) -#define TSB_I2C4_IE_SELPINCD (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->IE,6))) -#define TSB_I2C4_ST_I2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->ST,0))) -#define TSB_I2C4_ST_I2CAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->ST,1))) -#define TSB_I2C4_ST_I2CBF (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->ST,2))) -#define TSB_I2C4_ST_NACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->ST,3))) -#define TSB_I2C4_OP_MFACK (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,0))) -#define TSB_I2C4_OP_SREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,1))) -#define TSB_I2C4_OP_GCDI (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,2))) -#define TSB_I2C4_OP_RSTA (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,3))) -#define TSB_I2C4_OP_NFSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,4))) -#define TSB_I2C4_OP_SAST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,5))) -#define TSB_I2C4_OP_SA2ST (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,6))) -#define TSB_I2C4_OP_DISAL (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->OP,7))) -#define TSB_I2C4_PM_SCL (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->PM,0))) -#define TSB_I2C4_PM_SDA (*((__I uint32_t *)BITBAND_PERI(&TSB_I2C4->PM,1))) -#define TSB_I2C4_AR2_SA2EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_I2C4->AR2,0))) - - -/* Port A */ -#define TSB_PA_DATA_PA0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,0))) -#define TSB_PA_DATA_PA1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,1))) -#define TSB_PA_DATA_PA2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,2))) -#define TSB_PA_DATA_PA3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,3))) -#define TSB_PA_DATA_PA4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,4))) -#define TSB_PA_DATA_PA5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,5))) -#define TSB_PA_DATA_PA6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,6))) -#define TSB_PA_DATA_PA7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->DATA,7))) -#define TSB_PA_CR_PA0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,0))) -#define TSB_PA_CR_PA1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,1))) -#define TSB_PA_CR_PA2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,2))) -#define TSB_PA_CR_PA3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,3))) -#define TSB_PA_CR_PA4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,4))) -#define TSB_PA_CR_PA5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,5))) -#define TSB_PA_CR_PA6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,6))) -#define TSB_PA_CR_PA7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->CR,7))) -#define TSB_PA_FR1_PA0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,0))) -#define TSB_PA_FR1_PA1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,1))) -#define TSB_PA_FR1_PA2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,2))) -#define TSB_PA_FR1_PA3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,3))) -#define TSB_PA_FR1_PA4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,4))) -#define TSB_PA_FR1_PA5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,5))) -#define TSB_PA_FR1_PA6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,6))) -#define TSB_PA_FR1_PA7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR1,7))) -#define TSB_PA_FR2_PA0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,0))) -#define TSB_PA_FR2_PA3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,3))) -#define TSB_PA_FR2_PA4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,4))) -#define TSB_PA_FR2_PA7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR2,7))) -#define TSB_PA_FR3_PA0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,0))) -#define TSB_PA_FR3_PA1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,1))) -#define TSB_PA_FR3_PA2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,2))) -#define TSB_PA_FR3_PA3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,3))) -#define TSB_PA_FR3_PA4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,4))) -#define TSB_PA_FR3_PA5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,5))) -#define TSB_PA_FR3_PA6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,6))) -#define TSB_PA_FR3_PA7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR3,7))) -#define TSB_PA_FR5_PA0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,0))) -#define TSB_PA_FR5_PA1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,1))) -#define TSB_PA_FR5_PA3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,3))) -#define TSB_PA_FR5_PA4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,4))) -#define TSB_PA_FR5_PA5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,5))) -#define TSB_PA_FR5_PA7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR5,7))) -#define TSB_PA_FR6_PA0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,0))) -#define TSB_PA_FR6_PA3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,3))) -#define TSB_PA_FR6_PA4F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,4))) -#define TSB_PA_FR6_PA5F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,5))) -#define TSB_PA_FR6_PA6F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,6))) -#define TSB_PA_FR6_PA7F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR6,7))) -#define TSB_PA_FR7_PA0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,0))) -#define TSB_PA_FR7_PA1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,1))) -#define TSB_PA_FR7_PA2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,2))) -#define TSB_PA_FR7_PA3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,3))) -#define TSB_PA_FR7_PA4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,4))) -#define TSB_PA_FR7_PA5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,5))) -#define TSB_PA_FR7_PA6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,6))) -#define TSB_PA_FR7_PA7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->FR7,7))) -#define TSB_PA_OD_PA0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,0))) -#define TSB_PA_OD_PA1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,1))) -#define TSB_PA_OD_PA2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,2))) -#define TSB_PA_OD_PA3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,3))) -#define TSB_PA_OD_PA4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,4))) -#define TSB_PA_OD_PA5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,5))) -#define TSB_PA_OD_PA6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,6))) -#define TSB_PA_OD_PA7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->OD,7))) -#define TSB_PA_PUP_PA0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,0))) -#define TSB_PA_PUP_PA1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,1))) -#define TSB_PA_PUP_PA2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,2))) -#define TSB_PA_PUP_PA3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,3))) -#define TSB_PA_PUP_PA4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,4))) -#define TSB_PA_PUP_PA5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,5))) -#define TSB_PA_PUP_PA6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,6))) -#define TSB_PA_PUP_PA7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PUP,7))) -#define TSB_PA_PDN_PA0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,0))) -#define TSB_PA_PDN_PA1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,1))) -#define TSB_PA_PDN_PA2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,2))) -#define TSB_PA_PDN_PA3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,3))) -#define TSB_PA_PDN_PA4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,4))) -#define TSB_PA_PDN_PA5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,5))) -#define TSB_PA_PDN_PA6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,6))) -#define TSB_PA_PDN_PA7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->PDN,7))) -#define TSB_PA_IE_PA0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,0))) -#define TSB_PA_IE_PA1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,1))) -#define TSB_PA_IE_PA2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,2))) -#define TSB_PA_IE_PA3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,3))) -#define TSB_PA_IE_PA4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,4))) -#define TSB_PA_IE_PA5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,5))) -#define TSB_PA_IE_PA6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,6))) -#define TSB_PA_IE_PA7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PA->IE,7))) - - -/* Port B */ -#define TSB_PB_DATA_PB0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,0))) -#define TSB_PB_DATA_PB1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,1))) -#define TSB_PB_DATA_PB2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,2))) -#define TSB_PB_DATA_PB3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,3))) -#define TSB_PB_DATA_PB4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,4))) -#define TSB_PB_DATA_PB5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,5))) -#define TSB_PB_DATA_PB6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,6))) -#define TSB_PB_DATA_PB7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->DATA,7))) -#define TSB_PB_CR_PB0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,0))) -#define TSB_PB_CR_PB1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,1))) -#define TSB_PB_CR_PB2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,2))) -#define TSB_PB_CR_PB3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,3))) -#define TSB_PB_CR_PB4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,4))) -#define TSB_PB_CR_PB5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,5))) -#define TSB_PB_CR_PB6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,6))) -#define TSB_PB_CR_PB7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->CR,7))) -#define TSB_PB_FR1_PB1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,1))) -#define TSB_PB_FR1_PB2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,2))) -#define TSB_PB_FR1_PB3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,3))) -#define TSB_PB_FR1_PB4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,4))) -#define TSB_PB_FR1_PB5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,5))) -#define TSB_PB_FR1_PB6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,6))) -#define TSB_PB_FR1_PB7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR1,7))) -#define TSB_PB_FR2_PB0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,0))) -#define TSB_PB_FR2_PB1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,1))) -#define TSB_PB_FR2_PB6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,6))) -#define TSB_PB_FR2_PB7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR2,7))) -#define TSB_PB_FR3_PB0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,0))) -#define TSB_PB_FR3_PB1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,1))) -#define TSB_PB_FR3_PB2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,2))) -#define TSB_PB_FR3_PB3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,3))) -#define TSB_PB_FR3_PB4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,4))) -#define TSB_PB_FR3_PB5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,5))) -#define TSB_PB_FR3_PB6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,6))) -#define TSB_PB_FR3_PB7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR3,7))) -#define TSB_PB_FR5_PB0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,0))) -#define TSB_PB_FR5_PB1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,1))) -#define TSB_PB_FR5_PB2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,2))) -#define TSB_PB_FR5_PB4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,4))) -#define TSB_PB_FR5_PB6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,6))) -#define TSB_PB_FR5_PB7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR5,7))) -#define TSB_PB_FR6_PB1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->FR6,1))) -#define TSB_PB_OD_PB0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,0))) -#define TSB_PB_OD_PB1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,1))) -#define TSB_PB_OD_PB2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,2))) -#define TSB_PB_OD_PB3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,3))) -#define TSB_PB_OD_PB4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,4))) -#define TSB_PB_OD_PB5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,5))) -#define TSB_PB_OD_PB6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,6))) -#define TSB_PB_OD_PB7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->OD,7))) -#define TSB_PB_PUP_PB0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,0))) -#define TSB_PB_PUP_PB1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,1))) -#define TSB_PB_PUP_PB2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,2))) -#define TSB_PB_PUP_PB3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,3))) -#define TSB_PB_PUP_PB4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,4))) -#define TSB_PB_PUP_PB5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,5))) -#define TSB_PB_PUP_PB6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,6))) -#define TSB_PB_PUP_PB7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PUP,7))) -#define TSB_PB_PDN_PB0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,0))) -#define TSB_PB_PDN_PB1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,1))) -#define TSB_PB_PDN_PB2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,2))) -#define TSB_PB_PDN_PB3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,3))) -#define TSB_PB_PDN_PB4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,4))) -#define TSB_PB_PDN_PB5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,5))) -#define TSB_PB_PDN_PB6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,6))) -#define TSB_PB_PDN_PB7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->PDN,7))) -#define TSB_PB_IE_PB0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,0))) -#define TSB_PB_IE_PB1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,1))) -#define TSB_PB_IE_PB2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,2))) -#define TSB_PB_IE_PB3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,3))) -#define TSB_PB_IE_PB4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,4))) -#define TSB_PB_IE_PB5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,5))) -#define TSB_PB_IE_PB6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,6))) -#define TSB_PB_IE_PB7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PB->IE,7))) - - -/* Port C */ -#define TSB_PC_DATA_PC0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,0))) -#define TSB_PC_DATA_PC1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,1))) -#define TSB_PC_DATA_PC2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,2))) -#define TSB_PC_DATA_PC3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,3))) -#define TSB_PC_DATA_PC4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,4))) -#define TSB_PC_DATA_PC5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,5))) -#define TSB_PC_DATA_PC6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,6))) -#define TSB_PC_DATA_PC7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->DATA,7))) -#define TSB_PC_CR_PC0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,0))) -#define TSB_PC_CR_PC1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,1))) -#define TSB_PC_CR_PC2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,2))) -#define TSB_PC_CR_PC3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,3))) -#define TSB_PC_CR_PC4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,4))) -#define TSB_PC_CR_PC5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,5))) -#define TSB_PC_CR_PC6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,6))) -#define TSB_PC_CR_PC7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->CR,7))) -#define TSB_PC_FR1_PC1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,1))) -#define TSB_PC_FR1_PC2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,2))) -#define TSB_PC_FR1_PC3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,3))) -#define TSB_PC_FR1_PC4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,4))) -#define TSB_PC_FR1_PC5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,5))) -#define TSB_PC_FR1_PC6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,6))) -#define TSB_PC_FR1_PC7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR1,7))) -#define TSB_PC_FR3_PC1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,1))) -#define TSB_PC_FR3_PC2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,2))) -#define TSB_PC_FR3_PC3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,3))) -#define TSB_PC_FR3_PC4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,4))) -#define TSB_PC_FR3_PC5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR3,5))) -#define TSB_PC_FR5_PC1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR5,1))) -#define TSB_PC_FR5_PC2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR5,2))) -#define TSB_PC_FR5_PC4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->FR5,4))) -#define TSB_PC_OD_PC0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,0))) -#define TSB_PC_OD_PC1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,1))) -#define TSB_PC_OD_PC2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,2))) -#define TSB_PC_OD_PC3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,3))) -#define TSB_PC_OD_PC4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,4))) -#define TSB_PC_OD_PC5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,5))) -#define TSB_PC_OD_PC6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,6))) -#define TSB_PC_OD_PC7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->OD,7))) -#define TSB_PC_PUP_PC0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,0))) -#define TSB_PC_PUP_PC1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,1))) -#define TSB_PC_PUP_PC2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,2))) -#define TSB_PC_PUP_PC3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,3))) -#define TSB_PC_PUP_PC4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,4))) -#define TSB_PC_PUP_PC5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,5))) -#define TSB_PC_PUP_PC6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,6))) -#define TSB_PC_PUP_PC7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PUP,7))) -#define TSB_PC_PDN_PC0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,0))) -#define TSB_PC_PDN_PC1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,1))) -#define TSB_PC_PDN_PC2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,2))) -#define TSB_PC_PDN_PC3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,3))) -#define TSB_PC_PDN_PC4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,4))) -#define TSB_PC_PDN_PC5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,5))) -#define TSB_PC_PDN_PC6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,6))) -#define TSB_PC_PDN_PC7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->PDN,7))) -#define TSB_PC_IE_PC0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,0))) -#define TSB_PC_IE_PC1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,1))) -#define TSB_PC_IE_PC2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,2))) -#define TSB_PC_IE_PC3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,3))) -#define TSB_PC_IE_PC4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,4))) -#define TSB_PC_IE_PC5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,5))) -#define TSB_PC_IE_PC6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,6))) -#define TSB_PC_IE_PC7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PC->IE,7))) - - -/* Port D */ -#define TSB_PD_DATA_PD0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,0))) -#define TSB_PD_DATA_PD1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,1))) -#define TSB_PD_DATA_PD2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,2))) -#define TSB_PD_DATA_PD3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,3))) -#define TSB_PD_DATA_PD4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,4))) -#define TSB_PD_DATA_PD5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,5))) -#define TSB_PD_DATA_PD6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,6))) -#define TSB_PD_DATA_PD7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->DATA,7))) -#define TSB_PD_CR_PD0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,0))) -#define TSB_PD_CR_PD1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,1))) -#define TSB_PD_CR_PD2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,2))) -#define TSB_PD_CR_PD3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,3))) -#define TSB_PD_CR_PD4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,4))) -#define TSB_PD_CR_PD5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,5))) -#define TSB_PD_CR_PD6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,6))) -#define TSB_PD_CR_PD7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->CR,7))) -#define TSB_PD_FR1_PD1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,1))) -#define TSB_PD_FR1_PD2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,2))) -#define TSB_PD_FR1_PD3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,3))) -#define TSB_PD_FR1_PD4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,4))) -#define TSB_PD_FR1_PD5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,5))) -#define TSB_PD_FR1_PD6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,6))) -#define TSB_PD_FR1_PD7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR1,7))) -#define TSB_PD_FR2_PD0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR2,0))) -#define TSB_PD_FR2_PD1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR2,1))) -#define TSB_PD_FR2_PD6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR2,6))) -#define TSB_PD_FR2_PD7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR2,7))) -#define TSB_PD_FR3_PD0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,0))) -#define TSB_PD_FR3_PD1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,1))) -#define TSB_PD_FR3_PD2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,2))) -#define TSB_PD_FR3_PD3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,3))) -#define TSB_PD_FR3_PD4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,4))) -#define TSB_PD_FR3_PD5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,5))) -#define TSB_PD_FR3_PD6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,6))) -#define TSB_PD_FR3_PD7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR3,7))) -#define TSB_PD_FR4_PD0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR4,0))) -#define TSB_PD_FR4_PD1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR4,1))) -#define TSB_PD_FR4_PD2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR4,2))) -#define TSB_PD_FR4_PD3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR4,3))) -#define TSB_PD_FR5_PD0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,0))) -#define TSB_PD_FR5_PD1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,1))) -#define TSB_PD_FR5_PD2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,2))) -#define TSB_PD_FR5_PD4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,4))) -#define TSB_PD_FR5_PD6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,6))) -#define TSB_PD_FR5_PD7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR5,7))) -#define TSB_PD_FR6_PD0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR6,0))) -#define TSB_PD_FR7_PD0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,0))) -#define TSB_PD_FR7_PD1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,1))) -#define TSB_PD_FR7_PD2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,2))) -#define TSB_PD_FR7_PD3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,3))) -#define TSB_PD_FR7_PD4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,4))) -#define TSB_PD_FR7_PD5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,5))) -#define TSB_PD_FR7_PD6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,6))) -#define TSB_PD_FR7_PD7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->FR7,7))) -#define TSB_PD_OD_PD0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,0))) -#define TSB_PD_OD_PD1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,1))) -#define TSB_PD_OD_PD2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,2))) -#define TSB_PD_OD_PD3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,3))) -#define TSB_PD_OD_PD4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,4))) -#define TSB_PD_OD_PD5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,5))) -#define TSB_PD_OD_PD6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,6))) -#define TSB_PD_OD_PD7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->OD,7))) -#define TSB_PD_PUP_PD0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,0))) -#define TSB_PD_PUP_PD1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,1))) -#define TSB_PD_PUP_PD2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,2))) -#define TSB_PD_PUP_PD3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,3))) -#define TSB_PD_PUP_PD4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,4))) -#define TSB_PD_PUP_PD5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,5))) -#define TSB_PD_PUP_PD6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,6))) -#define TSB_PD_PUP_PD7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PUP,7))) -#define TSB_PD_PDN_PD0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,0))) -#define TSB_PD_PDN_PD1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,1))) -#define TSB_PD_PDN_PD2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,2))) -#define TSB_PD_PDN_PD3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,3))) -#define TSB_PD_PDN_PD4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,4))) -#define TSB_PD_PDN_PD5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,5))) -#define TSB_PD_PDN_PD6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,6))) -#define TSB_PD_PDN_PD7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->PDN,7))) -#define TSB_PD_IE_PD0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,0))) -#define TSB_PD_IE_PD1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,1))) -#define TSB_PD_IE_PD2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,2))) -#define TSB_PD_IE_PD3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,3))) -#define TSB_PD_IE_PD4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,4))) -#define TSB_PD_IE_PD5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,5))) -#define TSB_PD_IE_PD6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,6))) -#define TSB_PD_IE_PD7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PD->IE,7))) - - -/* Port E */ -#define TSB_PE_DATA_PE0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,0))) -#define TSB_PE_DATA_PE1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,1))) -#define TSB_PE_DATA_PE2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,2))) -#define TSB_PE_DATA_PE3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,3))) -#define TSB_PE_DATA_PE4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,4))) -#define TSB_PE_DATA_PE5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,5))) -#define TSB_PE_DATA_PE6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,6))) -#define TSB_PE_DATA_PE7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->DATA,7))) -#define TSB_PE_CR_PE0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,0))) -#define TSB_PE_CR_PE1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,1))) -#define TSB_PE_CR_PE2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,2))) -#define TSB_PE_CR_PE3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,3))) -#define TSB_PE_CR_PE4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,4))) -#define TSB_PE_CR_PE5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,5))) -#define TSB_PE_CR_PE6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,6))) -#define TSB_PE_CR_PE7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->CR,7))) -#define TSB_PE_FR1_PE0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,0))) -#define TSB_PE_FR1_PE1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,1))) -#define TSB_PE_FR1_PE2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,2))) -#define TSB_PE_FR1_PE3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,3))) -#define TSB_PE_FR1_PE4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,4))) -#define TSB_PE_FR1_PE5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,5))) -#define TSB_PE_FR1_PE6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,6))) -#define TSB_PE_FR1_PE7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR1,7))) -#define TSB_PE_FR2_PE0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR2,0))) -#define TSB_PE_FR2_PE7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR2,7))) -#define TSB_PE_FR3_PE0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,0))) -#define TSB_PE_FR3_PE1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,1))) -#define TSB_PE_FR3_PE2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,2))) -#define TSB_PE_FR3_PE3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,3))) -#define TSB_PE_FR3_PE4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,4))) -#define TSB_PE_FR3_PE5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,5))) -#define TSB_PE_FR3_PE6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,6))) -#define TSB_PE_FR3_PE7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR3,7))) -#define TSB_PE_FR4_PE0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,0))) -#define TSB_PE_FR4_PE1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,1))) -#define TSB_PE_FR4_PE2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,2))) -#define TSB_PE_FR4_PE3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,3))) -#define TSB_PE_FR4_PE4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,4))) -#define TSB_PE_FR4_PE5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,5))) -#define TSB_PE_FR4_PE6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,6))) -#define TSB_PE_FR4_PE7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR4,7))) -#define TSB_PE_FR5_PE0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,0))) -#define TSB_PE_FR5_PE1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,1))) -#define TSB_PE_FR5_PE2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,2))) -#define TSB_PE_FR5_PE3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,3))) -#define TSB_PE_FR5_PE4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,4))) -#define TSB_PE_FR5_PE5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,5))) -#define TSB_PE_FR5_PE6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,6))) -#define TSB_PE_FR5_PE7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR5,7))) -#define TSB_PE_FR7_PE0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR7,0))) -#define TSB_PE_FR7_PE1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR7,1))) -#define TSB_PE_FR7_PE2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR7,2))) -#define TSB_PE_FR7_PE3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->FR7,3))) -#define TSB_PE_OD_PE0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,0))) -#define TSB_PE_OD_PE1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,1))) -#define TSB_PE_OD_PE2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,2))) -#define TSB_PE_OD_PE3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,3))) -#define TSB_PE_OD_PE4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,4))) -#define TSB_PE_OD_PE5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,5))) -#define TSB_PE_OD_PE6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,6))) -#define TSB_PE_OD_PE7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->OD,7))) -#define TSB_PE_PUP_PE0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,0))) -#define TSB_PE_PUP_PE1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,1))) -#define TSB_PE_PUP_PE2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,2))) -#define TSB_PE_PUP_PE3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,3))) -#define TSB_PE_PUP_PE4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,4))) -#define TSB_PE_PUP_PE5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,5))) -#define TSB_PE_PUP_PE6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,6))) -#define TSB_PE_PUP_PE7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PUP,7))) -#define TSB_PE_PDN_PE0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,0))) -#define TSB_PE_PDN_PE1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,1))) -#define TSB_PE_PDN_PE2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,2))) -#define TSB_PE_PDN_PE3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,3))) -#define TSB_PE_PDN_PE4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,4))) -#define TSB_PE_PDN_PE5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,5))) -#define TSB_PE_PDN_PE6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,6))) -#define TSB_PE_PDN_PE7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->PDN,7))) -#define TSB_PE_IE_PE0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,0))) -#define TSB_PE_IE_PE1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,1))) -#define TSB_PE_IE_PE2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,2))) -#define TSB_PE_IE_PE3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,3))) -#define TSB_PE_IE_PE4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,4))) -#define TSB_PE_IE_PE5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,5))) -#define TSB_PE_IE_PE6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,6))) -#define TSB_PE_IE_PE7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PE->IE,7))) - - -/* Port F */ -#define TSB_PF_DATA_PF0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,0))) -#define TSB_PF_DATA_PF1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,1))) -#define TSB_PF_DATA_PF2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,2))) -#define TSB_PF_DATA_PF3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,3))) -#define TSB_PF_DATA_PF4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,4))) -#define TSB_PF_DATA_PF5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,5))) -#define TSB_PF_DATA_PF6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,6))) -#define TSB_PF_DATA_PF7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->DATA,7))) -#define TSB_PF_CR_PF0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,0))) -#define TSB_PF_CR_PF1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,1))) -#define TSB_PF_CR_PF2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,2))) -#define TSB_PF_CR_PF3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,3))) -#define TSB_PF_CR_PF4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,4))) -#define TSB_PF_CR_PF5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,5))) -#define TSB_PF_CR_PF6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,6))) -#define TSB_PF_CR_PF7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->CR,7))) -#define TSB_PF_FR1_PF0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,0))) -#define TSB_PF_FR1_PF1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,1))) -#define TSB_PF_FR1_PF4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,4))) -#define TSB_PF_FR1_PF5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,5))) -#define TSB_PF_FR1_PF6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,6))) -#define TSB_PF_FR1_PF7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR1,7))) -#define TSB_PF_FR7_PF2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR7,2))) -#define TSB_PF_FR7_PF3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->FR7,3))) -#define TSB_PF_OD_PF0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,0))) -#define TSB_PF_OD_PF1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,1))) -#define TSB_PF_OD_PF2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,2))) -#define TSB_PF_OD_PF3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,3))) -#define TSB_PF_OD_PF4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,4))) -#define TSB_PF_OD_PF5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,5))) -#define TSB_PF_OD_PF6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,6))) -#define TSB_PF_OD_PF7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->OD,7))) -#define TSB_PF_PUP_PF0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,0))) -#define TSB_PF_PUP_PF1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,1))) -#define TSB_PF_PUP_PF2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,2))) -#define TSB_PF_PUP_PF3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,3))) -#define TSB_PF_PUP_PF4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,4))) -#define TSB_PF_PUP_PF5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,5))) -#define TSB_PF_PUP_PF6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,6))) -#define TSB_PF_PUP_PF7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PUP,7))) -#define TSB_PF_PDN_PF0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,0))) -#define TSB_PF_PDN_PF1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,1))) -#define TSB_PF_PDN_PF2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,2))) -#define TSB_PF_PDN_PF3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,3))) -#define TSB_PF_PDN_PF4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,4))) -#define TSB_PF_PDN_PF5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,5))) -#define TSB_PF_PDN_PF6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,6))) -#define TSB_PF_PDN_PF7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->PDN,7))) -#define TSB_PF_IE_PF0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,0))) -#define TSB_PF_IE_PF1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,1))) -#define TSB_PF_IE_PF2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,2))) -#define TSB_PF_IE_PF3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,3))) -#define TSB_PF_IE_PF4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,4))) -#define TSB_PF_IE_PF5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,5))) -#define TSB_PF_IE_PF6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,6))) -#define TSB_PF_IE_PF7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PF->IE,7))) - - -/* Port G */ -#define TSB_PG_DATA_PG0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,0))) -#define TSB_PG_DATA_PG1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,1))) -#define TSB_PG_DATA_PG2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,2))) -#define TSB_PG_DATA_PG3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,3))) -#define TSB_PG_DATA_PG4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,4))) -#define TSB_PG_DATA_PG5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,5))) -#define TSB_PG_DATA_PG6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,6))) -#define TSB_PG_DATA_PG7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->DATA,7))) -#define TSB_PG_CR_PG0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,0))) -#define TSB_PG_CR_PG1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,1))) -#define TSB_PG_CR_PG2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,2))) -#define TSB_PG_CR_PG3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,3))) -#define TSB_PG_CR_PG4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,4))) -#define TSB_PG_CR_PG5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,5))) -#define TSB_PG_CR_PG6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,6))) -#define TSB_PG_CR_PG7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->CR,7))) -#define TSB_PG_FR1_PG0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,0))) -#define TSB_PG_FR1_PG1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,1))) -#define TSB_PG_FR1_PG6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,6))) -#define TSB_PG_FR1_PG7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR1,7))) -#define TSB_PG_FR2_PG4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR2,4))) -#define TSB_PG_FR2_PG5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR2,5))) -#define TSB_PG_FR3_PG0F3 (*((__I uint32_t *)BITBAND_PERI(&TSB_PG->FR3,0))) -#define TSB_PG_FR3_PG1F3 (*((__I uint32_t *)BITBAND_PERI(&TSB_PG->FR3,1))) -#define TSB_PG_FR3_PG2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,2))) -#define TSB_PG_FR3_PG3F3 (*((__I uint32_t *)BITBAND_PERI(&TSB_PG->FR3,3))) -#define TSB_PG_FR3_PG5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR3,5))) -#define TSB_PG_FR4_PG2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,2))) -#define TSB_PG_FR4_PG3F4 (*((__I uint32_t *)BITBAND_PERI(&TSB_PG->FR4,3))) -#define TSB_PG_FR4_PG4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,4))) -#define TSB_PG_FR4_PG5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,5))) -#define TSB_PG_FR4_PG6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,6))) -#define TSB_PG_FR4_PG7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR4,7))) -#define TSB_PG_FR5_PG0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,0))) -#define TSB_PG_FR5_PG1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,1))) -#define TSB_PG_FR5_PG2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,2))) -#define TSB_PG_FR5_PG3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,3))) -#define TSB_PG_FR5_PG4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,4))) -#define TSB_PG_FR5_PG5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,5))) -#define TSB_PG_FR5_PG6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,6))) -#define TSB_PG_FR5_PG7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR5,7))) -#define TSB_PG_FR7_PG2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR7,2))) -#define TSB_PG_FR7_PG3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR7,3))) -#define TSB_PG_FR7_PG4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR7,4))) -#define TSB_PG_FR7_PG5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->FR7,5))) -#define TSB_PG_OD_PG0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,0))) -#define TSB_PG_OD_PG1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,1))) -#define TSB_PG_OD_PG2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,2))) -#define TSB_PG_OD_PG3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,3))) -#define TSB_PG_OD_PG4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,4))) -#define TSB_PG_OD_PG5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,5))) -#define TSB_PG_OD_PG6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,6))) -#define TSB_PG_OD_PG7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->OD,7))) -#define TSB_PG_PUP_PG0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,0))) -#define TSB_PG_PUP_PG1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,1))) -#define TSB_PG_PUP_PG2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,2))) -#define TSB_PG_PUP_PG3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,3))) -#define TSB_PG_PUP_PG4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,4))) -#define TSB_PG_PUP_PG5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,5))) -#define TSB_PG_PUP_PG6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,6))) -#define TSB_PG_PUP_PG7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PUP,7))) -#define TSB_PG_PDN_PG0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,0))) -#define TSB_PG_PDN_PG1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,1))) -#define TSB_PG_PDN_PG2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,2))) -#define TSB_PG_PDN_PG3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,3))) -#define TSB_PG_PDN_PG4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,4))) -#define TSB_PG_PDN_PG5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,5))) -#define TSB_PG_PDN_PG6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,6))) -#define TSB_PG_PDN_PG7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->PDN,7))) -#define TSB_PG_IE_PG0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,0))) -#define TSB_PG_IE_PG1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,1))) -#define TSB_PG_IE_PG2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,2))) -#define TSB_PG_IE_PG3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,3))) -#define TSB_PG_IE_PG4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,4))) -#define TSB_PG_IE_PG5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,5))) -#define TSB_PG_IE_PG6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,6))) -#define TSB_PG_IE_PG7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PG->IE,7))) - - -/* Port H */ -#define TSB_PH_DATA_PH0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,0))) -#define TSB_PH_DATA_PH1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,1))) -#define TSB_PH_DATA_PH2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,2))) -#define TSB_PH_DATA_PH3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,3))) -#define TSB_PH_DATA_PH4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,4))) -#define TSB_PH_DATA_PH5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,5))) -#define TSB_PH_DATA_PH6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,6))) -#define TSB_PH_DATA_PH7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->DATA,7))) -#define TSB_PH_CR_PH0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,0))) -#define TSB_PH_CR_PH1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,1))) -#define TSB_PH_CR_PH2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,2))) -#define TSB_PH_CR_PH3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,3))) -#define TSB_PH_CR_PH4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,4))) -#define TSB_PH_CR_PH5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,5))) -#define TSB_PH_CR_PH6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,6))) -#define TSB_PH_CR_PH7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->CR,7))) -#define TSB_PH_FR1_PH0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,0))) -#define TSB_PH_FR1_PH1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,1))) -#define TSB_PH_FR1_PH2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,2))) -#define TSB_PH_FR1_PH3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,3))) -#define TSB_PH_FR1_PH4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,4))) -#define TSB_PH_FR1_PH5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,5))) -#define TSB_PH_FR1_PH6F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,6))) -#define TSB_PH_FR1_PH7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR1,7))) -#define TSB_PH_FR3_PH0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,0))) -#define TSB_PH_FR3_PH1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,1))) -#define TSB_PH_FR3_PH2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,2))) -#define TSB_PH_FR3_PH3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,3))) -#define TSB_PH_FR3_PH4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,4))) -#define TSB_PH_FR3_PH5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,5))) -#define TSB_PH_FR3_PH6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,6))) -#define TSB_PH_FR3_PH7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR3,7))) -#define TSB_PH_FR4_PH0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR4,0))) -#define TSB_PH_FR4_PH1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR4,1))) -#define TSB_PH_FR4_PH2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR4,2))) -#define TSB_PH_FR4_PH3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR4,3))) -#define TSB_PH_FR5_PH0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,0))) -#define TSB_PH_FR5_PH1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,1))) -#define TSB_PH_FR5_PH2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,2))) -#define TSB_PH_FR5_PH3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,3))) -#define TSB_PH_FR5_PH4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,4))) -#define TSB_PH_FR5_PH5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,5))) -#define TSB_PH_FR5_PH6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,6))) -#define TSB_PH_FR5_PH7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->FR5,7))) -#define TSB_PH_OD_PH0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,0))) -#define TSB_PH_OD_PH1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,1))) -#define TSB_PH_OD_PH2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,2))) -#define TSB_PH_OD_PH3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,3))) -#define TSB_PH_OD_PH4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,4))) -#define TSB_PH_OD_PH5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,5))) -#define TSB_PH_OD_PH6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,6))) -#define TSB_PH_OD_PH7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->OD,7))) -#define TSB_PH_PUP_PH0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,0))) -#define TSB_PH_PUP_PH1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,1))) -#define TSB_PH_PUP_PH2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,2))) -#define TSB_PH_PUP_PH3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,3))) -#define TSB_PH_PUP_PH4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,4))) -#define TSB_PH_PUP_PH5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,5))) -#define TSB_PH_PUP_PH6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,6))) -#define TSB_PH_PUP_PH7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PUP,7))) -#define TSB_PH_PDN_PH0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,0))) -#define TSB_PH_PDN_PH1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,1))) -#define TSB_PH_PDN_PH2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,2))) -#define TSB_PH_PDN_PH3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,3))) -#define TSB_PH_PDN_PH4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,4))) -#define TSB_PH_PDN_PH5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,5))) -#define TSB_PH_PDN_PH6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,6))) -#define TSB_PH_PDN_PH7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->PDN,7))) -#define TSB_PH_IE_PH0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,0))) -#define TSB_PH_IE_PH1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,1))) -#define TSB_PH_IE_PH2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,2))) -#define TSB_PH_IE_PH3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,3))) -#define TSB_PH_IE_PH4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,4))) -#define TSB_PH_IE_PH5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,5))) -#define TSB_PH_IE_PH6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,6))) -#define TSB_PH_IE_PH7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PH->IE,7))) - - -/* Port J */ -#define TSB_PJ_DATA_PJ0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,0))) -#define TSB_PJ_DATA_PJ1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,1))) -#define TSB_PJ_DATA_PJ2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,2))) -#define TSB_PJ_DATA_PJ3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,3))) -#define TSB_PJ_DATA_PJ4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,4))) -#define TSB_PJ_DATA_PJ5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,5))) -#define TSB_PJ_DATA_PJ6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,6))) -#define TSB_PJ_DATA_PJ7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->DATA,7))) -#define TSB_PJ_CR_PJ0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,0))) -#define TSB_PJ_CR_PJ1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,1))) -#define TSB_PJ_CR_PJ2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,2))) -#define TSB_PJ_CR_PJ3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,3))) -#define TSB_PJ_CR_PJ4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,4))) -#define TSB_PJ_CR_PJ5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,5))) -#define TSB_PJ_CR_PJ6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,6))) -#define TSB_PJ_CR_PJ7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->CR,7))) -#define TSB_PJ_FR2_PJ4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,4))) -#define TSB_PJ_FR2_PJ5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR2,5))) -#define TSB_PJ_FR3_PJ0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,0))) -#define TSB_PJ_FR3_PJ1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,1))) -#define TSB_PJ_FR3_PJ2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,2))) -#define TSB_PJ_FR3_PJ3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,3))) -#define TSB_PJ_FR3_PJ4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,4))) -#define TSB_PJ_FR3_PJ5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR3,5))) -#define TSB_PJ_FR5_PJ0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,0))) -#define TSB_PJ_FR5_PJ1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,1))) -#define TSB_PJ_FR5_PJ2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,2))) -#define TSB_PJ_FR5_PJ3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,3))) -#define TSB_PJ_FR5_PJ4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,4))) -#define TSB_PJ_FR5_PJ5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,5))) -#define TSB_PJ_FR5_PJ6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,6))) -#define TSB_PJ_FR5_PJ7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR5,7))) -#define TSB_PJ_FR7_PJ2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR7,2))) -#define TSB_PJ_FR7_PJ3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR7,3))) -#define TSB_PJ_FR7_PJ6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR7,6))) -#define TSB_PJ_FR7_PJ7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->FR7,7))) -#define TSB_PJ_OD_PJ0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,0))) -#define TSB_PJ_OD_PJ1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,1))) -#define TSB_PJ_OD_PJ2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,2))) -#define TSB_PJ_OD_PJ3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,3))) -#define TSB_PJ_OD_PJ4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,4))) -#define TSB_PJ_OD_PJ5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,5))) -#define TSB_PJ_OD_PJ6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,6))) -#define TSB_PJ_OD_PJ7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->OD,7))) -#define TSB_PJ_PUP_PJ0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,0))) -#define TSB_PJ_PUP_PJ1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,1))) -#define TSB_PJ_PUP_PJ2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,2))) -#define TSB_PJ_PUP_PJ3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,3))) -#define TSB_PJ_PUP_PJ4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,4))) -#define TSB_PJ_PUP_PJ5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,5))) -#define TSB_PJ_PUP_PJ6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,6))) -#define TSB_PJ_PUP_PJ7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PUP,7))) -#define TSB_PJ_PDN_PJ0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,0))) -#define TSB_PJ_PDN_PJ1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,1))) -#define TSB_PJ_PDN_PJ2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,2))) -#define TSB_PJ_PDN_PJ3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,3))) -#define TSB_PJ_PDN_PJ4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,4))) -#define TSB_PJ_PDN_PJ5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,5))) -#define TSB_PJ_PDN_PJ6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,6))) -#define TSB_PJ_PDN_PJ7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->PDN,7))) -#define TSB_PJ_IE_PJ0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,0))) -#define TSB_PJ_IE_PJ1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,1))) -#define TSB_PJ_IE_PJ2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,2))) -#define TSB_PJ_IE_PJ3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,3))) -#define TSB_PJ_IE_PJ4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,4))) -#define TSB_PJ_IE_PJ5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,5))) -#define TSB_PJ_IE_PJ6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,6))) -#define TSB_PJ_IE_PJ7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PJ->IE,7))) - - -/* Port K */ -#define TSB_PK_DATA_PK0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,0))) -#define TSB_PK_DATA_PK1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,1))) -#define TSB_PK_DATA_PK2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,2))) -#define TSB_PK_DATA_PK3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,3))) -#define TSB_PK_DATA_PK4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,4))) -#define TSB_PK_DATA_PK5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,5))) -#define TSB_PK_DATA_PK6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,6))) -#define TSB_PK_DATA_PK7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->DATA,7))) -#define TSB_PK_CR_PK0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,0))) -#define TSB_PK_CR_PK1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,1))) -#define TSB_PK_CR_PK2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,2))) -#define TSB_PK_CR_PK3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,3))) -#define TSB_PK_CR_PK4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,4))) -#define TSB_PK_CR_PK5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,5))) -#define TSB_PK_CR_PK6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,6))) -#define TSB_PK_CR_PK7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->CR,7))) -#define TSB_PK_FR1_PK0F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,0))) -#define TSB_PK_FR1_PK1F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,1))) -#define TSB_PK_FR1_PK2F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,2))) -#define TSB_PK_FR1_PK3F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,3))) -#define TSB_PK_FR1_PK4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,4))) -#define TSB_PK_FR1_PK5F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR1,5))) -#define TSB_PK_FR2_PK0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,0))) -#define TSB_PK_FR2_PK1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,1))) -#define TSB_PK_FR2_PK6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,6))) -#define TSB_PK_FR2_PK7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR2,7))) -#define TSB_PK_FR3_PK0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,0))) -#define TSB_PK_FR3_PK1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,1))) -#define TSB_PK_FR3_PK6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,6))) -#define TSB_PK_FR3_PK7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR3,7))) -#define TSB_PK_FR4_PK1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,1))) -#define TSB_PK_FR4_PK4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,4))) -#define TSB_PK_FR4_PK5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,5))) -#define TSB_PK_FR4_PK6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,6))) -#define TSB_PK_FR4_PK7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR4,7))) -#define TSB_PK_FR6_PK2F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,2))) -#define TSB_PK_FR6_PK3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,3))) -#define TSB_PK_FR6_PK4F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,4))) -#define TSB_PK_FR6_PK5F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,5))) -#define TSB_PK_FR6_PK6F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,6))) -#define TSB_PK_FR6_PK7F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR6,7))) -#define TSB_PK_FR7_PK7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->FR7,7))) -#define TSB_PK_OD_PK0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,0))) -#define TSB_PK_OD_PK1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,1))) -#define TSB_PK_OD_PK2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,2))) -#define TSB_PK_OD_PK3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,3))) -#define TSB_PK_OD_PK4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,4))) -#define TSB_PK_OD_PK5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,5))) -#define TSB_PK_OD_PK6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,6))) -#define TSB_PK_OD_PK7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->OD,7))) -#define TSB_PK_PUP_PK0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,0))) -#define TSB_PK_PUP_PK1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,1))) -#define TSB_PK_PUP_PK2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,2))) -#define TSB_PK_PUP_PK3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,3))) -#define TSB_PK_PUP_PK4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,4))) -#define TSB_PK_PUP_PK5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,5))) -#define TSB_PK_PUP_PK6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,6))) -#define TSB_PK_PUP_PK7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PUP,7))) -#define TSB_PK_PDN_PK0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,0))) -#define TSB_PK_PDN_PK1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,1))) -#define TSB_PK_PDN_PK2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,2))) -#define TSB_PK_PDN_PK3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,3))) -#define TSB_PK_PDN_PK4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,4))) -#define TSB_PK_PDN_PK5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,5))) -#define TSB_PK_PDN_PK6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,6))) -#define TSB_PK_PDN_PK7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->PDN,7))) -#define TSB_PK_IE_PK0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,0))) -#define TSB_PK_IE_PK1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,1))) -#define TSB_PK_IE_PK2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,2))) -#define TSB_PK_IE_PK3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,3))) -#define TSB_PK_IE_PK4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,4))) -#define TSB_PK_IE_PK5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,5))) -#define TSB_PK_IE_PK6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,6))) -#define TSB_PK_IE_PK7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PK->IE,7))) - - -/* Port L */ -#define TSB_PL_DATA_PL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,0))) -#define TSB_PL_DATA_PL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,1))) -#define TSB_PL_DATA_PL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,2))) -#define TSB_PL_DATA_PL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,3))) -#define TSB_PL_DATA_PL4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,4))) -#define TSB_PL_DATA_PL5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,5))) -#define TSB_PL_DATA_PL6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,6))) -#define TSB_PL_DATA_PL7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->DATA,7))) -#define TSB_PL_CR_PL0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,0))) -#define TSB_PL_CR_PL1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,1))) -#define TSB_PL_CR_PL2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,2))) -#define TSB_PL_CR_PL3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,3))) -#define TSB_PL_CR_PL4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,4))) -#define TSB_PL_CR_PL5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,5))) -#define TSB_PL_CR_PL6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,6))) -#define TSB_PL_CR_PL7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->CR,7))) -#define TSB_PL_FR1_PL7F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR1,7))) -#define TSB_PL_FR2_PL0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,0))) -#define TSB_PL_FR2_PL3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,3))) -#define TSB_PL_FR2_PL4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,4))) -#define TSB_PL_FR2_PL5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,5))) -#define TSB_PL_FR2_PL6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,6))) -#define TSB_PL_FR2_PL7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR2,7))) -#define TSB_PL_FR3_PL0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,0))) -#define TSB_PL_FR3_PL3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,3))) -#define TSB_PL_FR3_PL4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,4))) -#define TSB_PL_FR3_PL6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR3,6))) -#define TSB_PL_FR6_PL0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR6,0))) -#define TSB_PL_FR6_PL3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR6,3))) -#define TSB_PL_FR7_PL0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR7,0))) -#define TSB_PL_FR7_PL1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR7,1))) -#define TSB_PL_FR7_PL2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR7,2))) -#define TSB_PL_FR7_PL3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->FR7,3))) -#define TSB_PL_OD_PL0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,0))) -#define TSB_PL_OD_PL1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,1))) -#define TSB_PL_OD_PL2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,2))) -#define TSB_PL_OD_PL3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,3))) -#define TSB_PL_OD_PL4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,4))) -#define TSB_PL_OD_PL5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,5))) -#define TSB_PL_OD_PL6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,6))) -#define TSB_PL_OD_PL7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->OD,7))) -#define TSB_PL_PUP_PL0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,0))) -#define TSB_PL_PUP_PL1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,1))) -#define TSB_PL_PUP_PL2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,2))) -#define TSB_PL_PUP_PL3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,3))) -#define TSB_PL_PUP_PL4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,4))) -#define TSB_PL_PUP_PL5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,5))) -#define TSB_PL_PUP_PL6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,6))) -#define TSB_PL_PUP_PL7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PUP,7))) -#define TSB_PL_PDN_PL0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,0))) -#define TSB_PL_PDN_PL1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,1))) -#define TSB_PL_PDN_PL2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,2))) -#define TSB_PL_PDN_PL3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,3))) -#define TSB_PL_PDN_PL4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,4))) -#define TSB_PL_PDN_PL5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,5))) -#define TSB_PL_PDN_PL6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,6))) -#define TSB_PL_PDN_PL7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->PDN,7))) -#define TSB_PL_IE_PL0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,0))) -#define TSB_PL_IE_PL1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,1))) -#define TSB_PL_IE_PL2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,2))) -#define TSB_PL_IE_PL3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,3))) -#define TSB_PL_IE_PL4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,4))) -#define TSB_PL_IE_PL5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,5))) -#define TSB_PL_IE_PL6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,6))) -#define TSB_PL_IE_PL7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PL->IE,7))) - - -/* Port M */ -#define TSB_PM_DATA_PM0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,0))) -#define TSB_PM_DATA_PM1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,1))) -#define TSB_PM_DATA_PM2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,2))) -#define TSB_PM_DATA_PM3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,3))) -#define TSB_PM_DATA_PM4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,4))) -#define TSB_PM_DATA_PM5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,5))) -#define TSB_PM_DATA_PM6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,6))) -#define TSB_PM_DATA_PM7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->DATA,7))) -#define TSB_PM_CR_PM0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,0))) -#define TSB_PM_CR_PM1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,1))) -#define TSB_PM_CR_PM2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,2))) -#define TSB_PM_CR_PM3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,3))) -#define TSB_PM_CR_PM4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,4))) -#define TSB_PM_CR_PM5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,5))) -#define TSB_PM_CR_PM6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,6))) -#define TSB_PM_CR_PM7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->CR,7))) -#define TSB_PM_FR2_PM2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,2))) -#define TSB_PM_FR2_PM3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,3))) -#define TSB_PM_FR2_PM4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,4))) -#define TSB_PM_FR2_PM5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,5))) -#define TSB_PM_FR2_PM6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,6))) -#define TSB_PM_FR2_PM7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR2,7))) -#define TSB_PM_FR3_PM2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,2))) -#define TSB_PM_FR3_PM5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,5))) -#define TSB_PM_FR3_PM6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR3,6))) -#define TSB_PM_FR4_PM0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,0))) -#define TSB_PM_FR4_PM1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,1))) -#define TSB_PM_FR4_PM3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,3))) -#define TSB_PM_FR4_PM4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,4))) -#define TSB_PM_FR4_PM6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,6))) -#define TSB_PM_FR4_PM7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR4,7))) -#define TSB_PM_FR5_PM0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,0))) -#define TSB_PM_FR5_PM1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,1))) -#define TSB_PM_FR5_PM2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,2))) -#define TSB_PM_FR5_PM3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,3))) -#define TSB_PM_FR5_PM6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,6))) -#define TSB_PM_FR5_PM7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR5,7))) -#define TSB_PM_FR6_PM0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,0))) -#define TSB_PM_FR6_PM1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,1))) -#define TSB_PM_FR6_PM2F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,2))) -#define TSB_PM_FR6_PM3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,3))) -#define TSB_PM_FR6_PM4F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,4))) -#define TSB_PM_FR6_PM5F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,5))) -#define TSB_PM_FR6_PM6F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,6))) -#define TSB_PM_FR6_PM7F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR6,7))) -#define TSB_PM_FR7_PM0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,0))) -#define TSB_PM_FR7_PM1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,1))) -#define TSB_PM_FR7_PM2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,2))) -#define TSB_PM_FR7_PM3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,3))) -#define TSB_PM_FR7_PM4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,4))) -#define TSB_PM_FR7_PM5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,5))) -#define TSB_PM_FR7_PM6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,6))) -#define TSB_PM_FR7_PM7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->FR7,7))) -#define TSB_PM_OD_PM0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,0))) -#define TSB_PM_OD_PM1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,1))) -#define TSB_PM_OD_PM2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,2))) -#define TSB_PM_OD_PM3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,3))) -#define TSB_PM_OD_PM4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,4))) -#define TSB_PM_OD_PM5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,5))) -#define TSB_PM_OD_PM6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,6))) -#define TSB_PM_OD_PM7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->OD,7))) -#define TSB_PM_PUP_PM0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,0))) -#define TSB_PM_PUP_PM1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,1))) -#define TSB_PM_PUP_PM2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,2))) -#define TSB_PM_PUP_PM3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,3))) -#define TSB_PM_PUP_PM4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,4))) -#define TSB_PM_PUP_PM5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,5))) -#define TSB_PM_PUP_PM6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,6))) -#define TSB_PM_PUP_PM7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PUP,7))) -#define TSB_PM_PDN_PM0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,0))) -#define TSB_PM_PDN_PM1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,1))) -#define TSB_PM_PDN_PM2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,2))) -#define TSB_PM_PDN_PM3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,3))) -#define TSB_PM_PDN_PM4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,4))) -#define TSB_PM_PDN_PM5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,5))) -#define TSB_PM_PDN_PM6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,6))) -#define TSB_PM_PDN_PM7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->PDN,7))) -#define TSB_PM_IE_PM0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,0))) -#define TSB_PM_IE_PM1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,1))) -#define TSB_PM_IE_PM2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,2))) -#define TSB_PM_IE_PM3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,3))) -#define TSB_PM_IE_PM4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,4))) -#define TSB_PM_IE_PM5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,5))) -#define TSB_PM_IE_PM6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,6))) -#define TSB_PM_IE_PM7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PM->IE,7))) - - -/* Port N */ -#define TSB_PN_DATA_PN0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,0))) -#define TSB_PN_DATA_PN1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,1))) -#define TSB_PN_DATA_PN2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,2))) -#define TSB_PN_DATA_PN3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,3))) -#define TSB_PN_DATA_PN4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,4))) -#define TSB_PN_DATA_PN5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,5))) -#define TSB_PN_DATA_PN6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,6))) -#define TSB_PN_DATA_PN7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->DATA,7))) -#define TSB_PN_CR_PN0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,0))) -#define TSB_PN_CR_PN1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,1))) -#define TSB_PN_CR_PN2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,2))) -#define TSB_PN_CR_PN3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,3))) -#define TSB_PN_CR_PN4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,4))) -#define TSB_PN_CR_PN5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,5))) -#define TSB_PN_CR_PN6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,6))) -#define TSB_PN_CR_PN7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->CR,7))) -#define TSB_PN_OD_PN0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,0))) -#define TSB_PN_OD_PN1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,1))) -#define TSB_PN_OD_PN2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,2))) -#define TSB_PN_OD_PN3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,3))) -#define TSB_PN_OD_PN4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,4))) -#define TSB_PN_OD_PN5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,5))) -#define TSB_PN_OD_PN6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,6))) -#define TSB_PN_OD_PN7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->OD,7))) -#define TSB_PN_PUP_PN0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,0))) -#define TSB_PN_PUP_PN1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,1))) -#define TSB_PN_PUP_PN2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,2))) -#define TSB_PN_PUP_PN3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,3))) -#define TSB_PN_PUP_PN4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,4))) -#define TSB_PN_PUP_PN5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,5))) -#define TSB_PN_PUP_PN6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,6))) -#define TSB_PN_PUP_PN7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PUP,7))) -#define TSB_PN_PDN_PN0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,0))) -#define TSB_PN_PDN_PN1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,1))) -#define TSB_PN_PDN_PN2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,2))) -#define TSB_PN_PDN_PN3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,3))) -#define TSB_PN_PDN_PN4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,4))) -#define TSB_PN_PDN_PN5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,5))) -#define TSB_PN_PDN_PN6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,6))) -#define TSB_PN_PDN_PN7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->PDN,7))) -#define TSB_PN_IE_PN0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,0))) -#define TSB_PN_IE_PN1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,1))) -#define TSB_PN_IE_PN2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,2))) -#define TSB_PN_IE_PN3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,3))) -#define TSB_PN_IE_PN4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,4))) -#define TSB_PN_IE_PN5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,5))) -#define TSB_PN_IE_PN6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,6))) -#define TSB_PN_IE_PN7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PN->IE,7))) - - -/* Port P */ -#define TSB_PP_DATA_PP0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,0))) -#define TSB_PP_DATA_PP1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,1))) -#define TSB_PP_DATA_PP2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,2))) -#define TSB_PP_DATA_PP3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,3))) -#define TSB_PP_DATA_PP4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,4))) -#define TSB_PP_DATA_PP5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,5))) -#define TSB_PP_DATA_PP6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,6))) -#define TSB_PP_DATA_PP7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->DATA,7))) -#define TSB_PP_CR_PP0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,0))) -#define TSB_PP_CR_PP1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,1))) -#define TSB_PP_CR_PP2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,2))) -#define TSB_PP_CR_PP3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,3))) -#define TSB_PP_CR_PP4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,4))) -#define TSB_PP_CR_PP5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,5))) -#define TSB_PP_CR_PP6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,6))) -#define TSB_PP_CR_PP7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->CR,7))) -#define TSB_PP_FR2_PP0FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,0))) -#define TSB_PP_FR2_PP1FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,1))) -#define TSB_PP_FR2_PP2FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,2))) -#define TSB_PP_FR2_PP3FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,3))) -#define TSB_PP_FR2_PP4FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,4))) -#define TSB_PP_FR2_PP5FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,5))) -#define TSB_PP_FR2_PP6FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,6))) -#define TSB_PP_FR2_PP7FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR2,7))) -#define TSB_PP_FR3_PP0FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,0))) -#define TSB_PP_FR3_PP1FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,1))) -#define TSB_PP_FR3_PP2FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,2))) -#define TSB_PP_FR3_PP3FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,3))) -#define TSB_PP_FR3_PP4FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,4))) -#define TSB_PP_FR3_PP5FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,5))) -#define TSB_PP_FR3_PP6FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,6))) -#define TSB_PP_FR3_PP7FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR3,7))) -#define TSB_PP_FR5_PP0FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,0))) -#define TSB_PP_FR5_PP1FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,1))) -#define TSB_PP_FR5_PP2FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,2))) -#define TSB_PP_FR5_PP3FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,3))) -#define TSB_PP_FR5_PP4FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,4))) -#define TSB_PP_FR5_PP5FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,5))) -#define TSB_PP_FR5_PP6FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,6))) -#define TSB_PP_FR5_PP7FR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->FR5,7))) -#define TSB_PP_OD_PP0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,0))) -#define TSB_PP_OD_PP1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,1))) -#define TSB_PP_OD_PP2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,2))) -#define TSB_PP_OD_PP3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,3))) -#define TSB_PP_OD_PP4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,4))) -#define TSB_PP_OD_PP5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,5))) -#define TSB_PP_OD_PP6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,6))) -#define TSB_PP_OD_PP7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->OD,7))) -#define TSB_PP_PUP_PP0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,0))) -#define TSB_PP_PUP_PP1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,1))) -#define TSB_PP_PUP_PP2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,2))) -#define TSB_PP_PUP_PP3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,3))) -#define TSB_PP_PUP_PP4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,4))) -#define TSB_PP_PUP_PP5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,5))) -#define TSB_PP_PUP_PP6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,6))) -#define TSB_PP_PUP_PP7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PUP,7))) -#define TSB_PP_PDN_PP0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,0))) -#define TSB_PP_PDN_PP1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,1))) -#define TSB_PP_PDN_PP2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,2))) -#define TSB_PP_PDN_PP3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,3))) -#define TSB_PP_PDN_PP4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,4))) -#define TSB_PP_PDN_PP5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,5))) -#define TSB_PP_PDN_PP6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,6))) -#define TSB_PP_PDN_PP7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->PDN,7))) -#define TSB_PP_IE_PP0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,0))) -#define TSB_PP_IE_PP1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,1))) -#define TSB_PP_IE_PP2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,2))) -#define TSB_PP_IE_PP3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,3))) -#define TSB_PP_IE_PP4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,4))) -#define TSB_PP_IE_PP5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,5))) -#define TSB_PP_IE_PP6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,6))) -#define TSB_PP_IE_PP7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PP->IE,7))) - - -/* Port R */ -#define TSB_PR_DATA_PR0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,0))) -#define TSB_PR_DATA_PR1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,1))) -#define TSB_PR_DATA_PR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,2))) -#define TSB_PR_DATA_PR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,3))) -#define TSB_PR_DATA_PR4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,4))) -#define TSB_PR_DATA_PR5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,5))) -#define TSB_PR_DATA_PR6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,6))) -#define TSB_PR_DATA_PR7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->DATA,7))) -#define TSB_PR_CR_PR0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,0))) -#define TSB_PR_CR_PR1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,1))) -#define TSB_PR_CR_PR2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,2))) -#define TSB_PR_CR_PR3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,3))) -#define TSB_PR_CR_PR4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,4))) -#define TSB_PR_CR_PR5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,5))) -#define TSB_PR_CR_PR6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,6))) -#define TSB_PR_CR_PR7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->CR,7))) -#define TSB_PR_FR2_PR0FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,0))) -#define TSB_PR_FR2_PR1FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,1))) -#define TSB_PR_FR2_PR2FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,2))) -#define TSB_PR_FR2_PR3FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,3))) -#define TSB_PR_FR2_PR4FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,4))) -#define TSB_PR_FR2_PR5FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,5))) -#define TSB_PR_FR2_PR6FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,6))) -#define TSB_PR_FR2_PR7FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR2,7))) -#define TSB_PR_FR3_PR0FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,0))) -#define TSB_PR_FR3_PR1FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,1))) -#define TSB_PR_FR3_PR2FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,2))) -#define TSB_PR_FR3_PR3FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,3))) -#define TSB_PR_FR3_PR4FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,4))) -#define TSB_PR_FR3_PR5FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,5))) -#define TSB_PR_FR3_PR6FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,6))) -#define TSB_PR_FR3_PR7FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->FR3,7))) -#define TSB_PR_OD_PR0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,0))) -#define TSB_PR_OD_PR1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,1))) -#define TSB_PR_OD_PR2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,2))) -#define TSB_PR_OD_PR3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,3))) -#define TSB_PR_OD_PR4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,4))) -#define TSB_PR_OD_PR5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,5))) -#define TSB_PR_OD_PR6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,6))) -#define TSB_PR_OD_PR7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->OD,7))) -#define TSB_PR_PUP_PR0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,0))) -#define TSB_PR_PUP_PR1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,1))) -#define TSB_PR_PUP_PR2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,2))) -#define TSB_PR_PUP_PR3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,3))) -#define TSB_PR_PUP_PR4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,4))) -#define TSB_PR_PUP_PR5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,5))) -#define TSB_PR_PUP_PR6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,6))) -#define TSB_PR_PUP_PR7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PUP,7))) -#define TSB_PR_PDN_PR0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,0))) -#define TSB_PR_PDN_PR1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,1))) -#define TSB_PR_PDN_PR2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,2))) -#define TSB_PR_PDN_PR3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,3))) -#define TSB_PR_PDN_PR4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,4))) -#define TSB_PR_PDN_PR5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,5))) -#define TSB_PR_PDN_PR6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,6))) -#define TSB_PR_PDN_PR7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->PDN,7))) -#define TSB_PR_IE_PR0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,0))) -#define TSB_PR_IE_PR1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,1))) -#define TSB_PR_IE_PR2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,2))) -#define TSB_PR_IE_PR3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,3))) -#define TSB_PR_IE_PR4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,4))) -#define TSB_PR_IE_PR5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,5))) -#define TSB_PR_IE_PR6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,6))) -#define TSB_PR_IE_PR7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PR->IE,7))) - - -/* Port T */ -#define TSB_PT_DATA_PT0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,0))) -#define TSB_PT_DATA_PT1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,1))) -#define TSB_PT_DATA_PT2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,2))) -#define TSB_PT_DATA_PT3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,3))) -#define TSB_PT_DATA_PT4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,4))) -#define TSB_PT_DATA_PT5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->DATA,5))) -#define TSB_PT_CR_PT0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,0))) -#define TSB_PT_CR_PT1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,1))) -#define TSB_PT_CR_PT2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,2))) -#define TSB_PT_CR_PT3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,3))) -#define TSB_PT_CR_PT4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,4))) -#define TSB_PT_CR_PT5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->CR,5))) -#define TSB_PT_FR1_PT3FR1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR1,3))) -#define TSB_PT_FR2_PT3FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR2,3))) -#define TSB_PT_FR2_PT5FR2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR2,5))) -#define TSB_PT_FR3_PT3FR3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR3,3))) -#define TSB_PT_FR6_PT3FR6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR6,3))) -#define TSB_PT_FR7_PT2FR7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->FR7,2))) -#define TSB_PT_OD_PT0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,0))) -#define TSB_PT_OD_PT1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,1))) -#define TSB_PT_OD_PT2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,2))) -#define TSB_PT_OD_PT3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,3))) -#define TSB_PT_OD_PT4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,4))) -#define TSB_PT_OD_PT5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->OD,5))) -#define TSB_PT_PUP_PT0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,0))) -#define TSB_PT_PUP_PT1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,1))) -#define TSB_PT_PUP_PT2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,2))) -#define TSB_PT_PUP_PT3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,3))) -#define TSB_PT_PUP_PT4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,4))) -#define TSB_PT_PUP_PT5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PUP,5))) -#define TSB_PT_PDN_PT0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,0))) -#define TSB_PT_PDN_PT1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,1))) -#define TSB_PT_PDN_PT2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,2))) -#define TSB_PT_PDN_PT3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,3))) -#define TSB_PT_PDN_PT4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,4))) -#define TSB_PT_PDN_PT5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->PDN,5))) -#define TSB_PT_IE_PT0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,0))) -#define TSB_PT_IE_PT1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,1))) -#define TSB_PT_IE_PT2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,2))) -#define TSB_PT_IE_PT3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,3))) -#define TSB_PT_IE_PT4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,4))) -#define TSB_PT_IE_PT5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PT->IE,5))) - - -/* Port U */ -#define TSB_PU_DATA_PU0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,0))) -#define TSB_PU_DATA_PU1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,1))) -#define TSB_PU_DATA_PU2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,2))) -#define TSB_PU_DATA_PU3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,3))) -#define TSB_PU_DATA_PU4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,4))) -#define TSB_PU_DATA_PU5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,5))) -#define TSB_PU_DATA_PU6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,6))) -#define TSB_PU_DATA_PU7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->DATA,7))) -#define TSB_PU_CR_PU0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,0))) -#define TSB_PU_CR_PU1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,1))) -#define TSB_PU_CR_PU2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,2))) -#define TSB_PU_CR_PU3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,3))) -#define TSB_PU_CR_PU4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,4))) -#define TSB_PU_CR_PU5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,5))) -#define TSB_PU_CR_PU6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,6))) -#define TSB_PU_CR_PU7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->CR,7))) -#define TSB_PU_FR2_PU0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,0))) -#define TSB_PU_FR2_PU1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,1))) -#define TSB_PU_FR2_PU2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,2))) -#define TSB_PU_FR2_PU3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,3))) -#define TSB_PU_FR2_PU4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,4))) -#define TSB_PU_FR2_PU5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,5))) -#define TSB_PU_FR2_PU6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,6))) -#define TSB_PU_FR2_PU7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR2,7))) -#define TSB_PU_FR3_PU0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,0))) -#define TSB_PU_FR3_PU2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,2))) -#define TSB_PU_FR3_PU3F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,3))) -#define TSB_PU_FR3_PU4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,4))) -#define TSB_PU_FR3_PU5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,5))) -#define TSB_PU_FR3_PU6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR3,6))) -#define TSB_PU_FR7_PU0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,0))) -#define TSB_PU_FR7_PU1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,1))) -#define TSB_PU_FR7_PU2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,2))) -#define TSB_PU_FR7_PU3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,3))) -#define TSB_PU_FR7_PU4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,4))) -#define TSB_PU_FR7_PU5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,5))) -#define TSB_PU_FR7_PU6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,6))) -#define TSB_PU_FR7_PU7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->FR7,7))) -#define TSB_PU_OD_PU0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,0))) -#define TSB_PU_OD_PU1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,1))) -#define TSB_PU_OD_PU2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,2))) -#define TSB_PU_OD_PU3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,3))) -#define TSB_PU_OD_PU4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,4))) -#define TSB_PU_OD_PU5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,5))) -#define TSB_PU_OD_PU6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,6))) -#define TSB_PU_OD_PU7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->OD,7))) -#define TSB_PU_PUP_PU0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,0))) -#define TSB_PU_PUP_PU1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,1))) -#define TSB_PU_PUP_PU2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,2))) -#define TSB_PU_PUP_PU3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,3))) -#define TSB_PU_PUP_PU4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,4))) -#define TSB_PU_PUP_PU5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,5))) -#define TSB_PU_PUP_PU6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,6))) -#define TSB_PU_PUP_PU7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PUP,7))) -#define TSB_PU_PDN_PU0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,0))) -#define TSB_PU_PDN_PU1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,1))) -#define TSB_PU_PDN_PU2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,2))) -#define TSB_PU_PDN_PU3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,3))) -#define TSB_PU_PDN_PU4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,4))) -#define TSB_PU_PDN_PU5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,5))) -#define TSB_PU_PDN_PU6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,6))) -#define TSB_PU_PDN_PU7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->PDN,7))) -#define TSB_PU_IE_PU0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,0))) -#define TSB_PU_IE_PU1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,1))) -#define TSB_PU_IE_PU2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,2))) -#define TSB_PU_IE_PU3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,3))) -#define TSB_PU_IE_PU4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,4))) -#define TSB_PU_IE_PU5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,5))) -#define TSB_PU_IE_PU6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,6))) -#define TSB_PU_IE_PU7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PU->IE,7))) - - -/* Port V */ -#define TSB_PV_DATA_PV0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,0))) -#define TSB_PV_DATA_PV1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,1))) -#define TSB_PV_DATA_PV2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,2))) -#define TSB_PV_DATA_PV3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,3))) -#define TSB_PV_DATA_PV4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,4))) -#define TSB_PV_DATA_PV5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,5))) -#define TSB_PV_DATA_PV6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,6))) -#define TSB_PV_DATA_PV7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->DATA,7))) -#define TSB_PV_CR_PV0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,0))) -#define TSB_PV_CR_PV1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,1))) -#define TSB_PV_CR_PV2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,2))) -#define TSB_PV_CR_PV3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,3))) -#define TSB_PV_CR_PV4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,4))) -#define TSB_PV_CR_PV5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,5))) -#define TSB_PV_CR_PV6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,6))) -#define TSB_PV_CR_PV7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->CR,7))) -#define TSB_PV_FR2_PV0F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,0))) -#define TSB_PV_FR2_PV1F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,1))) -#define TSB_PV_FR2_PV2F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,2))) -#define TSB_PV_FR2_PV3F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,3))) -#define TSB_PV_FR2_PV4F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,4))) -#define TSB_PV_FR2_PV5F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,5))) -#define TSB_PV_FR2_PV6F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,6))) -#define TSB_PV_FR2_PV7F2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR2,7))) -#define TSB_PV_FR3_PV0F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR3,0))) -#define TSB_PV_FR3_PV1F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR3,1))) -#define TSB_PV_FR3_PV2F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR3,2))) -#define TSB_PV_FR3_PV5F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR3,5))) -#define TSB_PV_FR3_PV6F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR3,6))) -#define TSB_PV_FR4_PV4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR4,4))) -#define TSB_PV_FR4_PV5F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR4,5))) -#define TSB_PV_FR4_PV6F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR4,6))) -#define TSB_PV_FR4_PV7F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR4,7))) -#define TSB_PV_FR5_PV0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,0))) -#define TSB_PV_FR5_PV1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,1))) -#define TSB_PV_FR5_PV2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,2))) -#define TSB_PV_FR5_PV3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,3))) -#define TSB_PV_FR5_PV4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,4))) -#define TSB_PV_FR5_PV5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,5))) -#define TSB_PV_FR5_PV6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,6))) -#define TSB_PV_FR5_PV7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR5,7))) -#define TSB_PV_FR6_PV0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,0))) -#define TSB_PV_FR6_PV1F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,1))) -#define TSB_PV_FR6_PV2F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,2))) -#define TSB_PV_FR6_PV3F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,3))) -#define TSB_PV_FR6_PV4F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,4))) -#define TSB_PV_FR6_PV5F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,5))) -#define TSB_PV_FR6_PV7F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR6,7))) -#define TSB_PV_FR7_PV0F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,0))) -#define TSB_PV_FR7_PV1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,1))) -#define TSB_PV_FR7_PV2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,2))) -#define TSB_PV_FR7_PV3F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,3))) -#define TSB_PV_FR7_PV4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,4))) -#define TSB_PV_FR7_PV5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,5))) -#define TSB_PV_FR7_PV6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,6))) -#define TSB_PV_FR7_PV7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->FR7,7))) -#define TSB_PV_OD_PV0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,0))) -#define TSB_PV_OD_PV1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,1))) -#define TSB_PV_OD_PV2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,2))) -#define TSB_PV_OD_PV3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,3))) -#define TSB_PV_OD_PV4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,4))) -#define TSB_PV_OD_PV5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,5))) -#define TSB_PV_OD_PV6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,6))) -#define TSB_PV_OD_PV7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->OD,7))) -#define TSB_PV_PUP_PV0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,0))) -#define TSB_PV_PUP_PV1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,1))) -#define TSB_PV_PUP_PV2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,2))) -#define TSB_PV_PUP_PV3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,3))) -#define TSB_PV_PUP_PV4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,4))) -#define TSB_PV_PUP_PV5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,5))) -#define TSB_PV_PUP_PV6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,6))) -#define TSB_PV_PUP_PV7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PUP,7))) -#define TSB_PV_PDN_PV0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,0))) -#define TSB_PV_PDN_PV1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,1))) -#define TSB_PV_PDN_PV2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,2))) -#define TSB_PV_PDN_PV3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,3))) -#define TSB_PV_PDN_PV4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,4))) -#define TSB_PV_PDN_PV5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,5))) -#define TSB_PV_PDN_PV6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,6))) -#define TSB_PV_PDN_PV7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->PDN,7))) -#define TSB_PV_IE_PV0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,0))) -#define TSB_PV_IE_PV1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,1))) -#define TSB_PV_IE_PV2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,2))) -#define TSB_PV_IE_PV3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,3))) -#define TSB_PV_IE_PV4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,4))) -#define TSB_PV_IE_PV5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,5))) -#define TSB_PV_IE_PV6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,6))) -#define TSB_PV_IE_PV7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PV->IE,7))) - - -/* Port W */ -#define TSB_PW_DATA_PW0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,0))) -#define TSB_PW_DATA_PW1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,1))) -#define TSB_PW_DATA_PW2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,2))) -#define TSB_PW_DATA_PW3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,3))) -#define TSB_PW_DATA_PW4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,4))) -#define TSB_PW_DATA_PW5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,5))) -#define TSB_PW_DATA_PW6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,6))) -#define TSB_PW_DATA_PW7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->DATA,7))) -#define TSB_PW_CR_PW0C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,0))) -#define TSB_PW_CR_PW1C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,1))) -#define TSB_PW_CR_PW2C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,2))) -#define TSB_PW_CR_PW3C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,3))) -#define TSB_PW_CR_PW4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,4))) -#define TSB_PW_CR_PW5C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,5))) -#define TSB_PW_CR_PW6C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,6))) -#define TSB_PW_CR_PW7C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->CR,7))) -#define TSB_PW_FR3_PW4F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR3,4))) -#define TSB_PW_FR3_PW7F3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR3,7))) -#define TSB_PW_FR4_PW0F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR4,0))) -#define TSB_PW_FR4_PW1F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR4,1))) -#define TSB_PW_FR4_PW2F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR4,2))) -#define TSB_PW_FR4_PW3F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR4,3))) -#define TSB_PW_FR5_PW0F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,0))) -#define TSB_PW_FR5_PW1F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,1))) -#define TSB_PW_FR5_PW2F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,2))) -#define TSB_PW_FR5_PW3F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,3))) -#define TSB_PW_FR5_PW4F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,4))) -#define TSB_PW_FR5_PW5F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,5))) -#define TSB_PW_FR5_PW6F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,6))) -#define TSB_PW_FR5_PW7F5 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR5,7))) -#define TSB_PW_FR6_PW0F6 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR6,0))) -#define TSB_PW_FR7_PW1F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,1))) -#define TSB_PW_FR7_PW2F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,2))) -#define TSB_PW_FR7_PW4F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,4))) -#define TSB_PW_FR7_PW5F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,5))) -#define TSB_PW_FR7_PW6F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,6))) -#define TSB_PW_FR7_PW7F7 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->FR7,7))) -#define TSB_PW_OD_PW0OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,0))) -#define TSB_PW_OD_PW1OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,1))) -#define TSB_PW_OD_PW2OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,2))) -#define TSB_PW_OD_PW3OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,3))) -#define TSB_PW_OD_PW4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,4))) -#define TSB_PW_OD_PW5OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,5))) -#define TSB_PW_OD_PW6OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,6))) -#define TSB_PW_OD_PW7OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->OD,7))) -#define TSB_PW_PUP_PW0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,0))) -#define TSB_PW_PUP_PW1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,1))) -#define TSB_PW_PUP_PW2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,2))) -#define TSB_PW_PUP_PW3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,3))) -#define TSB_PW_PUP_PW4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,4))) -#define TSB_PW_PUP_PW5UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,5))) -#define TSB_PW_PUP_PW6UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,6))) -#define TSB_PW_PUP_PW7UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PUP,7))) -#define TSB_PW_PDN_PW0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,0))) -#define TSB_PW_PDN_PW1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,1))) -#define TSB_PW_PDN_PW2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,2))) -#define TSB_PW_PDN_PW3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,3))) -#define TSB_PW_PDN_PW4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,4))) -#define TSB_PW_PDN_PW5DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,5))) -#define TSB_PW_PDN_PW6DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,6))) -#define TSB_PW_PDN_PW7DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->PDN,7))) -#define TSB_PW_IE_PW0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,0))) -#define TSB_PW_IE_PW1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,1))) -#define TSB_PW_IE_PW2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,2))) -#define TSB_PW_IE_PW3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,3))) -#define TSB_PW_IE_PW4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,4))) -#define TSB_PW_IE_PW5IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,5))) -#define TSB_PW_IE_PW6IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,6))) -#define TSB_PW_IE_PW7IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PW->IE,7))) - - -/* Port Y */ -#define TSB_PY_DATA_PY0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->DATA,0))) -#define TSB_PY_DATA_PY1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->DATA,1))) -#define TSB_PY_DATA_PY2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->DATA,2))) -#define TSB_PY_DATA_PY3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->DATA,3))) -#define TSB_PY_DATA_PY4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->DATA,4))) -#define TSB_PY_CR_PY4C (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->CR,4))) -#define TSB_PY_FR1_PY4F1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->FR1,4))) -#define TSB_PY_FR4_PY4F4 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->FR4,4))) -#define TSB_PY_OD_PY4OD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->OD,4))) -#define TSB_PY_PUP_PY0UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PUP,0))) -#define TSB_PY_PUP_PY1UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PUP,1))) -#define TSB_PY_PUP_PY2UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PUP,2))) -#define TSB_PY_PUP_PY3UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PUP,3))) -#define TSB_PY_PUP_PY4UP (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PUP,4))) -#define TSB_PY_PDN_PY0DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PDN,0))) -#define TSB_PY_PDN_PY1DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PDN,1))) -#define TSB_PY_PDN_PY2DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PDN,2))) -#define TSB_PY_PDN_PY3DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PDN,3))) -#define TSB_PY_PDN_PY4DN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->PDN,4))) -#define TSB_PY_IE_PY0IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->IE,0))) -#define TSB_PY_IE_PY1IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->IE,1))) -#define TSB_PY_IE_PY2IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->IE,2))) -#define TSB_PY_IE_PY3IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->IE,3))) -#define TSB_PY_IE_PY4IE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PY->IE,4))) - - -/* Internal High-speed Oscillation Adjustment */ -#define TSB_TRM_OSCEN_TRIMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_TRM->OSCEN,0))) - - -/* Oscillation Frequency Detector (OFD) */ -#define TSB_OFD_RST_OFDRSTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_OFD->RST,0))) -#define TSB_OFD_STAT_FRQERR (*((__I uint32_t *)BITBAND_PERI(&TSB_OFD->STAT,0))) -#define TSB_OFD_STAT_OFDBUSY (*((__I uint32_t *)BITBAND_PERI(&TSB_OFD->STAT,1))) -#define TSB_OFD_MON_OFDMON (*((__IO uint32_t *)BITBAND_PERI(&TSB_OFD->MON,0))) - - - -/* Consumer Electronics Control (CEC) */ -#define TSB_CEC0_EN_CECEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->EN,0))) -#define TSB_CEC0_RESET_CECRESET (*((__O uint32_t *)BITBAND_PERI(&TSB_CEC0->RESET,0))) -#define TSB_CEC0_REN_CECREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->REN,0))) -#define TSB_CEC0_RBUF_CECEOM (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RBUF,8))) -#define TSB_CEC0_RBUF_CECACK (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RBUF,9))) -#define TSB_CEC0_RCR1_CECOTH (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->RCR1,0))) -#define TSB_CEC0_RCR1_CECRIHLD (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->RCR1,1))) -#define TSB_CEC0_RCR1_CECACKDIS (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->RCR1,24))) -#define TSB_CEC0_RCR3_CECWAVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->RCR3,0))) -#define TSB_CEC0_RCR3_CECRSTAEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->RCR3,1))) -#define TSB_CEC0_TEN_CECTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->TEN,0))) -#define TSB_CEC0_TEN_CECTRANS (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TEN,1))) -#define TSB_CEC0_TBUF_CECTEOM (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->TBUF,8))) -#define TSB_CEC0_TCR_CECBRD (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->TCR,4))) -#define TSB_CEC0_RSTAT_CECRIEND (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,0))) -#define TSB_CEC0_RSTAT_CECRISTA (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,1))) -#define TSB_CEC0_RSTAT_CECRIMAX (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,2))) -#define TSB_CEC0_RSTAT_CECRIMIN (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,3))) -#define TSB_CEC0_RSTAT_CECRIACK (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,4))) -#define TSB_CEC0_RSTAT_CECRIOR (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,5))) -#define TSB_CEC0_RSTAT_CECRIWAV (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->RSTAT,6))) -#define TSB_CEC0_TSTAT_CECTISTA (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TSTAT,0))) -#define TSB_CEC0_TSTAT_CECTIEND (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TSTAT,1))) -#define TSB_CEC0_TSTAT_CECTIAL (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TSTAT,2))) -#define TSB_CEC0_TSTAT_CECTIACK (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TSTAT,3))) -#define TSB_CEC0_TSTAT_CECTIUR (*((__I uint32_t *)BITBAND_PERI(&TSB_CEC0->TSTAT,4))) -#define TSB_CEC0_FSSEL_CECCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_CEC0->FSSEL,0))) - - -/* Remote Control Signal Preprocessor (RMC) */ -#define TSB_RMC0_EN_RMCEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->EN,0))) -#define TSB_RMC0_REN_RMCREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->REN,0))) -#define TSB_RMC0_RCR2_RMCPHM (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,24))) -#define TSB_RMC0_RCR2_RMCLD (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,25))) -#define TSB_RMC0_RCR2_RMCRPIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,29))) -#define TSB_RMC0_RCR2_RMCEDIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,30))) -#define TSB_RMC0_RCR2_RMCLIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR2,31))) -#define TSB_RMC0_RCR3_RMCRP (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR3,15))) -#define TSB_RMC0_RCR4_RMCPO (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->RCR4,7))) -#define TSB_RMC0_RSTAT_RMCRLDR (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,7))) -#define TSB_RMC0_RSTAT_RMCRRP (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,8))) -#define TSB_RMC0_RSTAT_RMCRRPIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,11))) -#define TSB_RMC0_RSTAT_RMCEDIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,12))) -#define TSB_RMC0_RSTAT_RMCDMAXIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,13))) -#define TSB_RMC0_RSTAT_RMCLOIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,14))) -#define TSB_RMC0_RSTAT_RMCRLIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC0->RSTAT,15))) -#define TSB_RMC0_FSSEL_RMCCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC0->FSSEL,0))) - -#define TSB_RMC1_EN_RMCEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->EN,0))) -#define TSB_RMC1_REN_RMCREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->REN,0))) -#define TSB_RMC1_RCR2_RMCPHM (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR2,24))) -#define TSB_RMC1_RCR2_RMCLD (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR2,25))) -#define TSB_RMC1_RCR2_RMCRPIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR2,29))) -#define TSB_RMC1_RCR2_RMCEDIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR2,30))) -#define TSB_RMC1_RCR2_RMCLIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR2,31))) -#define TSB_RMC1_RCR3_RMCRP (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR3,15))) -#define TSB_RMC1_RCR4_RMCPO (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->RCR4,7))) -#define TSB_RMC1_RSTAT_RMCRLDR (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,7))) -#define TSB_RMC1_RSTAT_RMCRRP (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,8))) -#define TSB_RMC1_RSTAT_RMCRRPIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,11))) -#define TSB_RMC1_RSTAT_RMCEDIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,12))) -#define TSB_RMC1_RSTAT_RMCDMAXIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,13))) -#define TSB_RMC1_RSTAT_RMCLOIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,14))) -#define TSB_RMC1_RSTAT_RMCRLIF (*((__I uint32_t *)BITBAND_PERI(&TSB_RMC1->RSTAT,15))) -#define TSB_RMC1_FSSEL_RMCCLK (*((__IO uint32_t *)BITBAND_PERI(&TSB_RMC1->FSSEL,0))) - - -/* */ -#define TSB_PMD0_MDEN_PWMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDEN,0))) -#define TSB_PMD0_MDCR_PINT (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,3))) -#define TSB_PMD0_MDCR_DTYMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,4))) -#define TSB_PMD0_MDCR_SYNTMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,5))) -#define TSB_PMD0_MDCR_DCMEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,6))) -#define TSB_PMD0_MDCR_DTCREN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDCR,7))) -#define TSB_PMD0_CARSTA_PWMUST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,0))) -#define TSB_PMD0_CARSTA_PWMVST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,1))) -#define TSB_PMD0_CARSTA_PWMWST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->CARSTA,2))) -#define TSB_PMD0_MODESEL_MDSEL0 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MODESEL,0))) -#define TSB_PMD0_MODESEL_MDSEL1 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MODESEL,1))) -#define TSB_PMD0_MODESEL_MDSEL2 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MODESEL,2))) -#define TSB_PMD0_MODESEL_MDSEL3 (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MODESEL,3))) -#define TSB_PMD0_MODESEL_DCMPEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MODESEL,7))) -#define TSB_PMD0_MDOUT_UPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,8))) -#define TSB_PMD0_MDOUT_VPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,9))) -#define TSB_PMD0_MDOUT_WPWM (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDOUT,10))) -#define TSB_PMD0_MDPOT_POLL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDPOT,2))) -#define TSB_PMD0_MDPOT_POLH (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->MDPOT,3))) -#define TSB_PMD0_EMGCR_EMGEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,0))) -#define TSB_PMD0_EMGCR_EMGRS (*((__O uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,1))) -#define TSB_PMD0_EMGCR_EMGISEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,2))) -#define TSB_PMD0_EMGCR_INHEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,5))) -#define TSB_PMD0_EMGCR_EMGIPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,7))) -#define TSB_PMD0_EMGCR_CPAIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,13))) -#define TSB_PMD0_EMGCR_CPBIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,14))) -#define TSB_PMD0_EMGCR_CPCIEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGCR,15))) -#define TSB_PMD0_EMGSTA_EMGST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGSTA,0))) -#define TSB_PMD0_EMGSTA_EMGI (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->EMGSTA,1))) -#define TSB_PMD0_OVVCR_OVVEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,0))) -#define TSB_PMD0_OVVCR_OVVRS (*((__O uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,1))) -#define TSB_PMD0_OVVCR_OVVISEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,2))) -#define TSB_PMD0_OVVCR_ADIN0EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,5))) -#define TSB_PMD0_OVVCR_ADIN1EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,6))) -#define TSB_PMD0_OVVCR_OVVIPOL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,7))) -#define TSB_PMD0_OVVCR_OVVRSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVCR,15))) -#define TSB_PMD0_OVVSTA_OVVST (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVSTA,0))) -#define TSB_PMD0_OVVSTA_OVVI (*((__I uint32_t *)BITBAND_PERI(&TSB_PMD0->OVVSTA,1))) -#define TSB_PMD0_TRGCR_TRG0BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,3))) -#define TSB_PMD0_TRGCR_TRG1BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,7))) -#define TSB_PMD0_TRGCR_TRG2BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,11))) -#define TSB_PMD0_TRGCR_TRG3BE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,15))) -#define TSB_PMD0_TRGCR_CARSEL (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGCR,16))) -#define TSB_PMD0_TRGMD_EMGTGE (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGMD,0))) -#define TSB_PMD0_TRGMD_TRGOUT (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->TRGMD,1))) -#define TSB_PMD0_SYNCCR_PWMSMD (*((__IO uint32_t *)BITBAND_PERI(&TSB_PMD0->SYNCCR,0))) - - -/* */ -#define TSB_ISDA_EN_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->EN,0))) -#define TSB_ISDA_CLKCR_MS (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->CLKCR,0))) -#define TSB_ISDA_CLKCR_SC (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->CLKCR,1))) -#define TSB_ISDA_OCR0_OP (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->OCR0,0))) -#define TSB_ISDA_CR_START (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->CR,0))) -#define TSB_ISDA_BR_B0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->BR,0))) -#define TSB_ISDA_BR_B1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->BR,1))) -#define TSB_ISDA_BR_B2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->BR,2))) -#define TSB_ISDA_BR_B3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->BR,3))) -#define TSB_ISDA_SR_S0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->SR,0))) -#define TSB_ISDA_SR_S1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->SR,1))) -#define TSB_ISDA_SR_S2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->SR,2))) -#define TSB_ISDA_SR_S3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDA->SR,3))) -#define TSB_ISDA_INTCR_INTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDA->INTCR,0))) - -#define TSB_ISDB_EN_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->EN,0))) -#define TSB_ISDB_CLKCR_MS (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->CLKCR,0))) -#define TSB_ISDB_CLKCR_SC (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->CLKCR,1))) -#define TSB_ISDB_OCR0_OP (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->OCR0,0))) -#define TSB_ISDB_CR_START (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->CR,0))) -#define TSB_ISDB_BR_B0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->BR,0))) -#define TSB_ISDB_BR_B1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->BR,1))) -#define TSB_ISDB_BR_B2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->BR,2))) -#define TSB_ISDB_BR_B3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->BR,3))) -#define TSB_ISDB_SR_S0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->SR,0))) -#define TSB_ISDB_SR_S1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->SR,1))) -#define TSB_ISDB_SR_S2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->SR,2))) -#define TSB_ISDB_SR_S3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDB->SR,3))) -#define TSB_ISDB_INTCR_INTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDB->INTCR,0))) - -#define TSB_ISDC_EN_EN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->EN,0))) -#define TSB_ISDC_CLKCR_MS (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->CLKCR,0))) -#define TSB_ISDC_CLKCR_SC (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->CLKCR,1))) -#define TSB_ISDC_OCR0_OP (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->OCR0,0))) -#define TSB_ISDC_CR_START (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->CR,0))) -#define TSB_ISDC_BR_B0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->BR,0))) -#define TSB_ISDC_BR_B1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->BR,1))) -#define TSB_ISDC_BR_B2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->BR,2))) -#define TSB_ISDC_BR_B3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->BR,3))) -#define TSB_ISDC_SR_S0 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->SR,0))) -#define TSB_ISDC_SR_S1 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->SR,1))) -#define TSB_ISDC_SR_S2 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->SR,2))) -#define TSB_ISDC_SR_S3 (*((__I uint32_t *)BITBAND_PERI(&TSB_ISDC->SR,3))) -#define TSB_ISDC_INTCR_INTEN (*((__IO uint32_t *)BITBAND_PERI(&TSB_ISDC->INTCR,0))) - -/** @} */ /* End of group Device_Peripheral_registers */ - -#ifdef __cplusplus -} -#endif - -#endif /* __TMPM4G9_H__ */ - -/** @} */ /* End of group TMPM4G9 */ -/** @} */ /* End of group TOSHIBA_TXZ_MICROCONTROLLER */ diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/startup_TMPM4G9.S b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/startup_TMPM4G9.S deleted file mode 100644 index 4483a37c88c..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/startup_TMPM4G9.S +++ /dev/null @@ -1,533 +0,0 @@ -;/** -; ******************************************************************************* -; * @file startup_TMPM4G9.s -; * @brief CMSIS Cortex-M4 Core Device Startup File for the -; * TOSHIBA 'TMPM4G9' Device Series -; * @version V1.0.6.0 -; * $Date:: 2017-10-04 #$ -; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2017 All rights reserved -; ******************************************************************************* -; */ - - - PRESERVE8 - THUMB - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - -__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD INT00_IRQHandler ; 0: Interrupt pin 00a/00b - DCD INT01_IRQHandler ; 1: Interrupt pin 01a/00b - DCD INT02_IRQHandler ; 2: Interrupt pin 02a/00b - DCD INT03_IRQHandler ; 3: Interrupt pin 03a/03b - DCD INT04_IRQHandler ; 4: Interrupt pin 04a/04b - DCD INT05_IRQHandler ; 5: Interrupt pin 05a/05b - DCD INT06_IRQHandler ; 6: Interrupt pin 06a/06b - DCD INT07_IRQHandler ; 7: Interrupt pin 07a/07b - DCD INT08_IRQHandler ; 8: Interrupt pin 08a/08b - DCD INT09_IRQHandler ; 9: Interrupt pin 09a/09b - DCD INT10_IRQHandler ; 10: Interrupt pin 10a/10b - DCD INT11_IRQHandler ; 11: Interrupt pin 11a/11b - DCD INT12_IRQHandler ; 12: Interrupt pin 12a/12b - DCD INT13_IRQHandler ; 13: Interrupt pin 13a/13b - DCD INT14_IRQHandler ; 14: Interrupt pin 14a/14b - DCD INT15_IRQHandler ; 15: Interrupt pin 15a/15b - DCD INTRTC_IRQHandler ; 16: Real time clock(XHz) interrupt - DCD INTCEC0RX_IRQHandler ; 17: CEC reception interrupt (channel 0) - DCD INTCEC0TX_IRQHandler ; 18: CEC transmission interrupt (channel 0) - DCD INTISDA_IRQHandler ; 19: Interval Sensing Detector Interrupt (Unit A) - DCD INTISDB_IRQHandler ; 20: Interval Sensing Detector Interrupt (Unit B) - DCD INTISDC_IRQHandler ; 21: Interval Sensing Detector Interrupt (Unit C) - DCD INTRMC0_IRQHandler ; 22: Remote control reception interrupt 0 - DCD INTRMC1_IRQHandler ; 23: Remote control reception interrupt 1 - DCD INTLTTMR_IRQHandler ; 24: Long Term Timer Interrupt - DCD INTHDMAATC_IRQHandler ; 25: HDMA Complete of transfer(Unit A) - DCD INTHDMAAERR_IRQHandler ; 26: HDMA transfer error(Unit A) - DCD INTHDMABTC_IRQHandler ; 27: HDMA end of transfer(Unit B) - DCD INTHDMABERR_IRQHandler ; 28: HDMA transfer error(Unit B) - DCD INTMDMAATC_IRQHandler ; 29: MDMA Complete of transfer(Unit A) - DCD INTT32A00_A_CT_IRQHandler ; 30: T32A00 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A00_B_C01_CPC_IRQHandler; 31: T32A00 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A01_A_CT_IRQHandler ; 32: T32A01 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A01_B_C01_CPC_IRQHandler; 33: T32A01 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A02_A_CT_IRQHandler ; 34: T32A02 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A02_B_C01_CPC_IRQHandler; 35: T32A02 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A03_A_CT_IRQHandler ; 36: T32A03 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A03_B_C01_CPC_IRQHandler; 37: T32A03 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A04_A_CT_IRQHandler ; 38: T32A04 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A04_B_C01_CPC_IRQHandler; 39: T32A04 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A05_A_CT_IRQHandler ; 40: T32A05 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A05_B_C01_CPC_IRQHandler; 41: T32A05 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A06_A_CT_IRQHandler ; 42: T32A06 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A06_B_C01_CPC_IRQHandler; 43: T32A06 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A07_A_CT_IRQHandler ; 44: T32A07 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A07_B_C01_CPC_IRQHandler; 45: T32A07 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A08_A_CT_IRQHandler ; 46: T32A08 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A08_B_C01_CPC_IRQHandler; 47: T32A08 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A09_A_CT_IRQHandler ; 48: T32A09 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A09_B_C01_CPC_IRQHandler; 49: T32A09 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A10_A_CT_IRQHandler ; 50: T32A10 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A10_B_C01_CPC_IRQHandler; 51: T32A10 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A11_A_CT_IRQHandler ; 52: T32A11 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A11_B_C01_CPC_IRQHandler; 53: T32A11 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A12_A_CT_IRQHandler ; 54: T32A12 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A12_B_C01_CPC_IRQHandler; 55: T32A12 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A13_A_CT_IRQHandler ; 56: T32A13 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A13_B_C01_CPC_IRQHandler; 57: T32A13 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTEMG0_IRQHandler ; 58: PMD0 EMG interrupt - DCD INTOVV0_IRQHandler ; 59: PMD0 OVV interrupt - DCD INTPWM0_IRQHandler ; 60: PMD0 interrupt - DCD INTT0RX_IRQHandler ; 61: TSPI/SIO reception (channel 0) - DCD INTT0TX_IRQHandler ; 62: TSPI/SIO transmit (channel 0) - DCD INTT0ERR_IRQHandler ; 63: TSPI/SIO error (channel 0) - DCD INTT1RX_IRQHandler ; 64: TSPI/SIO reception (channel 1) - DCD INTT1TX_IRQHandler ; 65: TSPI/SIO transmit (channel 1) - DCD INTT1ERR_IRQHandler ; 66: TSPI/SIO error (channel 1) - DCD INTT2RX_IRQHandler ; 67: TSPI/SIO reception (channel 2) - DCD INTT2TX_IRQHandler ; 68: TSPI/SIO transmit (channel 2) - DCD INTT2ERR_IRQHandler ; 69: TSPI/SIO error (channel 2) - DCD INTT3RX_IRQHandler ; 70: TSPI/SIO reception (channel 3) - DCD INTT3TX_IRQHandler ; 71: TSPI/SIO transmit (channel 3) - DCD INTT3ERR_IRQHandler ; 72: TSPI/SIO error (channel 3) - DCD INTT4RX_IRQHandler ; 73: TSPI/SIO reception (channel 4) - DCD INTT4TX_IRQHandler ; 74: TSPI/SIO transmit (channel 4) - DCD INTT4ERR_IRQHandler ; 75: TSPI/SIO error (channel 4) - DCD INTT5RX_IRQHandler ; 76: TSPI/SIO reception (channel 5) - DCD INTT5TX_IRQHandler ; 77: TSPI/SIO transmit (channel 5) - DCD INTT5ERR_IRQHandler ; 78: TSPI/SIO error (channel 5) - DCD INTT6RX_IRQHandler ; 79: TSPI/SIO reception (channel 6) - DCD INTT6TX_IRQHandler ; 80: TSPI/SIO transmit (channel 6) - DCD INTT6ERR_IRQHandler ; 81: TSPI/SIO error (channel 6) - DCD INTT7RX_IRQHandler ; 82: TSPI/SIO reception (channel 7) - DCD INTT7TX_IRQHandler ; 83: TSPI/SIO transmit (channel 7) - DCD INTT7ERR_IRQHandler ; 84: TSPI/SIO error (channel 7) - DCD INTT8RX_IRQHandler ; 85: TSPI/SIO reception (channel 8) - DCD INTT8TX_IRQHandler ; 86: TSPI/SIO transmit (channel 8) - DCD INTT8ERR_IRQHandler ; 87: TSPI/SIO error (channel 8) - DCD INTSMI0_IRQHandler ; 88: Serial Memory Interface Interrupt - DCD INTUART0RX_IRQHandler ; 89: UART reception (channel 0) - DCD INTUART0TX_IRQHandler ; 90: UART transmit (channel 0) - DCD INTUART0ERR_IRQHandler ; 91: UART error (channel 0) - DCD INTUART1RX_IRQHandler ; 92: UART reception (channel 1) - DCD INTUART1TX_IRQHandler ; 93: UART transmit (channel 1) - DCD INTUART1ERR_IRQHandler ; 94: UART error (channel 1) - DCD INTUART2RX_IRQHandler ; 95: UART reception (channel 2) - DCD INTUART2TX_IRQHandler ; 96: UART transmit (channel 2) - DCD INTUART2ERR_IRQHandler ; 97: UART error (channel 2) - DCD INTUART3RX_IRQHandler ; 98: UART reception (channel 3) - DCD INTUART3TX_IRQHandler ; 99: UART transmit (channel 3) - DCD INTUART3ERR_IRQHandler ; 100: UART error (channel 3) - DCD INTUART4RX_IRQHandler ; 101: UART reception (channel 4) - DCD INTUART4TX_IRQHandler ; 102: UART transmit (channel 4) - DCD INTUART4ERR_IRQHandler ; 103: UART error (channel 4) - DCD INTUART5RX_IRQHandler ; 104: UART reception (channel 5) - DCD INTUART5TX_IRQHandler ; 105: UART transmit (channel 5) - DCD INTUART5ERR_IRQHandler ; 106: UART error (channel 5) - DCD INTFUART0_IRQHandler ; 107: FUART Interrupt(channel 0) - DCD INTFUART1_IRQHandler ; 108: FUART Interrupt(channel 1) - DCD INTI2C0_IRQHandler ; 109: I2C0 transmission and reception interrupt - DCD INTI2C0AL_IRQHandler ; 110: I2C0 arbitration lost interrupt - DCD INTI2C0BF_IRQHandler ; 111: I2C0 bus free interrupt - DCD INTI2C0NACK_IRQHandler ; 112: I2C0 no ack interrupt - DCD INTI2C1_IRQHandler ; 113: I2C1 transmission and reception interrupt - DCD INTI2C1AL_IRQHandler ; 114: I2C1 arbitration lost interrupt - DCD INTI2C1BF_IRQHandler ; 115: I2C1 bus free interrupt - DCD INTI2C1NACK_IRQHandler ; 116: I2C1 no ack interrupt - DCD INTI2C2_IRQHandler ; 117: I2C2 transmission and reception interrupt - DCD INTI2C2AL_IRQHandler ; 118: I2C2 arbitration lost interrupt - DCD INTI2C2BF_IRQHandler ; 119: I2C2 bus free interrupt - DCD INTI2C2NACK_IRQHandler ; 120: I2C2 no ack interrupt - DCD INTI2C3_IRQHandler ; 121: I2C3 transmission and reception interrupt - DCD INTI2C3AL_IRQHandler ; 122: I2C3 arbitration lost interrupt - DCD INTI2C3BF_IRQHandler ; 123: I2C3 bus free interrupt - DCD INTI2C3NACK_IRQHandler ; 124: I2C3 no ack interrupt - DCD INTI2C4_IRQHandler ; 125: I2C4 transmission and reception interrupt - DCD INTI2C4AL_IRQHandler ; 126: I2C4 arbitration lost interrupt - DCD INTI2C4BF_IRQHandler ; 127: I2C4 bus free interrupt - DCD INTI2C4NACK_IRQHandler ; 128: I2C4 no ack interrupt - DCD INTADACP0_IRQHandler ; 129: ADC conversion monitoring function interrupt 0 - DCD INTADACP1_IRQHandler ; 130: ADC conversion monitoring function interrupt 1 - DCD INTADATRG_IRQHandler ; 131: ADC conversion triggered by General purpose is finished - DCD INTADASGL_IRQHandler ; 132: ADC conversion triggered by Single program is finished - DCD INTADACNT_IRQHandler ; 133: ADC conversion triggered by Continuity program is finished - DCD INTADAHP_IRQHandler ; 134: ADC High Priority AD conversion interrupt - DCD INTFLDRDY_IRQHandler ; 135: Data FLASH Ready interrupt - DCD INTFLCRDY0_IRQHandler ; 136: Code FLASH Area0/1 Ready interrupt - DCD INTFLCRDY1_IRQHandler ; 137: Code FLASH Area2 Ready interrupt - DCD 0 ; 138: Reserved - DCD INTMDMAABERR_IRQHandler ; 139: MDMA bus error(Unit A) - DCD INTMDMAADERR_IRQHandler ; 140: MDMA descriptor error(Unit A) - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT INT00_IRQHandler [WEAK] - EXPORT INT01_IRQHandler [WEAK] - EXPORT INT02_IRQHandler [WEAK] - EXPORT INT03_IRQHandler [WEAK] - EXPORT INT04_IRQHandler [WEAK] - EXPORT INT05_IRQHandler [WEAK] - EXPORT INT06_IRQHandler [WEAK] - EXPORT INT07_IRQHandler [WEAK] - EXPORT INT08_IRQHandler [WEAK] - EXPORT INT09_IRQHandler [WEAK] - EXPORT INT10_IRQHandler [WEAK] - EXPORT INT11_IRQHandler [WEAK] - EXPORT INT12_IRQHandler [WEAK] - EXPORT INT13_IRQHandler [WEAK] - EXPORT INT14_IRQHandler [WEAK] - EXPORT INT15_IRQHandler [WEAK] - EXPORT INTRTC_IRQHandler [WEAK] - EXPORT INTCEC0RX_IRQHandler [WEAK] - EXPORT INTCEC0TX_IRQHandler [WEAK] - EXPORT INTISDA_IRQHandler [WEAK] - EXPORT INTISDB_IRQHandler [WEAK] - EXPORT INTISDC_IRQHandler [WEAK] - EXPORT INTRMC0_IRQHandler [WEAK] - EXPORT INTRMC1_IRQHandler [WEAK] - EXPORT INTLTTMR_IRQHandler [WEAK] - EXPORT INTHDMAATC_IRQHandler [WEAK] - EXPORT INTHDMAAERR_IRQHandler [WEAK] - EXPORT INTHDMABTC_IRQHandler [WEAK] - EXPORT INTHDMABERR_IRQHandler [WEAK] - EXPORT INTMDMAATC_IRQHandler [WEAK] - EXPORT INTT32A00_A_CT_IRQHandler [WEAK] - EXPORT INTT32A00_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A01_A_CT_IRQHandler [WEAK] - EXPORT INTT32A01_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A02_A_CT_IRQHandler [WEAK] - EXPORT INTT32A02_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A03_A_CT_IRQHandler [WEAK] - EXPORT INTT32A03_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A04_A_CT_IRQHandler [WEAK] - EXPORT INTT32A04_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A05_A_CT_IRQHandler [WEAK] - EXPORT INTT32A05_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A06_A_CT_IRQHandler [WEAK] - EXPORT INTT32A06_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A07_A_CT_IRQHandler [WEAK] - EXPORT INTT32A07_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A08_A_CT_IRQHandler [WEAK] - EXPORT INTT32A08_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A09_A_CT_IRQHandler [WEAK] - EXPORT INTT32A09_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A10_A_CT_IRQHandler [WEAK] - EXPORT INTT32A10_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A11_A_CT_IRQHandler [WEAK] - EXPORT INTT32A11_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A12_A_CT_IRQHandler [WEAK] - EXPORT INTT32A12_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTT32A13_A_CT_IRQHandler [WEAK] - EXPORT INTT32A13_B_C01_CPC_IRQHandler[WEAK] - EXPORT INTEMG0_IRQHandler [WEAK] - EXPORT INTOVV0_IRQHandler [WEAK] - EXPORT INTPWM0_IRQHandler [WEAK] - EXPORT INTT0RX_IRQHandler [WEAK] - EXPORT INTT0TX_IRQHandler [WEAK] - EXPORT INTT0ERR_IRQHandler [WEAK] - EXPORT INTT1RX_IRQHandler [WEAK] - EXPORT INTT1TX_IRQHandler [WEAK] - EXPORT INTT1ERR_IRQHandler [WEAK] - EXPORT INTT2RX_IRQHandler [WEAK] - EXPORT INTT2TX_IRQHandler [WEAK] - EXPORT INTT2ERR_IRQHandler [WEAK] - EXPORT INTT3RX_IRQHandler [WEAK] - EXPORT INTT3TX_IRQHandler [WEAK] - EXPORT INTT3ERR_IRQHandler [WEAK] - EXPORT INTT4RX_IRQHandler [WEAK] - EXPORT INTT4TX_IRQHandler [WEAK] - EXPORT INTT4ERR_IRQHandler [WEAK] - EXPORT INTT5RX_IRQHandler [WEAK] - EXPORT INTT5TX_IRQHandler [WEAK] - EXPORT INTT5ERR_IRQHandler [WEAK] - EXPORT INTT6RX_IRQHandler [WEAK] - EXPORT INTT6TX_IRQHandler [WEAK] - EXPORT INTT6ERR_IRQHandler [WEAK] - EXPORT INTT7RX_IRQHandler [WEAK] - EXPORT INTT7TX_IRQHandler [WEAK] - EXPORT INTT7ERR_IRQHandler [WEAK] - EXPORT INTT8RX_IRQHandler [WEAK] - EXPORT INTT8TX_IRQHandler [WEAK] - EXPORT INTT8ERR_IRQHandler [WEAK] - EXPORT INTSMI0_IRQHandler [WEAK] - EXPORT INTUART0RX_IRQHandler [WEAK] - EXPORT INTUART0TX_IRQHandler [WEAK] - EXPORT INTUART0ERR_IRQHandler [WEAK] - EXPORT INTUART1RX_IRQHandler [WEAK] - EXPORT INTUART1TX_IRQHandler [WEAK] - EXPORT INTUART1ERR_IRQHandler [WEAK] - EXPORT INTUART2RX_IRQHandler [WEAK] - EXPORT INTUART2TX_IRQHandler [WEAK] - EXPORT INTUART2ERR_IRQHandler [WEAK] - EXPORT INTUART3RX_IRQHandler [WEAK] - EXPORT INTUART3TX_IRQHandler [WEAK] - EXPORT INTUART3ERR_IRQHandler [WEAK] - EXPORT INTUART4RX_IRQHandler [WEAK] - EXPORT INTUART4TX_IRQHandler [WEAK] - EXPORT INTUART4ERR_IRQHandler [WEAK] - EXPORT INTUART5RX_IRQHandler [WEAK] - EXPORT INTUART5TX_IRQHandler [WEAK] - EXPORT INTUART5ERR_IRQHandler [WEAK] - EXPORT INTFUART0_IRQHandler [WEAK] - EXPORT INTFUART1_IRQHandler [WEAK] - EXPORT INTI2C0_IRQHandler [WEAK] - EXPORT INTI2C0AL_IRQHandler [WEAK] - EXPORT INTI2C0BF_IRQHandler [WEAK] - EXPORT INTI2C0NACK_IRQHandler [WEAK] - EXPORT INTI2C1_IRQHandler [WEAK] - EXPORT INTI2C1AL_IRQHandler [WEAK] - EXPORT INTI2C1BF_IRQHandler [WEAK] - EXPORT INTI2C1NACK_IRQHandler [WEAK] - EXPORT INTI2C2_IRQHandler [WEAK] - EXPORT INTI2C2AL_IRQHandler [WEAK] - EXPORT INTI2C2BF_IRQHandler [WEAK] - EXPORT INTI2C2NACK_IRQHandler [WEAK] - EXPORT INTI2C3_IRQHandler [WEAK] - EXPORT INTI2C3AL_IRQHandler [WEAK] - EXPORT INTI2C3BF_IRQHandler [WEAK] - EXPORT INTI2C3NACK_IRQHandler [WEAK] - EXPORT INTI2C4_IRQHandler [WEAK] - EXPORT INTI2C4AL_IRQHandler [WEAK] - EXPORT INTI2C4BF_IRQHandler [WEAK] - EXPORT INTI2C4NACK_IRQHandler [WEAK] - EXPORT INTADACP0_IRQHandler [WEAK] - EXPORT INTADACP1_IRQHandler [WEAK] - EXPORT INTADATRG_IRQHandler [WEAK] - EXPORT INTADASGL_IRQHandler [WEAK] - EXPORT INTADACNT_IRQHandler [WEAK] - EXPORT INTADAHP_IRQHandler [WEAK] - EXPORT INTFLDRDY_IRQHandler [WEAK] - EXPORT INTFLCRDY0_IRQHandler [WEAK] - EXPORT INTFLCRDY1_IRQHandler [WEAK] - EXPORT INTMDMAABERR_IRQHandler [WEAK] - EXPORT INTMDMAADERR_IRQHandler [WEAK] - -INT00_IRQHandler -INT01_IRQHandler -INT02_IRQHandler -INT03_IRQHandler -INT04_IRQHandler -INT05_IRQHandler -INT06_IRQHandler -INT07_IRQHandler -INT08_IRQHandler -INT09_IRQHandler -INT10_IRQHandler -INT11_IRQHandler -INT12_IRQHandler -INT13_IRQHandler -INT14_IRQHandler -INT15_IRQHandler -INTRTC_IRQHandler -INTCEC0RX_IRQHandler -INTCEC0TX_IRQHandler -INTISDA_IRQHandler -INTISDB_IRQHandler -INTISDC_IRQHandler -INTRMC0_IRQHandler -INTRMC1_IRQHandler -INTLTTMR_IRQHandler -INTHDMAATC_IRQHandler -INTHDMAAERR_IRQHandler -INTHDMABTC_IRQHandler -INTHDMABERR_IRQHandler -INTMDMAATC_IRQHandler -INTT32A00_A_CT_IRQHandler -INTT32A00_B_C01_CPC_IRQHandler -INTT32A01_A_CT_IRQHandler -INTT32A01_B_C01_CPC_IRQHandler -INTT32A02_A_CT_IRQHandler -INTT32A02_B_C01_CPC_IRQHandler -INTT32A03_A_CT_IRQHandler -INTT32A03_B_C01_CPC_IRQHandler -INTT32A04_A_CT_IRQHandler -INTT32A04_B_C01_CPC_IRQHandler -INTT32A05_A_CT_IRQHandler -INTT32A05_B_C01_CPC_IRQHandler -INTT32A06_A_CT_IRQHandler -INTT32A06_B_C01_CPC_IRQHandler -INTT32A07_A_CT_IRQHandler -INTT32A07_B_C01_CPC_IRQHandler -INTT32A08_A_CT_IRQHandler -INTT32A08_B_C01_CPC_IRQHandler -INTT32A09_A_CT_IRQHandler -INTT32A09_B_C01_CPC_IRQHandler -INTT32A10_A_CT_IRQHandler -INTT32A10_B_C01_CPC_IRQHandler -INTT32A11_A_CT_IRQHandler -INTT32A11_B_C01_CPC_IRQHandler -INTT32A12_A_CT_IRQHandler -INTT32A12_B_C01_CPC_IRQHandler -INTT32A13_A_CT_IRQHandler -INTT32A13_B_C01_CPC_IRQHandler -INTEMG0_IRQHandler -INTOVV0_IRQHandler -INTPWM0_IRQHandler -INTT0RX_IRQHandler -INTT0TX_IRQHandler -INTT0ERR_IRQHandler -INTT1RX_IRQHandler -INTT1TX_IRQHandler -INTT1ERR_IRQHandler -INTT2RX_IRQHandler -INTT2TX_IRQHandler -INTT2ERR_IRQHandler -INTT3RX_IRQHandler -INTT3TX_IRQHandler -INTT3ERR_IRQHandler -INTT4RX_IRQHandler -INTT4TX_IRQHandler -INTT4ERR_IRQHandler -INTT5RX_IRQHandler -INTT5TX_IRQHandler -INTT5ERR_IRQHandler -INTT6RX_IRQHandler -INTT6TX_IRQHandler -INTT6ERR_IRQHandler -INTT7RX_IRQHandler -INTT7TX_IRQHandler -INTT7ERR_IRQHandler -INTT8RX_IRQHandler -INTT8TX_IRQHandler -INTT8ERR_IRQHandler -INTSMI0_IRQHandler -INTUART0RX_IRQHandler -INTUART0TX_IRQHandler -INTUART0ERR_IRQHandler -INTUART1RX_IRQHandler -INTUART1TX_IRQHandler -INTUART1ERR_IRQHandler -INTUART2RX_IRQHandler -INTUART2TX_IRQHandler -INTUART2ERR_IRQHandler -INTUART3RX_IRQHandler -INTUART3TX_IRQHandler -INTUART3ERR_IRQHandler -INTUART4RX_IRQHandler -INTUART4TX_IRQHandler -INTUART4ERR_IRQHandler -INTUART5RX_IRQHandler -INTUART5TX_IRQHandler -INTUART5ERR_IRQHandler -INTFUART0_IRQHandler -INTFUART1_IRQHandler -INTI2C0_IRQHandler -INTI2C0AL_IRQHandler -INTI2C0BF_IRQHandler -INTI2C0NACK_IRQHandler -INTI2C1_IRQHandler -INTI2C1AL_IRQHandler -INTI2C1BF_IRQHandler -INTI2C1NACK_IRQHandler -INTI2C2_IRQHandler -INTI2C2AL_IRQHandler -INTI2C2BF_IRQHandler -INTI2C2NACK_IRQHandler -INTI2C3_IRQHandler -INTI2C3AL_IRQHandler -INTI2C3BF_IRQHandler -INTI2C3NACK_IRQHandler -INTI2C4_IRQHandler -INTI2C4AL_IRQHandler -INTI2C4BF_IRQHandler -INTI2C4NACK_IRQHandler -INTADACP0_IRQHandler -INTADACP1_IRQHandler -INTADATRG_IRQHandler -INTADASGL_IRQHandler -INTADACNT_IRQHandler -INTADAHP_IRQHandler -INTFLDRDY_IRQHandler -INTFLCRDY0_IRQHandler -INTFLCRDY1_IRQHandler -INTMDMAABERR_IRQHandler -INTMDMAADERR_IRQHandler - - B . - - ENDP - - ALIGN - END diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct deleted file mode 100644 index 74f7394e479..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct +++ /dev/null @@ -1,50 +0,0 @@ -#! armcc -E -I. --cpu Cortex-M4 -;; TMPM4G9F15FG scatter file - -;; Vector table starts at 0 -;; Initial SP == |Image$$ARM_LIB_STACK$$ZI$$Limit| (for two region model) -;; or |Image$$ARM_LIB_STACKHEAP$$ZI$$Limit| (for one region model) -;; Initial PC == &__main (with LSB set to indicate Thumb) -;; These two values are provided by the library -;; Other vectors must be provided by the user -;; Code starts after the last possible vector -;; Data starts at 0x20000000 -;; Heap is positioned by ARM_LIB_HEAB (this is the heap managed by the ARM libraries) -;; Stack is positioned by ARM_LIB_STACK (library will use this to set SP - see above) - -;; Compatible with ISSM model - -#if !defined(MBED_APP_START) - #define MBED_APP_START 0x00000000 -#endif - -#if !defined(MBED_APP_SIZE) - #define MBED_APP_SIZE 0x000180000 -#endif - -#if !defined(MBED_BOOT_STACK_SIZE) - #define MBED_BOOT_STACK_SIZE 0x400 -#endif - -#define Stack_Size MBED_BOOT_STACK_SIZE - -; TMPM4G9: 1536 KB FLASH (0x180000) + 192 KB SRAM (0x30000) - -LR_IROM1 MBED_APP_START MBED_APP_SIZE ; load region size_region -{ - ER_IROM1 MBED_APP_START MBED_APP_SIZE - { - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - } - - RW_IRAM1 0x20000320 (0x30000 - 0x320 - Stack_Size) - { - tmpm4g9_fc.o (+RO) - .ANY (+RW, +ZI) - } - - ARM_LIB_STACK (0x20000320+0x30000) EMPTY -Stack_Size { ; stack - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/startup_TMPM4G9.S b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/startup_TMPM4G9.S deleted file mode 100644 index b4c47bbb495..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/startup_TMPM4G9.S +++ /dev/null @@ -1,532 +0,0 @@ -/** - ******************************************************************************* - * @file startup_TMPM4G9.s - * @brief CMSIS Cortex-M4F Core Device Startup File for the - * TOSHIBA 'TMPM4G9' Device Series - * @version - * @date - *------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - * - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - ******************************************************************************* - */ - -.syntax unified -.arch armv7-m - -.section .stack -.align 3 - -/* -// Stack Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -*/ - -#ifdef __STACK_SIZE -.equ Stack_Size, __STACK_SIZE -#else -.equ Stack_Size, 0x400 -#endif -.globl __StackTop -.globl __StackLimit -__StackLimit: -.space Stack_Size -.size __StackLimit, . - __StackLimit -__StackTop: -.size __StackTop, . - __StackTop - -/* -// Heap Configuration -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -*/ - -.section .heap -.align 3 -#ifdef __HEAP_SIZE -.equ Heap_Size, __HEAP_SIZE -#else -.equ Heap_Size, 0 -#endif -.globl __HeapBase -.globl __HeapLimit -__HeapBase: -.if Heap_Size -.space Heap_Size -.endif -.size __HeapBase, . - __HeapBase -__HeapLimit: -.size __HeapLimit, . - __HeapLimit - - .section .vectors - .align 2 - .globl __Vectors -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* NMI Handler */ - .long HardFault_Handler /* Hard Fault Handler */ - .long MemManage_Handler /* MPU Fault Handler */ - .long BusFault_Handler /* Bus Fault Handler */ - .long UsageFault_Handler /* Usage Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* SVCall Handler */ - .long DebugMon_Handler /* Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* PendSV Handler */ - .long SysTick_Handler /* SysTick Handler */ - - /* External interrupts */ - .long INT00_IRQHandler // 0: Interrupt pin 00a/00b - .long INT01_IRQHandler // 1: Interrupt pin 01a/00b - .long INT02_IRQHandler // 2: Interrupt pin 02a/00b - .long INT03_IRQHandler // 3: Interrupt pin 03a/03b - .long INT04_IRQHandler // 4: Interrupt pin 04a/04b - .long INT05_IRQHandler // 5: Interrupt pin 05a/05b - .long INT06_IRQHandler // 6: Interrupt pin 06a/06b - .long INT07_IRQHandler // 7: Interrupt pin 07a/07b - .long INT08_IRQHandler // 8: Interrupt pin 08a/08b - .long INT09_IRQHandler // 9: Interrupt pin 09a/09b - .long INT10_IRQHandler // 10: Interrupt pin 10a/10b - .long INT11_IRQHandler // 11: Interrupt pin 11a/11b - .long INT12_IRQHandler // 12: Interrupt pin 12a/12b - .long INT13_IRQHandler // 13: Interrupt pin 13a/13b - .long INT14_IRQHandler // 14: Interrupt pin 14a/14b - .long INT15_IRQHandler // 15: Interrupt pin 15a/15b - .long INTRTC_IRQHandler // 16: Real time clock(XHz) interrupt - .long INTCEC0RX_IRQHandler // 17: CEC reception interrupt (channel 0) - .long INTCEC0TX_IRQHandler // 18: CEC transmission interrupt (channel 0) - .long INTISDA_IRQHandler // 19: Interval Sensing Detector Interrupt (Unit A) - .long INTISDB_IRQHandler // 20: Interval Sensing Detector Interrupt (Unit B) - .long INTISDC_IRQHandler // 21: Interval Sensing Detector Interrupt (Unit C) - .long INTRMC0_IRQHandler // 22: Remote control reception interrupt 0 - .long INTRMC1_IRQHandler // 23: Remote control reception interrupt 1 - .long INTLTTMR_IRQHandler // 24: Long Term Timer Interrupt - .long INTHDMAATC_IRQHandler // 25: HDMA Complete of transfer(Unit A) - .long INTHDMAAERR_IRQHandler // 26: HDMA transfer error(Unit A) - .long INTHDMABTC_IRQHandler // 27: HDMA end of transfer(Unit B) - .long INTHDMABERR_IRQHandler // 28: HDMA transfer error(Unit B) - .long INTMDMAATC_IRQHandler // 29: MDMA Complete of transfer(Unit A) - .long INTT32A00_A_CT_IRQHandler // 30: T32A00 TimerA All Interrupt/Timer Interrupt C - .long INTT32A00_B_C01_CPC_IRQHandler// 31: T32A00 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A01_A_CT_IRQHandler // 32: T32A01 TimerA All Interrupt/Timer Interrupt C - .long INTT32A01_B_C01_CPC_IRQHandler// 33: T32A01 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A02_A_CT_IRQHandler // 34: T32A02 TimerA All Interrupt/Timer Interrupt C - .long INTT32A02_B_C01_CPC_IRQHandler// 35: T32A02 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A03_A_CT_IRQHandler // 36: T32A03 TimerA All Interrupt/Timer Interrupt C - .long INTT32A03_B_C01_CPC_IRQHandler// 37: T32A03 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A04_A_CT_IRQHandler // 38: T32A04 TimerA All Interrupt/Timer Interrupt C - .long INTT32A04_B_C01_CPC_IRQHandler// 39: T32A04 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A05_A_CT_IRQHandler // 40: T32A05 TimerA All Interrupt/Timer Interrupt C - .long INTT32A05_B_C01_CPC_IRQHandler// 41: T32A05 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A06_A_CT_IRQHandler // 42: T32A06 TimerA All Interrupt/Timer Interrupt C - .long INTT32A06_B_C01_CPC_IRQHandler// 43: T32A06 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A07_A_CT_IRQHandler // 44: T32A07 TimerA All Interrupt/Timer Interrupt C - .long INTT32A07_B_C01_CPC_IRQHandler// 45: T32A07 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A08_A_CT_IRQHandler // 46: T32A08 TimerA All Interrupt/Timer Interrupt C - .long INTT32A08_B_C01_CPC_IRQHandler// 47: T32A08 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A09_A_CT_IRQHandler // 48: T32A09 TimerA All Interrupt/Timer Interrupt C - .long INTT32A09_B_C01_CPC_IRQHandler// 49: T32A09 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A10_A_CT_IRQHandler // 50: T32A10 TimerA All Interrupt/Timer Interrupt C - .long INTT32A10_B_C01_CPC_IRQHandler// 51: T32A10 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A11_A_CT_IRQHandler // 52: T32A11 TimerA All Interrupt/Timer Interrupt C - .long INTT32A11_B_C01_CPC_IRQHandler// 53: T32A11 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A12_A_CT_IRQHandler // 54: T32A12 TimerA All Interrupt/Timer Interrupt C - .long INTT32A12_B_C01_CPC_IRQHandler// 55: T32A12 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTT32A13_A_CT_IRQHandler // 56: T32A13 TimerA All Interrupt/Timer Interrupt C - .long INTT32A13_B_C01_CPC_IRQHandler// 57: T32A13 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - .long INTEMG0_IRQHandler // 58: PMD0 EMG interrupt - .long INTOVV0_IRQHandler // 59: PMD0 OVV interrupt - .long INTPWM0_IRQHandler // 60: PMD0 interrupt - .long INTT0RX_IRQHandler // 61: TSPI/SIO reception (channel 0) - .long INTT0TX_IRQHandler // 62: TSPI/SIO transmit (channel 0) - .long INTT0ERR_IRQHandler // 63: TSPI/SIO error (channel 0) - .long INTT1RX_IRQHandler // 64: TSPI/SIO reception (channel 1) - .long INTT1TX_IRQHandler // 65: TSPI/SIO transmit (channel 1) - .long INTT1ERR_IRQHandler // 66: TSPI/SIO error (channel 1) - .long INTT2RX_IRQHandler // 67: TSPI/SIO reception (channel 2) - .long INTT2TX_IRQHandler // 68: TSPI/SIO transmit (channel 2) - .long INTT2ERR_IRQHandler // 69: TSPI/SIO error (channel 2) - .long INTT3RX_IRQHandler // 70: TSPI/SIO reception (channel 3) - .long INTT3TX_IRQHandler // 71: TSPI/SIO transmit (channel 3) - .long INTT3ERR_IRQHandler // 72: TSPI/SIO error (channel 3) - .long INTT4RX_IRQHandler // 73: TSPI/SIO reception (channel 4) - .long INTT4TX_IRQHandler // 74: TSPI/SIO transmit (channel 4) - .long INTT4ERR_IRQHandler // 75: TSPI/SIO error (channel 4) - .long INTT5RX_IRQHandler // 76: TSPI/SIO reception (channel 5) - .long INTT5TX_IRQHandler // 77: TSPI/SIO transmit (channel 5) - .long INTT5ERR_IRQHandler // 78: TSPI/SIO error (channel 5) - .long INTT6RX_IRQHandler // 79: TSPI/SIO reception (channel 6) - .long INTT6TX_IRQHandler // 80: TSPI/SIO transmit (channel 6) - .long INTT6ERR_IRQHandler // 81: TSPI/SIO error (channel 6) - .long INTT7RX_IRQHandler // 82: TSPI/SIO reception (channel 7) - .long INTT7TX_IRQHandler // 83: TSPI/SIO transmit (channel 7) - .long INTT7ERR_IRQHandler // 84: TSPI/SIO error (channel 7) - .long INTT8RX_IRQHandler // 85: TSPI/SIO reception (channel 8) - .long INTT8TX_IRQHandler // 86: TSPI/SIO transmit (channel 8) - .long INTT8ERR_IRQHandler // 87: TSPI/SIO error (channel 8) - .long INTSMI0_IRQHandler // 88: Serial Memory Interface Interrupt - .long INTUART0RX_IRQHandler // 89: UART reception (channel 0) - .long INTUART0TX_IRQHandler // 90: UART transmit (channel 0) - .long INTUART0ERR_IRQHandler // 91: UART error (channel 0) - .long INTUART1RX_IRQHandler // 92: UART reception (channel 1) - .long INTUART1TX_IRQHandler // 93: UART transmit (channel 1) - .long INTUART1ERR_IRQHandler // 94: UART error (channel 1) - .long INTUART2RX_IRQHandler // 95: UART reception (channel 2) - .long INTUART2TX_IRQHandler // 96: UART transmit (channel 2) - .long INTUART2ERR_IRQHandler // 97: UART error (channel 2) - .long INTUART3RX_IRQHandler // 98: UART reception (channel 3) - .long INTUART3TX_IRQHandler // 99: UART transmit (channel 3) - .long INTUART3ERR_IRQHandler // 100: UART error (channel 3) - .long INTUART4RX_IRQHandler // 101: UART reception (channel 4) - .long INTUART4TX_IRQHandler // 102: UART transmit (channel 4) - .long INTUART4ERR_IRQHandler // 103: UART error (channel 4) - .long INTUART5RX_IRQHandler // 104: UART reception (channel 5) - .long INTUART5TX_IRQHandler // 105: UART transmit (channel 5) - .long INTUART5ERR_IRQHandler // 106: UART error (channel 5) - .long INTFUART0_IRQHandler // 107: FUART Interrupt(channel 0) - .long INTFUART1_IRQHandler // 108: FUART Interrupt(channel 1) - .long INTI2C0_IRQHandler // 109: I2C0 transmission and reception interrupt - .long INTI2C0AL_IRQHandler // 110: I2C0 arbitration lost interrupt - .long INTI2C0BF_IRQHandler // 111: I2C0 bus free interrupt - .long INTI2C0NACK_IRQHandler // 112: I2C0 no ack interrupt - .long INTI2C1_IRQHandler // 113: I2C1 transmission and reception interrupt - .long INTI2C1AL_IRQHandler // 114: I2C1 arbitration lost interrupt - .long INTI2C1BF_IRQHandler // 115: I2C1 bus free interrupt - .long INTI2C1NACK_IRQHandler // 116: I2C1 no ack interrupt - .long INTI2C2_IRQHandler // 117: I2C2 transmission and reception interrupt - .long INTI2C2AL_IRQHandler // 118: I2C2 arbitration lost interrupt - .long INTI2C2BF_IRQHandler // 119: I2C2 bus free interrupt - .long INTI2C2NACK_IRQHandler // 120: I2C2 no ack interrupt - .long INTI2C3_IRQHandler // 121: I2C3 transmission and reception interrupt - .long INTI2C3AL_IRQHandler // 122: I2C3 arbitration lost interrupt - .long INTI2C3BF_IRQHandler // 123: I2C3 bus free interrupt - .long INTI2C3NACK_IRQHandler // 124: I2C3 no ack interrupt - .long INTI2C4_IRQHandler // 125: I2C4 transmission and reception interrupt - .long INTI2C4AL_IRQHandler // 126: I2C4 arbitration lost interrupt - .long INTI2C4BF_IRQHandler // 127: I2C4 bus free interrupt - .long INTI2C4NACK_IRQHandler // 128: I2C4 no ack interrupt - .long INTADACP0_IRQHandler // 129: ADC conversion monitoring function interrupt 0 - .long INTADACP1_IRQHandler // 130: ADC conversion monitoring function interrupt 1 - .long INTADATRG_IRQHandler // 131: ADC conversion triggered by General purpose is finished - .long INTADASGL_IRQHandler // 132: ADC conversion triggered by Single program is finished - .long INTADACNT_IRQHandler // 133: ADC conversion triggered by Continuity program is finished - .long INTADAHP_IRQHandler // 134: ADC High Priority AD conversion interrupt - .long INTFLDRDY_IRQHandler // 135: Data FLASH Ready interrupt - .long INTFLCRDY0_IRQHandler // 136: Code FLASH Area0/1 Ready interrupt - .long INTFLCRDY1_IRQHandler // 137: Code FLASH Area2 Ready interrupt - .long 0 // 138: Reserved - .long INTMDMAABERR_IRQHandler // 139: MDMA bus error(Unit A) - .long INTMDMAADERR_IRQHandler // 140: MDMA descriptor error(Unit A) - - .size __Vectors, . - __Vectors - - .text - .thumb - .thumb_func - .align 2 - .globl Reset_Handler - .type Reset_Handler, %function -Reset_Handler: -/* Firstly it copies data from read only memory to RAM. There are two schemes - * to copy. One can copy more than one sections. Another can only copy - * one section. The former scheme needs more instructions and read-only - * data to implement than the latter. - * Macro __STARTUP_COPY_MULTIPLE is used to choose between two schemes. */ - -#ifdef __STARTUP_COPY_MULTIPLE -/* Multiple sections scheme. - * - * Between symbol address __copy_table_start__ and __copy_table_end__, - * there are array of triplets, each of which specify: - * offset 0: LMA of start of a section to copy from - * offset 4: VMA of start of a section to copy to - * offset 8: size of the section to copy. Must be multiply of 4 - * - * All addresses must be aligned to 4 bytes boundary. - */ - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] - ldr r2, [r4, #4] - ldr r3, [r4, #8] - -.L_loop0_0: - subs r3, #4 - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 - -.L_loop0_done: -#else -/* Single section scheme. - * - * The ranges of copy from/to are specified by following symbols - * __etext: LMA of start of the section to copy from. Usually end of text - * __data_start__: VMA of start of the section to copy to - * __data_end__: VMA of end of the section to copy to - * - * All addresses must be aligned to 4 bytes boundary. - */ - ldr r1, =__etext - ldr r2, =__data_start__ - ldr r3, =__data_end__ - -.L_loop1: - cmp r2, r3 - ittt lt - ldrlt r0, [r1], #4 - strlt r0, [r2], #4 - blt .L_loop1 -#endif /*__STARTUP_COPY_MULTIPLE */ - -/* This part of work usually is done in C library startup code. Otherwise, - * define this macro to enable it in this startup. - * - * There are two schemes too. One can clear multiple BSS sections. Another - * can only clear one section. The former is more size expensive than the - * latter. - * - * Define macro __STARTUP_CLEAR_BSS_MULTIPLE to choose the former. - * Otherwise efine macro __STARTUP_CLEAR_BSS to choose the later. - */ -#ifdef __STARTUP_CLEAR_BSS_MULTIPLE -/* Multiple sections scheme. - * - * Between symbol address __copy_table_start__ and __copy_table_end__, - * there are array of tuples specifying: - * offset 0: Start of a BSS section - * offset 4: Size of this BSS section. Must be multiply of 4 - */ - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] - ldr r2, [r3, #4] - movs r0, 0 - -.L_loop2_0: - subs r2, #4 - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: -#elif defined (__STARTUP_CLEAR_BSS) -/* Single BSS section scheme. - * - * The BSS section is specified by following symbols - * __bss_start__: start of the BSS section. - * __bss_end__: end of the BSS section. - * - * Both addresses must be aligned to 4 bytes boundary. - */ - ldr r1, =__bss_start__ - ldr r2, =__bss_end__ - - movs r0, 0 -.L_loop3: - cmp r1, r2 - itt lt - strlt r0, [r1], #4 - blt .L_loop3 -#endif /* __STARTUP_CLEAR_BSS_MULTIPLE || __STARTUP_CLEAR_BSS */ - -#ifndef __NO_SYSTEM_INIT - bl SystemInit -#endif - -#ifndef __START -#define __START _start -#endif - bl __START - - .pool - .size Reset_Handler, . - Reset_Handler - - .align 1 - .thumb_func - .weak Default_Handler - .type Default_Handler, %function -Default_Handler: - b . - .size Default_Handler, . - Default_Handler - -/* Macro to define default handlers. Default handler - * will be weak symbol and just dead loops. They can be - * overwritten by other handlers */ - .macro def_irq_handler handler_name - .weak \handler_name - .set \handler_name, Default_Handler - .endm - - def_irq_handler NMI_Handler - def_irq_handler HardFault_Handler - def_irq_handler MemManage_Handler - def_irq_handler BusFault_Handler - def_irq_handler UsageFault_Handler - def_irq_handler SVC_Handler - def_irq_handler DebugMon_Handler - def_irq_handler PendSV_Handler - def_irq_handler SysTick_Handler - - def_irq_handler INT00_IRQHandler - def_irq_handler INT01_IRQHandler - def_irq_handler INT02_IRQHandler - def_irq_handler INT03_IRQHandler - def_irq_handler INT04_IRQHandler - def_irq_handler INT05_IRQHandler - def_irq_handler INT06_IRQHandler - def_irq_handler INT07_IRQHandler - def_irq_handler INT08_IRQHandler - def_irq_handler INT09_IRQHandler - def_irq_handler INT10_IRQHandler - def_irq_handler INT11_IRQHandler - def_irq_handler INT12_IRQHandler - def_irq_handler INT13_IRQHandler - def_irq_handler INT14_IRQHandler - def_irq_handler INT15_IRQHandler - def_irq_handler INTRTC_IRQHandler - def_irq_handler INTCEC0RX_IRQHandler - def_irq_handler INTCEC0TX_IRQHandler - def_irq_handler INTISDA_IRQHandler - def_irq_handler INTISDB_IRQHandler - def_irq_handler INTISDC_IRQHandler - def_irq_handler INTRMC0_IRQHandler - def_irq_handler INTRMC1_IRQHandler - def_irq_handler INTLTTMR_IRQHandler - def_irq_handler INTHDMAATC_IRQHandler - def_irq_handler INTHDMAAERR_IRQHandler - def_irq_handler INTHDMABTC_IRQHandler - def_irq_handler INTHDMABERR_IRQHandler - def_irq_handler INTMDMAATC_IRQHandler - def_irq_handler INTT32A00_A_CT_IRQHandler - def_irq_handler INTT32A00_B_C01_CPC_IRQHandler - def_irq_handler INTT32A01_A_CT_IRQHandler - def_irq_handler INTT32A01_B_C01_CPC_IRQHandler - def_irq_handler INTT32A02_A_CT_IRQHandler - def_irq_handler INTT32A02_B_C01_CPC_IRQHandler - def_irq_handler INTT32A03_A_CT_IRQHandler - def_irq_handler INTT32A03_B_C01_CPC_IRQHandler - def_irq_handler INTT32A04_A_CT_IRQHandler - def_irq_handler INTT32A04_B_C01_CPC_IRQHandler - def_irq_handler INTT32A05_A_CT_IRQHandler - def_irq_handler INTT32A05_B_C01_CPC_IRQHandler - def_irq_handler INTT32A06_A_CT_IRQHandler - def_irq_handler INTT32A06_B_C01_CPC_IRQHandler - def_irq_handler INTT32A07_A_CT_IRQHandler - def_irq_handler INTT32A07_B_C01_CPC_IRQHandler - def_irq_handler INTT32A08_A_CT_IRQHandler - def_irq_handler INTT32A08_B_C01_CPC_IRQHandler - def_irq_handler INTT32A09_A_CT_IRQHandler - def_irq_handler INTT32A09_B_C01_CPC_IRQHandler - def_irq_handler INTT32A10_A_CT_IRQHandler - def_irq_handler INTT32A10_B_C01_CPC_IRQHandler - def_irq_handler INTT32A11_A_CT_IRQHandler - def_irq_handler INTT32A11_B_C01_CPC_IRQHandler - def_irq_handler INTT32A12_A_CT_IRQHandler - def_irq_handler INTT32A12_B_C01_CPC_IRQHandler - def_irq_handler INTT32A13_A_CT_IRQHandler - def_irq_handler INTT32A13_B_C01_CPC_IRQHandler - def_irq_handler INTEMG0_IRQHandler - def_irq_handler INTOVV0_IRQHandler - def_irq_handler INTPWM0_IRQHandler - def_irq_handler INTT0RX_IRQHandler - def_irq_handler INTT0TX_IRQHandler - def_irq_handler INTT0ERR_IRQHandler - def_irq_handler INTT1RX_IRQHandler - def_irq_handler INTT1TX_IRQHandler - def_irq_handler INTT1ERR_IRQHandler - def_irq_handler INTT2RX_IRQHandler - def_irq_handler INTT2TX_IRQHandler - def_irq_handler INTT2ERR_IRQHandler - def_irq_handler INTT3RX_IRQHandler - def_irq_handler INTT3TX_IRQHandler - def_irq_handler INTT3ERR_IRQHandler - def_irq_handler INTT4RX_IRQHandler - def_irq_handler INTT4TX_IRQHandler - def_irq_handler INTT4ERR_IRQHandler - def_irq_handler INTT5RX_IRQHandler - def_irq_handler INTT5TX_IRQHandler - def_irq_handler INTT5ERR_IRQHandler - def_irq_handler INTT6RX_IRQHandler - def_irq_handler INTT6TX_IRQHandler - def_irq_handler INTT6ERR_IRQHandler - def_irq_handler INTT7RX_IRQHandler - def_irq_handler INTT7TX_IRQHandler - def_irq_handler INTT7ERR_IRQHandler - def_irq_handler INTT8RX_IRQHandler - def_irq_handler INTT8TX_IRQHandler - def_irq_handler INTT8ERR_IRQHandler - def_irq_handler INTSMI0_IRQHandler - def_irq_handler INTUART0RX_IRQHandler - def_irq_handler INTUART0TX_IRQHandler - def_irq_handler INTUART0ERR_IRQHandler - def_irq_handler INTUART1RX_IRQHandler - def_irq_handler INTUART1TX_IRQHandler - def_irq_handler INTUART1ERR_IRQHandler - def_irq_handler INTUART2RX_IRQHandler - def_irq_handler INTUART2TX_IRQHandler - def_irq_handler INTUART2ERR_IRQHandler - def_irq_handler INTUART3RX_IRQHandler - def_irq_handler INTUART3TX_IRQHandler - def_irq_handler INTUART3ERR_IRQHandler - def_irq_handler INTUART4RX_IRQHandler - def_irq_handler INTUART4TX_IRQHandler - def_irq_handler INTUART4ERR_IRQHandler - def_irq_handler INTUART5RX_IRQHandler - def_irq_handler INTUART5TX_IRQHandler - def_irq_handler INTUART5ERR_IRQHandler - def_irq_handler INTFUART0_IRQHandler - def_irq_handler INTFUART1_IRQHandler - def_irq_handler INTI2C0_IRQHandler - def_irq_handler INTI2C0AL_IRQHandler - def_irq_handler INTI2C0BF_IRQHandler - def_irq_handler INTI2C0NACK_IRQHandler - def_irq_handler INTI2C1_IRQHandler - def_irq_handler INTI2C1AL_IRQHandler - def_irq_handler INTI2C1BF_IRQHandler - def_irq_handler INTI2C1NACK_IRQHandler - def_irq_handler INTI2C2_IRQHandler - def_irq_handler INTI2C2AL_IRQHandler - def_irq_handler INTI2C2BF_IRQHandler - def_irq_handler INTI2C2NACK_IRQHandler - def_irq_handler INTI2C3_IRQHandler - def_irq_handler INTI2C3AL_IRQHandler - def_irq_handler INTI2C3BF_IRQHandler - def_irq_handler INTI2C3NACK_IRQHandler - def_irq_handler INTI2C4_IRQHandler - def_irq_handler INTI2C4AL_IRQHandler - def_irq_handler INTI2C4BF_IRQHandler - def_irq_handler INTI2C4NACK_IRQHandler - def_irq_handler INTADACP0_IRQHandler - def_irq_handler INTADACP1_IRQHandler - def_irq_handler INTADATRG_IRQHandler - def_irq_handler INTADASGL_IRQHandler - def_irq_handler INTADACNT_IRQHandler - def_irq_handler INTADAHP_IRQHandler - def_irq_handler INTFLDRDY_IRQHandler - def_irq_handler INTFLCRDY0_IRQHandler - def_irq_handler INTFLCRDY1_IRQHandler - //def_irq_handler 0 - def_irq_handler INTMDMAABERR_IRQHandler - def_irq_handler INTMDMAADERR_IRQHandler - - .end diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/tmpm4g9f15fg.ld b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/tmpm4g9f15fg.ld deleted file mode 100644 index 3a3a846b764..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_GCC_ARM/tmpm4g9f15fg.ld +++ /dev/null @@ -1,214 +0,0 @@ -/* Linker script for Toshiba TMPM4G9 */ - -/* Linker script to configure memory regions. */ - -#if !defined(MBED_APP_START) - #define MBED_APP_START 0x00000000 -#endif - -#if !defined(MBED_APP_SIZE) - #define MBED_APP_SIZE 0x180000 -#endif - -#if !defined(MBED_BOOT_STACK_SIZE) - #define MBED_BOOT_STACK_SIZE 0x400 -#endif - -STACK_SIZE = MBED_BOOT_STACK_SIZE; - -MEMORY -{ - FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE - RAM (rwx) : ORIGIN = 0x20000320, LENGTH = (192K - 0x320) -} - -/* Library configurations */ -GROUP(libgcc.a libc.a libm.a libnosys.a) - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapBase - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __Vectors_End - * __Vectors_Size - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - __Vectors_End = .; - __Vectors_Size = __Vectors_End - __Vectors; - __end__ = .; - - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - /* To copy multiple ROM to RAM sections, - * uncomment .copy.table section and, - * define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */ - /* - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - LONG (__etext2) - LONG (__data2_start__) - LONG (__data2_end__ - __data2_start__) - __copy_table_end__ = .; - } > FLASH - */ - - /* To clear multiple BSS sections, - * uncomment .zero.table section and, - * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */ - /* - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - LONG (__bss2_start__) - LONG (__bss2_end__ - __bss2_start__) - __zero_table_end__ = .; - } > FLASH - */ - - __etext = .; - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data*) - *(.ram_func*) - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM - - .heap (COPY): - { - __HeapBase = .; - __end__ = .; - end = __end__; - KEEP(*(.heap*)) - . = ORIGIN(RAM) + LENGTH(RAM) - STACK_SIZE; - __HeapLimit = .; - } > RAM - - /* .stack_dummy section doesn't contains any symbols. It is only - * used for linker to calculate size of stack sections, and assign - * values to stack symbols later */ - .stack_dummy (COPY): - { - KEEP(*(.stack*)) - } > RAM - - /* Set stack top to end of RAM, and stack limit move down by - * size of stack_dummy section */ - __StackTop = ORIGIN(RAM) + LENGTH(RAM); - __StackLimit = __StackTop - STACK_SIZE; - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/startup_TMPM4G9.S b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/startup_TMPM4G9.S deleted file mode 100644 index ac05911602d..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/startup_TMPM4G9.S +++ /dev/null @@ -1,952 +0,0 @@ -;/** -; ******************************************************************************* -; * @file startup_TMPM4G9.s -; * @brief CMSIS Cortex-M4 Core Device Startup File for the -; * TOSHIBA 'TMPM4G9' Device Series -; * @version V1.0.9.0 -; * $Date:: 2018-04-02 #$ -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * (C)Copyright TOSHIBA MICROELECTRONICS CORPORATION 2018 All rights reserved -; ******************************************************************************* -; */ -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table DCD sfe(CSTACK) - DCD Reset_Handler - - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD INT00_IRQHandler ; 0: Interrupt pin 00a/00b - DCD INT01_IRQHandler ; 1: Interrupt pin 01a/00b - DCD INT02_IRQHandler ; 2: Interrupt pin 02a/00b - DCD INT03_IRQHandler ; 3: Interrupt pin 03a/03b - DCD INT04_IRQHandler ; 4: Interrupt pin 04a/04b - DCD INT05_IRQHandler ; 5: Interrupt pin 05a/05b - DCD INT06_IRQHandler ; 6: Interrupt pin 06a/06b - DCD INT07_IRQHandler ; 7: Interrupt pin 07a/07b - DCD INT08_IRQHandler ; 8: Interrupt pin 08a/08b - DCD INT09_IRQHandler ; 9: Interrupt pin 09a/09b - DCD INT10_IRQHandler ; 10: Interrupt pin 10a/10b - DCD INT11_IRQHandler ; 11: Interrupt pin 11a/11b - DCD INT12_IRQHandler ; 12: Interrupt pin 12a/12b - DCD INT13_IRQHandler ; 13: Interrupt pin 13a/13b - DCD INT14_IRQHandler ; 14: Interrupt pin 14a/14b - DCD INT15_IRQHandler ; 15: Interrupt pin 15a/15b - DCD INTRTC_IRQHandler ; 16: Real time clock(XHz) interrupt - DCD INTCEC0RX_IRQHandler ; 17: CEC reception interrupt (channel 0) - DCD INTCEC0TX_IRQHandler ; 18: CEC transmission interrupt (channel 0) - DCD INTISDA_IRQHandler ; 19: Interval Sensing Detector Interrupt (Unit A) - DCD INTISDB_IRQHandler ; 20: Interval Sensing Detector Interrupt (Unit B) - DCD INTISDC_IRQHandler ; 21: Interval Sensing Detector Interrupt (Unit C) - DCD INTRMC0_IRQHandler ; 22: Remote control reception interrupt 0 - DCD INTRMC1_IRQHandler ; 23: Remote control reception interrupt 1 - DCD INTLTTMR0_IRQHandler ; 24: Long Term Timer Interrupt(channel 0) - DCD INTHDMAATC_IRQHandler ; 25: HDMA Complete of transfer(Unit A) - DCD INTHDMAAERR_IRQHandler ; 26: HDMA transfer error(Unit A) - DCD INTHDMABTC_IRQHandler ; 27: HDMA end of transfer(Unit B) - DCD INTHDMABERR_IRQHandler ; 28: HDMA transfer error(Unit B) - DCD INTMDMAATC_IRQHandler ; 29: MDMA Complete of transfer(Unit A) - DCD INTT32A00_A_CT_IRQHandler ; 30: T32A00 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A00_B_C01_CPC_IRQHandler; 31: T32A00 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A01_A_CT_IRQHandler ; 32: T32A01 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A01_B_C01_CPC_IRQHandler; 33: T32A01 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A02_A_CT_IRQHandler ; 34: T32A02 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A02_B_C01_CPC_IRQHandler; 35: T32A02 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A03_A_CT_IRQHandler ; 36: T32A03 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A03_B_C01_CPC_IRQHandler; 37: T32A03 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A04_A_CT_IRQHandler ; 38: T32A04 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A04_B_C01_CPC_IRQHandler; 39: T32A04 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A05_A_CT_IRQHandler ; 40: T32A05 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A05_B_C01_CPC_IRQHandler; 41: T32A05 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A06_A_CT_IRQHandler ; 42: T32A06 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A06_B_C01_CPC_IRQHandler; 43: T32A06 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A07_A_CT_IRQHandler ; 44: T32A07 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A07_B_C01_CPC_IRQHandler; 45: T32A07 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A08_A_CT_IRQHandler ; 46: T32A08 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A08_B_C01_CPC_IRQHandler; 47: T32A08 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A09_A_CT_IRQHandler ; 48: T32A09 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A09_B_C01_CPC_IRQHandler; 49: T32A09 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A10_A_CT_IRQHandler ; 50: T32A10 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A10_B_C01_CPC_IRQHandler; 51: T32A10 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A11_A_CT_IRQHandler ; 52: T32A11 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A11_B_C01_CPC_IRQHandler; 53: T32A11 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A12_A_CT_IRQHandler ; 54: T32A12 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A12_B_C01_CPC_IRQHandler; 55: T32A12 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTT32A13_A_CT_IRQHandler ; 56: T32A13 TimerA All Interrupt/Timer Interrupt C - DCD INTT32A13_B_C01_CPC_IRQHandler; 57: T32A13 Timer Interrupt B/Capture C0,C1 Interrupt/ Timer Interrupt C - DCD INTEMG0_IRQHandler ; 58: PMD0 EMG interrupt - DCD INTOVV0_IRQHandler ; 59: PMD0 OVV interrupt - DCD INTPWM0_IRQHandler ; 60: PMD0 interrupt - DCD INTT0RX_IRQHandler ; 61: TSPI/SIO reception (channel 0) - DCD INTT0TX_IRQHandler ; 62: TSPI/SIO transmit (channel 0) - DCD INTT0ERR_IRQHandler ; 63: TSPI/SIO error (channel 0) - DCD INTT1RX_IRQHandler ; 64: TSPI/SIO reception (channel 1) - DCD INTT1TX_IRQHandler ; 65: TSPI/SIO transmit (channel 1) - DCD INTT1ERR_IRQHandler ; 66: TSPI/SIO error (channel 1) - DCD INTT2RX_IRQHandler ; 67: TSPI/SIO reception (channel 2) - DCD INTT2TX_IRQHandler ; 68: TSPI/SIO transmit (channel 2) - DCD INTT2ERR_IRQHandler ; 69: TSPI/SIO error (channel 2) - DCD INTT3RX_IRQHandler ; 70: TSPI/SIO reception (channel 3) - DCD INTT3TX_IRQHandler ; 71: TSPI/SIO transmit (channel 3) - DCD INTT3ERR_IRQHandler ; 72: TSPI/SIO error (channel 3) - DCD INTT4RX_IRQHandler ; 73: TSPI/SIO reception (channel 4) - DCD INTT4TX_IRQHandler ; 74: TSPI/SIO transmit (channel 4) - DCD INTT4ERR_IRQHandler ; 75: TSPI/SIO error (channel 4) - DCD INTT5RX_IRQHandler ; 76: TSPI/SIO reception (channel 5) - DCD INTT5TX_IRQHandler ; 77: TSPI/SIO transmit (channel 5) - DCD INTT5ERR_IRQHandler ; 78: TSPI/SIO error (channel 5) - DCD INTT6RX_IRQHandler ; 79: TSPI/SIO reception (channel 6) - DCD INTT6TX_IRQHandler ; 80: TSPI/SIO transmit (channel 6) - DCD INTT6ERR_IRQHandler ; 81: TSPI/SIO error (channel 6) - DCD INTT7RX_IRQHandler ; 82: TSPI/SIO reception (channel 7) - DCD INTT7TX_IRQHandler ; 83: TSPI/SIO transmit (channel 7) - DCD INTT7ERR_IRQHandler ; 84: TSPI/SIO error (channel 7) - DCD INTT8RX_IRQHandler ; 85: TSPI/SIO reception (channel 8) - DCD INTT8TX_IRQHandler ; 86: TSPI/SIO transmit (channel 8) - DCD INTT8ERR_IRQHandler ; 87: TSPI/SIO error (channel 8) - DCD INTSMI0_IRQHandler ; 88: Serial Memory Interface Interrupt - DCD INTUART0RX_IRQHandler ; 89: UART reception (channel 0) - DCD INTUART0TX_IRQHandler ; 90: UART transmit (channel 0) - DCD INTUART0ERR_IRQHandler ; 91: UART error (channel 0) - DCD INTUART1RX_IRQHandler ; 92: UART reception (channel 1) - DCD INTUART1TX_IRQHandler ; 93: UART transmit (channel 1) - DCD INTUART1ERR_IRQHandler ; 94: UART error (channel 1) - DCD INTUART2RX_IRQHandler ; 95: UART reception (channel 2) - DCD INTUART2TX_IRQHandler ; 96: UART transmit (channel 2) - DCD INTUART2ERR_IRQHandler ; 97: UART error (channel 2) - DCD INTUART3RX_IRQHandler ; 98: UART reception (channel 3) - DCD INTUART3TX_IRQHandler ; 99: UART transmit (channel 3) - DCD INTUART3ERR_IRQHandler ; 100: UART error (channel 3) - DCD INTUART4RX_IRQHandler ; 101: UART reception (channel 4) - DCD INTUART4TX_IRQHandler ; 102: UART transmit (channel 4) - DCD INTUART4ERR_IRQHandler ; 103: UART error (channel 4) - DCD INTUART5RX_IRQHandler ; 104: UART reception (channel 5) - DCD INTUART5TX_IRQHandler ; 105: UART transmit (channel 5) - DCD INTUART5ERR_IRQHandler ; 106: UART error (channel 5) - DCD INTFUART0_IRQHandler ; 107: FUART Interrupt(channel 0) - DCD INTFUART1_IRQHandler ; 108: FUART Interrupt(channel 1) - DCD INTI2C0_IRQHandler ; 109: I2C0 transmission and reception interrupt - DCD INTI2C0AL_IRQHandler ; 110: I2C0 arbitration lost interrupt - DCD INTI2C0BF_IRQHandler ; 111: I2C0 bus free interrupt - DCD INTI2C0NACK_IRQHandler ; 112: I2C0 no ack interrupt - DCD INTI2C1_IRQHandler ; 113: I2C1 transmission and reception interrupt - DCD INTI2C1AL_IRQHandler ; 114: I2C1 arbitration lost interrupt - DCD INTI2C1BF_IRQHandler ; 115: I2C1 bus free interrupt - DCD INTI2C1NACK_IRQHandler ; 116: I2C1 no ack interrupt - DCD INTI2C2_IRQHandler ; 117: I2C2 transmission and reception interrupt - DCD INTI2C2AL_IRQHandler ; 118: I2C2 arbitration lost interrupt - DCD INTI2C2BF_IRQHandler ; 119: I2C2 bus free interrupt - DCD INTI2C2NACK_IRQHandler ; 120: I2C2 no ack interrupt - DCD INTI2C3_IRQHandler ; 121: I2C3 transmission and reception interrupt - DCD INTI2C3AL_IRQHandler ; 122: I2C3 arbitration lost interrupt - DCD INTI2C3BF_IRQHandler ; 123: I2C3 bus free interrupt - DCD INTI2C3NACK_IRQHandler ; 124: I2C3 no ack interrupt - DCD INTI2C4_IRQHandler ; 125: I2C4 transmission and reception interrupt - DCD INTI2C4AL_IRQHandler ; 126: I2C4 arbitration lost interrupt - DCD INTI2C4BF_IRQHandler ; 127: I2C4 bus free interrupt - DCD INTI2C4NACK_IRQHandler ; 128: I2C4 no ack interrupt - DCD INTADACP0_IRQHandler ; 129: ADC conversion monitoring function interrupt 0 - DCD INTADACP1_IRQHandler ; 130: ADC conversion monitoring function interrupt 1 - DCD INTADATRG_IRQHandler ; 131: ADC conversion triggered by General purpose is finished - DCD INTADASGL_IRQHandler ; 132: ADC conversion triggered by Single program is finished - DCD INTADACNT_IRQHandler ; 133: ADC conversion triggered by Continuity program is finished - DCD INTADAHP_IRQHandler ; 134: ADC High Priority AD conversion interrupt - DCD INTFLDRDY_IRQHandler ; 135: Data FLASH Ready interrupt - DCD INTFLCRDY0_IRQHandler ; 136: Code FLASH Area0/1 Ready interrupt - DCD INTFLCRDY1_IRQHandler ; 137: Code FLASH Area2 Ready interrupt - DCD 0 ; 138: Reserved - DCD INTMDMAABERR_IRQHandler ; 139: MDMA bus error(Unit A) - DCD INTMDMAADERR_IRQHandler ; 140: MDMA descriptor error(Unit A) - THUMB -; Dummy Exception Handlers (infinite loops which can be modified) - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK INT00_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT00_IRQHandler - B INT00_IRQHandler - - PUBWEAK INT01_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT01_IRQHandler - B INT01_IRQHandler - - PUBWEAK INT02_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT02_IRQHandler - B INT02_IRQHandler - - PUBWEAK INT03_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT03_IRQHandler - B INT03_IRQHandler - - PUBWEAK INT04_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT04_IRQHandler - B INT04_IRQHandler - - PUBWEAK INT05_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT05_IRQHandler - B INT05_IRQHandler - - PUBWEAK INT06_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT06_IRQHandler - B INT06_IRQHandler - - PUBWEAK INT07_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT07_IRQHandler - B INT07_IRQHandler - - PUBWEAK INT08_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT08_IRQHandler - B INT08_IRQHandler - - PUBWEAK INT09_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT09_IRQHandler - B INT09_IRQHandler - - PUBWEAK INT10_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT10_IRQHandler - B INT10_IRQHandler - - PUBWEAK INT11_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT11_IRQHandler - B INT11_IRQHandler - - PUBWEAK INT12_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT12_IRQHandler - B INT12_IRQHandler - - PUBWEAK INT13_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT13_IRQHandler - B INT13_IRQHandler - - PUBWEAK INT14_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT14_IRQHandler - B INT14_IRQHandler - - PUBWEAK INT15_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INT15_IRQHandler - B INT15_IRQHandler - - PUBWEAK INTRTC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTRTC_IRQHandler - B INTRTC_IRQHandler - - PUBWEAK INTCEC0RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTCEC0RX_IRQHandler - B INTCEC0RX_IRQHandler - - PUBWEAK INTCEC0TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTCEC0TX_IRQHandler - B INTCEC0TX_IRQHandler - - PUBWEAK INTISDA_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTISDA_IRQHandler - B INTISDA_IRQHandler - - PUBWEAK INTISDB_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTISDB_IRQHandler - B INTISDB_IRQHandler - - PUBWEAK INTISDC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTISDC_IRQHandler - B INTISDC_IRQHandler - - PUBWEAK INTRMC0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTRMC0_IRQHandler - B INTRMC0_IRQHandler - - PUBWEAK INTRMC1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTRMC1_IRQHandler - B INTRMC1_IRQHandler - - PUBWEAK INTLTTMR0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTLTTMR0_IRQHandler - B INTLTTMR0_IRQHandler - - PUBWEAK INTHDMAATC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTHDMAATC_IRQHandler - B INTHDMAATC_IRQHandler - - PUBWEAK INTHDMAAERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTHDMAAERR_IRQHandler - B INTHDMAAERR_IRQHandler - - PUBWEAK INTHDMABTC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTHDMABTC_IRQHandler - B INTHDMABTC_IRQHandler - - PUBWEAK INTHDMABERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTHDMABERR_IRQHandler - B INTHDMABERR_IRQHandler - - PUBWEAK INTMDMAATC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTMDMAATC_IRQHandler - B INTMDMAATC_IRQHandler - - PUBWEAK INTT32A00_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00_A_CT_IRQHandler - B INTT32A00_A_CT_IRQHandler - - PUBWEAK INTT32A00_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A00_B_C01_CPC_IRQHandler - B INTT32A00_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A01_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01_A_CT_IRQHandler - B INTT32A01_A_CT_IRQHandler - - PUBWEAK INTT32A01_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A01_B_C01_CPC_IRQHandler - B INTT32A01_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A02_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02_A_CT_IRQHandler - B INTT32A02_A_CT_IRQHandler - - PUBWEAK INTT32A02_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A02_B_C01_CPC_IRQHandler - B INTT32A02_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A03_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03_A_CT_IRQHandler - B INTT32A03_A_CT_IRQHandler - - PUBWEAK INTT32A03_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A03_B_C01_CPC_IRQHandler - B INTT32A03_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A04_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04_A_CT_IRQHandler - B INTT32A04_A_CT_IRQHandler - - PUBWEAK INTT32A04_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A04_B_C01_CPC_IRQHandler - B INTT32A04_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A05_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05_A_CT_IRQHandler - B INTT32A05_A_CT_IRQHandler - - PUBWEAK INTT32A05_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A05_B_C01_CPC_IRQHandler - B INTT32A05_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A06_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06_A_CT_IRQHandler - B INTT32A06_A_CT_IRQHandler - - PUBWEAK INTT32A06_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A06_B_C01_CPC_IRQHandler - B INTT32A06_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A07_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07_A_CT_IRQHandler - B INTT32A07_A_CT_IRQHandler - - PUBWEAK INTT32A07_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A07_B_C01_CPC_IRQHandler - B INTT32A07_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A08_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A08_A_CT_IRQHandler - B INTT32A08_A_CT_IRQHandler - - PUBWEAK INTT32A08_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A08_B_C01_CPC_IRQHandler - B INTT32A08_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A09_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A09_A_CT_IRQHandler - B INTT32A09_A_CT_IRQHandler - - PUBWEAK INTT32A09_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A09_B_C01_CPC_IRQHandler - B INTT32A09_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A10_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A10_A_CT_IRQHandler - B INTT32A10_A_CT_IRQHandler - - PUBWEAK INTT32A10_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A10_B_C01_CPC_IRQHandler - B INTT32A10_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A11_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A11_A_CT_IRQHandler - B INTT32A11_A_CT_IRQHandler - - PUBWEAK INTT32A11_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A11_B_C01_CPC_IRQHandler - B INTT32A11_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A12_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A12_A_CT_IRQHandler - B INTT32A12_A_CT_IRQHandler - - PUBWEAK INTT32A12_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A12_B_C01_CPC_IRQHandler - B INTT32A12_B_C01_CPC_IRQHandler - - PUBWEAK INTT32A13_A_CT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A13_A_CT_IRQHandler - B INTT32A13_A_CT_IRQHandler - - PUBWEAK INTT32A13_B_C01_CPC_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT32A13_B_C01_CPC_IRQHandler - B INTT32A13_B_C01_CPC_IRQHandler - - PUBWEAK INTEMG0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTEMG0_IRQHandler - B INTEMG0_IRQHandler - - PUBWEAK INTOVV0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTOVV0_IRQHandler - B INTOVV0_IRQHandler - - PUBWEAK INTPWM0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTPWM0_IRQHandler - B INTPWM0_IRQHandler - - PUBWEAK INTT0RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0RX_IRQHandler - B INTT0RX_IRQHandler - - PUBWEAK INTT0TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0TX_IRQHandler - B INTT0TX_IRQHandler - - PUBWEAK INTT0ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT0ERR_IRQHandler - B INTT0ERR_IRQHandler - - PUBWEAK INTT1RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1RX_IRQHandler - B INTT1RX_IRQHandler - - PUBWEAK INTT1TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1TX_IRQHandler - B INTT1TX_IRQHandler - - PUBWEAK INTT1ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT1ERR_IRQHandler - B INTT1ERR_IRQHandler - - PUBWEAK INTT2RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2RX_IRQHandler - B INTT2RX_IRQHandler - - PUBWEAK INTT2TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2TX_IRQHandler - B INTT2TX_IRQHandler - - PUBWEAK INTT2ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT2ERR_IRQHandler - B INTT2ERR_IRQHandler - - PUBWEAK INTT3RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3RX_IRQHandler - B INTT3RX_IRQHandler - - PUBWEAK INTT3TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3TX_IRQHandler - B INTT3TX_IRQHandler - - PUBWEAK INTT3ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT3ERR_IRQHandler - B INTT3ERR_IRQHandler - - PUBWEAK INTT4RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4RX_IRQHandler - B INTT4RX_IRQHandler - - PUBWEAK INTT4TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4TX_IRQHandler - B INTT4TX_IRQHandler - - PUBWEAK INTT4ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT4ERR_IRQHandler - B INTT4ERR_IRQHandler - - PUBWEAK INTT5RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT5RX_IRQHandler - B INTT5RX_IRQHandler - - PUBWEAK INTT5TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT5TX_IRQHandler - B INTT5TX_IRQHandler - - PUBWEAK INTT5ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT5ERR_IRQHandler - B INTT5ERR_IRQHandler - - PUBWEAK INTT6RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT6RX_IRQHandler - B INTT6RX_IRQHandler - - PUBWEAK INTT6TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT6TX_IRQHandler - B INTT6TX_IRQHandler - - PUBWEAK INTT6ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT6ERR_IRQHandler - B INTT6ERR_IRQHandler - - PUBWEAK INTT7RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT7RX_IRQHandler - B INTT7RX_IRQHandler - - PUBWEAK INTT7TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT7TX_IRQHandler - B INTT7TX_IRQHandler - - PUBWEAK INTT7ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT7ERR_IRQHandler - B INTT7ERR_IRQHandler - - PUBWEAK INTT8RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT8RX_IRQHandler - B INTT8RX_IRQHandler - - PUBWEAK INTT8TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT8TX_IRQHandler - B INTT8TX_IRQHandler - - PUBWEAK INTT8ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTT8ERR_IRQHandler - B INTT8ERR_IRQHandler - - PUBWEAK INTSMI0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTSMI0_IRQHandler - B INTSMI0_IRQHandler - - PUBWEAK INTUART0RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0RX_IRQHandler - B INTUART0RX_IRQHandler - - PUBWEAK INTUART0TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0TX_IRQHandler - B INTUART0TX_IRQHandler - - PUBWEAK INTUART0ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART0ERR_IRQHandler - B INTUART0ERR_IRQHandler - - PUBWEAK INTUART1RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1RX_IRQHandler - B INTUART1RX_IRQHandler - - PUBWEAK INTUART1TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1TX_IRQHandler - B INTUART1TX_IRQHandler - - PUBWEAK INTUART1ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART1ERR_IRQHandler - B INTUART1ERR_IRQHandler - - PUBWEAK INTUART2RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2RX_IRQHandler - B INTUART2RX_IRQHandler - - PUBWEAK INTUART2TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2TX_IRQHandler - B INTUART2TX_IRQHandler - - PUBWEAK INTUART2ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART2ERR_IRQHandler - B INTUART2ERR_IRQHandler - - PUBWEAK INTUART3RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3RX_IRQHandler - B INTUART3RX_IRQHandler - - PUBWEAK INTUART3TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3TX_IRQHandler - B INTUART3TX_IRQHandler - - PUBWEAK INTUART3ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART3ERR_IRQHandler - B INTUART3ERR_IRQHandler - - PUBWEAK INTUART4RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4RX_IRQHandler - B INTUART4RX_IRQHandler - - PUBWEAK INTUART4TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4TX_IRQHandler - B INTUART4TX_IRQHandler - - PUBWEAK INTUART4ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART4ERR_IRQHandler - B INTUART4ERR_IRQHandler - - PUBWEAK INTUART5RX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5RX_IRQHandler - B INTUART5RX_IRQHandler - - PUBWEAK INTUART5TX_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5TX_IRQHandler - B INTUART5TX_IRQHandler - - PUBWEAK INTUART5ERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTUART5ERR_IRQHandler - B INTUART5ERR_IRQHandler - - PUBWEAK INTFUART0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFUART0_IRQHandler - B INTFUART0_IRQHandler - - PUBWEAK INTFUART1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFUART1_IRQHandler - B INTFUART1_IRQHandler - - PUBWEAK INTI2C0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0_IRQHandler - B INTI2C0_IRQHandler - - PUBWEAK INTI2C0AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0AL_IRQHandler - B INTI2C0AL_IRQHandler - - PUBWEAK INTI2C0BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0BF_IRQHandler - B INTI2C0BF_IRQHandler - - PUBWEAK INTI2C0NACK_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C0NACK_IRQHandler - B INTI2C0NACK_IRQHandler - - PUBWEAK INTI2C1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1_IRQHandler - B INTI2C1_IRQHandler - - PUBWEAK INTI2C1AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1AL_IRQHandler - B INTI2C1AL_IRQHandler - - PUBWEAK INTI2C1BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1BF_IRQHandler - B INTI2C1BF_IRQHandler - - PUBWEAK INTI2C1NACK_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C1NACK_IRQHandler - B INTI2C1NACK_IRQHandler - - PUBWEAK INTI2C2_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2_IRQHandler - B INTI2C2_IRQHandler - - PUBWEAK INTI2C2AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2AL_IRQHandler - B INTI2C2AL_IRQHandler - - PUBWEAK INTI2C2BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2BF_IRQHandler - B INTI2C2BF_IRQHandler - - PUBWEAK INTI2C2NACK_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C2NACK_IRQHandler - B INTI2C2NACK_IRQHandler - - PUBWEAK INTI2C3_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3_IRQHandler - B INTI2C3_IRQHandler - - PUBWEAK INTI2C3AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3AL_IRQHandler - B INTI2C3AL_IRQHandler - - PUBWEAK INTI2C3BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3BF_IRQHandler - B INTI2C3BF_IRQHandler - - PUBWEAK INTI2C3NACK_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C3NACK_IRQHandler - B INTI2C3NACK_IRQHandler - - PUBWEAK INTI2C4_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C4_IRQHandler - B INTI2C4_IRQHandler - - PUBWEAK INTI2C4AL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C4AL_IRQHandler - B INTI2C4AL_IRQHandler - - PUBWEAK INTI2C4BF_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C4BF_IRQHandler - B INTI2C4BF_IRQHandler - - PUBWEAK INTI2C4NACK_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTI2C4NACK_IRQHandler - B INTI2C4NACK_IRQHandler - - PUBWEAK INTADACP0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACP0_IRQHandler - B INTADACP0_IRQHandler - - PUBWEAK INTADACP1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACP1_IRQHandler - B INTADACP1_IRQHandler - - PUBWEAK INTADATRG_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADATRG_IRQHandler - B INTADATRG_IRQHandler - - PUBWEAK INTADASGL_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADASGL_IRQHandler - B INTADASGL_IRQHandler - - PUBWEAK INTADACNT_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADACNT_IRQHandler - B INTADACNT_IRQHandler - - PUBWEAK INTADAHP_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTADAHP_IRQHandler - B INTADAHP_IRQHandler - - PUBWEAK INTFLDRDY_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFLDRDY_IRQHandler - B INTFLDRDY_IRQHandler - - PUBWEAK INTFLCRDY0_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFLCRDY0_IRQHandler - B INTFLCRDY0_IRQHandler - - PUBWEAK INTFLCRDY1_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTFLCRDY1_IRQHandler - B INTFLCRDY1_IRQHandler - - PUBWEAK INTMDMAABERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTMDMAABERR_IRQHandler - B INTMDMAABERR_IRQHandler - - PUBWEAK INTMDMAADERR_IRQHandler - SECTION .text:CODE:REORDER:NOROOT(1) -INTMDMAADERR_IRQHandler - B INTMDMAADERR_IRQHandler - - END diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/tmpm4g9f15.icf b/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/tmpm4g9f15.icf deleted file mode 100644 index e79c3b90b34..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/TOOLCHAIN_IAR/tmpm4g9f15.icf +++ /dev/null @@ -1,45 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -/*-Specials-*/ -if (!isdefinedsymbol(MBED_APP_START)) { define symbol MBED_APP_START = 0x00000000; } -if (!isdefinedsymbol(MBED_APP_SIZE)) { define symbol MBED_APP_SIZE = 0x180000; } -define symbol __ICFEDIT_intvec_start__ = MBED_APP_START; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = MBED_APP_START; -define symbol __ICFEDIT_region_ROM_end__ = MBED_APP_START + MBED_APP_SIZE - 1; -define symbol __ICFEDIT_region_RAM_start__ = 0x20000320; -define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; -define symbol __ICFEDIT_region_BRAM_start__ = 0x20030000; -define symbol __ICFEDIT_region_BRAM_end__ = 0x200307FF; -/*-Sizes-*/ -/*Heap 1/4 of ram and stack 1/8*/ -define symbol __ICFEDIT_size_cstack__ = 0x0400; -define symbol __ICFEDIT_size_heap__ = 0x6000; -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -initialize by copy { section RAMCODE }; - -/* Place both in a block */ -define block RamCode { section RAMCODE }; -define block RamCodeInit { section RAMCODE_init }; - -/* Place them in ROM and RAM */ -place in ROM_region { block RamCodeInit }; -place in RAM_region { block RamCode }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in RAM_region { readwrite, - block CSTACK, block HEAP }; -place in ROM_region { readonly }; diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis.h b/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis.h deleted file mode 100644 index 6bcd9c1fb09..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis.h +++ /dev/null @@ -1,12 +0,0 @@ -/* mbed Microcontroller Library - CMSIS for TMPM4G9 - * Copyright (C) 2011 ARM Limited. All rights reserved. - * SPDX-License-Identifier: Apache-2.0 - * A generic CMSIS include header, pulling in TMPM4G9 specifics - */ -#ifndef MBED_CMSIS_H -#define MBED_CMSIS_H - -#include "TMPM4G9.h" -#include "cmsis_nvic.h" - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis_nvic.h b/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis_nvic.h deleted file mode 100644 index 3b46a6c8810..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/cmsis_nvic.h +++ /dev/null @@ -1,28 +0,0 @@ -/* mbed Microcontroller Library - cmsis_nvic for TMPM4G9 - * Copyright (c) 2011 ARM Limited. All rights reserved. - * SPDX-License-Identifier: Apache-2.0 - * CMSIS-style functionality to support dynamic vectors - */ - -#ifndef MBED_CMSIS_NVIC_H -#define MBED_CMSIS_NVIC_H - - -#if defined(__ICCARM__) - #pragma section=".intvec" - #define NVIC_FLASH_VECTOR_ADDRESS ((uint32_t)__section_begin(".intvec")) -#elif defined(__CC_ARM) - extern uint32_t Load$$LR$$LR_IROM1$$Base[]; - #define NVIC_FLASH_VECTOR_ADDRESS ((uint32_t)Load$$LR$$LR_IROM1$$Base) -#elif defined(__GNUC__) - extern uint32_t vectors[]; - #define NVIC_FLASH_VECTOR_ADDRESS ((uint32_t)vectors) -#else - #error "Flash vector address not set for this toolchain" -#endif - - -#define NVIC_NUM_VECTORS (157) -#define NVIC_RAM_VECTOR_ADDRESS 0x20000000 // Location of vectors in RAM - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.c b/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.c deleted file mode 100644 index d2208ec40c1..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.c +++ /dev/null @@ -1,338 +0,0 @@ -/** - ******************************************************************************* - * @file system_TMPM4G9.c - * @brief CMSIS Cortex-M4 Device Peripheral Access Layer Source File for the - * TOSHIBA 'TMPM4Gx' Device Series - * @version 1.0.0.0 - * $Date:: 2018-04-02 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - ******************************************************************************* - */ - -#include "TMPM4G9.h" - -/*-------- <<< Start of configuration section >>> ----------------------------*/ - -/* Semi-Independent Watchdog Timer (SIWDT) Configuration */ -#define SIWD_SETUP (1U) /* 1:Disable SIWD, 0:Enable SIWD */ -#define SIWDEN_Val (0x00000000UL) /* SIWD Disable */ -#define SIWDCR_Val (0x000000B1UL) /* SIWD Disable code */ - -/* Clock Generator (CG) Configuration */ -#define CLOCK_SETUP (1U) /* 1:External HOSC, 0: Internal HOSC */ -#define SYSCR_GEAR_Val (0x00000000UL) /* GEAR = fc */ -#define SYSCR_MCKSEL_Val (0x00000001UL) /* fsysm(phiT0m) = fsysh(phiT0h) / 2 */ - -#define STBYCR_Val (0x00000000UL) - -#define CG_8M_MUL_20_FPLL (0x00245028UL<<8U) /* fPLL = 8MHz * 20 */ -#define CG_10M_MUL_16_FPLL (0x002E5020UL<<8U) /* fPLL = 10MHz * 16 */ -#define CG_12M_MUL_13_3125_FPLL (0x0036DA1AUL<<8U) /* fPLL = 12MHz * 13.3125 */ -#define CG_16M_MUL_10_FPLL (0x0048D014UL<<8U) /* fPLL = 16MHz * 10 */ -#define CG_20M_MUL_8_FPLL (0x005AD010UL<<8U) /* fPLL = 20MHz * 8 */ - -#define CG_PLL0SEL_PLL0ON_SET (0x00000001UL) -#define CG_PLL0SEL_PLL0ON_CLEAR (0xFFFFFFFEUL) -#define CG_PLL0SEL_PLL0SEL_SET (0x00000002UL) -#define CG_PLL0SEL_PLL0SEL_CLEAR (0xFFFFFFFDUL) - -#define CG_SYSCR_MCKSEL_SET (SYSCR_MCKSEL_Val << 6U) -#define CG_SYSCR_MCKSELGST_Val (SYSCR_MCKSEL_Val << 22U) -#define CG_SYSCR_MCKSELPST_Val (SYSCR_MCKSEL_Val << 30U) - -#define CG_OSCCR_IHOSC1EN_CLEAR (0xFFFFFFFEUL) -#define CG_OSCCR_EOSCEN_SET (0x00000002UL) -#define CG_OSCCR_OSCSEL_SET (0x00000100UL) - -#define CG_WUPHCR_WUON_START_SET (0x00000001UL) - -#define EXT_CG_WUPHCR_WUCLK_SET (0x00000000UL) /* WUCLK for External HOSC select the IHOSC1 */ -#if (CLOCK_SETUP) - #define CG_WUPHCR_WUCLK_SET (0x00000100UL) /* WUCLK for Inital/Lockup time */ - #define PLL0SEL_Ready CG_12M_MUL_13_3125_FPLL -#else - #define CG_WUPHCR_WUCLK_SET (0x00000000UL) /* WUCLK for Inital/Lockup time */ - #define PLL0SEL_Ready CG_12M_MUL_13_3125_FPLL -#endif -#define PLL0SEL_Val (PLL0SEL_Ready|0x00000003UL) -#define PLL0SEL_MASK (0xFFFFFF00UL) - -/*-------- <<< End of configuration section >>> ------------------------------*/ - -/*-------- DEFINES -----------------------------------------------------------*/ -/* Define clocks */ -#define EOSC_8M (8000000UL) -#define EOSC_10M (10000000UL) -#define EOSC_12M (12000000UL) -#define EOSC_16M (16000000UL) -#define EOSC_20M (20000000UL) -#define IOSC_10M (10000000UL) -#define EXTALH EOSC_12M /* External high-speed oscillator freq */ -#define IXTALH IOSC_10M /* Internal high-speed oscillator freq */ -#define EOSC_8M_DIV2_PLLON (160000000UL) /* 8.00MHz * 40.0000 / 2 */ -#define EOSC_10M_DIV2_PLLON (160000000UL) /* 10.00MHz * 32.0000 / 2 */ -#define EOSC_12M_DIV2_PLLON (159750000UL) /* 12.00MHz * 26.6250 / 2 */ -#define EOSC_16M_DIV2_PLLON (160000000UL) /* 16.00MHz * 20.0000 / 2 */ -#define EOSC_20M_DIV2_PLLON (160000000UL) /* 20.00MHz * 16.0000 / 2 */ -#define IOSC_10M_DIV2_PLLON (160000000UL) /* 10.00MHz * 32.0000 / 2 */ - -/* Configure Warm-up time */ -#define HZ_1M (1000000UL) -#define WU_TIME_EXT (5000UL) /* warm-up time for EXT is 5ms */ -#define INIT_TIME_PLL (100UL) /* Initial time for PLL is 100us */ -#define LOCKUP_TIME_PLL (400UL) /* Lockup time for PLL is 400us */ -#define WUPHCR_WUPT_EXT ((uint32_t)(((((uint64_t)WU_TIME_EXT * IXTALH / HZ_1M) - 16UL) /16UL) << 20U)) /* OSCCR = (warm-up time(us) * IXTALH - 16) / 16 */ -#if (CLOCK_SETUP) - #define WUPHCR_INIT_PLL ((uint32_t)(((((uint64_t)INIT_TIME_PLL * EXTALH / HZ_1M) - 16UL) /16UL) << 20U)) - #define WUPHCR_LUPT_PLL ((uint32_t)(((((uint64_t)LOCKUP_TIME_PLL * EXTALH / HZ_1M) - 16UL) /16UL) << 20U)) -#else - #define WUPHCR_INIT_PLL ((uint32_t)(((((uint64_t)INIT_TIME_PLL * IXTALH / HZ_1M) - 16UL) /16UL) << 20U)) - #define WUPHCR_LUPT_PLL ((uint32_t)(((((uint64_t)LOCKUP_TIME_PLL * IXTALH / HZ_1M) - 16UL) /16UL) << 20U)) -#endif - -/* Determine core clock frequency according to settings */ -/* System clock is high-speed clock*/ -#if (CLOCK_SETUP) - #define CORE_TALH (EXTALH) -#else - #define CORE_TALH (IXTALH) -#endif - -#if ((PLL0SEL_Val & (1U<<1U)) && (PLL0SEL_Val & (1U<<0U))) /* If PLL selected and enabled */ - #if (CORE_TALH == EOSC_8M) /* If input is 8MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == (CG_8M_MUL_20_FPLL)) - #define __CORE_CLK EOSC_8M_DIV2_PLLON /* output clock is 160MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 8MHz */ - #elif (CORE_TALH == EOSC_10M) /* If input is 10MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_16_FPLL) - #define __CORE_CLK EOSC_10M_DIV2_PLLON /* output clock is 160MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 10MHz */ - #elif (CORE_TALH == EOSC_12M) /* If input is 12MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_12M_MUL_13_3125_FPLL) - #define __CORE_CLK EOSC_12M_DIV2_PLLON /* output clock is 159.75MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 12MHz */ - #elif (CORE_TALH == EOSC_16M) /* If input is 16MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_16M_MUL_10_FPLL) - #define __CORE_CLK EOSC_16M_DIV2_PLLON /* output clock is 160MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 16MHz */ - #elif (CORE_TALH == EOSC_20M) /* If input is 20MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_20M_MUL_8_FPLL) - #define __CORE_CLK EOSC_20M_DIV2_PLLON /* output clock is 160MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 20MHz */ - #elif (CORE_TALH == IOSC_10M) /* If input is 10MHz */ - #if ((PLL0SEL_Val & PLL0SEL_MASK) == CG_10M_MUL_16_FPLL) - #define __CORE_CLK IOSC_10M_DIV2_PLLON /* output clock is 160MHz */ - #else /* fc -> reserved */ - #define __CORE_CLK (0U) - #endif /* End input is 10MHz */ - #else /* input clock not known */ - #define __CORE_CLK (0U) - #error "Core Oscillator Frequency invalid!" - #endif /* End switch input clock */ -#else - #define __CORE_CLK (CORE_TALH) -#endif - -#if ((SYSCR_GEAR_Val & 7U) == 0U) /* Gear -> fc */ - #define __CORE_SYS (__CORE_CLK) -#elif ((SYSCR_GEAR_Val & 7U) == 1U) /* Gear -> fc/2 */ - #define __CORE_SYS (__CORE_CLK / 2U) -#elif ((SYSCR_GEAR_Val & 7U) == 2U) /* Gear -> fc/4 */ - #define __CORE_SYS (__CORE_CLK / 4U ) -#elif ((SYSCR_GEAR_Val & 7U) == 3U) /* Gear -> fc/8 */ - #define __CORE_SYS (__CORE_CLK / 8U) -#elif ((SYSCR_GEAR_Val & 7U) == 4U) /* Gear -> fc/16 */ - #define __CORE_SYS (__CORE_CLK / 16U) -#else /* Gear -> reserved */ - #define __CORE_SYS (0U) -#endif - - -/* Clock Variable definitions */ -uint32_t SystemCoreClock = __CORE_SYS; /*!< System Clock Frequency (Core Clock) */ -uint32_t CoreClockInput = 0U; - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Update SystemCoreClock according register values. - */ -void SystemCoreClockUpdate(void) -{ /* Get Core Clock Frequency */ - uint32_t CoreClock = 0U; - uint32_t regval = 0U; - - uint32_t oscsel = 0U; - uint32_t pll0sel = 0U; - uint32_t pll0on = 0U; - - CoreClockInput = 0U; - /* Determine clock frequency according to clock register values */ - /* System clock is high-speed clock */ - regval = TSB_CG->OSCCR; - oscsel = regval & CG_OSCCR_OSCSEL_SET; - if (oscsel) { /* If system clock is External high-speed oscillator freq */ - CoreClock = EXTALH; - } else { /* If system clock is Internal high-speed oscillator freq */ - CoreClock = IXTALH; - } - regval = TSB_CG->PLL0SEL; - pll0sel = regval & CG_PLL0SEL_PLL0SEL_SET; - pll0on = regval & CG_PLL0SEL_PLL0ON_SET; - if (pll0sel && pll0on) { /* If PLL enabled */ - if (CoreClock == EOSC_8M) { /* If input is 8MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_8M_MUL_20_FPLL) { - CoreClockInput = EOSC_8M_DIV2_PLLON; /* output clock is 160MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_10M) { /* If input is 10MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_16_FPLL) { - CoreClockInput = EOSC_10M_DIV2_PLLON; /* output clock is 160MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_12M) { /* If input is 12MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_12M_MUL_13_3125_FPLL) { - CoreClockInput = EOSC_12M_DIV2_PLLON; /* output clock is 159.75MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_16M) { /* If input is 16MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_16M_MUL_10_FPLL) { - CoreClockInput = EOSC_16M_DIV2_PLLON; /* output clock is 160MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == EOSC_20M) { /* If input is 20MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_20M_MUL_8_FPLL) { - CoreClockInput = EOSC_20M_DIV2_PLLON; /* output clock is 160MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else if (CoreClock == IOSC_10M) { /* If input is 10MHz */ - if ((TSB_CG->PLL0SEL & PLL0SEL_MASK) == CG_10M_MUL_16_FPLL) { - CoreClockInput = IOSC_10M_DIV2_PLLON; /* output clock is 160MHz */ - } else { - CoreClockInput = 0U; /* fc -> reserved */ - } - } else { - CoreClockInput = 0U; - } - } else { /* If PLL not used */ - CoreClockInput = CoreClock; - } - - switch (TSB_CG->SYSCR & 7U) { - case 0U: /* Gear -> fc */ - SystemCoreClock = CoreClockInput; - break; - case 1U: /* Gear -> fc/2 */ - SystemCoreClock = CoreClockInput / 2U; - break; - case 2U: /* Gear -> fc/4 */ - SystemCoreClock = CoreClockInput / 4U; - break; - case 3U: /* Gear -> fc/8 */ - SystemCoreClock = CoreClockInput / 8U; - break; - case 4U: /* Gear -> fc/16 */ - SystemCoreClock = CoreClockInput / 16U; - break; - case 5U: - case 6U: - case 7U: - SystemCoreClock = 0U; - break; - default: - SystemCoreClock = 0U; - break; - } -} - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System. - */ -void SystemInit(void) -{ -#if (SIWD_SETUP) /* Watchdog Setup */ - /* SIWD Disable */ - TSB_SIWD0->EN = SIWDEN_Val; - TSB_SIWD0->CR = SIWDCR_Val; -#else - /* SIWD Enable (Setting after a Reset) */ -#endif - -#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) /* FPU setting */ - SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ -#endif - -#if (CLOCK_SETUP) /* Clock(external) Setup */ - TSB_CG->SYSCR = SYSCR_GEAR_Val; - - TSB_CG->WUPHCR = (WUPHCR_WUPT_EXT | EXT_CG_WUPHCR_WUCLK_SET); - TSB_CG->OSCCR |= CG_OSCCR_EOSCEN_SET; - TSB_CG->WUPHCR = (WUPHCR_WUPT_EXT | EXT_CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Warm-up */ - - TSB_CG->OSCCR |= CG_OSCCR_OSCSEL_SET; - while (!TSB_CG_OSCCR_OSCF) { - ; - } /* Confirm CGOSCCR="1" */ - TSB_CG->OSCCR &= CG_OSCCR_IHOSC1EN_CLEAR ; -#else - /* Internal HOSC Enable (Setting after a Reset) */ -#endif - - TSB_CG->SYSCR = (SYSCR_GEAR_Val | CG_SYSCR_MCKSEL_SET); /* set */ - while((TSB_CG->SYSCR & (CG_SYSCR_MCKSELGST_Val | CG_SYSCR_MCKSELPST_Val)) - != ((CG_SYSCR_MCKSELGST_Val | CG_SYSCR_MCKSELPST_Val))){ - ; - } - - TSB_CG->WUPHCR = (WUPHCR_INIT_PLL | CG_WUPHCR_WUCLK_SET); - TSB_CG->PLL0SEL &= CG_PLL0SEL_PLL0SEL_CLEAR; /* PLL-->fOsc */ - TSB_CG->PLL0SEL &= CG_PLL0SEL_PLL0ON_CLEAR; - TSB_CG->PLL0SEL = PLL0SEL_Ready; - TSB_CG->WUPHCR = (WUPHCR_INIT_PLL | CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Warm-up */ - - TSB_CG->WUPHCR = (WUPHCR_LUPT_PLL | CG_WUPHCR_WUCLK_SET); - TSB_CG->PLL0SEL |= CG_PLL0SEL_PLL0ON_SET; /* PLL enabled */ - TSB_CG->STBYCR = STBYCR_Val; - TSB_CG->WUPHCR = (WUPHCR_LUPT_PLL | CG_WUPHCR_WUCLK_SET | CG_WUPHCR_WUON_START_SET); - //TSB_RLM->LOSCCR = 0x03; - while (TSB_CG_WUPHCR_WUEF) { - ; - } /* Lockup */ - TSB_CG->PLL0SEL |= CG_PLL0SEL_PLL0SEL_SET; - while (!TSB_CG_PLL0SEL_PLL0ST) { - ; - } /*Confirm CGPLL0SEL = "1" */ -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.h b/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.h deleted file mode 100644 index 9ea28b81a03..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/device/system_TMPM4G9.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - ***************************************************************************** - * @file system_TMPM4G9.h - * @brief CMSIS Cortex-M4 Device Peripheral Access Layer Header File for the - * TOSHIBA 'TMPM4G9' Device Series - * @version V0.0.0.0 - * $Date:: 2018-04-02 #$ - * - * SPDX-License-Identifier: Apache-2.0 - * - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved - ***************************************************************************** - */ - -#include - -#ifndef __SYSTEM_TMPM4G9_H -#define __SYSTEM_TMPM4G9_H - -#ifdef __cplusplus -extern "C" { -#endif - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ -extern uint32_t CoreClockInput; /*!< High speed Clock Frequency */ - - -/** - * Initialize the system - * - * @param none - * @return none - * - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - -/** - * Update SystemCoreClock variable - * - * @param none - * @return none - * - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/flash_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/flash_api.c deleted file mode 100644 index f3e30e424a4..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/flash_api.c +++ /dev/null @@ -1,130 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "flash_api.h" -#include "mbed_critical.h" -#include "tmpm4g9_fc.h" - -#define PROGRAM_WIRTE_MAX (16U) // Page program could be written 16 bytes/4 words once -#define SECTOR_SIZE (0x8000) // 32KB each sectors or block -#define FLASH_CHIP_SIZE (0x00180000) // Flash chip size is 1536KByte -#define MASK_CHIP_ID_FROM_ADD (0x00FFFFFFUL) - -#define SUCCESS (0U) -#define FAIL (-1) -// IHOSC1EN -#define CGOSCCR_IHOSC1EN_MASK ((uint32_t)0x00000001) // IHOSC1EN :Mask -#define CGOSCCR_IHOSC1EN_RW_DISABLE ((uint32_t)0x00000000) // IHOSC1EN :[R/W] :Disable -#define CGOSCCR_IHOSC1EN_RW_ENABLE ((uint32_t)0x00000001) // IHOSC1EN :[R/W] :Enable - -static void internal_hosc_enable(void); - -int32_t flash_init(flash_t *obj) -{ - obj->flash_inited = 0; - obj->flash_inited = 1; - internal_hosc_enable(); // Internal HOSC enable - return 0; -} - -int32_t flash_free(flash_t *obj) -{ - obj->flash_inited = 0; - - return 0; -} - -int32_t flash_erase_sector(flash_t *obj, uint32_t address) -{ - int status = FAIL; - - if (obj->flash_inited == 0) { - flash_init(obj); - } - - // We need to prevent flash accesses during erase operation - core_util_critical_section_enter(); - - if (TXZ_SUCCESS == fc_erase_block_code_flash((uint32_t*)FC_CODE_FLASH_ADDRESS_TOP, (uint32_t*)address)) { - status = SUCCESS; - } else { - // Do nothing - } - - core_util_critical_section_exit(); - - return status; -} - -int32_t flash_program_page(flash_t *obj, uint32_t address, const uint8_t *data, uint32_t size) -{ - int status = SUCCESS; - - address &= MASK_CHIP_ID_FROM_ADD; - - // We need to prevent flash accesses during program operation - core_util_critical_section_enter(); - - if (TXZ_SUCCESS == fc_write_code_flash((uint32_t*)data, (uint32_t*)address, size)) { - // Do nothing - } else { - status = FAIL; - } - - core_util_critical_section_exit(); - - return status; -} - -uint32_t flash_get_sector_size(const flash_t *obj, uint32_t address) -{ - if ((address >= FC_CODE_FLASH_ADDRESS_TOP) && (address < (FC_CODE_FLASH_ADDRESS_TOP + FLASH_CHIP_SIZE))) { - return SECTOR_SIZE; - } else { - // Do nothing - } - - return MBED_FLASH_INVALID_SIZE; -} - -uint32_t flash_get_page_size(const flash_t *obj) -{ - return PROGRAM_WIRTE_MAX; -} - -uint32_t flash_get_start_address(const flash_t *obj) -{ - return FC_CODE_FLASH_ADDRESS_TOP; -} - -uint32_t flash_get_size(const flash_t *obj) -{ - return FLASH_CHIP_SIZE; -} - -static void internal_hosc_enable(void) -{ - uint32_t work; - work = (uint32_t)(TSB_CG->OSCCR & ~CGOSCCR_IHOSC1EN_MASK); - TSB_CG->OSCCR = (uint32_t)(work | CGOSCCR_IHOSC1EN_RW_ENABLE); -} - -uint8_t flash_get_erase_value(const flash_t *obj) -{ - (void)obj; - - return 0xFF; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c deleted file mode 100644 index c30f3f1f450..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c +++ /dev/null @@ -1,125 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gpio_api.h" -#include "mbed_error.h" -#include "txz_gpio.h" -#include "PeripheralNames.h" -#include "pinmap.h" - -#define GPIO_DATA PIN_DATA(0, 2) -#define ALT_FUNC_GPIO 0U - -_gpio_t gpio_port_add = { - .p_pa_instance = TSB_PA, - .p_pb_instance = TSB_PB, - .p_pc_instance = TSB_PC, - .p_pd_instance = TSB_PD, - .p_pe_instance = TSB_PE, - .p_pf_instance = TSB_PF, - .p_pg_instance = TSB_PG, - .p_ph_instance = TSB_PH, - .p_pj_instance = TSB_PJ, - .p_pk_instance = TSB_PK, - .p_pl_instance = TSB_PL, - .p_pm_instance = TSB_PM, - .p_pn_instance = TSB_PN, - .p_pp_instance = TSB_PP, - .p_pr_instance = TSB_PR, - .p_pt_instance = TSB_PT, - .p_pu_instance = TSB_PU, - .p_pv_instance = TSB_PV, - .p_pw_instance = TSB_PW, - .p_py_instance = TSB_PY -}; - -uint32_t gpio_set(PinName pin) -{ - // Check that pin is valid - MBED_ASSERT(pin != (PinName)NC); - - // Set pin function as GPIO pin - pin_function(pin, GPIO_DATA); - - // Return pin mask - return (1 << (pin & 0x07)); -} - -void gpio_init(gpio_t *obj, PinName pin) -{ - // Store above pin mask, pin name into GPIO object - obj->pin = pin; - if (pin != NC) { - obj->pin_num = PIN_POS(pin); - obj->mask = gpio_set(pin); - obj->port = (PortName) PIN_PORT(pin); - //Enable clock for particular port - TSB_CG->FSYSMENB |= (1 << ((obj->port) + 2)); - } -} - -void gpio_mode(gpio_t *obj, PinMode mode) -{ - // Set pin mode - pin_mode(obj->pin, mode); -} - -// Set gpio object pin direction -void gpio_dir(gpio_t *obj, PinDirection direction) -{ - // Set direction - switch (direction) { - case PIN_INPUT: - // Set pin input - gpio_func(&gpio_port_add, - (gpio_gr_t)obj->port, - (gpio_num_t)obj->pin_num, - (uint32_t)ALT_FUNC_GPIO, - GPIO_PIN_INPUT); - break; - case PIN_OUTPUT: - // Set pin output - gpio_func(&gpio_port_add, - (gpio_gr_t)obj->port, - (gpio_num_t)obj->pin_num, - (uint32_t)ALT_FUNC_GPIO, - GPIO_PIN_OUTPUT); - break; - case PIN_INOUT: - // Set pin both input and output - gpio_func(&gpio_port_add, - (gpio_gr_t)obj->port, - (gpio_num_t)obj->pin_num, - (uint32_t)ALT_FUNC_GPIO, - GPIO_PIN_INOUT); - break; - default: - break; - } -} - -void gpio_write(gpio_t *obj, int value) -{ - // Write gpio object pin data - gpio_write_bit(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)obj->pin_num, GPIO_Mode_DATA, value); -} - -int gpio_read(gpio_t *obj) -{ - // Read gpio object pin data - gpio_pinstate_t val = GPIO_PIN_SET; // To initialize local variable - gpio_read_bit(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)obj->pin_num, GPIO_Mode_DATA, &val); - return val; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_irq_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/gpio_irq_api.c deleted file mode 100644 index a487732e502..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_irq_api.c +++ /dev/null @@ -1,281 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "gpio_irq_api.h" -#include "mbed_critical.h" -#include "mbed_error.h" -#include "txz_gpio.h" -#include "PeripheralNames.h" -#include "pinmap.h" - -#define CHANNEL_NUM (16) -#define DISABLE (0) -#define ENABLE (1) -#define CLR_INT_FLAG (0xC0) - -const PinMap PinMap_GPIO_IRQ[] = { - {PK7, GPIO_IRQ_0, PIN_DATA(0, 0)}, - {PL0, GPIO_IRQ_1, PIN_DATA(0, 0)}, - {PA0, GPIO_IRQ_2, PIN_DATA(0, 0)}, - {PA7, GPIO_IRQ_3, PIN_DATA(0, 0)}, - {PB0, GPIO_IRQ_4, PIN_DATA(0, 0)}, - {PB1, GPIO_IRQ_5, PIN_DATA(0, 0)}, - {PB6, GPIO_IRQ_6, PIN_DATA(0, 0)}, - {PB7, GPIO_IRQ_7, PIN_DATA(0, 0)}, - {PG0, GPIO_IRQ_8, PIN_DATA(0, 0)}, - {PG1, GPIO_IRQ_9, PIN_DATA(0, 0)}, - {PK0, GPIO_IRQ_A, PIN_DATA(0, 0)}, - {PK1, GPIO_IRQ_B, PIN_DATA(0, 0)}, - {PC0, GPIO_IRQ_C, PIN_DATA(0, 0)}, - {PC1, GPIO_IRQ_D, PIN_DATA(0, 0)}, - {PC6, GPIO_IRQ_E, PIN_DATA(0, 0)}, - {PC7, GPIO_IRQ_F, PIN_DATA(0, 0)}, - {NC, NC, 0} -}; - -extern _gpio_t gpio_port_add; - -static uint32_t channel_ids[CHANNEL_NUM] = {0}; -static gpio_irq_handler hal_irq_handler[CHANNEL_NUM] = {NULL}; -static CG_INTActiveState CurrentState; - -static void CG_SetSTBYReleaseINTSrc(CG_INTSrc, CG_INTActiveState, uint8_t); -static void INT_IRQHandler(PinName, uint32_t); - -void INT00_IRQHandler(void) -{ - INT_IRQHandler(PK7, 0); -} - -void INT01_IRQHandler(void) -{ - INT_IRQHandler(PL0, 1); -} - -void INT02_IRQHandler(void) -{ - INT_IRQHandler(PA0, 2); -} - -void INT03_IRQHandler(void) -{ - INT_IRQHandler(PA7, 3); -} - -void INT04_IRQHandler(void) -{ - INT_IRQHandler(PB0, 4); -} - -void INT05_IRQHandler(void) -{ - INT_IRQHandler(PB1, 5); -} - -void INT06_IRQHandler(void) -{ - INT_IRQHandler(PB6, 6); -} - -void INT07_IRQHandler(void) -{ - INT_IRQHandler(PB7, 7); -} - -void INT08_IRQHandler(void) -{ - INT_IRQHandler(PG0, 8); -} - -void INT09_IRQHandler(void) -{ - INT_IRQHandler(PG1, 9); -} - -void INT10_IRQHandler(void) -{ - INT_IRQHandler(PK0, 10); -} - -void INT11_IRQHandler(void) -{ - INT_IRQHandler(PK1, 11); -} - -void INT12_IRQHandler(void) -{ - INT_IRQHandler(PC0, 12); -} -void INT13_IRQHandler(void) -{ - INT_IRQHandler(PC1, 13); -} -void INT14_IRQHandler(void) -{ - INT_IRQHandler(PC6, 14); -} -void INT15_IRQHandler(void) -{ - INT_IRQHandler(PC7, 15); -} - -int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id) -{ - // Get gpio interrupt ID - obj->irq_id = pinmap_peripheral(pin, PinMap_GPIO_IRQ); - core_util_critical_section_enter(); - // Get GPIO port and pin num - obj->port = (PortName)PIN_PORT(pin); - obj->pin_num = PIN_POS(pin); - // Set pin level as LOW - gpio_write_bit(&gpio_port_add, obj->port, obj->pin_num, GPIO_Mode_DATA, 0); - // Enable gpio interrupt function - pinmap_pinout(pin, PinMap_GPIO_IRQ); - // Get GPIO irq source - obj->irq_src = (CG_INTSrc)obj->irq_id; - // Save irq handler - hal_irq_handler[obj->irq_src] = handler; - // Save irq id - channel_ids[obj->irq_src] = id; - // Initialize interrupt event as both edges detection - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - // Clear gpio pending interrupt - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - // Set interrupt event and enable INTx clear - CG_SetSTBYReleaseINTSrc(obj->irq_src, (CG_INTActiveState)obj->event, ENABLE); - core_util_critical_section_exit();; - return 0; -} - -void gpio_irq_free(gpio_irq_t *obj) -{ - // Clear gpio_irq - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - // Reset interrupt handler - hal_irq_handler[obj->irq_src] = NULL; - // Reset interrupt id - channel_ids[obj->irq_src] = 0; -} - -void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable) -{ - //Disable GPIO interrupt on obj - gpio_irq_disable(obj); - if (enable) { - // Get gpio interrupt event - if (event == IRQ_RISE) { - if ((obj->event == CG_INT_ACTIVE_STATE_FALLING) || - (obj->event == CG_INT_ACTIVE_STATE_BOTH_EDGES)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_RISING; - } - } else if (event == IRQ_FALL) { - if ((obj->event == CG_INT_ACTIVE_STATE_RISING) || - (obj->event == CG_INT_ACTIVE_STATE_BOTH_EDGES)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_FALLING; - } - } else { - error("Not supported event\n"); - } - } else { - // Get gpio interrupt event - if (event == IRQ_RISE) { - if ((obj->event == CG_INT_ACTIVE_STATE_RISING) || - (obj->event == CG_INT_ACTIVE_STATE_INVALID)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_FALLING; - } - } else if (event == IRQ_FALL) { - if ((obj->event == CG_INT_ACTIVE_STATE_FALLING) || - (obj->event == CG_INT_ACTIVE_STATE_INVALID)) { - obj->event = CG_INT_ACTIVE_STATE_BOTH_EDGES; - } else { - obj->event = CG_INT_ACTIVE_STATE_RISING; - } - } else { - error("Not supported event\n"); - } - } - CurrentState = obj->event; - if (obj->event != CG_INT_ACTIVE_STATE_INVALID ) { - // Set interrupt event and enable INTx clear - CG_SetSTBYReleaseINTSrc(obj->irq_src, (CG_INTActiveState)obj->event, ENABLE); - gpio_write_bit(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)obj->pin_num, GPIO_Mode_DATA, 0); - } else { - gpio_write_bit(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)obj->pin_num, GPIO_Mode_DATA, 1); - } - // Clear interrupt request - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - // Enable GPIO interrupt on obj - gpio_irq_enable(obj); -} - -void gpio_irq_enable(gpio_irq_t *obj) -{ - // Clear and Enable gpio_irq object - NVIC_ClearPendingIRQ((IRQn_Type)obj->irq_id); - NVIC_EnableIRQ((IRQn_Type)obj->irq_id); -} - -void gpio_irq_disable(gpio_irq_t *obj) -{ - // Disable gpio_irq object - NVIC_DisableIRQ((IRQn_Type)obj->irq_id); -} - -static void INT_IRQHandler(PinName pin, uint32_t index) -{ - PortName port; - gpio_pinstate_t data = GPIO_PIN_RESET; - uint8_t pin_num; - - pin_num = PIN_POS(pin); - port = (PortName)PIN_PORT(pin); - // Clear interrupt request - CG_SetSTBYReleaseINTSrc((CG_INTSrc)(CG_INT_SRC_0 + index), CurrentState, DISABLE); - // Get pin value - gpio_read_bit(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)pin_num, GPIO_Mode_DATA, &data); - switch (data) { - // Falling edge detection - case 0: - hal_irq_handler[index](channel_ids[index], IRQ_FALL); - break; - // Rising edge detection - case 1: - hal_irq_handler[index](channel_ids[index], IRQ_RISE); - break; - default: - break; - } - // Clear gpio pending interrupt - NVIC_ClearPendingIRQ((IRQn_Type)(CG_INT_SRC_0 + index)); - // Enable interrupt request - CG_SetSTBYReleaseINTSrc((CG_INTSrc)(CG_INT_SRC_0 + index), CurrentState, ENABLE); -} - -static void CG_SetSTBYReleaseINTSrc(CG_INTSrc INTSource, CG_INTActiveState ActiveState, uint8_t NewState) -{ - uint8_t *ptr = ((uint8_t *)(&(TSB_IA->IMC00)) + (INTSource * 2)); - //clear pending falling and rising edge bit - *ptr = CLR_INT_FLAG; - *ptr = (ActiveState | NewState); - { - uint8_t regval = *ptr; - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_object.h b/targets/TARGET_TT/TARGET_TT_M4G9/gpio_object.h deleted file mode 100644 index c579368d239..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/gpio_object.h +++ /dev/null @@ -1,70 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_GPIO_OBJECT_H -#define MBED_GPIO_OBJECT_H - -#include "mbed_assert.h" -#include "txz_gpio.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - PinName pin; - PortName port; - uint32_t pin_num; - uint32_t mask; -} gpio_t; - -typedef enum { - CG_INT_SRC_0 = 0U, - CG_INT_SRC_1, - CG_INT_SRC_2, - CG_INT_SRC_3, - CG_INT_SRC_4, - CG_INT_SRC_5, - CG_INT_SRC_6, - CG_INT_SRC_7, - CG_INT_SRC_8, - CG_INT_SRC_9, - CG_INT_SRC_A, - CG_INT_SRC_B, - CG_INT_SRC_C, - CG_INT_SRC_D, - CG_INT_SRC_E, - CG_INT_SRC_F -} CG_INTSrc; - -typedef enum { - CG_INT_ACTIVE_STATE_L = 0x00U, - CG_INT_ACTIVE_STATE_H = 0x02U, - CG_INT_ACTIVE_STATE_FALLING = 0x04U, - CG_INT_ACTIVE_STATE_RISING = 0x06U, - CG_INT_ACTIVE_STATE_BOTH_EDGES = 0x08U, - CG_INT_ACTIVE_STATE_INVALID = 0x0AU -} CG_INTActiveState; - -static inline int gpio_is_connected(const gpio_t *obj) -{ - return (obj->pin != (PinName)NC); -} - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/i2c_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/i2c_api.c deleted file mode 100644 index 57551473c97..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/i2c_api.c +++ /dev/null @@ -1,216 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "i2c_api.h" - -#if DEVICE_I2C - -#include -#include -#include -#include "mbed_error.h" -#include "txz_i2c_api.h" -#include "PeripheralNames.h" -#include "pinmap.h" - -#define MAX_I2C_FREQ 1000000 - -static const PinMap PinMap_I2C_SDA[] = { - {PG2, I2C_0, PIN_DATA(7, 2)}, - {PF2, I2C_1, PIN_DATA(7, 2)}, - {PG4, I2C_2, PIN_DATA(7, 2)}, - {PJ6, I2C_3, PIN_DATA(7, 2)}, - {PJ3, I2C_4, PIN_DATA(7, 2)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_I2C_SCL[] = { - {PG3, I2C_0, PIN_DATA(7, 2)}, - {PF3, I2C_1, PIN_DATA(7, 2)}, - {PG5, I2C_2, PIN_DATA(7, 2)}, - {PJ7, I2C_3, PIN_DATA(7, 2)}, - {PJ2, I2C_4, PIN_DATA(7, 2)}, - {NC, NC, 0} -}; - -// Initialize the I2C peripheral. It sets the default parameters for I2C -void i2c_init(i2c_t *obj, PinName sda, PinName scl) -{ - MBED_ASSERT(obj != NULL); - I2CName i2c_sda = (I2CName)pinmap_peripheral(sda, PinMap_I2C_SDA); - I2CName i2c_scl = (I2CName)pinmap_peripheral(scl, PinMap_I2C_SCL); - I2CName i2c_name = (I2CName)pinmap_merge(i2c_sda, i2c_scl); - MBED_ASSERT((int)i2c_name != NC); - - switch(i2c_name) { - case I2C_0: - // Enable clock for I2C_0 - TSB_CG_FSYSMENA_IPMENA29 = TXZ_ENABLE; - //Enable clok for GPIO G - TSB_CG_FSYSMENB_IPMENB08 = TXZ_ENABLE; - obj->my_i2c.i2c.p_instance = TSB_I2C0; - obj->my_i2c.info.irqn = INTI2C0_IRQn; - break; - case I2C_1: - // Enable clock for I2C_1 - TSB_CG_FSYSMENA_IPMENA30 = TXZ_ENABLE; - //Enable clok for GPIO F - TSB_CG_FSYSMENB_IPMENB07 = TXZ_ENABLE; - obj->my_i2c.i2c.p_instance = TSB_I2C1; - obj->my_i2c.info.irqn = INTI2C1_IRQn; - break; - case I2C_2: - // Enable clock for I2C_2 - TSB_CG_FSYSMENA_IPMENA31 = TXZ_ENABLE; - //Enable clok for GPIO G - TSB_CG_FSYSMENB_IPMENB08 = TXZ_ENABLE; - obj->my_i2c.i2c.p_instance = TSB_I2C2; - obj->my_i2c.info.irqn = INTI2C2_IRQn; - break; - case I2C_3: - // Enable clock for I2C_3 - TSB_CG_FSYSMENB_IPMENB00 = TXZ_ENABLE; - //Enable clok for GPIO J - TSB_CG_FSYSMENB_IPMENB10 = TXZ_ENABLE; - obj->my_i2c.i2c.p_instance = TSB_I2C3; - obj->my_i2c.info.irqn = INTI2C3_IRQn; - break; - case I2C_4: - // Enable clock for I2C_4 - TSB_CG_FSYSMENB_IPMENB01 = TXZ_ENABLE; - //Enable clok for GPIO J - TSB_CG_FSYSMENB_IPMENB10 = TXZ_ENABLE; - obj->my_i2c.i2c.p_instance = TSB_I2C4; - obj->my_i2c.info.irqn = INTI2C4_IRQn; - break; - default: - error("I2C is not available"); - break; - } - - pinmap_pinout(sda, PinMap_I2C_SDA); - pin_mode(sda, OpenDrain); - pin_mode(sda, PullUp); - - pinmap_pinout(scl, PinMap_I2C_SCL); - pin_mode(scl, OpenDrain); - pin_mode(scl, PullUp); - - i2c_reset(obj); - i2c_frequency(obj, 100000); - I2C_init(&obj->my_i2c.i2c); -} - -// Configure the I2C frequency -void i2c_frequency(i2c_t *obj, int hz) -{ - if (hz <= MAX_I2C_FREQ) { - i2c_frequency_t(&obj->my_i2c, hz); - } else { - error("Failed : Max I2C frequency is 1000000"); - } -} - -int i2c_start(i2c_t *obj) -{ - i2c_start_t(&obj->my_i2c); - return TXZ_SUCCESS; -} - -int i2c_stop(i2c_t *obj) -{ - i2c_stop_t(&obj->my_i2c); - return TXZ_SUCCESS; -} - -void i2c_reset(i2c_t *obj) -{ - // Software reset - i2c_reset_t(&obj->my_i2c); -} - -int i2c_read(i2c_t *obj, int address, char *data, int length, int stop) -{ - int32_t count = i2c_read_t(&obj->my_i2c, address, (uint8_t *)data, length, stop); - return count; -} - -int i2c_write(i2c_t *obj, int address, const char *data, int length, int stop) -{ - int32_t count = i2c_write_t(&obj->my_i2c, address, (uint8_t *)data, length, stop); - return count; -} - -int i2c_byte_read(i2c_t *obj, int last) -{ - int32_t data = i2c_byte_read_t(&obj->my_i2c, last); - return data; -} - -int i2c_byte_write(i2c_t *obj, int data) -{ - int32_t result = i2c_byte_write_t(&obj->my_i2c, data); - return result; -} - -void i2c_slave_mode(i2c_t *obj, int enable_slave) -{ - i2c_slave_mode_t(&obj->my_i2c, enable_slave); -} - -void i2c_slave_address(i2c_t *obj, int idx, uint32_t address, uint32_t mask) -{ - i2c_slave_address_t(&obj->my_i2c, address); -} - -int i2c_slave_receive(i2c_t *obj) -{ - int32_t result = i2c_slave_receive_t(&obj->my_i2c); - return result; -} - -int i2c_slave_read(i2c_t *obj, char *data, int length) -{ - int32_t count = i2c_slave_read_t(&obj->my_i2c, (uint8_t *)data, length); - return count; -} - -int i2c_slave_write(i2c_t *obj, const char *data, int length) -{ - int32_t count = i2c_slave_write_t(&obj->my_i2c, (uint8_t *)data, length); - return count; -} - -const PinMap *i2c_master_sda_pinmap() -{ - return PinMap_I2C_SDA; -} - -const PinMap *i2c_master_scl_pinmap() -{ - return PinMap_I2C_SCL; -} - -const PinMap *i2c_slave_sda_pinmap() -{ - return PinMap_I2C_SDA; -} - -const PinMap *i2c_slave_scl_pinmap() -{ - return PinMap_I2C_SCL; -} - -#endif // #if DEVICE_I2C diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/objects.h b/targets/TARGET_TT/TARGET_TT_M4G9/objects.h deleted file mode 100644 index d4f385074c7..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/objects.h +++ /dev/null @@ -1,105 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_OBJECTS_H -#define MBED_OBJECTS_H - -#include -#include "PortNames.h" -#include "PeripheralNames.h" -#include "gpio_object.h" -#include "txz_gpio.h" -#include "txz_uart.h" -#include "txz_fuart.h" -#include "txz_tspi.h" -#include "txz_t32a.h" -#include "txz_cg.h" -#include "txz_driver_def.h" -#include "adc.h" -#include "txz_i2c_api.h" -#include "txz_i2c.h" -#include "txz_fuart_include.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct port_s { - PortName port; - uint32_t mask; -}; - -struct dac_s { - DACName dac; - TSB_DA_TypeDef *DACx; -}; - -struct serial_s { - uint32_t index; - uint32_t mode; - TSB_UART_TypeDef *UARTx; - TSB_FURT_TypeDef *FUARTx; - uart_boudrate_t boud_obj; - fuart_boudrate_t fboud_obj; -}; - -struct pwmout_s { - PinName pin; - uint32_t trailing_timing; - uint32_t leading_timing; - uint32_t divisor; - float period; - t32a_t p_t32a; - uint32_t type; -}; - -struct spi_s { - tspi_t p_obj; - SPIName module; - uint8_t bits; -}; - -struct gpio_irq_s { - PortName port; - uint8_t pin_num; - uint32_t irq_id; - CG_INTActiveState event; - CG_INTSrc irq_src; -}; - -struct flash_s { - int flash_inited; -}; - -struct analogin_s { - PinName pin; - adc_t p_adc; - adc_channel_setting_t param; - ADCName adc; -}; - -struct i2c_s { - uint32_t index; - int address; - _i2c_t my_i2c; -}; - -#include "gpio_object.h" - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/pinmap.c b/targets/TARGET_TT/TARGET_TT_M4G9/pinmap.c deleted file mode 100644 index 0f612fb224b..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/pinmap.c +++ /dev/null @@ -1,98 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "mbed_assert.h" -#include "mbed_error.h" -#include "pinmap.h" -#include "txz_gpio.h" - -#define PIN_FUNC_MAX 8 - -extern _gpio_t gpio_port_add; - -void pin_function(PinName pin, int function) -{ - uint32_t port = 0; - uint8_t bit = 0; - uint8_t func = 0; - uint8_t dir = 0; - // Assert that pin is valid - MBED_ASSERT(pin != NC); - - // Calculate pin function and pin direction - func = PIN_FUNC(function); - dir = PIN_DIR(function); - // Calculate port and pin position - port = PIN_PORT(pin); - bit = PIN_POS(pin); - // find function is in range or not - if (func <= PIN_FUNC_MAX) { - // Set pin function and direction if direction is in range - switch (dir) { - case PIN_INPUT: - // Set pin input - gpio_func(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, (uint32_t)func, GPIO_PIN_INPUT); - break; - case PIN_OUTPUT: - // Set pin output - gpio_func(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, (uint32_t)func, GPIO_PIN_OUTPUT); - break; - case PIN_INOUT: - // Set pin both input and output - gpio_func(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, (uint32_t)func, GPIO_PIN_INOUT); - break; - default: - break; - } - } else { - // do nothing - } -} - -void pin_mode(PinName pin, PinMode mode) -{ - uint32_t port = 0; - uint8_t bit = 0; - - // Assert that pin is valid - MBED_ASSERT(pin != NC); - - // Check if function is in range - if (mode > OpenDrain) { - return; - } - // Calculate port and pin position - port = PIN_PORT(pin); - bit = PIN_POS(pin); - // Set pin mode - switch (mode) { - case PullNone: - gpio_SetPullUp(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_RESET); - gpio_SetPullDown(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_RESET); - gpio_SetOpenDrain(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_RESET); - break; - case PullUp: - gpio_SetPullUp(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_SET); - break; - case PullDown: - gpio_SetPullDown(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_SET); - break; - case OpenDrain: - gpio_SetOpenDrain(&gpio_port_add, (gpio_gr_t)port, (gpio_num_t)bit, GPIO_PIN_SET); - break; - default: - break; - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/port_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/port_api.c deleted file mode 100644 index d1f687baca7..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/port_api.c +++ /dev/null @@ -1,140 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "port_api.h" -#include "mbed_assert.h" -#include "mbed_error.h" -#include "txz_gpio.h" -#include "pinmap.h" - -#define PORT_PIN_NUM (8) -#define ALT_FUNC_GPIO (0U) - -extern _gpio_t gpio_port_add; -static void gpio_pin_dir(port_t *obj, PinDirection dir, uint32_t pin_num); - -PinName port_pin(PortName port, int pin_n) -{ - PinName pin = NC; - pin = (PinName)((port << 3) | pin_n); - return pin; -} - -void port_init(port_t *obj, PortName port, int mask, PinDirection dir) -{ - uint8_t i = 0; - - // Assert that port is valid - MBED_ASSERT(port <= PortY); - - // Store port and port mask for future use - obj->port = port; - obj->mask = mask; - //Enable the clock for particular port - _gpio_init(&gpio_port_add, obj->port); - // Set port function and port direction - for (i = 0; i < PORT_PIN_NUM; i++) { - // If the pin is used - if (obj->mask & (1 << i)) { - pin_function(port_pin(obj->port, i), dir); - } - } -} - -void port_mode(port_t *obj, PinMode mode) -{ - uint8_t i = 0; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortY); - - // Set mode for masked pins - for (i = 0; i < PORT_PIN_NUM; i++) { - // If the pin is used - if (obj->mask & (1 << i)) { - pin_mode(port_pin(obj->port, i), mode); - } - } -} - -void port_dir(port_t *obj, PinDirection dir) -{ - uint8_t i = 0; - // Assert that port is valid - MBED_ASSERT(obj->port <= PortY); - - for (i = 0; i < PORT_PIN_NUM; i++) { - // Set direction for masked pins - if (obj->mask & (1 << i)) { - gpio_pin_dir(obj, dir, i); - } - } -} - -void port_write(port_t *obj, int value) -{ - uint32_t port_data = 0; - uint32_t data = 0; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortY); - - // Get current data of port - gpio_read_mode(&gpio_port_add, obj->port, GPIO_Mode_DATA, &port_data); - - // Calculate data to write to masked pins - data = (port_data & ~obj->mask) | (value & obj->mask); - - // Write data to masked pins of the port - gpio_write_mode(&gpio_port_add, obj->port, GPIO_Mode_DATA, data); -} - -int port_read(port_t *obj) -{ - uint32_t port_data = 0; - uint32_t data = 0; - - // Assert that port is valid - MBED_ASSERT(obj->port <= PortY); - - // Get current data of port - gpio_read_mode(&gpio_port_add, obj->port, GPIO_Mode_DATA, &port_data); - - // Calculate data of masked pins - data = port_data & obj->mask; - - return data; -} - -static void gpio_pin_dir(port_t *obj, PinDirection dir, uint32_t pin_num) -{ - switch (dir) { - case PIN_INPUT: - // Set pin input - gpio_func(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)pin_num, (uint32_t)ALT_FUNC_GPIO, GPIO_PIN_INPUT); - break; - case PIN_OUTPUT: - // Set pin output - gpio_func(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)pin_num, (uint32_t)ALT_FUNC_GPIO, GPIO_PIN_OUTPUT); - break; - case PIN_INOUT: - // Set pin both input and output - gpio_func(&gpio_port_add, (gpio_gr_t)obj->port, (gpio_num_t)pin_num, (uint32_t)ALT_FUNC_GPIO, GPIO_PIN_INOUT); - break; - default: - //error("Invalid direction\n"); - break; - } -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/pwmout_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/pwmout_api.c deleted file mode 100644 index 66224c7d7aa..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/pwmout_api.c +++ /dev/null @@ -1,225 +0,0 @@ -/* mbed Microcontroller Library -* (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved -* SPDX-License-Identifier: Apache-2.0 -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -#include "pwmout_api.h" -#include "PeripheralNames.h" -#include "pinmap.h" - -#define GPIO_CLK_OFFSET 2 -// Because Timer operating frequency is 2.5 MhZ -#define CALCULATE_RGC1_VAL 2.5 - -static const PinMap PinMap_PWM[] = { - {PA5, PWM_0, PIN_DATA(5, 1)}, - {PB2, PWM_1, PIN_DATA(5, 1)}, - {PB4, PWM_2, PIN_DATA(5, 1)}, - {PD2, PWM_3, PIN_DATA(5, 1)}, - {PD4, PWM_4, PIN_DATA(5, 1)}, - {PE1, PWM_5, PIN_DATA(5, 1)}, - {PE6, PWM_6, PIN_DATA(5, 1)}, - {PC2, PWM_7, PIN_DATA(5, 1)}, - {PL6, PWM_8, PIN_DATA(3, 1)}, - {PC4, PWM_9, PIN_DATA(5, 1)}, - {PM2, PWM_10, PIN_DATA(3, 1)}, - {PU0, PWM_11, PIN_DATA(3, 1)}, - {PU6, PWM_12, PIN_DATA(3, 1)}, - {NC, NC, 0} -}; - -void pwmout_init(pwmout_t *obj, PinName pin) -{ - // Determine the pwm channel - PWMName pwm = (PWMName)pinmap_peripheral(pin, PinMap_PWM); - //Assert input is valid - MBED_ASSERT(pwm != (PWMName)NC); - switch (pwm) { - case PWM_0: - obj->p_t32a.p_instance = TSB_T32A1; - // Clock enable of T32A ch01 - TSB_CG_FSYSMENA_IPMENA07 = TXZ_ENABLE; - break; - case PWM_1: - obj->p_t32a.p_instance = TSB_T32A2; - // Clock enable of T32A ch02 - TSB_CG_FSYSMENA_IPMENA08 = TXZ_ENABLE; - break; - case PWM_2: - obj->p_t32a.p_instance = TSB_T32A3; - // Clock enable of T32A ch03 - TSB_CG_FSYSMENA_IPMENA09 = TXZ_ENABLE; - break; - case PWM_3: - obj->p_t32a.p_instance = TSB_T32A4; - // Clock enable of T32A ch04 - TSB_CG_FSYSMENA_IPMENA10 = TXZ_ENABLE; - break; - case PWM_4: - obj->p_t32a.p_instance = TSB_T32A5; - // Clock enable of T32A ch05 - TSB_CG_FSYSMENA_IPMENA11 = TXZ_ENABLE; - break; - case PWM_5: - obj->p_t32a.p_instance = TSB_T32A6; - // Clock enable of T32A ch06 - TSB_CG_FSYSMENA_IPMENA12 = TXZ_ENABLE; - break; - case PWM_6: - obj->p_t32a.p_instance = TSB_T32A7; - // Clock enable of T32A ch07 - TSB_CG_FSYSMENA_IPMENA13 = TXZ_ENABLE; - break; - case PWM_7: - obj->p_t32a.p_instance = TSB_T32A8; - // Clock enable of T32A ch08 - TSB_CG_FSYSMENA_IPMENA14 = TXZ_ENABLE; - break; - case PWM_8: - obj->p_t32a.p_instance = TSB_T32A9; - // Clock enable of T32A ch09 - TSB_CG_FSYSMENA_IPMENA15 = TXZ_ENABLE; - break; - case PWM_9: - obj->p_t32a.p_instance = TSB_T32A10; - // Clock enable of T32A ch10 - TSB_CG_FSYSMENA_IPMENA16 = TXZ_ENABLE; - break; - case PWM_10: - obj->p_t32a.p_instance = TSB_T32A11; - // Clock enable of T32A ch11 - TSB_CG_FSYSMENA_IPMENA17 = TXZ_ENABLE; - break; - case PWM_11: - obj->p_t32a.p_instance = TSB_T32A12; - // Clock enable of T32A ch12 - TSB_CG_FSYSMENA_IPMENA18 = TXZ_ENABLE; - break; - case PWM_12: - obj->p_t32a.p_instance = TSB_T32A13; - // Clock enable of T32A ch13 - TSB_CG_FSYSMENA_IPMENA19 = TXZ_ENABLE; - break; - default: - obj->p_t32a.p_instance = NULL; - break; - } - if(obj->p_t32a.p_instance == NULL) - return; - - // Enable clock for GPIO port. - TSB_CG->FSYSMENB |= (TXZ_ENABLE << ((PIN_PORT(pin)) + GPIO_CLK_OFFSET)); - - // Set pin function as PWM - pinmap_pinout(pin, PinMap_PWM); - - // Default to 20ms, 0% duty cycle - pwmout_period_ms(obj, 20); -} - -void pwmout_free(pwmout_t *obj) -{ - // Stop PWM - obj->p_t32a.p_instance->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - obj->trailing_timing = TXZ_DISABLE; - obj->leading_timing = TXZ_DISABLE; - obj->p_t32a.p_instance = NULL; -} - -void pwmout_write(pwmout_t *obj, float value) -{ - // Stop PWM - obj->p_t32a.p_instance->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - - if (value <= 0.0f) { - value = TXZ_DISABLE; - } else if (value >= 1.0f) { - value = TXZ_ENABLE; - } - - // Store the new leading_timing value - obj->leading_timing = obj->trailing_timing - (obj->trailing_timing * value); - - // Setting T32A_RGA0 register - obj->p_t32a.p_instance->RGC0 = obj->leading_timing; - - // Start PWM - obj->p_t32a.p_instance->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); -} - -float pwmout_read(pwmout_t *obj) -{ - float duty_cycle = (float)(obj->trailing_timing - obj->leading_timing) / obj->trailing_timing; - return duty_cycle; -} - -void pwmout_period(pwmout_t *obj, float seconds) -{ - pwmout_period_us(obj, (int)(seconds * 1000000.0f)); -} - -void pwmout_period_ms(pwmout_t *obj, int ms) -{ - pwmout_period_us(obj, (ms * 1000)); -} - -// Set the PWM period, keeping the duty cycle the same. -void pwmout_period_us(pwmout_t *obj, int us) -{ - uint32_t prscl = 0; - float duty_cycle = 0; - float seconds = (float)((us) / 1000000.0f); - - obj->period = seconds; - // Restore the duty-cycle - duty_cycle = ((float)(obj->trailing_timing - obj->leading_timing) / obj->trailing_timing); - prscl = T32A_PRSCLx_32; - obj->trailing_timing = (us * CALCULATE_RGC1_VAL); - obj->leading_timing = ((obj->trailing_timing)- (obj->trailing_timing * duty_cycle)); - - obj->p_t32a.p_instance->MOD = T32A_MODE_32; - obj->p_t32a.p_instance->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); - obj->p_t32a.p_instance->CRC = (prscl | T32A_RELOAD_TREGx); - obj->p_t32a.p_instance->IMC = (T32A_IMUFx_MASK_REQ | T32A_IMOFx_MASK_REQ | - T32A_IMx1_MASK_REQ | T32A_IMx0_MASK_REQ); - obj->p_t32a.p_instance->RGC0 = obj->leading_timing; - obj->p_t32a.p_instance->RGC1 = obj->trailing_timing; - obj->p_t32a.p_instance->OUTCRC0 = T32A_OCR_DISABLE; - obj->p_t32a.p_instance->OUTCRC1 = (T32A_OCRCMPx1_CLR | T32A_OCRCMPx0_SET); - obj->p_t32a.p_instance->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); -} - -void pwmout_pulsewidth(pwmout_t *obj, float seconds) -{ - pwmout_pulsewidth_us(obj, (seconds * 1000000.0f)); -} - -void pwmout_pulsewidth_ms(pwmout_t *obj, int ms) -{ - pwmout_pulsewidth_us(obj, (ms * 1000)); -} - -void pwmout_pulsewidth_us(pwmout_t *obj, int us) -{ - float seconds = 0; - float value = 0; - - seconds = (float)(us / 1000000.0f); - value = (((seconds / obj->period) * 100.0f) / 100.0f); - pwmout_write(obj, value); -} - -const PinMap *pwmout_pinmap() -{ - return PinMap_PWM; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/serial_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/serial_api.c deleted file mode 100644 index 099a7cf7926..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/serial_api.c +++ /dev/null @@ -1,420 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include -#include "mbed_error.h" -#include "serial_api.h" -#include "pinmap.h" - -#define UART_NUM 8 -#define UART_ENABLE_RX ((uint32_t)0x00000001) -#define UART_ENABLE_TX ((uint32_t)0x00000002) -#define UARTxFIFOCLR_TFCLR_CLEAR ((uint32_t)0x00000002) -#define UARTxFIFOCLR_RFCLR_CLEAR ((uint32_t)0x00000001) -#define UARTxSWRST_SWRSTF_MASK ((uint32_t)0x00000080) -#define UARTxSWRST_SWRSTF_RUN ((uint32_t)0x00000080) -#define UARTxSWRST_SWRST_10 ((uint32_t)0x00000002) -#define UARTxSWRST_SWRST_01 ((uint32_t)0x00000001) -#define UART_RX_FIFO_FILL_LEVEL ((uint32_t)0x00000100) -#define FUART_ENABLE_RX ((uint32_t)0x00000200) -#define FUART_ENABLE_TX ((uint32_t)0x00000100) -#define BAUDRATE_DEFAULT (9600) -#define CLR_REGISTER (0x00) - -static const PinMap PinMap_UART_TX[] = { - {PE3, SERIAL_0, PIN_DATA(7, 1)}, - {PH1, SERIAL_1, PIN_DATA(3, 1)}, - {PG1, SERIAL_2, PIN_DATA(3, 1)}, - {PU7, SERIAL_3, PIN_DATA(7, 1)}, - {PU0, SERIAL_4, PIN_DATA(7, 1)}, - {PJ1, SERIAL_5, PIN_DATA(3, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_UART_RX[] = { - {PE2, SERIAL_0, PIN_DATA(7, 0)}, - {PH0, SERIAL_1, PIN_DATA(3, 0)}, - {PG0, SERIAL_2, PIN_DATA(3, 0)}, - {PU6, SERIAL_3, PIN_DATA(7, 0)}, - {PU1, SERIAL_4, PIN_DATA(7, 0)}, - {PJ0, SERIAL_5, PIN_DATA(3, 0)}, - {NC, NC, 0} -}; - -static int serial_irq_ids[UART_NUM] = {0}; -static uart_irq_handler irq_handler; - -int stdio_uart_inited = 0; -serial_t stdio_uart; - -static void uart_swreset(TSB_UART_TypeDef *UARTx); -void serial_init(serial_t *obj, PinName tx, PinName rx) -{ - int is_stdio_uart = 0; - obj->mode = 0; - cg_t paramCG; - paramCG.p_instance = TSB_CG; - uart_clock_t prescal = {0}; - - UARTName uart_tx = (UARTName)pinmap_peripheral(tx, PinMap_UART_TX); - UARTName uart_rx = (UARTName)pinmap_peripheral(rx, PinMap_UART_RX); - UARTName uart_name = (UARTName)pinmap_merge(uart_tx, uart_rx); - MBED_ASSERT((int)uart_name != NC); - - obj->index = uart_name; - // Initialize UART instance - switch (uart_name) { - case SERIAL_0: - obj->UARTx = TSB_UART0; - //Enable clock for UART0 and Port E - TSB_CG_FSYSMENA_IPMENA23 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB06 = TXZ_ENABLE; - break; - case SERIAL_1: - obj->UARTx = TSB_UART1; - //Enable clock for UART1 and Port H - TSB_CG_FSYSMENA_IPMENA24 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB09 = TXZ_ENABLE; - break; - case SERIAL_2: - obj->UARTx = TSB_UART2; - //Enable clock for UART2 and Port G - TSB_CG_FSYSMENA_IPMENA25 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB08 = TXZ_ENABLE; - break; - case SERIAL_3: - obj->UARTx = TSB_UART3; - //Enable clock for UART3 and Port U - TSB_CG_FSYSMENA_IPMENA26 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB18 = TXZ_ENABLE; - break; - case SERIAL_4: - obj->UARTx = TSB_UART4; - //Enable clock for UART4 and Port U - TSB_CG_FSYSMENA_IPMENA27 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB18 = TXZ_ENABLE; - break; - case SERIAL_5: - obj->UARTx = TSB_UART5; - //Enable clock for UART5 and Port J - TSB_CG_FSYSMENA_IPMENA28 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB10 = TXZ_ENABLE; - break; - default: - break; - } - //Set alternate function - pinmap_pinout(tx, PinMap_UART_TX); - pinmap_pinout(rx, PinMap_UART_RX); - - if (tx != NC && rx != NC) { - obj->mode = UART_ENABLE_RX | UART_ENABLE_TX; - } else { - if (tx != NC) { - obj->mode = UART_ENABLE_TX; - } else { - if (rx != NC) { - obj->mode = UART_ENABLE_RX; - } - } - } - //software reset - uart_swreset(obj->UARTx); - //mbed default configurations - obj->UARTx->CR0 |= (1U); // data lengh 8 bit No parity one stop bit - prescal.prsel = UART_PLESCALER_1; - uart_get_boudrate_setting(cg_get_mphyt0(¶mCG), &prescal, BAUDRATE_DEFAULT, &obj->boud_obj); - obj->UARTx->BRD |=((obj->boud_obj.ken) | (obj->boud_obj.brk << 16) | (obj->boud_obj.brn)); - obj->UARTx->FIFOCLR = (UARTxFIFOCLR_TFCLR_CLEAR | UARTxFIFOCLR_RFCLR_CLEAR); // Clear FIFO - obj->UARTx->TRANS |= obj->mode; // Enable TX RX block. - obj->UARTx->CR1 = (UART_RX_FIFO_FILL_LEVEL | UART_TX_INT_ENABLE | UART_RX_INT_ENABLE); - is_stdio_uart = (uart_name == STDIO_UART) ? (1) : (0); - if (is_stdio_uart) { - stdio_uart_inited = 1; - memcpy(&stdio_uart, obj, sizeof(serial_t)); - } -} - -void serial_free(serial_t *obj) -{ - obj->UARTx->TRANS = CLR_REGISTER; - obj->UARTx->CR0 = CLR_REGISTER; - obj->UARTx->CR1 = CLR_REGISTER; - obj->UARTx = CLR_REGISTER; - uart_swreset(obj->UARTx); - obj->index = (uint32_t)NC; -} - -void serial_baud(serial_t *obj, int baudrate) -{ - cg_t paramCG; - paramCG.p_instance = TSB_CG; - uart_clock_t prescal; - prescal.prsel = UART_PLESCALER_1; - uart_get_boudrate_setting(cg_get_mphyt0(¶mCG), &prescal, baudrate, &obj->boud_obj); - obj->UARTx->BRD = CLR_REGISTER; //clear BRD register - obj->UARTx->BRD |=((obj->boud_obj.ken) | (obj->boud_obj.brk << 16) | (obj->boud_obj.brn)); -} - -void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) -{ - uint32_t parity_check = 0; - uint32_t data_length = 0; - uint32_t tmp = 0; - uint32_t sblen = 0; - - MBED_ASSERT((stop_bits == 1) || (stop_bits == 2)); - MBED_ASSERT((parity == ParityNone) || (parity == ParityOdd) || (parity == ParityEven)); - - MBED_ASSERT((data_bits > 6) && (data_bits < 10)); // 0: 7 data bits ... 2: 9 data bits - parity_check = ((parity == ParityOdd) ? 1 :((parity == ParityEven) ? 3 : 0)); - data_length = (data_bits == 8 ? 1 :((data_bits == 7) ? 0 : 2)); - sblen = (stop_bits == 1) ? 0 : 1; // 0: 1 stop bits, 1: 2 stop bits - tmp = ((sblen << 4) |(parity_check << 2) | data_length); - obj->UARTx->CR0 = tmp; -} - -// INTERRUPT HANDLING -void INTUART0RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_0], RxIrq); -} - -void INTUART0TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_0], TxIrq); -} - -void INTUART1RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_1], RxIrq); -} - -void INTUART1TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_1], TxIrq); -} - -void INTUART2RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_2], RxIrq); -} - -void INTUART2TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_2], TxIrq); -} - -void INTUART3RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_3], RxIrq); -} - -void INTUART3TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_3], TxIrq); -} - -void INTUART4RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_4], RxIrq); -} - -void INTUART4TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_4], TxIrq); -} - -void INTUART5RX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_5], RxIrq); -} - -void INTUART5TX_IRQHandler(void) -{ - irq_handler(serial_irq_ids[SERIAL_5], TxIrq); -} - -void serial_irq_handler(serial_t *obj, uart_irq_handler handler, uint32_t id) -{ - irq_handler = handler; - serial_irq_ids[obj->index] = id; -} - -void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable) -{ - IRQn_Type irq_n = (IRQn_Type)0; - - switch (obj->index) { - case SERIAL_0: - if (irq == RxIrq) { - irq_n = INTUART0RX_IRQn; - } else { - irq_n = INTUART0TX_IRQn; - } - break; - case SERIAL_1: - if (irq == RxIrq) { - irq_n = INTUART1RX_IRQn; - } else { - irq_n = INTUART1TX_IRQn; - } - break; - case SERIAL_2: - if (irq == RxIrq) { - irq_n = INTUART2RX_IRQn; - } else { - irq_n = INTUART2TX_IRQn; - } - break; - case SERIAL_3: - if (irq == RxIrq) { - irq_n = INTUART3RX_IRQn; - } else { - irq_n = INTUART3TX_IRQn; - } - break; - case SERIAL_4: - if (irq == RxIrq) { - irq_n = INTUART4RX_IRQn; - } else { - irq_n = INTUART4TX_IRQn; - } - break; - case SERIAL_5: - if (irq == RxIrq) { - irq_n = INTUART5RX_IRQn; - } else { - irq_n = INTUART5TX_IRQn; - } - break; - default: - break; - } - - NVIC_ClearPendingIRQ(irq_n); - - if (enable) { - NVIC_EnableIRQ(irq_n); - } else { - NVIC_DisableIRQ(irq_n); - } -} - -int serial_getc(serial_t *obj) -{ - int data = 0; - - while (!serial_readable(obj)) { // Wait until Rx buffer is full - // Do nothing - } - //Read Data Register - data = (obj->UARTx->DR & 0xFFU); - obj->UARTx->SR |= (1U << 6); // clear RXEND flag - - return data; -} - -void serial_putc(serial_t *obj, int c) -{ - while (!serial_writable(obj)) { - // Do nothing - } - //Write Data Register - obj->UARTx->DR = (c & 0xFF); - while((obj->UARTx->SR & (1U << 14)) == 0) { - } - obj->UARTx->SR |= (1U << 14); // clear TXEND flag -} - -int serial_readable(serial_t *obj) -{ - int ret = 0; - - if ((obj->UARTx->SR & 0x000F) != 0) { - ret = 1; - } - - return ret; -} - -int serial_writable(serial_t *obj) -{ - int ret = 0; - - if ((obj->UARTx->SR & 0x8000) == 0) { - ret = 1; - } - - return ret; -} - -// Pause transmission -void serial_break_set(serial_t *obj) -{ - obj->UARTx->TRANS |= 0x08; -} - -// Switch to normal transmission -void serial_break_clear(serial_t *obj) -{ - obj->UARTx->TRANS &= ~(0x08); -} - -static void uart_swreset(TSB_UART_TypeDef *UARTx) -{ - while (((UARTx->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) { - // No process - } - - UARTx->SWRST = UARTxSWRST_SWRST_10; - UARTx->SWRST = UARTxSWRST_SWRST_01; - - while (((UARTx->SWRST) & UARTxSWRST_SWRSTF_MASK) == UARTxSWRST_SWRSTF_RUN) { - // No process - } -} - -const PinMap *serial_tx_pinmap() -{ - return PinMap_UART_TX; -} - -const PinMap *serial_rx_pinmap() -{ - return PinMap_UART_RX; -} - -const PinMap *serial_cts_pinmap() -{ -#if !DEVICE_SERIAL_FC - static const PinMap PinMap_UART_CTS[] = { - {NC, NC, 0} - }; -#endif - - return PinMap_UART_CTS; -} - -const PinMap *serial_rts_pinmap() -{ -#if !DEVICE_SERIAL_FC - static const PinMap PinMap_UART_RTS[] = { - {NC, NC, 0} - }; -#endif - - return PinMap_UART_RTS; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/sleep.c b/targets/TARGET_TT/TARGET_TT_M4G9/sleep.c deleted file mode 100644 index 565a00253f3..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/sleep.c +++ /dev/null @@ -1,125 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "sleep_api.h" - -// Number of warm-up cycle = (warming up time (s) / clock period (s)) - 16 -#define CG_WUODR_INT_5MS ((uint16_t)0x0C34) -#define CG_STBY_MODE_IDLE 0x0 -#define CG_STBY_MODE_STOP1 0x1 -#define EXTERNEL_OSC_MASK 0xFFFFFFF1 -#define SIWDT_DISABLE 0xB1 -#define WUPT_LOWER_MASK 0x000F -#define WUPT_UPPER_MASK 0xFFF0 - -static void external_losc_enable(void); - -void hal_sleep(void) -{ - // Set low power consumption mode IDLE - TSB_CG->STBYCR = CG_STBY_MODE_IDLE; - - // Enter idle mode - __DSB(); - __WFI(); -} - -void hal_deepsleep(void) -{ - uint32_t wupt_lower = 0U; - uint32_t wupt_upper = 0U; - uint32_t tmp = 0U; - - TSB_CG_FSYSMENB_IPMENB31 = TXZ_ENABLE; - - TSB_SIWD0->EN = TXZ_DISABLE; - TSB_SIWD0->CR = SIWDT_DISABLE; - - - while ((TSB_FC->SR0 & TXZ_DONE) != TXZ_DONE) { - // Flash wait - } - - while (TSB_CG_WUPHCR_WUEF) { - // Wait for end of Warming-up for IHOSC1 - } - - TSB_CG_WUPHCR_WUCLK = TXZ_DISABLE; - wupt_lower = ((CG_WUODR_INT_5MS & WUPT_LOWER_MASK) << 16U); - wupt_upper = ((CG_WUODR_INT_5MS & WUPT_UPPER_MASK) << 16U); - TSB_CG->WUPHCR |= (wupt_lower | wupt_upper); - TSB_CG->STBYCR = CG_STBY_MODE_STOP1; - TSB_CG_PLL0SEL_PLL0SEL = TXZ_DISABLE; - - - while (TSB_CG_PLL0SEL_PLL0ST) { - // Wait for PLL status of fsys until off state(fosc=0) - } - - // Stop PLL of fsys - TSB_CG_PLL0SEL_PLL0ON = TXZ_DISABLE; - TSB_CG_OSCCR_IHOSC1EN = TXZ_ENABLE; - TSB_CG_OSCCR_OSCSEL = TXZ_DISABLE; - - while (TSB_CG_OSCCR_OSCF) { - // Wait for fosc status until IHOSC1 = 0 - } - - tmp = TSB_CG->OSCCR; - tmp &= EXTERNEL_OSC_MASK; - TSB_CG->OSCCR = tmp; - - - // Enter stop1 mode - __DSB(); - __WFI(); - - // Switch over from IHOSC to EHOSC - // After coming out off sleep mode, Restore the clock setting to EHOSC. - external_losc_enable(); -} - -static void external_losc_enable(void) -{ - uint32_t wupt_lower = 0U; - uint32_t wupt_upper = 0U; - - // Enable high-speed oscillator - TSB_CG->OSCCR |= (TXZ_ENABLE << 1); - - // Select internal(fIHOSC) as warm-up clock - wupt_lower = ((CG_WUODR_INT_5MS & WUPT_LOWER_MASK) << 16U); - wupt_upper = ((CG_WUODR_INT_5MS & WUPT_UPPER_MASK) << 16U); - TSB_CG->WUPHCR |= (wupt_lower | wupt_upper); - - // Start warm-up - TSB_CG->WUPHCR |= TXZ_ENABLE; - - // Wait until EHOSC become stable - while ((TSB_CG->WUPHCR & 0x0002)) { - // Do nothing - } - - // Set fosc source - TSB_CG->OSCCR |= (1 << 8); - - // Wait for to become "1" - while (!((TSB_CG->OSCCR & 0x200)>> 9)) { - // Do nothing... - } - - // Stop IHOSC - TSB_CG->OSCCR &= ~TXZ_ENABLE; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/spi_api.c b/targets/TARGET_TT/TARGET_TT_M4G9/spi_api.c deleted file mode 100644 index 49292988401..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/spi_api.c +++ /dev/null @@ -1,341 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "spi_api.h" -#include "mbed_error.h" -#include "txz_tspi.h" -#include "pinmap.h" - -#define TIMEOUT (1000) -#define BAUDRATE_1MHZ_BRS (0xA) -#define BAUDRATE_1MHZ_BRCK (0x30) - -static const PinMap PinMap_SPI_SCLK[] = { - {PA1, SPI_0, PIN_DATA(7, 1)}, - {PL1, SPI_1, PIN_DATA(7, 1)}, - {PA6, SPI_2, PIN_DATA(7, 1)}, - {PK6, SPI_3, PIN_DATA(4, 1)}, - {PD1, SPI_4, PIN_DATA(4, 1)}, - {PM2, SPI_5, PIN_DATA(6, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_MOSI[] = { - {PA3, SPI_0, PIN_DATA(7, 1)}, - {PL3, SPI_1, PIN_DATA(7, 1)}, - {PA4, SPI_2, PIN_DATA(7, 1)}, - {PK4, SPI_3, PIN_DATA(4, 1)}, - {PD3, SPI_4, PIN_DATA(4, 1)}, - {PM0, SPI_5, PIN_DATA(6, 1)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_MISO[] = { - {PA2, SPI_0, PIN_DATA(7, 0)}, - {PL2, SPI_1, PIN_DATA(7, 0)}, - {PA5, SPI_2, PIN_DATA(7, 0)}, - {PK5, SPI_3, PIN_DATA(4, 0)}, - {PD2, SPI_4, PIN_DATA(4, 0)}, - {PM1, SPI_5, PIN_DATA(6, 0)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SPI_SSEL[] = { - {PA0, SPI_0, PIN_DATA(7, 1)}, - {PL0, SPI_1, PIN_DATA(7, 1)}, - {PA7, SPI_2, PIN_DATA(7, 1)}, - {PK7, SPI_3, PIN_DATA(4, 1)}, - {PD0, SPI_4, PIN_DATA(4, 1)}, - {PM3, SPI_5, PIN_DATA(6, 1)}, - {NC, NC, 0} -}; -void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel) -{ - // Check pin parameters - SPIName spi_mosi = (SPIName)pinmap_peripheral(mosi, PinMap_SPI_MOSI); - SPIName spi_miso = (SPIName)pinmap_peripheral(miso, PinMap_SPI_MISO); - SPIName spi_sclk = (SPIName)pinmap_peripheral(sclk, PinMap_SPI_SCLK); - SPIName spi_ssel = (SPIName)pinmap_peripheral(ssel, PinMap_SPI_SSEL); - SPIName spi_data = (SPIName)pinmap_merge(spi_mosi, spi_miso); - SPIName spi_cntl = (SPIName)pinmap_merge(spi_sclk, spi_ssel); - - obj->module = (SPIName)pinmap_merge(spi_data, spi_sclk); - obj->module = (SPIName)pinmap_merge(spi_data, spi_cntl); - MBED_ASSERT((int)obj->module!= NC); - - // Identify SPI module to use - switch ((int)obj->module) { - case SPI_0: - obj->p_obj.p_instance = TSB_TSPI0; - //Enable clock for particular Port and SPI - TSB_CG_FSYSENA_IPENA04 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB02 = TXZ_ENABLE; - break; - case SPI_1: - obj->p_obj.p_instance = TSB_TSPI1; - //Enable clock for particular Port and SPI - TSB_CG_FSYSENA_IPENA05 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB12 = TXZ_ENABLE; - break; - case SPI_2: - obj->p_obj.p_instance = TSB_TSPI2; - //Enable clock for particular Port and SPI - TSB_CG_FSYSENA_IPENA06 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB02 = TXZ_ENABLE; - break; - case SPI_3: - obj->p_obj.p_instance = TSB_TSPI3; - //Enable clock for particular Port and SPI - TSB_CG_FSYSENA_IPENA07 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB11 = TXZ_ENABLE; - break; - case SPI_4: - obj->p_obj.p_instance = TSB_TSPI4; - //Enable clock for particular Port and SPI - TSB_CG_FSYSENA_IPENA08 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB05 = TXZ_ENABLE; - break; - case SPI_5: - obj->p_obj.p_instance = TSB_TSPI6; - //Enable clock for particular Port and SPI - TSB_CG_FSYSMENA_IPMENA20 = TXZ_ENABLE; - TSB_CG_FSYSMENB_IPMENB13 = TXZ_ENABLE; - break; - default: - obj->p_obj.p_instance = NULL; - obj->module = (SPIName)NC; - error("Cannot found SPI module corresponding with input pins."); - break; - } - - // pin out the spi pins - pinmap_pinout(mosi, PinMap_SPI_MOSI); - pinmap_pinout(miso, PinMap_SPI_MISO); - pinmap_pinout(sclk, PinMap_SPI_SCLK); - - if (ssel != NC) { - pinmap_pinout(ssel, PinMap_SPI_SSEL); - } - - // Default configurations 8 bit, 1Mhz frequency - //Control 1 configurations - obj->p_obj.init.id = (uint32_t)obj->module; - obj->p_obj.init.cnt1.trgen = TSPI_TRGEN_DISABLE; // Trigger disabled - obj->p_obj.init.cnt1.trxe = TSPI_DISABLE; // Enable Communication - obj->p_obj.init.cnt1.tspims = TSPI_SPI_MODE; // SPI mode - obj->p_obj.init.cnt1.mstr = TSPI_MASTER_OPEARTION; // master mode operation - obj->p_obj.init.cnt1.tmmd = TSPI_TWO_WAY; // Full-duplex mode (Transmit/receive) - obj->p_obj.init.cnt1.cssel = TSPI_TSPIxCS0_ENABLE; // Chip select of pin CS0 is valid - obj->p_obj.init.cnt1.fc = TSPI_TRANS_RANGE_SINGLE; // transfer single frame at a time contineously - - //Control 2 configurations - obj->p_obj.init.cnt2.tidle = TSPI_TIDLE_HI; - obj->p_obj.init.cnt2.txdemp = TSPI_TXDEMP_HI; // when slave underruns TxD fixed to low - obj->p_obj.init.cnt2.rxdly = TSPI_RXDLY_SET; - obj->p_obj.init.cnt2.til = TSPI_TX_FILL_LEVEL_0; // transmit FIFO Level - obj->p_obj.init.cnt2.ril = TSPI_RX_FILL_LEVEL_1; // receive FIFO Level - obj->p_obj.init.cnt2.inttxwe = TSPI_TX_INT_DISABLE; - obj->p_obj.init.cnt2.intrxwe = TSPI_RX_INT_DISABLE; - obj->p_obj.init.cnt2.inttxfe = TSPI_TX_FIFO_INT_DISABLE; - obj->p_obj.init.cnt2.intrxfe = TSPI_RX_FIFO_INT_DISABLE; - obj->p_obj.init.cnt2.interr = TSPI_ERR_INT_DISABLE; - obj->p_obj.init.cnt2.dmate = TSPI_TX_DMA_INT_DISABLE; - obj->p_obj.init.cnt2.dmare = TSPI_RX_DMA_INT_DISABLE; - - //Control 3 configurations - obj->p_obj.init.cnt3.tfempclr = TSPI_TX_BUFF_CLR_DONE; // transmit buffer clear - obj->p_obj.init.cnt3.rffllclr = TSPI_RX_BUFF_CLR_DONE; // receive buffer clear - - //baudrate settings - 1Mhz default - obj->p_obj.init.brd.brck = BAUDRATE_1MHZ_BRCK; - obj->p_obj.init.brd.brs = BAUDRATE_1MHZ_BRS; - - //Format Control 0 settings - obj->p_obj.init.fmr0.dir = TSPI_DATA_DIRECTION_MSB; // MSB bit first - obj->p_obj.init.fmr0.fl = TSPI_DATA_LENGTH_8; - obj->p_obj.init.fmr0.fint = TSPI_INTERVAL_TIME_0; - - //Special control on polarity of signal and generation timing - obj->p_obj.init.fmr0.cs3pol = TSPI_TSPIxCS3_NEGATIVE; - obj->p_obj.init.fmr0.cs2pol = TSPI_TSPIxCS2_NEGATIVE; - obj->p_obj.init.fmr0.cs1pol = TSPI_TSPIxCS1_NEGATIVE; - obj->p_obj.init.fmr0.cs0pol = TSPI_TSPIxCS0_NEGATIVE; - - obj->p_obj.init.fmr0.ckpha = TSPI_SERIAL_CK_1ST_EDGE; - obj->p_obj.init.fmr0.ckpol = TSPI_SERIAL_CK_IDLE_LOW; - obj->p_obj.init.fmr0.csint = TSPI_MIN_IDLE_TIME_1; - obj->p_obj.init.fmr0.cssckdl = TSPI_SERIAL_CK_DELAY_1; - obj->p_obj.init.fmr0.sckcsdl = TSPI_NEGATE_1; - - //Format Control 1 settings tspi_fmtr1_t - obj->p_obj.init.fmr1.vpe = TSPI_PARITY_DISABLE; - obj->p_obj.init.fmr1.vpm = TSPI_PARITY_BIT_ODD; - - obj->bits = (uint8_t)TSPI_DATA_LENGTH_8; - - //initialize SPI - tspi_init(&obj->p_obj); -} - -void spi_free(spi_t *obj) -{ - tspi_deinit(&obj->p_obj); - obj->module = (SPIName)NC; -} - -void spi_format(spi_t *obj, int bits, int mode, int slave) -{ - MBED_ASSERT((slave == 0U)); // 0: master mode, 1: slave mode - MBED_ASSERT((bits >= 8) && (bits <= 32)); - - obj->bits = bits; - obj->p_obj.init.fmr0.fl = (bits << 24); - - if((mode >> 1) & 0x1) { - obj->p_obj.init.fmr0.ckpol = TSPI_SERIAL_CK_IDLE_HI; - } else { - obj->p_obj.init.fmr0.ckpol = TSPI_SERIAL_CK_IDLE_LOW; - } - - if(mode & 0x1) { - obj->p_obj.init.fmr0.ckpha = TSPI_SERIAL_CK_2ND_EDGE; - } else { - obj->p_obj.init.fmr0.ckpha = TSPI_SERIAL_CK_1ST_EDGE; - } - - tspi_init(&obj->p_obj); -} - -void spi_frequency(spi_t *obj, int hz) -{ - SystemCoreClockUpdate(); - uint8_t brs = 0, brck = 0; - uint16_t prsck = 1; - uint64_t fscl = 0, tmp_fscl = 0; - uint64_t fx = 0; - uint64_t tmpvar = SystemCoreClock / 2; - - for (prsck = 1; prsck <= 512; prsck *= 2) { - fx = ((uint64_t)tmpvar / prsck); - for (brs = 1; brs <= 16; brs++) { - fscl = fx /brs; - if ((fscl <= (uint64_t)hz) && (fscl > tmp_fscl)) { - tmp_fscl = fscl; - obj->p_obj.init.brd.brck = (brck << 4); - if(brs == 16) { - obj->p_obj.init.brd.brs = 0; - } else { - obj->p_obj.init.brd.brs = brs; - } - } - } - brck ++; - } - - tspi_init(&obj->p_obj); -} - -int spi_master_write(spi_t *obj, int value) -{ - uint8_t ret_value = 0; - - tspi_transmit_t send_obj; - tspi_receive_t rec_obj; - - // Transmit data - send_obj.tx8.p_data = (uint8_t *)&value; - send_obj.tx8.num = 1; - tspi_master_write(&obj->p_obj, &send_obj, TIMEOUT); - - // Read received data - rec_obj.rx8.p_data = &ret_value; - rec_obj.rx8.num = 1; - tspi_master_read(&obj->p_obj, &rec_obj, TIMEOUT); - - return ret_value; -} - -int spi_master_block_write(spi_t *obj, const char *tx_buffer, int tx_length, - char *rx_buffer, int rx_length, char write_fill) -{ - int total = (tx_length > rx_length) ? tx_length : rx_length; - - for (int i = 0; i < total; i++) { - char out = (i < tx_length) ? tx_buffer[i] : write_fill; - char in = spi_master_write(obj, out); - if (i < rx_length) { - rx_buffer[i] = in; - } - } - - return total; -} - -int spi_busy(spi_t *obj) -{ - int ret = 1; - uint32_t status; - tspi_get_status(&obj->p_obj, &status); - if((status & (TSPI_TX_FLAG_ACTIVE | TSPI_RX_FLAG_ACTIVE)) == 0) { - ret = 0; - } - - return ret; -} - -uint8_t spi_get_module(spi_t *obj) -{ - return (uint8_t)(obj->module); -} - -const PinMap *spi_master_mosi_pinmap() -{ - return PinMap_SPI_MOSI; -} - -const PinMap *spi_master_miso_pinmap() -{ - return PinMap_SPI_MISO; -} - -const PinMap *spi_master_clk_pinmap() -{ - return PinMap_SPI_SCLK; -} - -const PinMap *spi_master_cs_pinmap() -{ - return PinMap_SPI_SSEL; -} - -const PinMap *spi_slave_mosi_pinmap() -{ - return PinMap_SPI_MOSI; -} - -const PinMap *spi_slave_miso_pinmap() -{ - return PinMap_SPI_MISO; -} - -const PinMap *spi_slave_clk_pinmap() -{ - return PinMap_SPI_SCLK; -} - -const PinMap *spi_slave_cs_pinmap() -{ - return PinMap_SPI_SSEL; -} diff --git a/targets/TARGET_TT/TARGET_TT_M4G9/us_ticker.c b/targets/TARGET_TT/TARGET_TT_M4G9/us_ticker.c deleted file mode 100644 index 38de88f50db..00000000000 --- a/targets/TARGET_TT/TARGET_TT_M4G9/us_ticker.c +++ /dev/null @@ -1,106 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "us_ticker_api.h" -#include "TMPM4G9.h" -#include "txz_t32a.h" - -#define CLR_TIMER_INT_FLAG (uint8_t)0x41 - -static uint8_t us_ticker_inited = 0; // Is ticker initialized yet? - -const ticker_info_t* us_ticker_get_info() -{ - static const ticker_info_t info = { - 2496094, - 32 - }; - return &info; -} - -// initialize us_ticker -void us_ticker_init(void) -{ - if (us_ticker_inited) { - us_ticker_disable_interrupt(); - return; - } - us_ticker_inited = 1; - - // Enable clock for T32A0 - TSB_CG_FSYSMENA_IPMENA06 = TXZ_ENABLE; - - // T32A ch0 TimerC Reg Match/Over Flow/Under Flow - TSB_IB->IMC006 = TXZ_ENABLE; - - // Configure Timer T32A0 - TSB_T32A0->MOD = T32A_MODE_32; - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - TSB_T32A0->CRC = T32A_PRSCLx_32; - TSB_T32A0->IMC = (T32A_IMUFx_MASK_REQ | T32A_IMOFx_MASK_REQ); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); - NVIC_SetVector(INTT32A00_A_CT_IRQn, (uint32_t)us_ticker_irq_handler); - NVIC_EnableIRQ(INTT32A00_A_CT_IRQn); -} - -uint32_t us_ticker_read(void) -{ - uint32_t ret_val = 0; - - if (!us_ticker_inited) { - us_ticker_init(); - } - - ret_val = (TSB_T32A0->TMRC); - return ret_val; -} - -void us_ticker_set_interrupt(timestamp_t timestamp) -{ - NVIC_DisableIRQ(INTT32A00_A_CT_IRQn); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_STOP); - TSB_T32A0->RGC1 = timestamp ; - NVIC_EnableIRQ(INTT32A00_A_CT_IRQn); - TSB_T32A0->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); -} - -void us_ticker_fire_interrupt(void) -{ - NVIC_SetPendingIRQ(INTT32A00_A_CT_IRQn); - NVIC_EnableIRQ(INTT32A00_A_CT_IRQn); -} - -void us_ticker_disable_interrupt(void) -{ - // Disable interrupts in NVIC - TSB_IB->IMC006 = CLR_TIMER_INT_FLAG; - NVIC_ClearPendingIRQ(INTT32A00_A_CT_IRQn); - NVIC_DisableIRQ(INTT32A00_A_CT_IRQn); -} - -void us_ticker_clear_interrupt(void) -{ - TSB_IB->IMC006 = CLR_TIMER_INT_FLAG; - NVIC_ClearPendingIRQ(INTT32A00_A_CT_IRQn); -} - -void us_ticker_free(void) -{ - TSB_T32A0->RUNC = T32A_RUN_DISABLE; - TSB_IB->IMC006 = CLR_TIMER_INT_FLAG; - NVIC_ClearPendingIRQ(INTT32A00_A_CT_IRQn); - NVIC_DisableIRQ(INTT32A00_A_CT_IRQn); - TSB_CG_FSYSMENA_IPMENA06 = TXZ_DISABLE; -} diff --git a/targets/TARGET_TT/mbed_rtx.h b/targets/TARGET_TT/mbed_rtx.h deleted file mode 100644 index 1f9bc5c3191..00000000000 --- a/targets/TARGET_TT/mbed_rtx.h +++ /dev/null @@ -1,38 +0,0 @@ -/* mbed Microcontroller Library - * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved - * SPDX-License-Identifier: Apache-2.0 - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MBED_MBED_RTX_H -#define MBED_MBED_RTX_H - - -#if defined(TARGET_TT_M3HQ) - -#ifndef INITIAL_SP -#define INITIAL_SP (0x20010000UL) -#endif - -#endif - -#if defined(TARGET_TT_M4G9) - -#ifndef INITIAL_SP -#define INITIAL_SP (0x20030000UL) -#endif - - -#endif - -#endif // MBED_MBED_RTX_H diff --git a/targets/targets.json b/targets/targets.json index b50531dc971..42a61119d91 100644 --- a/targets/targets.json +++ b/targets/targets.json @@ -14406,48 +14406,6 @@ "network-default-interface-type": "ETHERNET" } }, - "TT_M3HQ": { - "inherits": [ - "Target" - ], - "core": "Cortex-M3", - "is_disk_virtual": true, - "extra_labels": [ - "TT" - ], - "macros": [ - "__TT_M3HQ__" - ], - "supported_toolchains": [ - "GCC_ARM", - "ARM", - "IAR" - ], - "device_has": [ - "ANALOGIN", - "USTICKER", - "ANALOGOUT", - "INTERRUPTIN", - "PORTIN", - "PORTINOUT", - "PORTOUT", - "PWMOUT", - "SERIAL", - "SLEEP", - "SPI", - "I2C", - "I2CSLAVE", - "STDIO_MESSAGES", - "MPU" - ], - "device_name": "TMPM3HQFDFG", - "detect_code": [ - "8012" - ], - "release_versions": [ - "5" - ] - }, "GD32_F450ZI": { "inherits": [ "GD32_Target" @@ -14531,50 +14489,6 @@ "5" ] }, - "TT_M4G9": { - "inherits": [ - "Target" - ], - "core": "Cortex-M4F", - "is_disk_virtual": true, - "extra_labels": [ - "TT" - ], - "macros": [ - "__TT_M4G9__" - ], - "supported_toolchains": [ - "GCC_ARM", - "ARM", - "IAR" - ], - "device_has": [ - "USTICKER", - "ANALOGIN", - "ANALOGOUT", - "SERIAL", - "I2C", - "I2CSLAVE", - "INTERRUPTIN", - "PORTIN", - "PORTINOUT", - "PORTOUT", - "PWMOUT", - "SLEEP", - "SPI", - "STDIO_MESSAGES", - "FLASH", - "MPU" - ], - "device_name": "TMPM4G9F15FG", - "detect_code": [ - "8013" - ], - "release_versions": [ - "5" - ], - "bootloader_supported": true - }, "EP_AGORA": { "inherits": [ "MCU_NRF52840" From 32fab9bc0d7b74ddef5c31d1f3f881a750435dd9 Mon Sep 17 00:00:00 2001 From: MarceloSalazar Date: Tue, 7 Apr 2020 22:54:07 +0100 Subject: [PATCH 02/15] Remove Realtek targets --- .../TARGET_AMEBA/RTWInterface.cpp | 273 ---- .../TARGET_AMEBA/RTWInterface.h | 119 -- .../TARGET_MCU_RTL8195A/PeripheralPins.h | 54 - .../TARGET_RTL8195A/PeripheralNames.h | 42 - .../TARGET_RTL8195A/PeripheralPins.c | 182 --- .../TARGET_RTL8195A/PinNames.h | 238 --- .../TARGET_RTL8195A/PortNames.h | 38 - .../TARGET_MCU_RTL8195A/analogin_api.c | 211 --- .../TARGET_MCU_RTL8195A/analogin_ext.h | 31 - .../TARGET_MCU_RTL8195A/analogout_api.c | 197 --- .../TARGET_AMEBA/TARGET_MCU_RTL8195A/device.h | 22 - .../lib_peripheral_mbed_arm.ar | Bin 300994 -> 0 bytes .../TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar | Bin 1172050 -> 0 bytes .../device/TOOLCHAIN_ARM_STD/rtl8195a.sct | 78 - .../device/TOOLCHAIN_ARM_STD/rtl8195a_rom.o | 648 -------- .../TOOLCHAIN_ARM_STD/rtl8195a_startup.S | 31 - .../lib_peripheral_mbed_gcc.a | Bin 980164 -> 0 bytes .../TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a | Bin 8317270 -> 0 bytes .../device/TOOLCHAIN_GCC_ARM/rtl8195a.ld | 232 --- .../device/TOOLCHAIN_GCC_ARM/rtl8195a_rom.h | 759 --------- .../TOOLCHAIN_GCC_ARM/rtl8195a_startup.S | 32 - .../TOOLCHAIN_IAR/lib_peripheral_mbed_iar.a | Bin 392254 -> 0 bytes .../device/TOOLCHAIN_IAR/lib_wlan_mbed_iar.a | Bin 1308826 -> 0 bytes .../device/TOOLCHAIN_IAR/rtl8195a.icf | 216 --- .../device/TOOLCHAIN_IAR/rtl8195a_rom.h | 740 --------- .../device/TOOLCHAIN_IAR/rtl8195a_startup.S | 31 - .../TARGET_MCU_RTL8195A/device/cmsis.h | 26 - .../TARGET_MCU_RTL8195A/device/cmsis_nvic.h | 36 - .../TARGET_MCU_RTL8195A/device/diag.h | 850 ---------- .../device/platform_autoconf.h | 246 --- .../device/platform_opts.h | 599 ------- .../TARGET_MCU_RTL8195A/device/rand.h | 19 - .../TARGET_MCU_RTL8195A/device/rtl8195a_clk.h | 65 - .../device/rtl8195a_compiler.h | 64 - .../device/rtl8195a_crypto.h | 24 - .../device/rtl8195a_init.c | 387 ----- .../device/rtl8195a_misc.h | 32 - .../device/rtl8195a_platform.h | 27 - .../device/rtl8195a_trap.h | 80 - .../TARGET_MCU_RTL8195A/device/rtl_utility.h | 68 - .../TARGET_MCU_RTL8195A/device/strproc.h | 108 -- .../TARGET_MCU_RTL8195A/device/system_8195a.h | 77 - .../TARGET_MCU_RTL8195A/device/va_list.h | 40 - .../TARGET_MCU_RTL8195A/flash_api.c | 78 - .../TARGET_MCU_RTL8195A/flash_ext.c | 467 ------ .../TARGET_MCU_RTL8195A/flash_ext.h | 53 - .../TARGET_MCU_RTL8195A/gpio_api.c | 214 --- .../TARGET_MCU_RTL8195A/gpio_irq_api.c | 86 - .../TARGET_MCU_RTL8195A/i2c_api.c | 564 ------- .../TARGET_MCU_RTL8195A/log_uart_api.c | 502 ------ .../TARGET_MCU_RTL8195A/log_uart_api.h | 331 ---- .../TARGET_MCU_RTL8195A/objects.h | 214 --- .../TARGET_MCU_RTL8195A/ota_api.c | 176 --- .../TARGET_MCU_RTL8195A/ota_api.h | 83 - .../TARGET_MCU_RTL8195A/port_api.c | 219 --- .../TARGET_MCU_RTL8195A/pwmout_api.c | 133 -- .../TARGET_MCU_RTL8195A/rtc_api.c | 71 - .../TARGET_MCU_RTL8195A/serial_api.c | 541 ------- .../TARGET_MCU_RTL8195A/spi_api.c | 391 ----- .../TARGET_MCU_RTL8195A/spi_ex_api.h | 244 --- .../TARGET_MCU_RTL8195A/timer_api.c | 151 -- .../TARGET_MCU_RTL8195A/timer_api.h | 46 - .../TARGET_MCU_RTL8195A/trng_api.c | 77 - .../TARGET_MCU_RTL8195A/us_ticker.c | 126 -- .../TARGET_AMEBA/default_wifi_interface.cpp | 24 - .../TARGET_Realtek/TARGET_AMEBA/rtw_emac.cpp | 241 --- .../TARGET_Realtek/TARGET_AMEBA/rtw_emac.h | 164 -- .../sdk/common/api/platform/dlist.h | 279 ---- .../sdk/common/api/platform/platform_stdlib.h | 56 - .../api/platform/platform_stdlib_rtl8195a.h | 166 -- .../sdk/common/api/wifi/wifi_conf.h | 954 ----------- .../sdk/common/api/wifi/wifi_ind.h | 104 -- .../sdk/common/api/wifi/wifi_util.h | 94 -- .../drivers/wlan/realtek/include/autoconf.h | 702 --------- .../wlan/realtek/include/wifi_constants.h | 572 ------- .../wlan/realtek/include/wifi_structures.h | 266 ---- .../wlan/realtek/src/osdep/freertos/wrapper.h | 448 ------ .../wlan/realtek/src/osdep/lwip_intf.c | 279 ---- .../wlan/realtek/src/osdep/lwip_intf.h | 87 - .../drivers/wlan/realtek/src/osdep/skbuff.h | 72 - .../drivers/wlan/realtek/src/osdep/wireless.h | 1211 -------------- .../wlan/realtek/src/osdep/wlan_intf.h | 82 - .../sdk/os/cmsis_rtos/cmsis_rtos_service.c | 1231 --------------- .../sdk/os/cmsis_rtos/cmsis_rtos_service.h | 288 ---- .../TARGET_AMEBA/sdk/os/os_dep/device_lock.c | 64 - .../sdk/os/os_dep/include/device_lock.h | 27 - .../sdk/os/os_dep/include/osdep_service.h | 1404 ----------------- .../sdk/os/os_dep/include/tcm_heap.h | 66 - .../sdk/os/os_dep/osdep_service.c | 1331 ---------------- .../TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c | 370 ----- .../sdk/soc/realtek/8195a/fwlib/hal_adc.h | 343 ---- .../sdk/soc/realtek/8195a/fwlib/hal_api.h | 132 -- .../sdk/soc/realtek/8195a/fwlib/hal_common.h | 17 - .../sdk/soc/realtek/8195a/fwlib/hal_dac.h | 339 ---- .../sdk/soc/realtek/8195a/fwlib/hal_diag.h | 111 -- .../sdk/soc/realtek/8195a/fwlib/hal_efuse.h | 27 - .../sdk/soc/realtek/8195a/fwlib/hal_gdma.h | 145 -- .../sdk/soc/realtek/8195a/fwlib/hal_gpio.h | 251 --- .../sdk/soc/realtek/8195a/fwlib/hal_i2c.h | 634 -------- .../sdk/soc/realtek/8195a/fwlib/hal_i2s.h | 347 ---- .../sdk/soc/realtek/8195a/fwlib/hal_irqn.h | 120 -- .../soc/realtek/8195a/fwlib/hal_log_uart.h | 159 -- .../sdk/soc/realtek/8195a/fwlib/hal_misc.h | 62 - .../sdk/soc/realtek/8195a/fwlib/hal_peri_on.h | 455 ------ .../sdk/soc/realtek/8195a/fwlib/hal_pinmux.h | 86 - .../soc/realtek/8195a/fwlib/hal_platform.h | 106 -- .../sdk/soc/realtek/8195a/fwlib/hal_pwm.h | 69 - .../realtek/8195a/fwlib/hal_soc_ps_monitor.h | 354 ----- .../soc/realtek/8195a/fwlib/hal_spi_flash.h | 385 ----- .../sdk/soc/realtek/8195a/fwlib/hal_ssi.h | 344 ---- .../sdk/soc/realtek/8195a/fwlib/hal_timer.h | 107 -- .../sdk/soc/realtek/8195a/fwlib/hal_uart.h | 264 ---- .../sdk/soc/realtek/8195a/fwlib/hal_util.h | 256 --- .../realtek/8195a/fwlib/hal_vector_table.h | 53 - .../realtek/8195a/fwlib/rtl8195a/rtl8195a.h | 284 ---- .../8195a/fwlib/rtl8195a/rtl8195a_adc.h | 354 ----- .../8195a/fwlib/rtl8195a/rtl8195a_dac.h | 306 ---- .../8195a/fwlib/rtl8195a/rtl8195a_gdma.h | 548 ------- .../8195a/fwlib/rtl8195a/rtl8195a_gpio.h | 341 ---- .../8195a/fwlib/rtl8195a/rtl8195a_i2c.h | 870 ---------- .../8195a/fwlib/rtl8195a/rtl8195a_i2s.h | 714 --------- .../8195a/fwlib/rtl8195a/rtl8195a_peri_on.h | 1263 --------------- .../8195a/fwlib/rtl8195a/rtl8195a_pwm.h | 69 - .../8195a/fwlib/rtl8195a/rtl8195a_sdio.h | 1040 ------------ .../8195a/fwlib/rtl8195a/rtl8195a_spi_flash.h | 1155 -------------- .../8195a/fwlib/rtl8195a/rtl8195a_ssi.h | 568 ------- .../8195a/fwlib/rtl8195a/rtl8195a_sys_on.h | 1105 ------------- .../8195a/fwlib/rtl8195a/rtl8195a_timer.h | 271 ---- .../8195a/fwlib/rtl8195a/rtl8195a_uart.h | 681 -------- .../8195a/fwlib/rtl8195a/rtl8195a_wdt.h | 94 -- .../realtek/8195a/misc/os/cmsis_pmu_8195a.c | 213 --- .../realtek/8195a/misc/os/cmsis_pmu_8195a.h | 110 -- .../sdk/soc/realtek/common/bsp/basic_types.h | 553 ------- .../soc/realtek/common/bsp/section_config.h | 335 ---- targets/TARGET_Realtek/mbed_rtx.h | 33 - targets/targets.json | 66 - 136 files changed, 38410 deletions(-) delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/PeripheralPins.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralNames.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralPins.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PinNames.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PortNames.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_ext.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogout_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_peripheral_mbed_arm.ar delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a.sct delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a_rom.o delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a_startup.S delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_peripheral_mbed_gcc.a delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a.ld delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a_rom.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a_startup.S delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_IAR/lib_peripheral_mbed_iar.a delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_IAR/lib_wlan_mbed_iar.a delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_IAR/rtl8195a.icf delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_IAR/rtl8195a_rom.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_IAR/rtl8195a_startup.S delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/cmsis.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/cmsis_nvic.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/diag.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/platform_autoconf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/platform_opts.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rand.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_clk.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_compiler.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_crypto.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_init.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_misc.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_platform.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl8195a_trap.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/rtl_utility.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/strproc.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/system_8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/va_list.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/flash_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/flash_ext.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/flash_ext.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/gpio_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/gpio_irq_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/i2c_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/log_uart_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/log_uart_api.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/objects.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/ota_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/ota_api.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/port_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/pwmout_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/rtc_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/serial_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_ex_api.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/timer_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/timer_api.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/trng_api.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/us_ticker.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/default_wifi_interface.cpp delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/rtw_emac.cpp delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/rtw_emac.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/platform/dlist.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/platform/platform_stdlib.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/platform/platform_stdlib_rtl8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_conf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_ind.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/api/wifi/wifi_util.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/autoconf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/wifi_constants.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/include/wifi_structures.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/freertos/wrapper.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/lwip_intf.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/lwip_intf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/skbuff.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/wireless.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/common/drivers/wlan/realtek/src/osdep/wlan_intf.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/device_lock.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/include/device_lock.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/include/osdep_service.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/include/tcm_heap.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/osdep_service.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_adc.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_api.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_common.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_dac.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_diag.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_efuse.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_gdma.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_gpio.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_i2c.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_i2s.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_irqn.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_log_uart.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_misc.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_peri_on.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_pinmux.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_platform.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_pwm.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_soc_ps_monitor.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_spi_flash.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_ssi.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_timer.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_uart.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_util.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_vector_table.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_adc.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_dac.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_gdma.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_gpio.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_i2c.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_i2s.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_peri_on.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_pwm.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_sdio.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_spi_flash.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_ssi.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_sys_on.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_timer.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_uart.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/rtl8195a/rtl8195a_wdt.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/os/cmsis_pmu_8195a.c delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/misc/os/cmsis_pmu_8195a.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/common/bsp/basic_types.h delete mode 100644 targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/common/bsp/section_config.h delete mode 100644 targets/TARGET_Realtek/mbed_rtx.h diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp deleted file mode 100644 index 30f589511c5..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.cpp +++ /dev/null @@ -1,273 +0,0 @@ -/* Ameba implementation of NetworkInterfaceAPI - * Copyright (c) 2015 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mbed.h" -#include "rtos.h" - -#include "RTWInterface.h" -#include "mbed_interface.h" - -#include "rtw_emac.h" -#include "EMAC.h" -#include "wifi_constants.h" -#include "wifi_conf.h" - -#include "OnboardNetworkStack.h" -#include "EMACMemoryManager.h" -#include "osdep_service.h" - -typedef struct _wifi_scan_hdl { - _sema scan_sema; - nsapi_size_t ap_num; - nsapi_size_t scan_num; - WiFiAccessPoint *ap_details; -} wifi_scan_hdl; - -#define MAX_SCAN_TIMEOUT (15000) - -static rtw_result_t scan_result_handler( rtw_scan_handler_result_t* malloced_scan_result ) -{ - wifi_scan_hdl *scan_handler = (wifi_scan_hdl *)malloced_scan_result->user_data; - if (malloced_scan_result->scan_complete != RTW_TRUE) { - if (scan_handler->ap_details && scan_handler->scan_num > scan_handler->ap_num) { - nsapi_wifi_ap_t ap; - rtw_scan_result_t* record = &malloced_scan_result->ap_details; - record->SSID.val[record->SSID.len] = 0; /* Ensure the SSID is null terminated */ - memset((void*)&ap, 0x00, sizeof(nsapi_wifi_ap_t)); - memcpy(ap.ssid, record->SSID.val, record->SSID.len); - memcpy(ap.bssid, record->BSSID.octet, 6); - switch (record->security) { - case RTW_SECURITY_OPEN: - ap.security = NSAPI_SECURITY_NONE; - break; - case RTW_SECURITY_WEP_PSK: - case RTW_SECURITY_WEP_SHARED: - ap.security = NSAPI_SECURITY_WEP; - break; - case RTW_SECURITY_WPA_TKIP_PSK: - case RTW_SECURITY_WPA_AES_PSK: - ap.security = NSAPI_SECURITY_WPA; - break; - case RTW_SECURITY_WPA2_AES_PSK: - case RTW_SECURITY_WPA2_TKIP_PSK: - case RTW_SECURITY_WPA2_MIXED_PSK: - ap.security = NSAPI_SECURITY_WPA2; - break; - case RTW_SECURITY_WPA_WPA2_MIXED: - ap.security = NSAPI_SECURITY_WPA_WPA2; - break; - default: - ap.security = NSAPI_SECURITY_UNKNOWN; - break; - } - ap.rssi = record->signal_strength; - ap.channel = record->channel; - scan_handler->ap_details[scan_handler->ap_num] = WiFiAccessPoint(ap); - } - scan_handler->ap_num++; - } else { - // scan done - rtw_up_sema(&scan_handler->scan_sema); - } - return RTW_SUCCESS; -} - -RTWInterface::RTWInterface(RTW_EMAC &get_rtw_emac, OnboardNetworkStack &get_rtw_obn_stack, bool debug) : - EMACInterface(get_rtw_emac, get_rtw_obn_stack), - rtw_emac(get_rtw_emac), - rtw_obn_stack(get_rtw_obn_stack) -{ - extern __u32 GlobalDebugEnable; - GlobalDebugEnable = debug?1:0; //Conditional statement: display debugging message - rtw_emac.power_up(); -} - -RTWInterface::~RTWInterface() -{ - rtw_emac.wlan_emac_link_change(false); - EMACInterface::disconnect(); -} - -/* - * we may call connect multiple times - */ -nsapi_error_t RTWInterface::set_credentials(const char *ssid, const char *pass, nsapi_security_t security) -{ - _security = security; - // Check if ssid is empty - if (!ssid) { - return NSAPI_ERROR_PARAMETER; - } - - // Check if ssid is too long - int ssid_length = strlen(ssid); - - if (ssid_length > 0 && ssid_length <= SSID_MAX_LENGTH) { - memset(_ssid, 0, sizeof(_ssid)); - strncpy(_ssid, ssid, sizeof(_ssid)); - } else { - return NSAPI_ERROR_PARAMETER; - } - - // Check if it is an open access point - if (_security != NSAPI_SECURITY_NONE) { - // Check if passphase is empty - if (!pass) { - return NSAPI_ERROR_PARAMETER; - } - // Check if passphase too long - if (strlen(pass) >= PASSPHRASE_MIN_LENGTH && strlen(pass) <= PASSPHRASE_MAX_LENGTH ) { - memset(_pass, 0, sizeof(_pass)); - strncpy(_pass, pass, sizeof(_pass)); - } else { - return NSAPI_ERROR_PARAMETER; - } - } else { // It is an open access point - memset(_pass, 0, sizeof(_pass)); - } - return NSAPI_ERROR_OK; -} - -nsapi_error_t RTWInterface::connect() -{ - int ret; - rtw_security_t sec; - - // Check if the ssid is empty - if (strlen(_ssid) == 0) { - return NSAPI_ERROR_NO_SSID; - } - // Check the security is empty and the passphase is valid - if ((_security != NSAPI_SECURITY_NONE) && (strlen(_pass) < PASSPHRASE_MIN_LENGTH)) { - return NSAPI_ERROR_PARAMETER; - } - // Based on security type set, adapt to Ameba SDK format - switch (_security) { - case NSAPI_SECURITY_WPA: - case NSAPI_SECURITY_WPA2: - case NSAPI_SECURITY_WPA_WPA2: - sec = RTW_SECURITY_WPA_WPA2_MIXED; - break; - case NSAPI_SECURITY_WEP: - sec = RTW_SECURITY_WEP_PSK; - break; - case NSAPI_SECURITY_NONE: - sec = RTW_SECURITY_OPEN; - break; - default: - return NSAPI_ERROR_PARAMETER; - } - // Check if channel number is valid - if (_channel > 0 && _channel < 14) { - uint8_t pscan_config = PSCAN_ENABLE; - wifi_set_pscan_chan(&_channel, &pscan_config, 1); // Indicate which channel will be scanned - } - ret = wifi_connect(_ssid, sec, _pass, strlen(_ssid), strlen(_pass), 0, (void *)NULL); // Join a WiFi network - // Check if the WiFi is connected. Return RTW_SUCCESS for succeful; Return RTW_ERROR for error - if (ret != RTW_SUCCESS) { - if(_ssid == "NULL"){ - return NSAPI_ERROR_PARAMETER; - } - else{ - printf("failed: %d\r\n", ret); - return NSAPI_ERROR_NO_CONNECTION; - } - } - rtw_emac.wlan_emac_link_change(true); - ret = EMACInterface::connect(); - return ret; -} - -nsapi_error_t RTWInterface::scan(WiFiAccessPoint *res, unsigned count) -{ - static wifi_scan_hdl scan_handler; - scan_handler.ap_num = 0; - if (!scan_handler.scan_sema) { - rtw_init_sema(&scan_handler.scan_sema, 0); - } - scan_handler.scan_num = count; - scan_handler.ap_details = res; - if (wifi_scan_networks(scan_result_handler, (void *)&scan_handler) != RTW_SUCCESS) { - printf("wifi scan failed\n\r"); - return NSAPI_ERROR_DEVICE_ERROR; - } - if (rtw_down_timeout_sema( &scan_handler.scan_sema, MAX_SCAN_TIMEOUT ) == RTW_FALSE) { - printf("wifi scan timeout\r\n"); - return NSAPI_ERROR_DEVICE_ERROR; - } - if (count <= 0 || count > scan_handler.ap_num) { - count = scan_handler.ap_num; - } - return count; -} - -nsapi_error_t RTWInterface::set_channel(uint8_t channel) -{ - _channel = channel; - return NSAPI_ERROR_UNSUPPORTED; -} - -int8_t RTWInterface::get_rssi() -{ - int rssi = 0; - if (wifi_get_rssi(&rssi) == 0) { - return (int8_t)rssi; - } - return NSAPI_ERROR_OK; -} - -nsapi_error_t RTWInterface::connect(const char *ssid, const char *pass, - nsapi_security_t security, uint8_t channel) -{ - set_channel(channel); - int err = set_credentials(ssid, pass, security); - if(err) { - return err; - } - return connect(); -} - -nsapi_error_t RTWInterface::disconnect() -{ - char essid[33]; - - rtw_emac.wlan_emac_link_change(false); - - EMACInterface::disconnect(); - - if (wifi_is_connected_to_ap() != RTW_SUCCESS) { - return NSAPI_ERROR_NO_CONNECTION; - } - if (wifi_disconnect()<0) { - return NSAPI_ERROR_DEVICE_ERROR; - } - while(1) { - if (wext_get_ssid(WLAN0_NAME, (unsigned char *) essid) < 0) { - break; - } - } - return NSAPI_ERROR_OK; -} - -int RTWInterface::is_connected() -{ - return !wifi_is_connected_to_ap(); -} - -NetworkStack *RTWInterface::get_stack() -{ - return &rtw_obn_stack; -} diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.h b/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.h deleted file mode 100644 index 06a9328bdcd..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/RTWInterface.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Ameba implementation of NetworkInterfaceAPI - * Copyright (c) 2015 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef RTW_INTERFACE_H -#define RTW_INTERFACE_H - -#include "netsocket/NetworkInterface.h" -#include "netsocket/WiFiInterface.h" -#include "nsapi.h" -#include "rtos.h" -#include "netif.h" -#include "rtw_emac.h" -#include "OnboardNetworkStack.h" -#include "EMACInterface.h" -#include "LWIPStack.h" - -// Forward declaration -class NetworkStack; - -/** Realtek Wlan (RTW) interface class - * Implementation of the NetworkStack for Ameba - */ -class RTWInterface: public WiFiInterface, public EMACInterface -{ -public: - /** RTWWlanInterface lifetime - */ - RTWInterface( - RTW_EMAC &rtw_emac = RTW_EMAC::get_instance(), - OnboardNetworkStack &rtw_lwip_stack = OnboardNetworkStack::get_default_instance(), bool debug=false); - - ~RTWInterface(); - - /** Set the WiFi network credentials - * - * @param ssid Name of the network to connect to - * @param pass Security passphrase to connect to the network - * @param security Type of encryption for connection - * (defaults to NSAPI_SECURITY_NONE) - * @return 0 on success, or error code on failure - */ - virtual nsapi_error_t set_credentials(const char *ssid, const char *pass, nsapi_security_t security = NSAPI_SECURITY_NONE); - - /** Start the interface - * - * Attempts to connect to a WiFi network. - * - * @param ssid Name of the network to connect to - * @param pass Security passphrase to connect to the network - * @param security Type of encryption for connection (Default: NSAPI_SECURITY_NONE) - * @param channel Channel on which the connection is to be made, or 0 for any (Default: 0) - * @return 0 on success, or error code on failure - */ - virtual nsapi_error_t connect(const char *ssid, const char *pass, - nsapi_security_t security = NSAPI_SECURITY_NONE, - uint8_t channel = 0); - - /** Start the interface - * @return 0 on success, negative on failure - */ - virtual nsapi_error_t connect(); - - /** Stop the interface - * @return 0 on success, negative on failure - */ - virtual nsapi_error_t disconnect(); - virtual int is_connected(); - - /** Scan for available networks - * - * The scan will - * If the network interface is set to non-blocking mode, scan will attempt to scan - * for WiFi networks asynchronously and return NSAPI_ERROR_WOULD_BLOCK. If a callback - * is attached, the callback will be called when the operation has completed. - * @param ap Pointer to allocated array to store discovered AP - * @param count Size of allocated @a res array, or 0 to only count available AP - * @param timeout Timeout in milliseconds; 0 for no timeout (Default: 0) - * @return Number of entries in @a, or if @a count was 0 number of available networks, negative on error - * see @a nsapi_error - */ - virtual nsapi_size_or_error_t scan(WiFiAccessPoint *res, unsigned count); - - virtual nsapi_error_t set_channel(uint8_t channel); - virtual int8_t get_rssi(); - - RTW_EMAC &get_emac() const { return rtw_emac; } - - virtual RTWInterface *rtwInterface() { return this; } - -protected: - /** Provide access to the underlying stack - * - * @return The underlying network stack - */ - virtual NetworkStack *get_stack(); - RTW_EMAC &rtw_emac; - OnboardNetworkStack &rtw_obn_stack; - char _ssid[256]; - char _pass[256]; - nsapi_security_t _security; - uint8_t _channel; - static const int SSID_MAX_LENGTH = 32; //The longest ssid - static const int PASSPHRASE_MAX_LENGTH = 63; //The longest passphrase - static const int PASSPHRASE_MIN_LENGTH = 8; // The shortest passphrase -}; -#endif diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/PeripheralPins.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/PeripheralPins.h deleted file mode 100644 index 5231e92aa7c..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/PeripheralPins.h +++ /dev/null @@ -1,54 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PERIPHERALPINS_H -#define MBED_PERIPHERALPINS_H - -#include "cmsis.h" -#include "pinmap.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// for spi_api.c -extern const PinMap PinMap_SSI_MOSI[]; -extern const PinMap PinMap_SSI_MISO[]; -extern const PinMap PinMap_SSI_SCLK[]; -extern const PinMap PinMap_SSI_SSEL[]; - -// for serial_api.c -extern const PinMap PinMap_UART_TX[]; -extern const PinMap PinMap_UART_RX[]; - -// for pwmout_api.c -extern const PinMap PinMap_PWM[]; - -// for i2c_api.c -extern const PinMap PinMap_I2C_SDA[]; -extern const PinMap PinMap_I2C_SCL[]; - -// for analogin_api.c -extern const PinMap PinMap_ADC[]; - -// for analogout_api.c -extern const PinMap PinMap_DAC[]; - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralNames.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralNames.h deleted file mode 100644 index aba42a11380..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralNames.h +++ /dev/null @@ -1,42 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PERIPHERALNAMES_H -#define MBED_PERIPHERALNAMES_H - -#include "cmsis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define UART_3 3 -#define STDIO_UART_TX PB_0 -#define STDIO_UART_RX PB_1 -#define STDIO_UART UART_3 - - -typedef enum { - DAC_0 = 0, - DAC_1 -} DACName; - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralPins.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralPins.c deleted file mode 100644 index 2e1890ea32c..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PeripheralPins.c +++ /dev/null @@ -1,182 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "PeripheralPins.h" - -// for spi_api.c -const PinMap PinMap_SSI_MOSI[] = { - {PE_2, RTL_PIN_PERI(SPI0, 0, S0), RTL_PIN_FUNC(SPI0, S0)}, - {PC_2, RTL_PIN_PERI(SPI0, 0, S1), RTL_PIN_FUNC(SPI0, S1)}, - {PA_1, RTL_PIN_PERI(SPI1, 1, S0), RTL_PIN_FUNC(SPI1, S0)}, - {PB_6, RTL_PIN_PERI(SPI1, 1, S1), RTL_PIN_FUNC(SPI1, S1)}, - {PD_6, RTL_PIN_PERI(SPI1, 1, S2), RTL_PIN_FUNC(SPI1, S2)}, - {PG_2, RTL_PIN_PERI(SPI2, 2, S0), RTL_PIN_FUNC(SPI2, S0)}, - {PE_6, RTL_PIN_PERI(SPI2, 2, S1), RTL_PIN_FUNC(SPI2, S1)}, - {PD_2, RTL_PIN_PERI(SPI2, 2, S2), RTL_PIN_FUNC(SPI2, S2)}, - {NC, NC, 0} -}; - -const PinMap PinMap_SSI_MISO[] = { - {PE_3, RTL_PIN_PERI(SPI0, 0, S0), RTL_PIN_FUNC(SPI0, S0)}, - {PC_3, RTL_PIN_PERI(SPI0, 0, S1), RTL_PIN_FUNC(SPI0, S1)}, - {PA_0, RTL_PIN_PERI(SPI1, 1, S0), RTL_PIN_FUNC(SPI1, S0)}, - {PB_7, RTL_PIN_PERI(SPI1, 1, S1), RTL_PIN_FUNC(SPI1, S1)}, - {PD_7, RTL_PIN_PERI(SPI1, 1, S2), RTL_PIN_FUNC(SPI1, S2)}, - {PG_3, RTL_PIN_PERI(SPI2, 2, S0), RTL_PIN_FUNC(SPI2, S0)}, - {PE_7, RTL_PIN_PERI(SPI2, 2, S1), RTL_PIN_FUNC(SPI2, S1)}, - {PD_3, RTL_PIN_PERI(SPI2, 2, S2), RTL_PIN_FUNC(SPI2, S2)}, - {NC, NC, 0} -}; - -// For testing only -const PinMap PinMap_SSI_SCLK[] = { - {PC_1, RTL_PIN_PERI(SPI0, 0, S1), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S1), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S2), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S1), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S2), /* Unused */ 0}, - - {NC, NC, 0} -}; - -// For testing only -const PinMap PinMap_SSI_SSEL[] = { - {PE_5, RTL_PIN_PERI(SPI0, 0, S2), /* Unused */ 0}, - {PC_5, RTL_PIN_PERI(SPI0, 0, S2), /* Unused */ 0}, - {PC_4, RTL_PIN_PERI(SPI0, 0, S1), /* Unused */ 0}, - {PC_0, RTL_PIN_PERI(SPI0, 0, S0), /* Unused */ 0}, - {PA_4, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PD_4, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - - {NC, NC, 0} -}; - -// for serial_api.c -const PinMap PinMap_UART_TX[] = { - {PC_3, RTL_PIN_PERI(UART0, 0, S0), RTL_PIN_FUNC(UART0, S0)}, - {PE_0, RTL_PIN_PERI(UART0, 0, S1), RTL_PIN_FUNC(UART0, S1)}, - {PA_7, RTL_PIN_PERI(UART0, 0, S2), RTL_PIN_FUNC(UART0, S2)}, - {PD_3, RTL_PIN_PERI(UART1, 1, S0), RTL_PIN_FUNC(UART1, S0)}, - {PE_4, RTL_PIN_PERI(UART1, 1, S1), RTL_PIN_FUNC(UART1, S1)}, - {PB_5, RTL_PIN_PERI(UART1, 1, S2), RTL_PIN_FUNC(UART1, S2)}, - {PA_4, RTL_PIN_PERI(UART2, 2, S0), RTL_PIN_FUNC(UART2, S0)}, - {PC_9, RTL_PIN_PERI(UART2, 2, S1), RTL_PIN_FUNC(UART2, S1)}, - {PD_7, RTL_PIN_PERI(UART2, 2, S2), RTL_PIN_FUNC(UART2, S2)}, - {PB_0, RTL_PIN_PERI(LOG_UART, 3, S0), RTL_PIN_FUNC(LOG_UART, S0)}, - {NC, NC, 0} -}; - -const PinMap PinMap_UART_RX[] = { - {PC_0, RTL_PIN_PERI(UART0, 0, S0), RTL_PIN_FUNC(UART0, S0)}, - {PE_3, RTL_PIN_PERI(UART0, 0, S1), RTL_PIN_FUNC(UART0, S1)}, - {PA_6, RTL_PIN_PERI(UART0, 0, S2), RTL_PIN_FUNC(UART0, S2)}, - {PD_0, RTL_PIN_PERI(UART1, 1, S0), RTL_PIN_FUNC(UART1, S0)}, - {PE_7, RTL_PIN_PERI(UART1, 1, S1), RTL_PIN_FUNC(UART1, S1)}, - {PB_4, RTL_PIN_PERI(UART1, 1, S2), RTL_PIN_FUNC(UART1, S2)}, - {PA_0, RTL_PIN_PERI(UART2, 2, S0), RTL_PIN_FUNC(UART2, S0)}, - {PC_6, RTL_PIN_PERI(UART2, 2, S1), RTL_PIN_FUNC(UART2, S1)}, - {PD_4, RTL_PIN_PERI(UART2, 2, S2), RTL_PIN_FUNC(UART2, S2)}, - {PB_1, RTL_PIN_PERI(LOG_UART, 3, S0), RTL_PIN_FUNC(LOG_UART, S0)}, - {NC, NC, 0} -}; - -// for pwmout_api.c -const PinMap PinMap_PWM[] = { - {PB_4, RTL_PIN_PERI(PWM0, 0, S0), RTL_PIN_FUNC(PWM0, S0)}, - {PB_5, RTL_PIN_PERI(PWM1, 1, S0), RTL_PIN_FUNC(PWM1, S0)}, - {PB_6, RTL_PIN_PERI(PWM2, 2, S0), RTL_PIN_FUNC(PWM2, S0)}, - {PB_7, RTL_PIN_PERI(PWM3, 3, S0), RTL_PIN_FUNC(PWM3, S0)}, - - {PC_0, RTL_PIN_PERI(PWM0, 0, S1), RTL_PIN_FUNC(PWM0, S1)}, - {PC_1, RTL_PIN_PERI(PWM1, 1, S1), RTL_PIN_FUNC(PWM1, S1)}, - {PC_2, RTL_PIN_PERI(PWM2, 2, S1), RTL_PIN_FUNC(PWM2, S1)}, - {PC_3, RTL_PIN_PERI(PWM3, 3, S1), RTL_PIN_FUNC(PWM3, S1)}, - - {PD_3, RTL_PIN_PERI(PWM0, 0, S2), RTL_PIN_FUNC(PWM0, S2)}, - {PD_4, RTL_PIN_PERI(PWM1, 1, S2), RTL_PIN_FUNC(PWM1, S2)}, - {PD_5, RTL_PIN_PERI(PWM2, 2, S2), RTL_PIN_FUNC(PWM2, S2)}, - {PD_6, RTL_PIN_PERI(PWM3, 3, S2), RTL_PIN_FUNC(PWM3, S2)}, - - {PE_0, RTL_PIN_PERI(PWM0, 0, S3), RTL_PIN_FUNC(PWM0, S3)}, - {PE_1, RTL_PIN_PERI(PWM1, 1, S3), RTL_PIN_FUNC(PWM1, S3)}, - {PE_2, RTL_PIN_PERI(PWM2, 2, S3), RTL_PIN_FUNC(PWM2, S3)}, - {PE_3, RTL_PIN_PERI(PWM3, 3, S3), RTL_PIN_FUNC(PWM3, S3)}, - - {NC, NC, 0} -}; - -// for i2c_api.c -const PinMap PinMap_I2C_SDA[] = { - {PD_4, RTL_PIN_PERI(I2C0, 0, S0), RTL_PIN_FUNC(I2C0, S0)}, - {PH_1, RTL_PIN_PERI(I2C0, 0, S1), RTL_PIN_FUNC(I2C0, S1)}, - {PC_8, RTL_PIN_PERI(I2C0, 0, S2), RTL_PIN_FUNC(I2C0, S2)}, - {PE_7, RTL_PIN_PERI(I2C0, 0, S3), RTL_PIN_FUNC(I2C0, S3)}, - - {PC_4, RTL_PIN_PERI(I2C1, 1, S0), RTL_PIN_FUNC(I2C1, S0)}, - {PH_3, RTL_PIN_PERI(I2C1, 1, S1), RTL_PIN_FUNC(I2C1, S1)}, - {PD_7, RTL_PIN_PERI(I2C1, 1, S2), RTL_PIN_FUNC(I2C1, S2)}, - - {PB_7, RTL_PIN_PERI(I2C2, 2, S0), RTL_PIN_FUNC(I2C2, S0)}, - {PE_1, RTL_PIN_PERI(I2C2, 2, S1), RTL_PIN_FUNC(I2C2, S1)}, - {PC_7, RTL_PIN_PERI(I2C2, 2, S2), RTL_PIN_FUNC(I2C2, S2)}, - - {PB_3, RTL_PIN_PERI(I2C3, 3, S0), RTL_PIN_FUNC(I2C3, S0)}, - {PE_3, RTL_PIN_PERI(I2C3, 3, S1), RTL_PIN_FUNC(I2C3, S1)}, - {PE_5, RTL_PIN_PERI(I2C3, 3, S2), RTL_PIN_FUNC(I2C3, S2)}, - {PD_9, RTL_PIN_PERI(I2C3, 3, S3), RTL_PIN_FUNC(I2C3, S3)}, - - {NC, NC, 0} -}; - -const PinMap PinMap_I2C_SCL[] = { - {PD_5, RTL_PIN_PERI(I2C0, 0, S0), RTL_PIN_FUNC(I2C0, S0)}, - {PH_0, RTL_PIN_PERI(I2C0, 0, S1), RTL_PIN_FUNC(I2C0, S1)}, - {PC_9, RTL_PIN_PERI(I2C0, 0, S2), RTL_PIN_FUNC(I2C0, S2)}, - {PE_6, RTL_PIN_PERI(I2C0, 0, S3), RTL_PIN_FUNC(I2C0, S3)}, - - {PC_5, RTL_PIN_PERI(I2C1, 1, S0), RTL_PIN_FUNC(I2C1, S0)}, - {PH_2, RTL_PIN_PERI(I2C1, 1, S1), RTL_PIN_FUNC(I2C1, S1)}, - {PD_6, RTL_PIN_PERI(I2C1, 1, S2), RTL_PIN_FUNC(I2C1, S2)}, - - {PB_6, RTL_PIN_PERI(I2C2, 2, S0), RTL_PIN_FUNC(I2C2, S0)}, - {PE_0, RTL_PIN_PERI(I2C2, 2, S1), RTL_PIN_FUNC(I2C2, S1)}, - {PC_6, RTL_PIN_PERI(I2C2, 2, S2), RTL_PIN_FUNC(I2C2, S2)}, - - {PB_2, RTL_PIN_PERI(I2C3, 3, S0), RTL_PIN_FUNC(I2C3, S0)}, - {PE_2, RTL_PIN_PERI(I2C3, 3, S1), RTL_PIN_FUNC(I2C3, S1)}, - {PE_4, RTL_PIN_PERI(I2C3, 3, S2), RTL_PIN_FUNC(I2C3, S2)}, - {PD_8, RTL_PIN_PERI(I2C3, 3, S3), RTL_PIN_FUNC(I2C3, S3)}, - - {NC, NC, 0} -}; - -// For testing only -const PinMap PinMap_ADC[] = { - {A1, /* Unused */ 0, /* Unused */ 0}, - {A2, /* Unused */ 0, /* Unused */ 0}, - - {NC, NC, 0} -}; - -// For testing only -const PinMap PinMap_DAC[] = { - {DA_0, /* Unused */ 0, /* Unused */ 0}, - {DA_1, /* Unused */ 0, /* Unused */ 0}, - - {NC, NC, 0} -}; diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PinNames.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PinNames.h deleted file mode 100644 index 60895420ed9..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PinNames.h +++ /dev/null @@ -1,238 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef _PINNAMES_H_ -#define _PINNAMES_H_ - -#include "cmsis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - PORT_A = 0, - PORT_B = 1, - PORT_C = 2, - PORT_D = 3, - PORT_E = 4, - PORT_F = 5, - PORT_G = 6, - PORT_H = 7, - PORT_I = 8, - PORT_J = 9, - PORT_K = 10, - - PORT_V = 11, - PORT_U = 12, - PORT_MAX -} GPIO_PORT; - -#define RTL_PIN_PERI(FUN, IDX, SEL) ((int)(((FUN) << 8) | ((IDX)<<4) | (SEL))) -#define RTL_PIN_FUNC(FUN, SEL) ((int)(((FUN) << 7) | (SEL))) -#define RTL_GET_PERI_SEL(peri) ((int)((peri)&0x0F)) -#define RTL_GET_PERI_IDX(peri) ((int)(((peri) >> 4)&0x0F)) - -typedef enum { - PIN_INPUT=0, - PIN_OUTPUT -} PinDirection; - - -typedef enum { - PA_0 = (PORT_A<<4|0), - PA_1 = (PORT_A<<4|1), - PA_2 = (PORT_A<<4|2), - PA_3 = (PORT_A<<4|3), - PA_4 = (PORT_A<<4|4), - PA_5 = (PORT_A<<4|5), - PA_6 = (PORT_A<<4|6), - PA_7 = (PORT_A<<4|7), - - PB_0 = (PORT_B<<4|0), - PB_1 = (PORT_B<<4|1), - PB_2 = (PORT_B<<4|2), - PB_3 = (PORT_B<<4|3), - PB_4 = (PORT_B<<4|4), - PB_5 = (PORT_B<<4|5), - PB_6 = (PORT_B<<4|6), - PB_7 = (PORT_B<<4|7), - - PC_0 = (PORT_C<<4|0), - PC_1 = (PORT_C<<4|1), - PC_2 = (PORT_C<<4|2), - PC_3 = (PORT_C<<4|3), - PC_4 = (PORT_C<<4|4), - PC_5 = (PORT_C<<4|5), - PC_6 = (PORT_C<<4|6), - PC_7 = (PORT_C<<4|7), - PC_8 = (PORT_C<<4|8), - PC_9 = (PORT_C<<4|9), - - PD_0 = (PORT_D<<4|0), - PD_1 = (PORT_D<<4|1), - PD_2 = (PORT_D<<4|2), - PD_3 = (PORT_D<<4|3), - PD_4 = (PORT_D<<4|4), - PD_5 = (PORT_D<<4|5), - PD_6 = (PORT_D<<4|6), - PD_7 = (PORT_D<<4|7), - PD_8 = (PORT_D<<4|8), - PD_9 = (PORT_D<<4|9), - - PE_0 = (PORT_E<<4|0), - PE_1 = (PORT_E<<4|1), - PE_2 = (PORT_E<<4|2), - PE_3 = (PORT_E<<4|3), - PE_4 = (PORT_E<<4|4), - PE_5 = (PORT_E<<4|5), - PE_6 = (PORT_E<<4|6), - PE_7 = (PORT_E<<4|7), - PE_8 = (PORT_E<<4|8), - PE_9 = (PORT_E<<4|9), - PE_A = (PORT_E<<4|10), - - PF_0 = (PORT_F<<4|0), - PF_1 = (PORT_F<<4|1), - PF_2 = (PORT_F<<4|2), - PF_3 = (PORT_F<<4|3), - PF_4 = (PORT_F<<4|4), - PF_5 = (PORT_F<<4|5), - /* unavailable pins */ -// PF_6 = (PORT_F<<4|6), -// PF_7 = (PORT_F<<4|7), - - PG_0 = (PORT_G<<4|0), - PG_1 = (PORT_G<<4|1), - PG_2 = (PORT_G<<4|2), - PG_3 = (PORT_G<<4|3), - PG_4 = (PORT_G<<4|4), - PG_5 = (PORT_G<<4|5), - PG_6 = (PORT_G<<4|6), - PG_7 = (PORT_G<<4|7), - - PH_0 = (PORT_H<<4|0), - PH_1 = (PORT_H<<4|1), - PH_2 = (PORT_H<<4|2), - PH_3 = (PORT_H<<4|3), - PH_4 = (PORT_H<<4|4), - PH_5 = (PORT_H<<4|5), - PH_6 = (PORT_H<<4|6), - PH_7 = (PORT_H<<4|7), - - PI_0 = (PORT_I<<4|0), - PI_1 = (PORT_I<<4|1), - PI_2 = (PORT_I<<4|2), - PI_3 = (PORT_I<<4|3), - PI_4 = (PORT_I<<4|4), - PI_5 = (PORT_I<<4|5), - PI_6 = (PORT_I<<4|6), - PI_7 = (PORT_I<<4|7), - - PJ_0 = (PORT_J<<4|0), - PJ_1 = (PORT_J<<4|1), - PJ_2 = (PORT_J<<4|2), - PJ_3 = (PORT_J<<4|3), - PJ_4 = (PORT_J<<4|4), - PJ_5 = (PORT_J<<4|5), - PJ_6 = (PORT_J<<4|6), - /* unavailable pins */ -// PJ_7 = (PORT_J<<4|7), - - PK_0 = (PORT_K<<4|0), - PK_1 = (PORT_K<<4|1), - PK_2 = (PORT_K<<4|2), - PK_3 = (PORT_K<<4|3), - PK_4 = (PORT_K<<4|4), - PK_5 = (PORT_K<<4|5), - PK_6 = (PORT_K<<4|6), - /* unavailable pins */ - // PK_7 = (PORT_K<<4|7), - - AD_1 = (PORT_V<<4|1), - AD_2 = (PORT_V<<4|2), - AD_3 = (PORT_V<<4|3), - - DA_0 = (PORT_U<<4|0), - DA_1 = (PORT_U<<4|1), - - // Not connected - NC = (int)0xFFFFFFFF, - - // Generic signals namings - /* LED1~4 are defined as alias of GPIO pins, they are not the LEDs on board*/ - LED1 = PB_4, - LED2 = PB_5, - LED3 = PB_6, - LED4 = PB_7, - SERIAL_TX = PA_7, - SERIAL_RX = PA_6, - USBTX = PB_0, - USBRX = PB_1, - I2C_SCL = PC_5, - I2C_SDA = PC_4, - SPI_MOSI = PC_2, - SPI_MISO = PC_3, - SPI_SCK = PC_1, - SPI_CS = PC_0, - PWM_OUT = PD_4, - - // Arduino connector namings - - A0 = AD_2,//A0 and A1 are connected - A1 = AD_2, - A2 = AD_3, - A3 = NC, - A4 = NC, - A5 = NC, - - D0 = PA_6, - D1 = PA_7, - D2 = PA_5, - D3 = PD_4, - D4 = PD_5, - D5 = PA_4, - D6 = PA_3, - D7 = PA_2, - D8 = PB_4, - D9 = PB_5, - D10 = PC_0, - D11 = PC_2, - D12 = PC_3, - D13 = PC_1, - D14 = PB_3, - D15 = PB_2, - D16 = PA_1, - D17 = PA_0, - D18 = PE_5 - -} PinName; - -typedef enum { - PullNone = 0, - PullUp = 1, - PullDown = 2, - OpenDrain = 3, - PullDefault = PullNone -} PinMode; - -#define PORT_NUM(pin) (((uint32_t)(pin) >> 4) & 0xF) -#define PIN_NUM(pin) ((uint32_t)(pin) & 0xF) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PortNames.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PortNames.h deleted file mode 100644 index 29a53243712..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/TARGET_RTL8195A/PortNames.h +++ /dev/null @@ -1,38 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_PORTNAMES_H -#define MBED_PORTNAMES_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - PortA = 0, - PortB = 1, - PortC = 2, - PortD = 3, - PortE = 4, - PortF = 5, - PortG = 6, - PortH = 7, - PortI = 8 -} PortName; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_api.c deleted file mode 100644 index 13ac03054c3..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_api.c +++ /dev/null @@ -1,211 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2013-2016 Realtek Semiconductor Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "objects.h" -#include "PinNames.h" -#include "hal_adc.h" -#include "analogin_api.h" -#include "PeripheralPins.h" - -#ifdef CONFIG_MBED_ENABLED -#include "platform_stdlib.h" -#endif - -#if CONFIG_ADC_EN -#include "pinmap.h" - - -extern u32 ConfigDebugErr; -extern u32 ConfigDebuginfo; - - -void analogin_init (analogin_t *obj, PinName pin) -{ - uint32_t adc_idx; - PSAL_ADC_MNGT_ADPT pSalADCMngtAdpt = NULL; - PSAL_ADC_USERCB_ADPT pSalADCUserCBAdpt = NULL; - PSAL_ADC_HND pSalADCHND = NULL; - - HAL_ADC_INIT_DAT HalADCInitDataTmp; - PHAL_ADC_INIT_DAT pHalADCInitDataTmp = &HalADCInitDataTmp; - /* To backup user config first */ - -#if defined(CONFIG_MBED_ENABLED) - _memset(&(obj->HalADCInitData), 0, sizeof(HAL_ADC_INIT_DAT)); -#endif - - _memcpy(pHalADCInitDataTmp, &(obj->HalADCInitData), sizeof(HAL_ADC_INIT_DAT)); - _memset(obj, 0x00, sizeof(analogin_t)); - - ConfigDebugErr &= (~(_DBG_ADC_|_DBG_GDMA_)); - ConfigDebugInfo&= (~(_DBG_ADC_|_DBG_GDMA_)); - - adc_idx = pin & 0x0F; - - /* Get I2C device handler */ - pSalADCMngtAdpt = &(obj->SalADCMngtAdpt); - pSalADCUserCBAdpt = (PSAL_ADC_USERCB_ADPT)&(obj->SalADCUserCBAdpt); - - /*To assign the rest pointers*/ - pSalADCMngtAdpt->pSalHndPriv = &(obj->SalADCHndPriv); - pSalADCMngtAdpt->pSalHndPriv->ppSalADCHnd = (void**)&(pSalADCMngtAdpt->pSalHndPriv); - - /* To assign the default (ROM) HAL OP initialization function */ - pSalADCMngtAdpt->pHalOpInit = &HalADCOpInit; - - /* To assign the default (ROM) HAL GDMA OP initialization function */ - pSalADCMngtAdpt->pHalGdmaOpInit = &HalGdmaOpInit; - - /* To assign the default (ROM) SAL interrupt function */ - pSalADCMngtAdpt->pSalIrqFunc = &ADCISRHandle; - - /* To assign the default (ROM) SAL DMA TX interrupt function */ - pSalADCMngtAdpt->pSalDMAIrqFunc = &ADCGDMAISRHandle; - - /* To backup user config first */ - //_memcpy(pHalADCInitDataTmp, &(obj->HalADCInitData), sizeof(HAL_ADC_INIT_DAT)); - - pSalADCMngtAdpt->pHalInitDat = &(obj->HalADCInitData); - pSalADCMngtAdpt->pHalOp = &(obj->HalADCOp); - pSalADCMngtAdpt->pIrqHnd = &(obj->ADCIrqHandleDat); - pSalADCMngtAdpt->pHalGdmaAdp = &(obj->HalADCGdmaAdpt); - pSalADCMngtAdpt->pHalGdmaOp = &(obj->HalADCGdmaOp); - pSalADCMngtAdpt->pIrqGdmaHnd = &(obj->ADCGdmaIrqHandleDat); - pSalADCMngtAdpt->pUserCB = &(obj->SalADCUserCB); - - /* Assign the private SAL handle to public SAL handle */ - pSalADCHND = &(pSalADCMngtAdpt->pSalHndPriv->SalADCHndPriv); - - /* Assign the internal HAL initial data pointer to the SAL handle */ - pSalADCHND->pInitDat = pSalADCMngtAdpt->pHalInitDat; - - /* Assign the internal user callback pointer to the SAL handle */ - pSalADCHND->pUserCB = pSalADCMngtAdpt->pUserCB; - - /*To assign user callback pointers*/ - - pSalADCMngtAdpt->pUserCB->pRXCB = pSalADCUserCBAdpt; - pSalADCMngtAdpt->pUserCB->pRXCCB = (pSalADCUserCBAdpt+1); - pSalADCMngtAdpt->pUserCB->pERRCB = (pSalADCUserCBAdpt+2); - pSalADCMngtAdpt->pUserCB->pIDMARXCCB= (pSalADCUserCBAdpt+3); - pSalADCMngtAdpt->pUserCB->pDMARXCB = (pSalADCUserCBAdpt+4); - pSalADCMngtAdpt->pUserCB->pDMARXCCB = (pSalADCUserCBAdpt+5); - /* Set ADC Device Number */ - pSalADCHND->DevNum = adc_idx; - - /* Load ADC default value */ - RtkADCLoadDefault(pSalADCHND); - - /* Assign ADC Pin Mux */ - pSalADCHND->PinMux = 0; - pSalADCHND->OpType = ADC_RDREG_TYPE; - - /* Load user setting */ - if ((pHalADCInitDataTmp->ADCEndian == ADC_DATA_ENDIAN_LITTLE) || (pHalADCInitDataTmp->ADCEndian == ADC_DATA_ENDIAN_BIG)) { - pSalADCHND->pInitDat->ADCEndian = pHalADCInitDataTmp->ADCEndian; - } - - if ((pHalADCInitDataTmp->ADCAudioEn != ADC_FEATURE_DISABLED) && (pHalADCInitDataTmp->ADCAudioEn < 2)) { - pSalADCHND->pInitDat->ADCAudioEn = pHalADCInitDataTmp->ADCAudioEn; - } - - /* Init ADC now */ - pSalADCHND->pInitDat->ADCBurstSz = 8; - pSalADCHND->pInitDat->ADCOneShotTD = 8; - RtkADCInit(pSalADCHND); -} - -float analogin_read(analogin_t *obj) -{ - float value; - uint32_t AnaloginTmp[2] = {0,0}; - uint32_t AnaloginDatMsk = 0xFFFF; - uint8_t AnaloginIdx = 0; - uint32_t AnalogDat = 0; - -#if defined(CONFIG_MBED_ENABLED) - //no auto-calibration implemented yet, uses hard coded calibrate - uint32_t Offset = 0x2980; - uint32_t AnalogDatFull = 0xAA00; -#else - uint32_t AnalogDatFull = 0; -#endif - - PSAL_ADC_MNGT_ADPT pSalADCMngtAdpt = NULL; - PSAL_ADC_HND pSalADCHND = NULL; - - pSalADCMngtAdpt = &(obj->SalADCMngtAdpt); - pSalADCHND = &(pSalADCMngtAdpt->pSalHndPriv->SalADCHndPriv); - AnaloginIdx = pSalADCHND->DevNum; - RtkADCReceiveBuf(pSalADCHND,&AnaloginTmp[0]); - - AnaloginDatMsk = (u32)(AnaloginDatMsk<<((u32)(16*(AnaloginIdx&0x01)))); - AnalogDat = AnaloginTmp[(AnaloginIdx/2)]; - AnalogDat = (AnalogDat & AnaloginDatMsk); - AnalogDat = (AnalogDat>>((u32)(16*(AnaloginIdx&0x01)))); - -#if defined(CONFIG_MBED_ENABLED) - AnalogDat -= Offset; -#else - AnalogDatFull = 0xCE80; -#endif - - value = (float)(AnalogDat) / (float)(AnalogDatFull); - return (float)value; -} - -uint16_t analogin_read_u16(analogin_t *obj) -{ - uint32_t AnaloginTmp[2] = {0,0}; - uint32_t AnaloginDatMsk = 0xFFFF; - uint8_t AnaloginIdx = 0; - uint32_t AnalogDat = 0; - - PSAL_ADC_MNGT_ADPT pSalADCMngtAdpt = NULL; - PSAL_ADC_HND pSalADCHND = NULL; - - pSalADCMngtAdpt = &(obj->SalADCMngtAdpt); - pSalADCHND = &(pSalADCMngtAdpt->pSalHndPriv->SalADCHndPriv); - AnaloginIdx = pSalADCHND->DevNum; - RtkADCRxManualRotate(pSalADCHND,&AnaloginTmp[0]); - - AnaloginDatMsk = (u32)(AnaloginDatMsk<<((u32)(16*(AnaloginIdx&0x01)))); - AnalogDat = AnaloginTmp[(AnaloginIdx/2)]; - AnalogDat = (AnalogDat & AnaloginDatMsk); - AnalogDat = (AnalogDat>>((u32)(16*(AnaloginIdx&0x01)))); - - return (uint16_t)AnalogDat; -} - - -void analogin_deinit(analogin_t *obj) -{ - PSAL_ADC_MNGT_ADPT pSalADCMngtAdpt = NULL; - PSAL_ADC_HND pSalADCHND = NULL; - - pSalADCMngtAdpt = &(obj->SalADCMngtAdpt); - pSalADCHND = &(pSalADCMngtAdpt->pSalHndPriv->SalADCHndPriv); - - /* To deinit analogin */ - RtkADCDeInit(pSalADCHND); -} - -const PinMap *analogin_pinmap() -{ - return PinMap_ADC; -} - -#endif diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_ext.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_ext.h deleted file mode 100644 index 83846aafd45..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogin_ext.h +++ /dev/null @@ -1,31 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2013-2016 Realtek Semiconductor Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_ANALOGIN_EXT_H -#define MBED_ANALOGIN_EXT_H - -#ifdef __cplusplus -extern "C" { -#endif - -extern void analogin_deinit(analogin_t *obj); - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogout_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogout_api.c deleted file mode 100644 index 0a50d63e54f..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/analogout_api.c +++ /dev/null @@ -1,197 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2013-2016 Realtek Semiconductor Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "objects.h" -#include "analogout_api.h" - - -#if CONFIG_DAC_EN - -#include "cmsis.h" -#include "pinmap.h" -#include "PeripheralPins.h" -#include - -#define DAC_POSITIVE_FULL_SCALE 0x7E0 -#define DAC_NEGATIVE_FULL_SCALE 0x820 - -extern void HalDACPinMuxInit(void *Data); -extern void HalDACPinMuxDeInit(void *Data); - -/** \brief analogout_init:\n - * to initialize DAC - * - * This function is mainly to initialize a DAC channel. - * \para dac_t *: obj - * \para PinName: pin - */ -void analogout_init(dac_t *obj, PinName pin) -{ - uint32_t dac_idx; - uint32_t DacTemp; - PHAL_DAC_INIT_DAT pHalDacInitData = (PHAL_DAC_INIT_DAT)&(obj->DACpara); - dac_idx = pin & 0x0F; - - /* Assign dac index */ - pHalDacInitData->DACIdx = dac_idx; - - pHalDacInitData->DACEn = DAC_DISABLE; - pHalDacInitData->DACDataRate = DAC_DATA_RATE_250K; - pHalDacInitData->DACEndian = DAC_DATA_ENDIAN_LITTLE; - pHalDacInitData->DACBurstSz = 10; - pHalDacInitData->DACDbgSel = DAC_DBG_SEL_DISABLE; - pHalDacInitData->DACDscDbgSel = DAC_DSC_DBG_SEL_DISABLE; - pHalDacInitData->DACBPDsc = DAC_BYPASS_DSC_SEL_DISABLE; - pHalDacInitData->DACDeltaSig = 0; - pHalDacInitData->DACAnaCtrl0 = 0; - pHalDacInitData->DACAnaCtrl1 = 0; - pHalDacInitData->DACIntrMSK = DAC_FEATURE_DISABLED; - - /* DAC Function and Clock Enable*/ - HalDACPinMuxInit(pHalDacInitData); - - HalDACInit8195a(pHalDacInitData); - - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC_INTR_CTRL, - (BIT_DAC_FIFO_FULL_EN | - BIT_DAC_FIFO_OVERFLOW_EN | - BIT_DAC_FIFO_STOP_EN | - BIT_DAC__WRITE_ERROR_EN | - BIT_DAC_DSC_OVERFLOW0_EN | - BIT_DAC_DSC_OVERFLOW1_EN)); - DBG_DAC_INFO("INTR MSK:%x\n", HAL_DAC_READ32(pHalDacInitData->DACIdx,REG_DAC_INTR_CTRL)); - - DacTemp = HAL_DAC_READ32(pHalDacInitData->DACIdx, REG_DAC_ANAPAR_DA1); - DacTemp |= (BIT31); - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC_ANAPAR_DA1, DacTemp); - DBG_DAC_INFO("REG_DAC_ANAPAR_DA1:%08x\n",HAL_DAC_READ32(pHalDacInitData->DACIdx, REG_DAC_ANAPAR_DA1)); - - DacTemp = HAL_DAC_READ32(pHalDacInitData->DACIdx, REG_DAC_CTRL); - DacTemp |= BIT3; - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC_CTRL, DacTemp); - DBG_DAC_INFO("REG_DAC_CTRL:%08x\n",DacTemp); - - pHalDacInitData->DACEn = DAC_ENABLE; - HalDACEnableRtl8195a(pHalDacInitData); - osDelay(6); //hardware needs some time to get ready -} - -/** \brief analogout_free:\n - * to free DAC - * - * This function is mainly to free a DAC channel. - * \para dac_t *: obj - */ -void analogout_free(dac_t *obj) -{ - PHAL_DAC_INIT_DAT pHalDacInitData = (PHAL_DAC_INIT_DAT)&(obj->DACpara); - - HalDACPinMuxDeInit(pHalDacInitData); - - pHalDacInitData->DACEn = DAC_DISABLE; - HalDACEnableRtl8195a(pHalDacInitData); -} - -/** \brief analogout_write:\n - * to execute analogout_write - * - * This function is mainly to execute analog output and the value is a ratio. - * The upper/lower bound of DAC register input value is defined by - * DAC_XXXXX_FULL_SCALE. The parameter "value" of this function should be - * transfered to register value. - * - * \para dac_t * : obj - * \para float : value - */ -void analogout_write(dac_t *obj, float value) -{ - uint32_t dactemp; - uint16_t dacnegtemp; - PHAL_DAC_INIT_DAT pHalDacInitData = (PHAL_DAC_INIT_DAT)&(obj->DACpara); - - if (value < 0.0f) { - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC0_FIFO_WR, 0x00000000); - } else if (value > 1.0f) { - dactemp = (DAC_POSITIVE_FULL_SCALE<<16) | DAC_POSITIVE_FULL_SCALE; - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC0_FIFO_WR, dactemp); - } else { - if (value >= 0.5) { - dactemp = (uint32_t)((((value-0.5)/0.5) * (2^12)) * DAC_POSITIVE_FULL_SCALE); - dactemp = dactemp / (2^12); - dactemp = (dactemp<<16) | dactemp; - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC0_FIFO_WR, dactemp); - } else { - dacnegtemp = (DAC_NEGATIVE_FULL_SCALE & 0x7FF); - dacnegtemp = ((~dacnegtemp) + 1) & 0x7FF; - dactemp = (uint32_t)(((0.5-value)/0.5) * (2^12) * dacnegtemp); - dactemp = dactemp / (2^12); - dactemp = 0x1000 - dactemp; //change to 2's complement - dactemp = (dactemp<<16) | dactemp; - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC0_FIFO_WR, dactemp); - } - } -} - -/** \brief analogout_write_u16:\n - * to execute analogout_write_u16 - * - * The register value of DAC input is a format of 2's complement. - * The most maximum value of positive value drives DAC to output a voltage about 3.3V. - * The most mimimum value of negative value drives DAC to output a voltage about 0. - * And the middle value of 0x000 will drive DAC to output a voltage of half of max voltage. - * - * \para dac_t * : obj - * \para float : value - */ -void analogout_write_u16(dac_t *obj, uint16_t value) -{ - uint32_t dactemp; - PHAL_DAC_INIT_DAT pHalDacInitData = (PHAL_DAC_INIT_DAT)&(obj->DACpara); - - /* To give a two point data */ - dactemp = (value << 16) | value; - HAL_DAC_WRITE32(pHalDacInitData->DACIdx, REG_DAC0_FIFO_WR, dactemp); -} - -/** \brief analogout_read_u16:\n - * to read back analog output value in float format - * - * This function is NOT available in rtl8195a hardware design. - * It always returns a fixed value of 0.0; - * \para dac_t * : obj - */ -float analogout_read(dac_t *obj) -{ - return (float)0.0; -} - -/** \brief analogout_read_u16:\n - * to read back analog output register value - * - * This function is NOT available in rtl8195a hardware design. - * It always returns a fixed value of 0xFFFF; - * \para dac_t * : obj - */ -uint16_t analogout_read_u16(dac_t *obj) -{ - return (uint16_t)0xFFFF; -} - -const PinMap *analogout_pinmap() -{ - return PinMap_DAC; -} - -#endif diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device.h b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device.h deleted file mode 100644 index b4b1b8a4121..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device.h +++ /dev/null @@ -1,22 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MBED_DEVICE_H -#define MBED_DEVICE_H - -#include "objects.h" - -#endif - diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_peripheral_mbed_arm.ar b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_peripheral_mbed_arm.ar deleted file mode 100644 index 6d7383f16ee15c0ae32720756de08435e9bb5333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300994 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 diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/lib_wlan_mbed_arm.ar deleted file mode 100644 index 0b2a03c1dd790144c7de553fe2c6ac216f17a3b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172050 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

F1ZI&L{%QCZ$lwQ_~!FRiLxRaeQr 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�)|LLTz3=6B2@zC3I933 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%0A+e)j*|?C_ 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

J1b~hA74CutB6Dr*t4}$ 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 uZcVh&tL} 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 mM?E^|vE}# ARM Linker, RVCT3.1 [Build num]: Last Updated: Date ; -0x00000000 D __vectors_table -0x00000101 T Reset_Handler -0x00000109 T NMI_Handler -0x0000010d T HardFault_Handler -0x00000121 T MemManage_Handler -0x00000125 T BusFault_Handler -0x00000129 T UsageFault_Handler -0x00000201 T HalLogUartInit -0x00000309 T HalSerialGetcRtl8195a -0x00000329 T HalSerialGetIsrEnRegRtl8195a -0x00000335 T HalSerialSetIrqEnRegRtl8195a -0x00000341 T HalCpuClkConfig -0x00000355 T HalGetCpuClk -0x0000039d T HalRomInfo -0x000003b5 T HalGetRomInfo -0x000003c5 T HalResetVsr -0x00000899 T HalDelayUs -0x000008e1 T HalNMIHandler -0x00000911 T HalHardFaultHandler -0x00000c09 T HalMemManageHandler -0x00000c39 T HalBusFaultHandler -0x00000c69 T HalUsageFaultHandler -0x00000cfd T HalUart0PinCtrlRtl8195A -0x00000dc9 T HalUart1PinCtrlRtl8195A -0x00000e9d T HalUart2PinCtrlRtl8195A -0x00000f75 T HalSPI0PinCtrlRtl8195A -0x00001015 T HalSPI1PinCtrlRtl8195A -0x000010e5 T HalSPI2PinCtrlRtl8195A -0x000011b5 T HalSPI0MCSPinCtrlRtl8195A -0x00001275 T HalI2C0PinCtrlRtl8195A -0x00001381 T HalI2C1PinCtrlRtl8195A -0x00001459 T HalI2C2PinCtrlRtl8195A -0x00001529 T HalI2C3PinCtrlRtl8195A -0x00001639 T HalI2S0PinCtrlRtl8195A -0x0000176d T HalI2S1PinCtrlRtl8195A -0x00001845 T HalPCM0PinCtrlRtl8195A -0x00001949 T HalPCM1PinCtrlRtl8195A -0x00001a1d T HalSDIODPinCtrlRtl8195A -0x00001a6d T HalSDIOHPinCtrlRtl8195A -0x00001ab9 T HalMIIPinCtrlRtl8195A -0x00001b51 T HalWLLEDPinCtrlRtl8195A -0x00001c0d T HalWLANT0PinCtrlRtl8195A -0x00001c61 T HalWLANT1PinCtrlRtl8195A -0x00001cb5 T HalWLBTCOEXPinCtrlRtl8195A -0x00001d05 T HalWLBTCMDPinCtrlRtl8195A -0x00001d59 T HalNFCPinCtrlRtl8195A -0x00001da9 T HalPWM0PinCtrlRtl8195A -0x00001ead T HalPWM1PinCtrlRtl8195A -0x00001fb5 T HalPWM2PinCtrlRtl8195A -0x000020b1 T HalPWM3PinCtrlRtl8195A -0x000021b9 T HalETE0PinCtrlRtl8195A -0x000022c1 T HalETE1PinCtrlRtl8195A -0x000023c9 T HalETE2PinCtrlRtl8195A -0x000024d1 T HalETE3PinCtrlRtl8195A -0x000025d9 T HalEGTIMPinCtrlRtl8195A -0x00002679 T HalSPIFlashPinCtrlRtl8195A -0x00002725 T HalSDRPinCtrlRtl8195A -0x0000280d T HalJTAGPinCtrlRtl8195A -0x00002861 T HalTRACEPinCtrlRtl8195A -0x000028b9 T HalLOGUartPinCtrlRtl8195A -0x0000291d T HalLOGUartIRPinCtrlRtl8195A -0x00002981 T HalSICPinCtrlRtl8195A -0x000029d9 T HalEEPROMPinCtrlRtl8195A -0x00002a31 T HalDEBUGPinCtrlRtl8195A -0x00002b39 T HalPinCtrlRtl8195A -0x00002e5d T SpicRxCmdRtl8195A -0x00002ea5 T SpicWaitBusyDoneRtl8195A -0x00002eb5 T SpicGetFlashStatusRtl8195A -0x00002f55 T SpicWaitWipDoneRtl8195A -0x00002f6d T SpicTxCmdRtl8195A -0x00002fc1 T SpicSetFlashStatusRtl8195A -0x00003049 T SpicCmpDataForCalibrationRtl8195A -0x00003081 T SpicLoadInitParaFromClockRtl8195A -0x000030e5 T SpicInitRtl8195A -0x000031bd T SpicEraseFlashRtl8195A -0x00003279 T SpiFlashApp -0x000033b5 T HalPeripheralIntrHandle -0x00003439 T HalSysOnIntrHandle -0x00003485 T HalWdgIntrHandle -0x000034d5 T HalTimer0IntrHandle -0x00003525 T HalTimer1IntrHandle -0x00003575 T HalI2C3IntrHandle -0x000035c5 T HalTimer2To7IntrHandle -0x00003615 T HalSpi0IntrHandle -0x00003665 T HalGpioIntrHandle -0x000036b5 T HalUart0IntrHandle -0x00003705 T HalSpiFlashIntrHandle -0x00003755 T HalUsbOtgIntrHandle -0x000037a5 T HalSdioHostIntrHandle -0x000037f5 T HalI2s0OrPcm0IntrHandle -0x00003845 T HalI2s1OrPcm1IntrHandle -0x00003895 T HalWlDmaIntrHandle -0x000038e5 T HalWlProtocolIntrHandle -0x00003935 T HalCryptoIntrHandle -0x00003985 T HalGmacIntrHandle -0x000039d5 T HalGdma0Ch0IntrHandle -0x00003a25 T HalGdma0Ch1IntrHandle -0x00003a75 T HalGdma0Ch2IntrHandle; -0x00003ac5 T HalGdma0Ch3IntrHandle -0x00003b15 T HalGdma0Ch4IntrHandle -0x00003b65 T HalGdma0Ch5IntrHandle -0x00003bb5 T HalGdma1Ch0IntrHandle -0x00003c05 T HalGdma1Ch1IntrHandle -0x00003c55 T HalGdma1Ch2IntrHandle -0x00003ca5 T HalGdma1Ch3IntrHandle -0x00003cf5 T HalGdma1Ch4IntrHandle -0x00003d45 T HalGdma1Ch5IntrHandle -0x00003d95 T HalSdioDeviceIntrHandle -0x00003de5 T VectorTableInitRtl8195A -0x00004019 T VectorTableInitForOSRtl8195A -0x00004029 T VectorIrqRegisterRtl8195A -0x00004091 T VectorIrqUnRegisterRtl8195A -0x000040f1 T VectorIrqEnRtl8195A -0x0000418d T VectorIrqDisRtl8195A -0x0000422d T _UartRxDmaIrqHandle -0x00004281 T HalRuartPutCRtl8195a -0x0000429d T HalRuartGetCRtl8195a -0x000042bd T HalRuartRTSCtrlRtl8195a -0x000042e1 T HalRuartGetDebugValueRtl8195a -0x000043e1 T HalRuartGetIMRRtl8195a -0x0000442d T HalRuartSetIMRRtl8195a -0x00004465 T _UartIrqHandle -0x00004681 T HalRuartDmaInitRtl8195a -0x00004845 T HalRuartIntDisableRtl8195a -0x00004855 T HalRuartDeInitRtl8195a -0x00004985 T HalRuartIntEnableRtl8195a -0x00004995 T _UartTxDmaIrqHandle -0x000049d1 T HalRuartRegIrqRtl8195a -0x00004a4d T HalRuartAdapterLoadDefRtl8195a -0x00004add T HalRuartTxGdmaLoadDefRtl8195a -0x00004bc9 T HalRuartRxGdmaLoadDefRtl8195a -0x00004cc9 T RuartLock -0x00004ced T RuartUnLock -0x00004d09 T HalRuartIntSendRtl8195a -0x00004e35 T HalRuartDmaSendRtl8195a -0x00004f89 T HalRuartStopSendRtl8195a -0x0000504d T HalRuartIntRecvRtl8195a -0x000051ad T HalRuartDmaRecvRtl8195a -0x000052cd T HalRuartStopRecvRtl8195a -0x00005385 T RuartIsTimeout -0x000053b1 T HalRuartSendRtl8195a -0x00005599 T HalRuartRecvRtl8195a -0x00005751 T RuartResetRxFifoRtl8195a -0x00005775 T HalRuartResetRxFifoRtl8195a -0x00005829 T HalRuartInitRtl8195a -0x00005df1 T HalGdmaOnOffRtl8195a -0x00005e0d T HalGdmaChIsrEnAndDisRtl8195a -0x00005e51 T HalGdmaChEnRtl8195a -0x00005e6d T HalGdmaChDisRtl8195a -0x00005e91 T HalGdamChInitRtl8195a -0x00005ebd T HalGdmaChSetingRtl8195a -0x000060dd T HalGdmaChBlockSetingRtl8195a -0x00006419 T HalGdmaChIsrCleanRtl8195a -0x000064a1 T HalGdmaChCleanAutoSrcRtl8195a -0x00006501 T HalGdmaChCleanAutoDstRtl8195a -0x00006561 T HalEFUSEPowerSwitch8195AROM -0x000065f9 T HALEFUSEOneByteReadROM -0x00006699 T HALEFUSEOneByteWriteROM -0x0000681d T __rtl_memcmpb_v1_00 -0x00006861 T __rtl_random_v1_00 -0x00006881 T __rtl_align_to_be32_v1_00 -0x00006899 T __rtl_memsetw_v1_00 -0x000068ad T __rtl_memsetb_v1_00 -0x000068bd T __rtl_memcpyw_v1_00 -0x000068dd T __rtl_memcpyb_v1_00 -0x000068f5 T __rtl_memDump_v1_00 -0x00006901 T __rtl_AES_set_encrypt_key -0x00006c11 T __rtl_cryptoEngine_AES_set_decrypt_key -0x00006c95 T __rtl_cryptoEngine_set_security_mode_v1_00 -0x00006ea9 T __rtl_cryptoEngine_init_v1_00 -0x00007055 T __rtl_cryptoEngine_exit_v1_00 -0x000070b1 T __rtl_cryptoEngine_reset_v1_00 -0x000070ed T __rtl_cryptoEngine_v1_00 -0x00007c69 T __rtl_crypto_cipher_init_v1_00 -0x00007c89 T __rtl_crypto_cipher_encrypt_v1_00 -0x00007cad T __rtl_crypto_cipher_decrypt_v1_00 -0x00007cd5 T HalSsiPinmuxEnableRtl8195a -0x00007e45 T HalSsiEnableRtl8195a -0x00007ef9 T HalSsiDisableRtl8195a -0x00007fad T HalSsiLoadSettingRtl8195a -0x00008521 T HalSsiSetInterruptMaskRtl8195a -0x000085c9 T HalSsiGetInterruptMaskRtl8195a -0x0000863d T HalSsiSetSclkPolarityRtl8195a -0x00008715 T HalSsiSetSclkPhaseRtl8195a -0x000087e9 T HalSsiWriteRtl8195a -0x00008861 T HalSsiSetDeviceRoleRtl8195a -0x000088c9 T HalSsiSetRxFifoThresholdLevelRtl8195a -0x00008941 T HalSsiSetTxFifoThresholdLevelRtl8195a -0x000089b9 T HalSsiReadRtl8195a -0x00008a2d T HalSsiGetRxFifoLevelRtl8195a -0x00008aa5 T HalSsiGetTxFifoLevelRtl8195a -0x00008b1d T HalSsiGetStatusRtl8195a -0x00008b91 T HalSsiWriteableRtl8195a -0x00008c09 T HalSsiReadableRtl8195a -0x00008c81 T HalSsiBusyRtl8195a -0x00008cf9 T HalSsiReadInterruptRtl8195a -0x00008efd T HalSsiWriteInterruptRtl8195a -0x00009009 T HalSsiSetSlaveEnableRegisterRtl8195a -0x000090d9 T HalSsiGetInterruptStatusRtl8195a -0x0000914d T HalSsiInterruptEnableRtl8195a -0x00009299 T HalSsiInterruptDisableRtl8195a -0x000093e9 T HalSsiGetRawInterruptStatusRtl8195a -0x0000945d T HalSsiGetSlaveEnableRegisterRtl8195a -0x000094d1 T HalSsiInitRtl8195a -0x00009ba5 T _SsiReadInterrupt -0x00009db1 T _SsiWriteInterrupt -0x00009eb1 T _SsiIrqHandle -0x0000a061 T HalI2CWrite32 -0x0000a09d T HalI2CRead32 -0x0000a0dd T HalI2CDeInit8195a -0x0000a1f1 T HalI2CSendRtl8195a -0x0000a25d T HalI2CReceiveRtl8195a -0x0000a271 T HalI2CEnableRtl8195a -0x0000a389 T HalI2CIntrCtrl8195a -0x0000a3a1 T HalI2CReadRegRtl8195a -0x0000a3b1 T HalI2CWriteRegRtl8195a -0x0000a3c5 T HalI2CSetCLKRtl8195a -0x0000a6e9 T HalI2CMassSendRtl8195a -0x0000a749 T HalI2CClrIntrRtl8195a -0x0000a761 T HalI2CClrAllIntrRtl8195a -0x0000a775 T HalI2CInit8195a -0x0000aa31 T HalI2CDMACtrl8195a -0x0000aa61 T RtkI2CIoCtrl -0x0000aa65 T RtkI2CPowerCtrl -0x0000aa69 T HalI2COpInit -0x0000ac65 T I2CIsTimeout -0x0000b435 T I2CTXGDMAISRHandle -0x0000b4c1 T I2CRXGDMAISRHandle -0x0000b54d T RtkI2CIrqInit -0x0000b611 T RtkI2CIrqDeInit -0x0000b675 T RtkI2CPinMuxInit -0x0000b7c9 T RtkI2CPinMuxDeInit -0x0000b955 T RtkI2CDMAInit -0x0000bc95 T RtkI2CInit -0x0000bdad T RtkI2CDMADeInit -0x0000be4d T RtkI2CDeInit -0x0000bee5 T RtkI2CSendUserAddr -0x0000c07d T RtkI2CSend -0x0000ce51 T RtkI2CLoadDefault -0x0000cf21 T RtkSalI2COpInit -0x0000cf65 T HalI2SWrite32 -0x0000cf85 T HalI2SRead32 -0x0000cfa9 T HalI2SDeInitRtl8195a -0x0000cfc9 T HalI2STxRtl8195a -0x0000d011 T HalI2SRxRtl8195a -0x0000d05d T HalI2SEnableRtl8195a -0x0000d0b1 T HalI2SIntrCtrlRtl8195a -0x0000d0d1 T HalI2SReadRegRtl8195a -0x0000d0dd T HalI2SClrIntrRtl8195a -0x0000d0fd T HalI2SClrAllIntrRtl8195a -0x0000d11d T HalI2SInitRtl8195a -0x0000d2e5 T GPIO_GetIPPinName_8195a -0x0000d331 T GPIO_GetChipPinName_8195a -0x0000d39d T GPIO_PullCtrl_8195a -0x0000d421 T GPIO_FuncOn_8195a -0x0000d481 T GPIO_FuncOff_8195a -0x0000d4e9 T GPIO_Int_Mask_8195a -0x0000d511 T GPIO_Int_SetType_8195a -0x0000d5fd T HAL_GPIO_IrqHandler_8195a -0x0000d645 T HAL_GPIO_MbedIrqHandler_8195a -0x0000d6a1 T HAL_GPIO_UserIrqHandler_8195a -0x0000d6cd T HAL_GPIO_IntCtrl_8195a -0x0000d805 T HAL_GPIO_Init_8195a -0x0000dac1 T HAL_GPIO_DeInit_8195a -0x0000dbd1 T HAL_GPIO_ReadPin_8195a -0x0000dc91 T HAL_GPIO_WritePin_8195a -0x0000ddad T HAL_GPIO_RegIrq_8195a -0x0000ddf5 T HAL_GPIO_UnRegIrq_8195a -0x0000de15 T HAL_GPIO_UserRegIrq_8195a -0x0000def9 T HAL_GPIO_UserUnRegIrq_8195a -0x0000dfc1 T HAL_GPIO_MaskIrq_8195a -0x0000e061 T HAL_GPIO_UnMaskIrq_8195a -0x0000e101 T HAL_GPIO_IntDebounce_8195a -0x0000e1c1 T HAL_GPIO_GetIPPinName_8195a -0x0000e1c9 T HAL_GPIO_PullCtrl_8195a -0x0000e259 T DumpForOneBytes -0x0000e419 T CmdRomHelp -0x0000e491 T CmdWriteWord -0x0000e505 T CmdDumpHelfWord -0x0000e5f1 T CmdDumpWord -0x0000e6f5 T CmdDumpByte -0x0000e751 T CmdSpiFlashTool -0x0000e7a9 T GetRomCmdNum -0x0000e7ad T CmdWriteByte -0x0000e7ed T Isspace -0x0000e801 T Strtoul -0x0000e8b1 T ArrayInitialize -0x0000e8c9 T GetArgc -0x0000e8f9 T GetArgv -0x0000e95d T UartLogCmdExecute -0x0000e9fd T UartLogShowBackSpace -0x0000ea39 T UartLogRecallOldCmd -0x0000ea71 T UartLogHistoryCmd -0x0000eadd T UartLogCmdChk -0x0000ebf5 T UartLogIrqHandle -0x0000ecc5 T RtlConsolInit -0x0000ed49 T RtlConsolTaskRom -0x0000ed79 T RtlExitConsol -0x0000edcd T RtlConsolRom -0x0000ee0d T HalTimerOpInit -0x0000ee59 T HalTimerIrq2To7Handle -0x0000ef09 T HalGetTimerIdRtl8195a -0x0000ef3d T HalTimerInitRtl8195a -0x0000f069 T HalTimerDisRtl8195a -0x0000f089 T HalTimerEnRtl8195a -0x0000f0a9 T HalTimerReadCountRtl8195a -0x0000f0bd T HalTimerIrqClearRtl8195a -0x0000f0d1 T HalTimerDumpRegRtl8195a -0x0000f129 T VSprintf -0x0000f39d T DiagPrintf -0x0000f3b9 T DiagSPrintf -0x0000f3d1 T DiagSnPrintf -0x0000f3ed T prvDiagPrintf -0x0000f40d T prvDiagSPrintf -0x0000f429 T _memcmp -0x0000f465 T _memcpy -#0x0000f511 T _memset -0x0000f585 T Rand -0x0000f60d T _strncpy -0x0000f629 T _strcpy -0x0000f639 T prvStrCpy -0x0000f651 T _strlen -0x0000f669 T _strnlen -0x0000f699 T prvStrLen -0x0000f6b1 T _strcmp -0x0000f6d1 T _strncmp -0x0000f719 T prvStrCmp -0x0000f749 T StrUpr -0x0000f769 T prvAtoi -0x0000f7bd T prvStrStr -0x0000f7d5 T _strsep -0x0000f815 T skip_spaces -0x0000f831 T skip_atoi -0x0000f869 T _parse_integer_fixup_radix -0x0000f8bd T _parse_integer -0x0000f915 T simple_strtoull -0x0000f945 T simple_strtoll -0x0000f965 T simple_strtoul -0x0000f96d T simple_strtol -0x0000f985 T _vsscanf -0x0000ff71 T _sscanf -0x0000ff91 T div_u64 -0x0000ff99 T div_s64 -0x0000ffa1 T div_u64_rem -0x0000ffb1 T div_s64_rem -0x0000ffc1 T _strpbrk -0x0000ffed T _strchr -0x00010005 T aes_set_key -0x000103d1 T aes_encrypt -0x000114a5 T aes_decrypt -0x000125c9 T AES_WRAP -0x00012701 T AES_UnWRAP -0x00012861 T crc32_get -0x00012895 T arc4_byte -0x000128bd T rt_arc4_init -0x00012901 T rt_arc4_crypt -0x000131c1 T rt_md5_init -0x000131f5 T rt_md5_append -0x0001327d T rt_md5_final -0x000132d5 T rt_md5_hmac -0x00013449 T rtw_get_bit_value_from_ieee_value -0x00013475 T rtw_is_cckrates_included -0x000134b5 T rtw_is_cckratesonly_included -0x000134dd T rtw_check_network_type -0x0001350d T rtw_set_fixed_ie -0x0001352d T rtw_set_ie -0x0001355d T rtw_get_ie -0x00013591 T rtw_set_supported_rate -0x00013611 T rtw_get_rateset_len -0x0001362d T rtw_get_wpa_ie -0x000136c9 T rtw_get_wpa2_ie -0x00013701 T rtw_get_wpa_cipher_suite -0x00013769 T rtw_get_wpa2_cipher_suite -0x000137d1 T rtw_parse_wpa_ie -0x000138ad T rtw_parse_wpa2_ie -0x00013965 T rtw_get_sec_ie -0x00013a15 T rtw_get_wps_ie -0x00013a99 T rtw_get_wps_attr -0x00013b49 T rtw_get_wps_attr_content -0x00013b91 T rtw_ieee802_11_parse_elems -0x00013d9d T str_2char2num -0x00013db9 T key_2char2num -0x00013dd1 T convert_ip_addr -0x00013e9d T rom_psk_PasswordHash -0x00013ed5 T rom_psk_CalcGTK -0x00013f69 T rom_psk_CalcPTK -0x00014295 T wep_80211_encrypt -0x000142f5 T wep_80211_decrypt -0x00014389 T tkip_micappendbyte -0x000143d9 T rtw_secmicsetkey -0x00014419 T rtw_secmicappend -0x00014435 T rtw_secgetmic -0x0001449d T rtw_seccalctkipmic -0x000145a5 T tkip_phase1 -0x00014725 T tkip_phase2 -0x00014941 T tkip_80211_encrypt -0x000149d5 T tkip_80211_decrypt -0x00014a8d T aes1_encrypt -0x00014c65 T aesccmp_construct_mic_iv -0x00014ccd T aesccmp_construct_mic_header1 -0x00014d21 T aesccmp_construct_mic_header2 -0x00014db5 T aesccmp_construct_ctr_preload -0x00014e29 T aes_80211_encrypt -0x000151ad T aes_80211_decrypt -0x000155b9 T _sha1_process_message_block -0x00015749 T _sha1_pad_message -0x000157e5 T rt_sha1_init -0x00015831 T rt_sha1_update -0x000158a9 T rt_sha1_finish -0x00015909 T rt_hmac_sha1 -0x00015a65 T rom_aes_128_cbc_encrypt -0x00015ae1 T rom_aes_128_cbc_decrypt -0x00015b5d T rom_rijndaelKeySetupEnc -0x00015c39 T rom_aes_decrypt_init -0x00015d15 T rom_aes_internal_decrypt -0x00016071 T rom_aes_decrypt_deinit -0x00016085 T rom_aes_encrypt_init -0x0001609d T rom_aes_internal_encrypt -0x00016451 T rom_aes_encrypt_deinit -0x00017b35 T bignum_init -0x00017b61 T bignum_deinit -0x00017b81 T bignum_get_unsigned_bin_len -0x00017b85 T bignum_get_unsigned_bin -0x00017c21 T bignum_set_unsigned_bi -0x00017cd1 T bignum_cmp -0x00017cd5 T bignum_cmp_d -0x00017cfd T bignum_add -0x00017d0d T bignum_sub -0x00017d1d T bignum_mul -0x00017d2d T bignum_exptmod -0x00017d51 T WPS_realloc -0x00017d99 T os_zalloc -0x00017dc1 T rom_hmac_sha256_vector -0x00017ebd T rom_hmac_sha256 -0x00018009 T rom_sha256_vector -0x00018221 T phy_CalculateBitShift -0x00018239 T PHY_SetBBReg_8195A -0x00018279 T PHY_QueryBBReg_8195A -0x0001829d T ROM_odm_QueryRxPwrPercentage -0x000182bd T ROM_odm_EVMdbToPercentage -0x000182e5 T ROM_odm_SignalScaleMapping_8195A -0x000183cd T ROM_odm_FalseAlarmCounterStatistics -0x00018721 T ROM_odm_SetEDCCAThreshold -0x00018749 T ROM_odm_SetTRxMux -0x00018771 T ROM_odm_SetCrystalCap -0x000187d5 T ROM_odm_GetDefaultCrytaltalCap -0x000187e9 T ROM_ODM_CfoTrackingReset -0x00018811 T ROM_odm_CfoTrackingFlow -0x0001965d T curve25519_donna -0x0001a391 T aes_test_alignment_detection -0x0001a3ed T aes_mode_reset -0x0001a3f9 T aes_ecb_encrypt -0x0001a431 T aes_ecb_decrypt -0x0001a469 T aes_cbc_encrypt -0x0001a579 T aes_cbc_decrypt -0x0001a701 T aes_cfb_encrypt -0x0001a9e5 T aes_cfb_decrypt -0x0001acc9 T aes_ofb_crypt -0x0001af7d T aes_ctr_crypt -0x0001b289 T aes_encrypt_key128 -0x0001b2a5 T aes_encrypt_key192 -0x0001b2c1 T aes_encrypt_key256 -0x0001b2e1 T aes_encrypt_key -0x0001b351 T aes_decrypt_key128 -0x0001b36d T aes_decrypt_key192 -0x0001b389 T aes_decrypt_key256 -0x0001b3a9 T aes_decrypt_key -0x0001b419 T aes_init -0x0001b41d T CRYPTO_chacha_20 -0x0001bc25 T CRYPTO_poly1305_init -0x0001bd09 T CRYPTO_poly1305_update -0x0001bd8d T CRYPTO_poly1305_finish -0x0001ceb5 T rom_sha512_starts -0x0001d009 T rom_sha512_update -0x0001d011 T rom_sha512_finish -0x0001d261 T rom_sha512 -0x0001d299 T rom_sha512_hmac_starts -0x0001d35d T rom_sha512_hmac_update -0x0001d365 T rom_sha512_hmac_finish -0x0001d3b5 T rom_sha512_hmac_reset -0x0001d3d1 T rom_sha512_hmac -0x0001d40d T rom_sha512_hkdf -0x0001d501 T rom_ed25519_gen_keypair -0x0001d505 T rom_ed25519_gen_signature -0x0001d51d T rom_ed25519_verify_signature -0x0001d521 T rom_ed25519_crypto_sign_seed_keypair -0x0001d579 T rom_ed25519_crypto_sign_detached -0x0001d655 T rom_ed25519_crypto_sign_verify_detached -0x0001f86d T rom_ed25519_ge_double_scalarmult_vartime -0x0001fc35 T rom_ed25519_ge_frombytes_negate_vartime -0x000207d5 T rom_ed25519_ge_p3_tobytes -0x00020821 T rom_ed25519_ge_scalarmult_base -0x000209e1 T rom_ed25519_ge_tobytes -0x00020a2d T rom_ed25519_sc_muladd -0x0002603d T rom_ed25519_sc_reduce -0x00028a4d T __rtl_memchr_v1_00 -0x00028ae1 T __rtl_memcmp_v1_00 -0x00028b49 T __rtl_memcpy_v1_00 -0x00028bed T __rtl_memmove_v1_00 -0x00028cb5 T __rtl_memset_v1_00 -0x00028d49 T __rtl_strcat_v1_00 -0x00028d91 T __rtl_strchr_v1_00 -0x00028e55 T __rtl_strcmp_v1_00 -0x00028ec9 T __rtl_strcpy_v1_00 -0x00028f15 T __rtl_strlen_v1_00 -0x00028f69 T __rtl_strncat_v1_00 -0x00028fc5 T __rtl_strncmp_v1_00 -0x0002907d T __rtl_strncpy_v1_00 -0x000293cd T __rtl_strstr_v1_00 -0x0002960d T __rtl_strsep_v1_00 -0x00029619 T __rtl_strtok_v1_00 -0x0002962d T __rtl__strtok_r_v1_00 -0x00029691 T __rtl_strtok_r_v1_00 -0x00029699 T __rtl_close_v1_00 -0x000296ad T __rtl_fstat_v1_00 -0x000296c1 T __rtl_isatty_v1_00 -0x000296d5 T __rtl_lseek_v1_00 -0x000296e9 T __rtl_open_v1_00 -0x000296fd T __rtl_read_v1_00 -0x00029711 T __rtl_write_v1_00 -0x00029725 T __rtl_sbrk_v1_00 -0x000297bd T __rtl_ltoa_v1_00 -0x00029855 T __rtl_ultoa_v1_00 -0x000298c5 T __rtl_dtoi_v1_00 -0x00029945 T __rtl_dtoi64_v1_00 -0x000299dd T __rtl_dtoui_v1_00 -0x000299e5 T __rtl_ftol_v1_00 -0x00029a51 T __rtl_itof_v1_00 -0x00029ae9 T __rtl_itod_v1_00 -0x00029b79 T __rtl_i64tod_v1_00 -0x00029c55 T __rtl_uitod_v1_00 -0x00029d2d T __rtl_ftod_v1_00 -0x00029de9 T __rtl_dtof_v1_00 -0x00029e89 T __rtl_uitof_v1_00 -0x00029f65 T __rtl_fadd_v1_00 -0x0002a261 T __rtl_fsub_v1_00 -0x0002a559 T __rtl_fmul_v1_00 -0x0002a695 T __rtl_fdiv_v1_00 -0x0002a825 T __rtl_dadd_v1_00 -0x0002aed9 T __rtl_dsub_v1_00 -0x0002b555 T __rtl_dmul_v1_00 -0x0002b8ad T __rtl_ddiv_v1_00 -0x0002be4d T __rtl_dcmpeq_v1_00 -0x0002bebd T __rtl_dcmplt_v1_00 -0x0002bf51 T __rtl_dcmpgt_v1_00 -0x0002c049 T __rtl_dcmple_v1_00 -0x0002c139 T __rtl_fcmplt_v1_00 -0x0002c195 T __rtl_fcmpgt_v1_00 -0x0002c229 T __rtl_cos_f32_v1_00 -0x0002c435 T __rtl_sin_f32_v1_00 -0x0002c639 T __rtl_fabs_v1_00 -0x0002c641 T __rtl_fabsf_v1_00 -0x0002c77d T __rtl_dtoa_r_v1_00 -0x0002d7d1 T __rom_mallocr_init_v1_00 -0x0002d841 T __rtl_free_r_v1_00 -0x0002da31 T __rtl_malloc_r_v1_00 -0x0002df55 T __rtl_realloc_r_v1_00 -0x0002e331 T __rtl_memalign_r_v1_00 -0x0002e421 T __rtl_valloc_r_v1_00 -0x0002e42d T __rtl_pvalloc_r_v1_00 -0x0002e441 T __rtl_calloc_r_v1_00 -0x0002e4a9 T __rtl_cfree_r_v1_00 -0x0002e515 T __rtl_Balloc_v1_00 -0x0002e571 T __rtl_Bfree_v1_00 -0x0002e585 T __rtl_i2b_v1_00 -0x0002e599 T __rtl_multadd_v1_00 -0x0002e629 T __rtl_mult_v1_00 -0x0002e769 T __rtl_pow5mult_v1_00 -0x0002e809 T __rtl_hi0bits_v1_00 -0x0002e845 T __rtl_d2b_v1_00 -0x0002e901 T __rtl_lshift_v1_00 -0x0002e9bd T __rtl_cmp_v1_00 -0x0002ea01 T __rtl_diff_v1_00 -0x0002eae9 T __rtl_sread_v1_00 -0x0002eb39 T __rtl_seofread_v1_00 -0x0002eb3d T __rtl_swrite_v1_00 -0x0002ebc1 T __rtl_sseek_v1_00 -0x0002ec11 T __rtl_sclose_v1_00 -0x0002ec41 T __rtl_sbrk_r_v1_00 -0x0002ef8d T __rtl_fflush_r_v1_00 -0x0002f661 T __rtl_vfprintf_r_v1_00 -0x00030c15 T __rtl_fpclassifyd -0x00030c68 D CpkClkTbl -0x00030c80 D ROM_IMG1_VALID_PATTEN -0x00030c88 D SpicCalibrationPattern -0x00030c98 D SpicInitCPUCLK -0x00030ca8 D BAUDRATE -0x00030d1c D OVSR -0x00030d90 D DIV -0x00030e04 D OVSR_ADJ -0x00030e78 D __AES_rcon -0x00030ea0 D __AES_Te4 -0x000312a0 D I2CDmaChNo -0x000316a0 D UartLogRomCmdTable -0x00031700 D _HalRuartOp -0x00031760 D _HalGdmaOp -0x0003540c D RTW_WPA_OUI_TYPE -0x00035410 D WPA_CIPHER_SUITE_NONE -0x00035414 D WPA_CIPHER_SUITE_WEP40 -0x00035418 D WPA_CIPHER_SUITE_TKIP -0x0003541c D WPA_CIPHER_SUITE_CCMP -0x00035420 D WPA_CIPHER_SUITE_WEP104 -0x00035424 D RSN_CIPHER_SUITE_NONE -0x00035428 D RSN_CIPHER_SUITE_WEP40 -0x0003542c D RSN_CIPHER_SUITE_TKIP -0x00035430 D RSN_CIPHER_SUITE_CCMP -0x00035434 D RSN_CIPHER_SUITE_WEP104 -0x00035444 D RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X -0x00035448 D RSN_AUTH_KEY_MGMT_UNSPEC_802_1X -0x0003544c D RSN_VERSION_BSD -0x00035988 D rom_wps_Te0 -0x00035d88 D rom_wps_rcons -0x00035d94 D rom_wps_Td4s -0x00035e94 D rom_wps_Td0 -0x10000000 D NewVectorTable -0x10000100 D UserIrqFunTable -0x10000200 D UserIrqDataTable -0x10000300 D __rom_bss_start__ -0x10000300 D CfgSysDebugWarn -0x10000304 D CfgSysDebugInfo -0x10000308 D CfgSysDebugErr -0x1000030c D ConfigDebugWarn -0x10000310 D ConfigDebugInfo -0x10000314 D ConfigDebugErr -0x10000318 D HalTimerOp -0x10000334 D GPIOState -0x1000034c D gTimerRecord -0x10000350 D SSI_DBG_CONFIG -0x10000354 D _pHAL_Gpio_Adapter -0x10000358 D Timer2To7VectorTable -#0x10000384 D pUartLogCtl -#0x10000388 D UartLogBuf -#0x10000408 D UartLogCtl -#0x10000430 D UartLogHistoryBuf -#0x100006ac D ArgvArray -0x100006d4 D rom_wlan_ram_map -0x100006e0 D FalseAlmCnt -0x10000720 D ROMInfo -0x10000738 D DM_CfoTrack -0x10000760 D rom_libgloss_ram_map -0x10000bc4 D __rtl_errno -0x10000bc8 D __ram_table_start__ -0x10000bc8 D __rom_bss_end__ -0x10001c60 D _rtl_impure_ptr -0X10006000 D __image2_entry_func__ -0x10006000 D __image2_start__ -0x30000000 D __image3_start__ diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a_startup.S b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a_startup.S deleted file mode 100644 index c184bdff725..00000000000 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_ARM_STD/rtl8195a_startup.S +++ /dev/null @@ -1,31 +0,0 @@ -; -; Copyright (c) 2017 Realtek Semiconductor Corp. -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - - PRESERVE8 - THUMB - - AREA |i.PLAT_Start|, CODE, READONLY - -PLAT_Start PROC - - EXPORT PLAT_Start - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - IMPORT PLAT_Init - LDR SP, =|Image$$ARM_LIB_STACK$$ZI$$Limit| - LDR R0, =PLAT_Init - BX R0 - ENDP - ALIGN - END diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_peripheral_mbed_gcc.a b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_peripheral_mbed_gcc.a deleted file mode 100644 index 7b2963eb35695ba42699858f22125e6beff2dcd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980164 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ΤmE=p~ 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

bZN;TUu}eVIRNDG~o^!uK`40rM0dT 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%0Aea;R{#IX9ohXoad|<(y<&FR~En zFxGbG+VM>R^!PA&UutmwWG=vRa%hNd2IF1p@CcefsZ&C5B!X60^R??4-OPRrb{-$S zXxZ=xU$51rN6^U!mEy%t$Cj60!%eg8O7>X0kc!^^L~kEQmyW(JxA!3W=wW32ww{h| z*CyXy0(u*cPZWG**GkfSMQ| z@4hP2QYw5UpT(f8aUGLeHn}E0I4|0h+MjMefL_itJ=7tu83zVERt2y6uz>{M@%3V{ zRiKnR-sc1YE!5QPZyHr9Mz$zh`aP4#{(y-c+?4Iv zh;9eDfvzL(XCi7;7PHPnl<+EC3ži;P=))OZ<(do`~51Wc;EjG<wa=p|#E`TK} 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 Ju*Etn_n&B2>4N|O diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/lib_wlan_mbed_gcc.a deleted file mode 100644 index bcd22c488045ceb4b9fb0aaf912495214cb752e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8317270 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 z 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

jgIm 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

Rh#UWAUdMWg{2n3hrlhdJoB#X(_vZD#&VRDVk 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ð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

  • $9pUych8K!M>37)wfBbi`jXPt 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

    E_m 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 z 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 k;IJM)J?g1iha(74cv9+&DTq1r6ZBOo zn5xSWueB05SBVNLOSwg`WBl#(!0E~Sosz+WsM%7Bm1HhcMk9Ka`C=#xhLvF#mLU^R zO$j;lSbiEz!VBiIBtTIlRGI*iD=D&=uPv4;2V7$yGwzVi&W=M=Fsh`adIK!miY7P3v#=P`+PY3^W@=q84Y~Y`b{IiLFHuKL# z-e6t9m@4FFa}B(LJOT_OwKMJIOYotG4>*noc1q58NPA#L^jfkxNZ%BPplLuGDuYK+ zMXF44cvCI{C!a!N!a2erOu0Ab1m19vLboJ282#ldbNNhl9>fg-4I8@5IgZ}0slxOV zjMa$|PSxQ^t>mXE5LVIj3ut0fVp)DI6uky!OWDk9FMULPZunCX1%*SOgoH62lygO! z&!rb-^BLUQLl=)gOed>onB>zt2UDOl=U#Stj1&pBpOdP)snm?;Yor=Uj0=NLkw$wN! zuYRz6({9{!B=IAF`#vzqj4T7a=t_pfUYc^F1#@nuGC2b&6C=Z5MJl=uMWW#G3)30^U9C zK?MorS` zrq6SVphuWOrty|cmXi>sN0@6&?~EE2l@OPp?gi0{vj$Wo%=%<(f$1gE-M!)D-cb8< z6rFK1iQ|!jeQK6$59TmUV0%Wlj}Ln=&kXk@$J1W-=;%-%NVaEcdi+q;F)8p-HbExO zVLn+ogmw&y2*7~7&9gCl(59IgOtDV(1-BBtRI3m)T-%uB)R%$yi0O5>I&DpB&B)P8 zvVlno0?%j)#GEz-6=pi9oY0)>b1ak|*k0!HolkJC>j}*< z?-(_qnOD3DIA;Kvhq4{U9NWrdJE*QU@0bJ@qXEYcNdYdSlK?97Y~5gSawZFLZZ>l$ zD1uHv$O}d+;NhUoMiYVy&T;xN;eO!3hP*$?T)9rdte2| zhj&I9vtTrp0=bK<&3HMSpDR@kr4ajvy@_gOIv;iwvrtmzraq}J#S0OJ@8J_uOB#Ba}&cjI9KL=5I4Bc6@j(3EWEfKcY*C|flCO-4Gt z+oR?Qd#U3V88b%LpxDnr9t_2=$Tqq??WT#vT;`Ay23Y&#>~y6zgE${boL&~Z5jq7r z&U7QQd*x~n-WDJ~94f+w3fX@K0-Pzah_SIrz--?TFIdJ>W_H>XBX9=0obnLGT{L@@ zEUMCJbl{{@n_Ot(bfN{>38WopORzFmsDpOIMSBQ@p?=k~ePk%W>@ZWeC6AW-K%X&o zVfL#sV_xhw7Bgd0CLXeGX7$RHzDWJhq`)uY`q1hoTD5%VDf+^)S=yBtNqqI=Ph(A;R}$Y)5dATJZ_oHSKhEJBDA>#mh*82Mx%d=@<4OksLP44#A; z@--V6 zmBm68LW;9mXy$~QfWpCC*$Lfs8&CoDL)(Nz3hQ$&Z#SqeV$V&(+xM7PjTTkfT88>| z_YGNVn;=S-jZ^ z#s~NH+0Ey8cjHC~r}HLhyyB3BKE}ySGN_X`VOQmFh5|QNn1hv$hOOFUnamDyGL-NE zH_}WjbtV{B*NDFkkM{P#s5JntBj=j-YD?sG2f>G&@(w$F z9+NjF3nN)fDHsVLP0IPE9AvXp4%`d~W4P-m+M>#s0m?I#3Ia)K?+!pDq(bQ(z zMCcWe*{Ck!Y{xi@i#I&(;;c+(2aU~*S>w_Sv&JPE9>=8^9$)0a;)6kC&o#MVWIY7Y zpci88WX-rY4E>lH<``nF(Tg)SHuH03RKSS`WfTLU+uJ)ln5H9Zcwi(gSsz@(yqMJ@ zENmt-z}}8~g87=*12eL5;u=k??0)-G#k>=VuckN0r%LQ&j>YhX>d)D&w7^LL6#$#Y z;D$X56Iy6kGM}9}B%Od91pR|UeO|F*tb>BHm+iGh5QEhL82F~srHLYSOB-^iCqmz2 zHlY-?48F41a11KXpIX@ ze~x&9%u%r$CI?2qSmQ1daO#pxj!u`K$2j100%tuaB61j8lVe(R(%M{pZW1>(q94s( z4QdK09!*oIR$Nn=d_tv%(hM3RCVGxj3_|&wO+w2Xb(~6d0qxFi=5!RXwV=8fPAG@< zy)o6~IPC6}#Z3b0vcDVb??z)(P{N_;Vz#AMtux&@R+rr+S=OZ&lS8fV_Y4o4fE-!R z>3B0YhzV#UPCA3gDP6f;W8P%fj1)VkOR=fShrEMOSdFNhWdR~hwThzP^D36mVz}L0 z2A+_Z)-;BBCFjkVF&fHkF;B~;9l-_ZhBZV*a5AS0Q_hB*S~=)!dlmEZ*i+0^r{Rx+ z*An*JgXSf0O2PJGt~zrd<@_L&jxeO=3e`yyCqo;KvwX6TY-XjU%|ac*C(FF~L#NKR5tEn3F+~{(MU2ZYW_&HYQtJ(mY8`0TVDrb7sd zlQS$q^l?-q52xG)FGycMLP7@eHFJ={sm58IgA1A+ zt5g}J7*V8M4%85ia8m;zLeb@dN2ZFTYNEZMBrZAwozq5~3h1V&Jk-EBSi?&&0X>18 z)6s0e=@!0Rn{+89K``9||19R#WXj|k_n1aHGF8%1Mejq*=RMlrJG{vViUXAc9PI$} zJe{ir1W#bVBPaldU8f?G*&fcv*=CFtLX*RvJ3iD0Gf|VEW6}#n3RoN}r6o9g>YNt> zL%wc*>+Ku40$->@F3cW~1i>=s&W3&+yM)u?2Kag?@X|b2STOcsG92a#8&>dbFS#~w zb{nTf$med-QCRQLZ({OL*~vL}YcVU%z4O)B?ME=r;;uPb?&e)6ilb{fE+ZqUV-bkw zfUr6_U#-~^2{P8HE^F8{t50<#6kTA|WDn5(6jvf9Ms|*j?in!;8{8SSL&Mvz87#uG ziis55C^s`%Hf3F^vgalM)7niq5QQN~3kqn&9iUECCLM1B|1*K!W^j-olOAc!rDuwij!`FJ!>K8dx6phhF`#2i5pOVtTY0r>IQZtF-B55l z~{9@>FFRNqpNFjja)F8JbgJX7p~_3j;nZ3e1Z+5)UC73& zXJKmaSN9I}A(GB)P3XW_xC+AAMxnu`otM)%pN4~bWYiqTZq7Bc!PrC+DlTk#oEEDf z^VvoR4bHmA3i@xL0YolEgpAOF3my<82m8lI@F7H}^q`~qw>zTrvQa<^Rli&b?l)tq zL25c>LL9^}d5+j^7%d3>FiCJWKMjEn-cZkO4;4Fw#cLi$0OK)0CbJMcX!uTB}$Riy6%Ngq>q^ zxwHI1NnfZpG#Qa=WL5)0SVJUPII638*bMsM(e4Su0IG-Jx;Gyu1R;2N^EGn=nST&w zJr+x5ZI%NIYzxd=6vV9v5RW#d5fGG(lvpx%b}cl-afG zA@CA$^%Pq@ehiVPw%(ZV`ZCl5=&r~_+Qi~mvoN{w0-lxRAahRnwDZYhlvzIoPFWgA z?;OjMP#RquFx4}B3d9SP4;)Q{k_Pe#d#6(RVYA))bvvNCIE>e|czol^rnT7uy=LbSMkPjm zW}25+K!KBV&0lC-ml;ZEH9Vn<`h%m4elm#SP#qd1J)DCdBYh-p+{yE?mz^PfO^($a!X! zj=X1(be&_muc+ua=X!LigE54`S$qKJLdSjS8aGQ+HXb1d+0m&zFj=9c zBl$QrHad(@FpKpX8XVb)_Dv%w40GfJG?$p_W!iwm}bcmeaIqjyRlO+m)+00-&O0E%+I z-7Z>n%dl}uEfg9MYQ>-*o5B%?1fOsjZ(cB46l|{0{`U;_4+gtN#{=>#M^2GpF96ZP zJA~jxD7~0{4j0xrg2PWS(w)rds78z3nJeC z@EsTJd@Ryr+hjx{N#`piyM@pL*^!DT=kvz!zMO0!94(YI&2!}`#P4nFTs1 z#16>*qj4vQ2V9(xeQnog!C#=UW81CB=A2tw!CYmSA$ z3G0oNdP*5A(1%YZJ6KH?58;aLzLc$@pf!d8)HFDH74Tv&JMMy?$Ix}P{2sT$fIdW2 z(gp1>8kY12anHFjX*Neh>%>qp4M&c%^FmyN!3HcTwB%xv4#qJ5Cet7dW1vn<1@AIH zgR@-6%`EivSl5#@z_MWXX2cwb$rK0kqLB{zv1kBups60&{ymgxA$X#v%2315jIyeR zE;G2)jE~a>-vtG#(eYr~qT)_X0igPuVkn)hUZAg_O3zWfU~3D=xn>8lc0}u^som4k z2;m@R0vP1F7c&qhVH+k{o0W|geMHWIL)p~Xp#Spzj%IjEle%cVLZ6}eOhK_f&FNq;BMKGmCiNxAW#K}s znwuBioM_1kd`6IM9P4m{L~jUiSrjLW29zz1BDOFDMerdD&13B8I4o&+QZ&uvQpP)w zuh_x`1TfZ0i<1(rdN18SzI!BC=-99yzxCCH;{J%qa}O@Q{fKR1NDRgJ{d#i^_#)^D zrgcQOk1d7q?O;>G7@8GC&vKSUAiFqrqzto`q`EM8Jw2LE4)wsL;cn&iB~znAVcd$$ z?oNy|Stw@h;Imr5rI`RFHw18fjX!}#9nNr-rAfTN2&>@Gp-#CN!Ic*M+X?!Ed*VQm z%D?$PA?(3nHfg$|s$$Bb)g%ZehTt)vOVOyFLY2iq!7AWn7^tEim$O-@w9_@s0Z2}1 z!`sAWz99C>ZEOJ-^<{HI)W-F(UANZ_j*r!qTm?m0 zN5n*(pnGgI+1oQZjQ5Tpr~#utG!V_3Qk%tHix?w1I)IQG=OBgG)Z&iDYNPYDQ~};a ztrZDly}((~1FoT>P&@J$uw4jNh=p)+kj4(#S-AjDk$JN4uqOG~nm-ewvos9FOa)

    u&!B-*U_DfH3?p0GDh6o`0fD7#3`}uy6v$5wP68b-lEoN0OAn71%x>Pu zXq_o9Iay=0g_~DEhX}SMTddDtE=GbKBEH8EM6=w&Kos2 z+P|t;Z-p4{1=y%)TLax=_~x*5m6{#uUwm%Ds#I16tw6 zq&(A8Lyg)gx_EXt=%b)zBSDsCmFCpoqD+erIi2*xnL^XFjTd`F6M3DJH=uumi;^Af zLzbJu`YM`AOh{oYoEbm3nvaT>#giFZfYsT24ZF=BH3M@1m>-%vT4sn33JZq{37ZZqMC)W}`A|xN(foyG}dOf(6~%j-v#yG8a1* za!P9)n_GqlU`n8U<}lxhsX-9K=tKyG6Y5m;H5G{J9iK?q8VyiQ&^x%>Lu?MB+Ss?$ zemzjTyH)ejL8oKM69@05TZ9;l_VUpK;g7iC}L=xoyl%QvDD>CC)&gV zsoa@(l(;(+j}dog;xSe3OgyT}or%X)xic3<Y-}%*;DRJ` z9)Xd^B?5bW0f(y0K+&`A-k$alosSm<_CQYPu^BpK{@F>qc0s+v#&b%nRtuP=+8n~6 z5QarrT+s-Jg}rt|;h_VAw%AW1SZZ_+f=_9T!5D5>X!+6``@S<2KmRp_|3tcqJBq$%MTY9|TO&ezVL@=YdcW6k*Qkxq19wdb@1k{2! z9rrf3FYFBATS7pa&a_mV?K@oSu}+pS7Uv+aqgxycMl4LF^_Gb##PJr2osPFu>~y@v zVyELR7dstq!Px0|OU6!LL|eFpw3%>kb3rhjnZv6aXu`lAwDl;gkt4lI+k+WnnAtTc zbZ<<~5E3wpE70b!HR!fH4JHzhwJo{}ee zF2vfc=`i&@H3LBs`qnsox{WTv&dnWljxq@`y~;HVSky?q%P{T+{ed<&8tr0=4_4`v zvQ=*!@eOH4)=qK_wR0yybTRH~Vv>`1rKeb*BG7aJl5@my21j-$hww5L6Y7Rt_|Yzl zR)NjS9GEm>M;2P}3J*^eSJ0>jx|h*#Mx&T&jet(E`2>n`_{yESj@OHjhG`=iQx~c; zFx6U%sH(O^7_y=H*__Hx<=eUAx2H$TrhNu*)6>3WlMtA%P4J*Z1e_I}Br^xoWNmUL zSK=B97^)G29CM~P$r-I>EQCrp%^Pe>Xb01H`GON9pTP8QLN=`L7Dx$W7y{8vMW{bv z|8}Tj&==9xRKLysWLC0akh4|PYH9T3LK`d$WPGuJ`XZPQ7hC8)qHWEjsG!zy7&>k7 zp1ci+u`GHG3Z@MK7^E?im!@j4%tGB%P&wBzIL;sPN|->5Q<|B;28bINX6A*SGUH_r zz@R*Z7&MTLUPqzDhNd@}_HTMqL{a8}pc6cl1Sq=JRS+yfg9wcqqp1hLGn~o0fFZHxu{E(H@sxKp9zVXDSx ztE=M>wkiH7gveMu6%Wmn8Cw~tgBb|P##qH)tO+4!g)1wgreLKU-;r|;(j(?{I5a@5 z3RyOW%Xck=?<#W7924&7%l94kQBE~B-3~q$>=yts94$$&gE#e z3t|W+867dU54st`{oo44@dLuXy(cd(VX#wsC%t)mJ82Okksy1K1QeYDX zbdH!&npOr70MpoPPP!U58^(A|F-u$&fON-IKz{*9Yr(tnjg_Z!4HoIPld4w(u*59VJy89L7Y89gRmZ0P**&hgDuRUGAFet z%o0j;{hb|SOXMbA&~3iF%q*=rin7{+*o8hb)6tr>hp)NuQoBbnPlU6$Q(cVmp})Gk zIlM*$jtb6(v1Ma>GPHF_Eae@IA2ddDxjTe|4Eh*nw?-MkLsOVs<7O)AeUU~H*X%H~ zo&6>YADxUE{j>9U!9;PIvlmT+<;5;o2g4xB00vcL#6U!x5!T^{@v+Fw7}=}~!Ew`- z5$>FerJ!M_TBT^niBE45BYC(H96s`3v1U(<#c(hhz}{tV8Z%QvgHjN3@g{eSXcBSb zFj#vd)Ty<+F{WCxv*AStw{q6;J^j6AEy<=4v=X|FI9i-7lYs@0Ul3UsU$PeP&2Xqc z-u^>pUjCrf5uP!wQiOpALpxxI6@%t%jXs<_9PTt3z#HaF$dD!BL3YMEL;~S0JM4S2 zXN~3Qfsa-(I?0SCxB7y?@XpCUQVjefWQF_dAy)(SRR%G}@FcH{G z(M+jVq!YV>nVgYV@(hGx&@0-IqS2HG-fGax({ZIFb~>(<#7@VRlGy3EQW86Tk-aD(bYg>! z>8Ql;grX2FL=PFhn`7}JE!Z(FP>9AKz7ff$n&|aG=sTF^EcO;28=47S44SP5-Hui8 zlzdD!uD1<{I9%?>m-s;}=U+4S4seD`f_FUOx=eesgc+l4X*}(k#hlS}#Ms8j1jd&7 z`64h`sOJEG?tX@9xG};YbBe;^Q!Z?QqL_2|zdX#Wn5Mg{%sI!IKh$A99Tz1RA$hYu*I%^Aexj|{(si^OvAoe)Jn2E5>R)^hV>7k$}IW{&( zV@ux%yg4?c*}b6$3kKR7>I^7%;LZSU&b{Rhw|@5rY^-F%LjA2Xp$QlMhz(64|DS z2DA{m`cTa8>xaM6-aj4y@Y_&`e`dr!LMe^Z--xgx+Isysx)LbjV= z(Bss5Uc?uKuqP>L;We;msfvs>=WfMVphu=`$Ke|D z?Q`bs+DIu+6HDXF)7jzmF6L)Vri=6%C>GrwqM*?0 zR&fx2qbY%bz<8-4o$f2%0X*F44?vv zRk3Q}!`yp{ip^ndbcruJjLr7U^xDLNap1zFZTyC>&uCC#4y!cp z0fnB?>{_+L*NTm}*Va)w8!RH08oqh0oxywYiquS;G1WLnJOte>{(jPC@}8)v@$h&p z1B7NM)ppCXMt<^%OBdP=8RE$Ecc?)>C9N1?CR!aE%5nq9qPnqX7V!@4c1cB2@el{1I z#fJ12zN|6|LIdfzSVr?oF|dhp0NcRENyK_Nc~L8h>}7EEG4dZekU6i>a1>+Uti%h8 z>4ckdI&D)apRoM_)NO9$v(8ZVVHK*#utJZe|8-ca~C>O-rcS)-MYX@uG={lo+m>G9SE!X@&+eds04{lNv?8co*=Z1r=u@y@H@}d}|SEs1Xpp z?g^b|^GYNo(4*wu;KU#iK95rsLJ>H?+tPQUQ(>ozd3CHUx*=7`(g4@9TS_ojpd!!E z0ZEv3+dJmPn1iChWJXWm5T>>~tn7M641_t$YZA8dFMCRqu9T!c< zGOnj_D1Y=I%A&h=nQcnPbY zY`wkB`bqbuj{y1M|6vAJ0MQQtG-9Y{9KLjkf{o_r*K1|%*hhCb-F>l5{- zKqs7tQW7{HZfWe`S#LbzCjSK}VQR(76YM^TFawZ%*}XDx5wm)&yY3y*k_&sJ;Qx#FQO{lgc(@cGYu_A{Se>2)6y zFQ4??qrQnhFFz{(B;_^GCd-On$B(c#wbM}8PVszuU40vA7&%Wzizbj3Zv41=Q+cf= zbPj1d-1uSp?v-l~fAap77q`x=Sh*Huo*QNcuCh9I9G?FQmp2j1o5p@}zxFTU^F zP>)k_d?9|}whbQ-e!_O_Sy}d9+G359BooN+d*NOS+w@2T&hZrk!yCM1D~=jo-n!}t zd^E7-B>&`=Q(8`KIrE4$XzZpfe&z`8mw$;T`~1#vZ1ee**4XCr3&*j|$2X1R&*ikNZ~DeIAE}M$ zjYmE{7u`eZ$3UT+?alXcQ%q&MOnaTVw;bY#{Bi1%;tkDHKxb8 z1=FA2l+ISJZ@za@Q~F8uMC|#P1sltc&zMX72dlo9`u>(i8PW?D^iBrt~#U>1&(P<6Mx}uWL$Q*L3|kP3h+}rJvW7 zeqK}h1x@J}G^MX^N?+fU-rkhnZvF8;F_UfDO?PyBhQBTC4?+rDj4>hHaG^LL;rKg(G>n+8MzPGC>eV4W8(b2Tx zj!$hm-V#kSyPEDdZr9gOj@NhXe(9!kN)YwU_a>UsC+dmV^S#~Pu+ES(x8OLw`Q9G< za~rGJ5*>x-@HU)=^u0~@BURTo-@BrIfIZ)%#97~bk5YJj^SvwU2iWtypy@c%bR5>k zo%X%F)u%oyxcRF-3%L2~xLAL1{I851bAEe9?3n3^*s;5l`|Eqt@k7*is_D4km11Ye zSDx2&d~4J38=H>bk7M!+j+|AH7anLz|9aE$PjJlqr1VvgAMj=8Xyg4)#4%5G;K$ke z937LBtb)AIu4C$fs~{h2V`go<{>$M3kjJT}^k+65&o&)Dx9RxBO~G)9`^Az>aRrvR_rt}u{B~OvFu7W)B^r&y$^Q==kXNpyjN4j-TX@b0n;SwD?at?zZDIy?<@W z|DR3ADVH<#@g^MedC4hOc?oZ@DLrU9t||YRC=Zd8yJ*#QrL8y|=R| zeM0GvSbDoxXiC4n>G;J>$9Fd!e?-TG)o8`fHyn?9U&Armmy+r#$S2>|F?HNkUYGap z%8z6lFGn89J-6|BPH#HCsOh*5$1LAH??!Krj;RZ;f;@6fQ~q0;j$hYwd~eh7N1Bem zgk#?Chxo0+DEVen`u|Zn_2N~KN8&0CpXX`I@JAbuSL2xFQ7>Kv`DCk(9X)RIMw{|K ztLeDdbbMpe@vCsm^4ZL*Ag{c!DgFHo>Al|lP3aFSoqT>3xa?0Gjt9Iy>G-|nqE z%H6MG$2+`d;5gj)yq!v?&b$g-c%UhLLg}o=DsRM_)bXiyobu*%yba@I737O+o36jD z>G&Nw=JP)V^S?P`XhFq0lh(puZbt6#^}KME*c#@weD$O=zcQ=YZn5qc5sLg66az7w zm#AlaPr7G&+a(Cqj|DWuzbQ-CkKKY!E9bKc&$uEE_paI*xmqof%ek+u6nY8FvtdSF z7LI5@)Y`es8s5QRiH-g{y*&t5HNO6VS?O3~K#tad@Wplfo>uhubW$=4aiV!b|ZA>H2NzZ^LGCJkFQL_Uhj-%8MuBpYyTu5PcE7caX9CNzRT9*enZNPCi?Ddzc~M71$rwD3!@qCBT!&5t+q~l!}7$urJ@8FiEu)mS>i9S*xTJQ>x_ z29xCjiJ6x;{2CRnZOj%rW9>l>|Ed}=%?kGFf5b%R=v=P%M)%{#}mbuFm(ozt)G)2ZwejOn1_EG zPc-e`m1!@cw&g+5XPKJcV#P%&T;@V@hKKaB6-_ z>R>#-Q3z?zj;ZUMiSr2_zuJQo3Ve;zF;?8}c{4nIt>-<5_&U!+6%FqdJ|KLA_pO?thn__inYr8$DP}k&g2CysY1|h$yEh zw0iMamY1RzA?$7udye-|l(afUOIj*GsG^|KF;8-{pCf@mBnu zu79`M^*v56Sn_5Ld|K@bL=zaD+)Bjp z-Nes$9-6>g@mc8RLefF&=bTNU_4A(hIvk(*NzpehK7si#4y?a{2_2s++$gkmLi!FK z|AXf(>HPIVs|U{Cr{gaWar`^t$599NGftjN{1Wa%d=dJG_-^#8j&~DL>1Poi^gP-& zczit(`RGLEb#K;rqaU27{h7~s9}&-a0`A*d5&fVaK#Csw{~jXx{k=q7_b_4kFU0h$!#XItGigeAZql&*%c>eMIT^EB$9gJl8VfV;V32 z?3s6A#p8}2@i|jSZ$0GN?aXiE0Na`05q?kO4TIF`hkjg(q!r*#8;PjbUg8fl@BG;F z5;|@pzEk`b*IU0Jf12mtt>;2Ht9Xp`lZhzbo!{4{}S;t%!gZf9{hKVc!%d*C49c{WkPF5pTm4+|d?{y})u5$=9Z6+T0FfpA2)PdFv43hx%aL--ltmxYfBe=Pis&^yxI zw?nu^m=-=uI4fKd-YC3P_&MPt!tV(GP54LQ(aYTZXhUTCt`W8iw+IJ?yM>d&vhcaW z7YSb@e6#R9!cPhx6h12aiO@UB)#G;In}zQYenR*q;SYqr68=Sa?9r~A4Z>~0Vc|aE zw6G?8p73SD*9-3ven5D?@L}O&!k-9#C-j%QdYm9ULzojD6y76zzwj%xB0RKOnqc_^|LX;ZKCW7anNHF8qP;*TR-#U44!ho*}$Ic!_X8I3b)A9u!_De5vsD!nX@Q zEBu=9JHnp}|13P_I9H!jgy#r1344UQgmc1Y3tuRFjqokP_X$5Gd|3Fn@aMum2#;Lp z>T!bbG~qho2H`g0u<(FzNqCd+HsM{ucM3lu{JiiH;dg~69PjFJrtkvc#lk+}nDAM` zIpHDUO~O|Q-ynRu@B_jJh2IqZK=@1HpM}dI*l=7uO}JXPUU-SHPnZ>!gtrJ^CA?dB zpYU_S2ZUc0ena@U@cY7_3V$K|o$yb>RtPez@6p1Q!V`t33KPP0!V866!i$Alg}uTZ z!jy2gaKA7soDmjxC~6zC?JN@OI&y!Z!==6~0^eLE*=Q_Y1!ud`S3+@LR%v z5&ls4GvTj<|1NBWV9fSBPI$8L0^vo%9^t6)nZjvdRd}87#lqW#?-71N_$A>tgg+4e zO6Wb+)$1w3(}m{~`!t;fjg+0QI za87tgc$4rI!Z!%-6@EbYfbbi_?+bq+{FCtbXSjN;7hWRl6YdgTDJ%#Vgf|Fp6~00E z9^qGo-xmH%_#eV$33vY!h35%33wwkq;g!Og@Oi@9g>MnQSNKoD?+Je){IhVyYIpyW zgl)pV5~hXs3O^-$NcgDm$HLzVt7}}j*9%`Ne4X$;!cPdlB>aZ(2f|+o{~|p0ELZM% z!p*`SVM=(V@M__r@J8V~gdY|@DEyZ2N5bCvHNta+ZNiPhONHBn zi^3a(cL?thzF&Bs@B!gBgx?qbLii`)(dW7PoG9EZyi$0za8Y=p@D;*4g?}sju<*0O zuL{2{yyOCRzg}TVc%^Vgcu07i@FwAlg|864M)(Hdn}qiYKPvo`@bkh4gb!66AlUY3Uk7;@HxU;gs&3*jqshqzZZU1_=xa( z!e0qn*1P(iAbf_fO?auWUpOYbN_arHD7-=Va^aoAcL_ft{G9Ns!pDWb6SlUwdaV?m zDqJV*5+;Qy;eO!(;Vr^f3GWuZL-=9gXM|rCJ|_IJ@HaxQ-PP+@;mN|a!Vcl(!V%$> z!h&!~c(d@8!Y>OS75-58OW~h|%R5{>)(P=;Ba`2{h1-QA!nAOoFe985E(vcG-YUF9 z_;%s@h4%>`5Pn1Wec>;Je-<9y>FRfi@EO9hg%=1rg%=683Jbz{;q!zq6TV*fcHswv z_X{5uJ|_H$@b^N$%hm4$;Tgj7g%=5Xg}a1-@PP1;@CCwG3hx%aQ}_|#=Y@|5za#uN z;U9%ZZ*cYN6{dt&2@eRDgf|KA623$D_rfm-za{(^;SYuXNB9@vksICpj}fjCo+Ug_ z*e={8+#(zl?iNl8%fjahUnKk+;k$$%6@EeZkHYT?|3i4>CRfij!oL!37fuMX!s~@E z6~0yYe&MHt4+$R?{)cecW_Q1*3KPQh!oLy@2*-ti@PH6sn6UACgYf0T*9+e!e4p@> z!Uu%^Ec~AEC&Hf#e=Gc>u;n6mzoUf537;xFMfeQi*}@Biox+QRmkE1>gThhaZsDY` zEPSr;MZ(tz-zUZIK;l;up;fU}GVNO^QUL(9oc&qUB!nX=P zB>c4SVd0~~9}9mYq=UQldickMCkxLOZWeA4b_=%)M}%qNKH>9(FBQI4_!i-NgdZ1v zQTUI-?+E`*_($QIOI>~2gmCVZaoKH-DHZwY@S{Ee_>i@V=x!gGb2gx$hX;eKI3xFEbic&qST z!jB3+FZ`PD+robp{$6 zgpUhR72$Qlmk3`ge4p?> z;e*0&34bK~jj(0F)oZ2jG~u~IeDdDuZNgFEeqlj)kMIM+`-Kk+9~1sW_&cG$-Iafa z@O;eEmfh2IkXNcbCJ%MSH}@HFAM!cD?%;iz!GupnFz-XOeH_y*yMqRTljI|mxSLC{z~{4;ju&RzNZM+3AYJ{ zh5Lll!kX}T!rO%p3V$H{o$yb>)?s(QqlGJlCkjs$CWPyR7Ye(C7Ynxv@$pz2M>~Wm z;cnr6VOBUJEDCGFYlPPeZx-Gre3S6)!oL%KK=@JN{lW)@-xU5p_)FoRh08}={huaW zEnF|WR5&0^3p2u^@Y%v!gnuo3qww#99}|92_)o&`34bB{vv9?ztKUh&wZcx}R^d+J zUSVEX5nd;JiSV_;w+i1UyifR`@LR$k34bGONx6Eh6rLtLSGY;oEgTi@7Z!vI!W)FQ z3f~~SSNI`eDedn29N{g(R|)SHzC-w7;b(jj@KNE9gufR4MR@F9SFclq z>x3JG+l0fy=Llaee7*2(!vBY{^MS9a{^S3-_nvLn+%dDW4d-(2He7$kFwFlM=KtRo z%Ac8;|7K=mG8qX)p;Snv5{mLCN>PMLQB8>cBjs-zsTRra_5PgK)otJJ_xJmqJ$9b& z*XQ#&@6X@!Ie+fG=e$ntArFx!$REg3GUOgB|EgpyvOYPG%pxa~Gsy+y8LP$lpmvCfk#All94# zWM{HJIh>q87LpH=FOr+dUF3)4QSy885?Mw%Mq1^nOx7UllFi5tWKVJsnMF<}i^zw_ zC&?GdE#y1o$K(m}EP0juo2-~+l{1E{O*SPvkiE!z$kF6fvY32?+(jNHKPOL;-;rm@ zi{w?(KFTVWldMDA{UV>$@Sz8azA;5{GR-oyh&CVW0fbGtW7o}JCc3LVdMmI2DyNIf_#yDm;8u4 zMt)CTB!462hvfER{LYMYlW}A{vN745Y(sV=yOO=hyU2UU3^JRXKu#g2le5TqNX{ddlB>xL;#_mGFlFUg67?n_&PjJse?NtC8_ST%$LmZZAZ6J5%=+;v8f+HC`F4;&Z5HP~T6zn0$)in}pbYi|~F; z+sp8e$j`|WjK4swO}Fx?Kt_-?$at~^*;$Bu22*E}6Bs_5dLj9k5aoH1@dwC*3_mGE zJDg$o@6@-+3WZjFZXwduArl$inYuSQh~X2c@iG{--Te%oD@1u7WBAkL8pgj#eop>M z{zaNItn#!a`;()|`Q&=?eeyJEyU*I*AQQ<}WICBk<_l5Yc|z3x5%MvHKTW+>h<@3? z@a+tLhx~}~-%|fXUShaBGeWkHB3lVDetVDu$t*HQc(p#enyCNZ!r8F z;Q&oLOnpL#?Y^NtM}1j{bhm_PI|tH;jwTzBDP#{J%G+Pq56{b?o*=}3F7-_6V(KO2 zDuzEt{R;JF>Rsdq3_nEu1@-qrXv}S8@nhKrSI)Cij!yl7Em@F&3nr z)rEaDtsZrf5P7zu?o8dCdN7&A@UhfWsSBwepk7G*IQ0tZwd7`oZ>QcveNc#UeM9{d z^$lumwiREUY)*D3v&iY>GIAsNK6#$}i>!h+k$h{D9mspgspKQ%dh$K;IQa`%VUFc5 zj%-H`B6EaDTOjO({gZl$5dE;6`Z?;g)UT88GJHSvr_@KOzoY(v`U>^0LgW`R*P@qf zPToz9Bkw1lCAX0ulIO^qWaS4ezm3UG=$;|w9l!(6{0=PQ2$JQ zjrta~eV(;_m=NhBsB4l5WE(O~h;%)v2T~8A&ZnLsM0p-3UnRc~qP(YtX?V^R^-UrC zY7biR6@}2@)b*(wQ@5t>K;477FZI3D8PwycCsWT9V&9lYy@c`0g(%ksazA;Fyd=bS zH-#vlKHp-f5Zl!uQ^<63GWi&}iQFwjdwfJ5Cr^`C$UlXh@H_kkR{E+!n;e)KjTvP!|hZY1$I%Rg8a*`W5QU)NfPo5n{WK7+xZ5iStV8i$aw5 z7wTK2bDMhi}gv~YWW9s9K z|BCuY>Wf08b36K!1E`mZwXNz`(i7;3TX-v?xjv3Tald^-(3iQS>$wb5%~)Fo)GzePJTyTB!4Fz zk67s{35RK#o7yKtc@n7Gl3f|zi+V6Qik!^&d?EZjO1?nuCQHb3LX@+N)E~8UIBAmg z$RuGV-u*`1M~HIXMLnE4i#m^-#qhb*kCLm%ml*$w5dII4C&_E1Yl#)_AzPC}g{ViC zur3~zPCZMA^3A1QMg1K0E7Y5*-=^L}{W0}t)L&8mME$d{Hm*mhLzY_kMUgdxC|4co z2Gpr!Z-x(`&Lk%?dU9rY0*>iY%tY3iS-uTtBVS?Pj>*gi^# za(aaxJeQ5SjS&8NlKmMzSXfij#!%-memeCM>gCjH$;}MkPQ8cv0QG0o$AmcUe#!8& z48KbKm(axL2aka$ca#w2tU+CmOk#K|>dw^Nsnei2}G$0_m#S?MV&Jb~;;W|DKr z)#NVn3-Wie$_mR*6S5mQMu_?rl1s_eLZ_w; zqaG_nzfGbpq@G2+n0%UC$M}sx_}N2#N6LeVrCt?QgtTZcW{Vx+nEu zauhj*ED~1Mv_;fU3gLGhxtsBOh3MzQ3_nhOBSiUr5Vpa24D~I>SA5#?7cNA)8q^-@ z2GohvZKzYI`;a4rZ7`pcGsz|73i5gK4e}6qj66>|R$KnOLX^uV4AZoh)TzQEP3y|= zA>?H80rDwwBe{n>MqVKQ79t<#GhhntUkRbT!Xg}hsS~N&k*N&tMctoz2=#b!GQ*3= zh2#<;@>@=BAa|1`hEXH$Og+ZG3GWF|1 z_}|I!!{oP&ze3(1L!P(%#E`YgRB`}0oXjEb7gpD_WkTe)ihPmbZ<6nmC&`~l`wQ0g zF~WM9)<6h9Nn|S7lktP8Gs)2mFCw2LUm*{Wr-g$w?Ya>DZ;|#Ft?*jH3_RCZi1;>S zcX9yZv#2MMQy9L0e4gAveny@nOUcl+R(@V#G42DB4ar2ZCE12dCDX`03h%+ZNT!l$WMA?wGFynsk0W!*eDVQu0V(f=ko1p{&yz2a zuaa9ydCt6~SI5BC?oVKrSL5BcCK+B3~w7C*LIBBi|=akYAHOk{8HdN%fp} z)U$%aYKJf~imXn?k#)&rQr_b$?UzROAk)dgCbkMbO*E+M}pza_7b*T|dXZ897aiPS5Sbdz4PDcOQdBYTkPNaE#vJW|k z970YcbIBRxEb>wEF>)pO47rKiLcU4vBKMK%Ir=Ey3F@!Ov*da5Px2NS7HrkK3h5!^ z$!5a4QEyV-(J4BWOeY7E8KipdKGGG49-wJ6$YOFHxrkgsK2N?xZX&mk`-J^)zminX z=Z8K*eTqCwULt=X|0eArmY+~k-rXsF-K3ZFkqyZ`e9|`;i%B7CD~GAq&VEW`8fF$`7HSYxs}{OzC*r89wZNwUz6XH>OBak z|IgI7N%cMigojnI+NTQXA>+vw!d`eE7uk{QLZ*|0$qX`!98czu#pFD45xInXmVANS zNNy%~lDo-I$Rp&}B$ydp(6ldMas_gtVI+ES;G-N;_#UF0A#gH-Rq!1j66(@6C`41_;G zy_j4|t|Xr!Un94X`-GivJRv_JkB~o*=g3m>I_bncN%_8ni>yjUlL=%KvK85m>?Lf4 z_ivGd$RT7lIgTtOi^vDa1>}?DDsnBkf!sm9MII8i)U?mYFUYUR)8vojFXXS}Ez(xW z^5Z03WKA-bY)B@Ot;zOeSF$HLm>f!uCdZRAh0Qc=HaVYsm|R9aL9Qn^lH15P$oI*Q z$P!Y$F9iAgKz)w9LS7?nxUiP;1d)}<2r`bWOEw{!lO4!TWDl|rIhY(uP9Y1(dBP@m z&mFmhe4JG8BSHN0)Emf6>_NgY2C?wWI8#T98XRm3&;h+#`rvie2jdOe2ILS+(K?A_mdxzUyxss7la8o zpCGT3Wn>6GBa--vWCR&S)+Xzb&B&Hycd|D*ki3_iKu#v7lQYSOg$?k%4)O_dCAopz zL~bW{l6%PgLr;)SBIpiX83Hc&@6nU1sME*kRRW1Kc zvNBnfOeB-Ywqy#~jqF9HlY_}Itq=j8fp2jL`IR-NiSKOY(cgrQ^_>4ADK?7_r#$5W2mQ)1!NIfOg=%b zBwrxckz2^^*%tB6*ekjr@z$49ia_S&1~rYGeblG1-D_O?D)^ zkbTL!$a_iko*I-dmpY%ENzNu8B_AVKlWWLr-7!V^Y0m2iu*b{)W6n{zCpv-XQJKR(`=`7+Hm^M!HG$z8>V`qfR7~$TnmLvMbq> zyq6qKW|QN{JaQU2i=0C~Og>6JL9QfUAlH$vl3U4rIoXQrM0O?9$-(4!GKVZ6XOMHr`Q#HqQ`1(GYsj_a8>D(q5z@U!{XY3A zsoqb+Aa_d@E$ypW2 zTe26~j~qdcA`8eFCG%4AitI$4uUB$LQ?WJj_$sotvvzxPrPC&!aH`v~A>D*DzhJ1y5joeEfAP8PL$P47pzmYA-R}*oP3I0N4`RCCwG$j$PdU8@)-FO zd6E2+yhR41Y3%pmci6%p{Juqq^8$|$O|1H8M_@211 znWpU(HrKR+!j|}5kFXW)zX&m(o)Wg#wDZCg9Iu6)@ViGLK7Z6~V0Zj}K-dfQ7xqE@ zh5b-};Q-WMcsJ@V#JETn-h=uJhoJt#VW__l<7BWf6ZIEnq5i^b)L%FT`C^fF)JZ3a zk0(`lj1cXLrc?Bg7{*E`3elcPWHQ;7>?TD0P$flFMKPTmOb#W-k`u{XGM_9KqTKVy zh2&y#DY=|nL9Qm(kZZ{;6hM06K|UjRWjAokfFcJUG$*qCqt-upgz12G#h${xnoHsKyD# z!zj_98ZX$tCW;2txWRbH7Y!B)vA-3O#ljf$54li?{ckb3RA}P&D&z_w#?NYUjnJcM zYsn2l?4O&+EyCKGww>H5tjq7Sf_p_{zdb-66k`89OqK|-A0H!63b8+{@4JGhL}R}` zOP&{E|GrF?3bCJGC(DG`-~S>tJ2dutopcJZ|GUU=A?ATdGDet!{fqPnF)zfEJ|Xs> zhNSxbEanOI{aG+s!h7L+5oC%G^G0W~o3J1HpX?{ZJd#ch7GgdbN{$d>UKvG>6=Hsw zNahMLR)f`y_n-xQI>Ld-k!$c4g8^gp>&hXUeykV{js9ybM8EYE zqQ8a;(N8%-^vhf!`el<4{c%!=eh5b!N&9<+X!rI)w0EQiF5vMN?cI<%QHVC~N1ZN2 z-6vA#3Q?DZ)Qg2E^9t(KLgcZ5dXo_SQ$nrgQS{S!>dQj(ms9p9l*c7Rzj>(Rh3LOT z>Lelhu^V+Sp$Gj(JyeK(&85y4qJNiCFBhVpw@_~vqQ8$(tN8)_uJ&`3NA2h6e^bUM zv`2_>p!PRtwZApt{sgV|CyWcVe?Y7K1LH%De`q!SF-|to-xeXp%WmquLX4a1)MY}9 zAD08f_Tj=5%m>u!`{SKZ9_nsFjH`*%xk8Mu<K2wy<3R!cAomO5S_2SuZ{d- zbZCsfWFd50A;w`h>Rv*O$HCM?g&3D(sV53$-k?_B)5bVmO}$2l@w%IOuP_tyGWA(u z7S5ljuM07bHH=v)k1iYo-Dv8JN%@&0!TdanWBpcsc45BOXjEo?rq*cW)TvsdyzGgM zB(PD&xSVnM8To}%v-74+2?(E>ou4sf^1o8%B~46ErI;i5>&D`GpxHk#O>;Y(^lTjLfV_0iMMB=)BBH*%_ImMok)*^ z3UbksC|Z7g-nfw&)3TF|@RgN0F{@yrq>*A|t zTC_%9X2#U9lk@U3x^^#@mDPw+u|_$0s`khe7U_ z8kF9tTccKqcS8ClCpOJ!(k-L!-IAr1YCu}2CW%Q+{}pzp(b*p|r8jBR#46^f?2!dy zIOSM&=E#wG*_?^35bWN8i8J#ubH@04+)DAEArr?*16i@iPivGldD5h8f2UjFtaZl$ zy&GB6UqL?H{(mnukP@dES}?arDz_yL^=k2AE$MJ5R!jMG5+_St{Nq&Z|CufkY0Bq| zuYcTG{P{LSNCo_-FeVZ|J`9IF9{)J(s(;C^8~y|R^?=4H!kxwMuQNgd{l&u{PW6;O zX#?>o{_e$ppg%c>#3{_3#qVz*LIVA@g})SpN%_Q&-(L~zK!0bTamsUN@%t-8NT9zW z_>;Pczfk=9{XGpk&|f16X;c5=_qQDZf$4@rwDl(f{pmg^mu?l($$6`P@u%B|fWYz{ zK>4K1Qa)TR+$rB_*s{5QT>TCQ(wF|l@9$d#1o~?`@1OpVe)iY*Htaxuu^5Q&{+III zEaxvB{stpV$`^ruzrX6(HqhTGM6^b{fAN7hePPugQ+c#Wd+*$nTUN4uCDok;(Q1+39tW0hDExU4Bjt<7zrVh6Z5QZIegl_+c>m(} zx2jyafk-#Xp9u7)liwx>=35j{51Hfr`R**|?``;#dBDH;{cSJjZ!P@!$4fmV_WL_o z&Y%4DP3B_%;`eu~oWD&0{&1;$$DdrY2DVEqDkb}^fARY(E$450fInPn-|<%&^G=|@ zWcWMgcgA!gDcUHtxrm-F`*{Q3JWDZt?w6`Q$g@ zf$gH>Ap*tlBjsxm;BR9&f7@|?N9J+=;%}Gr<^0WqzZfJEf64gw*Y~S({^YkkKlz=3 zet%z-^S2uQRv=#d$??JOPkvh-*dOxSnMQsm0siE-=z;Z3T4+M|8o8o!k^y;e#rSRvH zf^qS;-?Qb?t^ObBLlz`x($)pGs{;qPI;Gtlqv=W_n82l$ioPrtt^IKK$2uN{*C z4#9U8zrQe~3#@O$hyUr{J^}t}m-FX@zv_3q{Zqb<<SvT8MO*I_@muL;mIb(eGO#<-6(6t`o~z{BiQE zg~0wji*_E16E>kFz6PV7|T1 z*|c2jNRlsZ&ECn^DCck2MNKRAJ3%_XDbIok^tZdRUEO~df4H@K$Dgm9zc!a~AKu^S z0siD!5`q32RF6cTU|fAZhIT)J_iZSwkqJBvTv@N(rlk8};um;OciSC)Irl`kpUu9cu&q6K=)`8`QH`|gY{$!Gf&6&IAGGWFp)sgsu5HQ_>8Cp}H86Ee2A zQO1q=Wr;_$I(s{_;KeNXwJk)z-jvq(c2a z&Q*NNUjOzy1QEJD} z<4b4jW~cAV&MwswIvn}(f;~?2YNfM-?ANv2eivP<`Nxni7b8<+MZ zJSL}Uv7#DK*_1*|N>Hqqb#RtCoLcE$j!qYy4hakLr}0S5-Z@{|)fNXId#)8doVsvN zWZJHCwph!zc#i0SGCGb9)k;Hxx?J2J)bZMisW*paqijEKYxWlUqiNsk^E3OY*0Rd& zFY~J<-ZV$I4d+zXmRsfS2urgy4IX=J+s2|7Q|+H?@t(BYcg{GUK%EkmFTFIxaWZ9p z$hBj(q_f*Dos%)4)v27eGOc-W zLm7YVC?#{DSERp#)2z}2#Y$g}$PYhucoIf5>eX>-G^QUk~pDa0Fv?cZG=W%KOYn%U(~E*3%kflsqzCOBh;mXbBEb%?>TtTGp_5Ns%>1q-RFOy)gc+P9rD2 ze)HO|%gefX_Fo<4*mr54egCfq9F9w89LvjEdA{DJ*PmC`EwR-})X)A@YVsZpyb6P=YZg~NIdbs?XL#ooslR;l!Xn3|CxTu{ zjr!J~68Z1JsLXBr);QfCpZ)VIzujNWNI4qiIwcyPe)1{#(3Fxd};Q_rN!E$ z+0f?p6=F9{YeTQL7NSEM9Xhh}sv*lk)U{vZ5cxXYjBewRxZ@YRf<@c&8tt;;Qxs+=am958}f$fMBA6ncu=VY6` z+ce*Zl8`vh4ac<;A%l-QE`1RE`!*SGJFf;;&bYDg56L4HdGu3xX!2kLU;h#<)^o#t z^`nrZ+qz+!4?}Km(_$s%y8LtbR_ov!+@-UfR-GlMv@X)$Z9Y%Ch?54dr{~dtcB)X~ z#?hhK*6Q8bpjA4irHq#?mY20iOij}s_oj8jQA|R#I7h5cwN;Re-o6OiV{7yEw&%`i zjpiPCku`eloUN&|{%c2M-0!>^QhDVOt?uS?UArvY(-nE|{g3(FI?nyk*Hu`YhGT^u z+_2|K%z{e?d$gN+@gs$O3olhDE?e8={a^P6zyE7-)#9@C9gE9e#0NhukA#%g3JofC z1l>l8iO(0~SY3=`c5&IvDYmQjis)w6n|-;QYB@PE}kv?L65Z?iS5oAyMT zv;mk`idF3gdsEVEH}yHT-`<#__El9|Yp<30ZR2Wst5pn@B{DKJ)Q+WQjVhIGcDr6JShwT5 zq}U!?I&?iK$Zih~32{1|>3K6e1MuN|YfoZf?ZVJ7?X&gP86noT!?^r){aL7KKjL~? zE~)*CT@R6OayZsvRiS}Ru9EFG=M^tD>Nf~>y&ftgc=&XLJR5?L29icsubpc-Mk4J& z58?z=Z;}JM)eIF9vZgme7N;RZ-oK*R^`O@GA>{owu=_rvLPE~gN85?5U&GBh`+4BOcg z)ycL=&BOKJbs0!rpJ9YKqhuUJ-G>no<7}+s%*2rQ;5nO!sYPc@ z(40+G&l?A!E!$~a&i30bLmpRSg@;FH6l%_9q1ZAK72b+GBGzG59RaGS$f#dm-1v94 zd|Wa*fQxu%E33Gn-C(!2aynfEyN%dRqX`V7Aaa3}if|awUn40km?&~;viCtW+kJPJ=lv%S? z+a*QnFG9Cz5z^B?Ad#v_EiJ}@%e|#G=P?CHv-7Ihu>na4VJ%ny?8 z$<>^1s5H?Td7AT0l_WZ2Iu3ziI*n^mp|@nRa2XEVP;|a6cBSZyk)t)|F3CIGcna5@ z&fSte#&~En?EO+#)0kTu_WQpg)?-{B1^YvJGGn~a1GAI!#x;ES<~%e6cEjk5 zf{~i@Q}LMy8zuWpN|p>8MJo~iZH)&8ApOxyq)#zsN_mb=f!!%OVLDv zD@otW=+qtd*YYV>KjSmpz;u4M7WGayy5_?^^EAQ-8y{f~a-NkPV5o6c>ieT?J4&lA zkmN44l1jNwqc$!HM;B~HRFFi~cnG!d>CRSmi8h1PYh=yL5W0+9uq*fG_hoJK0~Ufc?PCk-?d!ViL^;xVPZ!YTtvHB=hx5i0&#T z*}U2aqNlwCF>TGKFts}S*ku?<}-0M6$td8Me+MyA0KCHuvMQ2hOs~VC-dc51#-v$9@h8 zzp=aJagWaVc6lo1DZBf8AE<@)UlDiNj>bEOma^M|8?{CoiXE!UfK*K$jV%J2TuCJpESrv9`~tcKp8n|&#_y2j$dOktt@&pg`|BGdjU$~o9P zBV%o(U3P`B<_n`CvXsa*wK))@lqfW-;SlG{w#)M~i_Kv&w~V$YK`b=)$|xM8@>yec zl(LOg+pIOe=ms%PiB0C;vmwSSvE7_93}S*3yUk^i=|m+Cn2XaPCMj=+wFns{lBH^p zYL=E|>$L=O@BVfwDDoVh4z6_CiDyY7sKQh^c(IwFqfc8RyiV zQs*GG8+v6AcjnloL%i8_VNbV9URJJe`?rYEDsLGj-7X;&WnWYy4*~DP4%KCctSGyO zf0X{Lg1^B!LPm-MBS2+s$LWuZlMsi@FOJUAUQWj=uwy^00#8{o(Zueb1b0z#N)g)( z6GO#lW!A#cuVRccAHaD<#p=rJ;)Pj5nRCX%G{uYDo{Y>SgIS5=3c5^1Kl5=5jDb~CyMgy9f(x>+9s$QA9_<3oAP8aNMd#W>#2 z1l+~wOII~VCh{)T-S^Ljs_wXoLs5*=ePte04M%KC90i>2M=`Ct+>WF5F_Ssn^|9}` zYC0x#l!KQ0X*hP(a?DTDv=O213x!Y~$I%SjfUW4hTiVs@xPjR!#^vsg`NkFN7=|X= z65*bJUU9`aZVtgbUDbU7`-v;wQ5DCMy?BTL_9s_w#|NlDiQ)bhbFZt9s?IUP9fjh$ z`Z}iI#NnjjZZQ(7zXKl$XnUjF?Ylt@Q0hRGdmNhDb(c~Hqudo_yL5*%@8Kx7d??`> zsC<@0xu0`F4YG2Gavzeq-=k8VjB?+?*{$ndrM`@E_eB%9hA8z_l)Htb9IDjU$Pc@n zYnW2sM7iIKfEuCHw^8ob8$gY5%)~f773Gc_12s;mvM6_TG^A^aQsL3=SRHD*Qod;S zH4H7+JjX+5x|C@58cY+e2bJm^?ar5xvBEJ7Q+&7RxRE$KyH+}6;_DUdE$KsJE4x6z%p($=+2eC)#}+M<&-Er6xzaA5DQe;JAb_ksIwk z<%RmdQGz<;N4wjj16&`fl!ejmZPL>RRa{ZD`_BZZLn^K~+CA?Zqe0QZ9~mqtKeGRC!q%?UpZZxvna; zEZTj4FQ{8eJr?aghvT8^Z`GU2qupyUgk85)+=^&Tzflpg;B)Lip}Oo;`a+DguuF3K zt&i>x^Jkgm^*oG-uq)^$O@9w#GVGVyVva;D!%C%zYc{~76&`ln-WfZdSp$6*_J#c< zyy7Q;7=&Rbl(3ogQI@ciDiscCGGC@+12v(9X*CDSNkQ0m_9w;3aqNy^r|ddx%`8H% zgq>DSbn_PS3Ol1jkQrPV;s^T=$SYW@c|Y378FtZrNIbL{jHt_Ybpd0pZv*kON~c>J zUGZ=9JzO}${Cth6OvUdiTkMa4KOl*P&ct6_l`>v!z`_m2haaf371f_lX1dQ8n-T=+>|j%l4oX z!j3tlF}$O@!anYh#_}$Uhy8^^s_3mFX}+?;!y3c>+OiF?zfpFbJbdvx>{}~*YAnLP zv+V72VSn%V6BYE<#J&@D$_mexwmxI!`-@cK2P<6F?yN&v$vYc!P}on7%2I~A?t*>J zvfo2)evzcQy|PwwSq#p&8zDVpXJSxEVpY5^_2 zKnuIAnl@aEa$~A-R;n+L&@}Ev&sJ(6re>VMgk;$|#<2LP8>D}Nn9A9gFkATEYXaMs zik;5pYugzBx7b*S%gtSkCnz}n^8iglQ8FV>ZOpJ83u*QPi6#uqgS7pJ}i ztRsA#v99VHf_0=X4{O8s5Y|z?HCRXcGMi#%_pL|is`=i+y1MTW)-`|2I5OZ1H}HLZy+AM2*Rg;+Q9t;RaZ zw*~9wz5`gd@SViErLPc^SaLmin&j;IN0Kz{_U+rVajziAe^u62++en+@(wV^%8c-zAMl)90dYmH%)dB1kf?6;nCh zc0rPFDkf433!4Yk zz_v^>692lqEF^rW@^}HeS@?Kqj;NC;e|Y%B-c?ceLD;jxCk4UOjMoj=IX7fOV-)7z z@X2x>;xv|EG7Zla+okC*;XEXKN;o#q?;nl9RwUj-bvZbz6CinRCeON}O2?v(5p}4h-!-SYga^*SqL#^=!k6E2Bu~_fiV=(OkC;48xvqBJp$XQ zRTL=i{w!ouJr!d(qIoZvu@B-vAJHmNOnD|tMC-?4MjgPAwO4KXC2V7QJestfw6JFA z!LZwlZPWB2*z>D)kSA-#44N%JNv%3)B>K?k&=28*tqoo*f_;w!+l;!HnycO`;fArJ z8|)!sM;Y&-O{)&gLz9LWm3z^X%2mM?s9(1%V&L zMo2MbbJg(`vmti>+c!v})CH5*d3F6HR0z8BejX7|DkF zU4-KP9_sCQ2OSZW5@H}SD%Oh@jP4PJA{bwx^`d)PRh6$#MfVchrp9t~Z?WyhI*jq? zK4LpGeIq@-^gS<#vzIy{?q1nPG~?53*h8!_Y7+-T#daE3ux0cx zHL{G{&aj6|`f%gV_OLU=jx@|5*dxS_F+$K6(V6m;OVjuPdu#Ma3HKPEJODdO?0BuZ zlueTO2dk7u&q84IC^yWYH?fLcg_eq5xDRH8Jk;}B{5Q~oK9{IibXxR75)wNr8Ro-c zM&MhbnlqZM9;5}8N&Ga-+R=+7SpTFE3V1jUW~g2d>x!+gQbn-FsxIGGkNHIHYmKL2 z+P1}fwjW8118Aq15}7|VqiqW8BeG?<(M}wGE=eMd0nK3_l^c1>s~szVeN67JMcS&# zee;;(B4TXSregw*`Qj+HFm2VA!(Yq^X$zmNn!Fz%=A?*vxZf9p6p~5}pjy^|`oXX5 zn*KX_HRj7J2np3YV;y@1<*n9SlEj`tsj63%AsPDt_R{K+XOT~JdH!#F%s)+Tz*d3s z086V8vXI2T*Vad9RF@XGQmT_pUybJaMd3s|v<6-OrH5N*EFQWnGni>zqBfOu{6b)13 zVF^z+Zb~^9i9OhmXWrFVEcQ^XqBM=wj?#(f7iqSN(lA!2I@b-=<$0E>-K7csm0q4? zsb*}cRJk7Ucgt@7*3t<7q(N?{{98*^tQZ*rh`E87ic%3PR6aRCXe0vk>zFKSJklKv z6jUENHgOR2?dC8;btx}CYzjvkM*WS0Q#W(GJX0*10=eV33wy3?+8OOO0Ie7G`9K7jZ-{HvU~fu6*kC)wW`n&YHXH11vDsj|tOi?~0XMtl z(T7eW7jvHZj@T|^-%Qx=iuZ8iZJcPBd&G`3R`rFwSNy~n8#7_QHvs9Yp;U4+M|WYY zn-535fnE)0-Pf$v zjUNfmn&CCyp&CCyr&DQuN zAoEYH%$MK<%KYp$(zuM@aQrk&#IB_24KP8PMYR{W`@EDE=g)nLAucq5h#Fgj5c8MI{;Wy^vbq|O)io8qb7`0oHgzMztfYk9RK={UghO3Hnc?aR zN;lQ?P{pQ7s)enWnJ~h(2A*r-{;92x2U@u`na4vix4Lb=VC>jTd0?ekGcb=@%tP&v z9#u14T*ce+#FgENRc)1nT@}=HD`;>MIdrz9N%r10_szWo?Lt zN_fl$GGv;l;>K&W!p&wjxpQsKuw#{^Y!7w3|W{T}6DUxcaj<&0?@hH8KSf$#Wu^7tcP??cC*=j*J&CSvXooy{3T;|UH z5M69tA;PtavZ+hD9;FnQ73C=@E?FUWh8>?>WIvkUZ4F2v)=w`LH5IuP9UeFz)rxGqaq}1$f zyLD&lKFVh0`zoQEf40H~{gl8^8wt^0377e~)OUaq;a0QUr9`CFEa^(bn6u=p;%+5O zlv;MxT5HW1+Y&ioKGYtoYP{pn7N<96bq>hSa6xE#Z4QsL^FSRU)+XQ72)FvCsT$Cc zR`HV6VC`&Hz7NSd*!rVg)6EI_P7o(hqH_qBszmTP1rMX{xQO~UK}Mz z2V|-39XYZujJ!6bzUqlO;V=en{@iR`@*wZ)K#>GRcF}q2P zS&sQvt)XqIlZw}@p)I|;#rCyqu%;bWTRAr5c9FS_HTX3h;&qOV6LLh~u3}u~OH#KT zDkj`CF)+qFVJiV&~ z$I~7qIG*+@!SVE-5*$zalt7MS&GojQBu90EyFnEMv$mXoy{v?8=F3j{iV{w1h-|hc zqYf@>RJ^4cHPRXt`&EM_nGeZsazJg9ZaSqYK2X^VHlM)GXC72ysM)Cr#K*SFD8LAF zEA~qBklJPx2D<#}3-@`j4y)J&F^5&l1YJW~N2v_dPi=q0w(EM8S%6c|$JwDizbfu@ z=BSgrw}-%-tjyUct~*zmU2zz3Pf=!Tj74{TdL10QAD@Q$)O`9u*v9(FxJ|m+4O25l z6vKYz8JN298)k@_&&uVHQ`6tTAahS!D%(chi<9kIrhy@-4&JqDw!to8-5#!0OKjbc zDY}+77I!zCMlcRjwPJ6=k4yQl6(@GMQ3d0?R=n7e(RkpER;#wyG0~&&u!vf9q{L?Q z#OxfcR$WvZmj+pA)>@4|fgP_!y^GTwmwQfYDTKUJ!aY~+M{DYo+5JF!loN&i7^kA{ z`BG553?c3Xl15*Ebnb`6f28hyG*>))lZ~K9k0Ao_opAc*esl=JquQg0F*RS751x#( zQ_vi*$SH+p>=+JvV?PAzM*C5)xA`PT;}UvPMkSAVjU5m=_ zpldw!wn(CW$kS852-i@W@kR>l25VsJh7kli;eFUnV?eddk>MulPHv@X;0WOMir#=G@A_DG+yrqyZN)QJ%+qZ($iueY}^f!9+D4zU9v)T z-v?^SGr5vnWi}~K{J7CgG}jGlet~GJx&Bf@H^bUvyW8r^Z%#8ErFLm{X^9Hv4NNvJ zn-Zbsm`)JE_RSc%F7vkJ6=EMEt!v8rD_j-qhsUGVX02WjRqW%ik9f=zIE!{g*iR4&Mw6V%;|b9UtWDUMPEw*&3T_4ga|Rj)%T;#KY$e#lwgM@$lp@@er>(yo$B% z+YlliA-}#*?i9r5D&j#e%F0p-yh-P? zJII)aq3V5FIx*N-I2ZP633nPNFp#~^h+VJKfLw3II_wEvksB;& zw>Kqk?ybvUQZTtq1ZAOKNs4 zYG@>G>3H7?!3CXB8U5&eTUrv=-I=g=N&a@D52g|CZrR3R$a~bi??`ezIujRk-ghN^ zsPO^j1MeOghc08)EZBQxBvdjQ&WHV;bhyWu-URkONuOv;!Vc@*FLu*}`!WA`52!NP zgOd_m(kJg*Qcp6fN!x!QslcCgV-y8pO@hZ<2BF5WNt!mebj z!m+`7LhL9b*ADxnjMJLNr#PSRekpb>BVPP}CH_4|i#f2r7TasA=#2F@;y>01mD+zR zcAbQWF;{!PSLLw>*H4famU~ZGQm>y7F5P-sNnNXN93KODMr4BooAmMzD#{kpFyVC{ zqlV6dcHt8bPt*$ z*1HI;sLNgE*f=>LNA1ME?TfAd64DvxFw4X?l-W`t+giIpw7&CU?DI{_D#ylXdbZ1{|+Ga0OMh(L;JUq5t zGIn)i2--2WgOznKcIDUa*_E~(# zPe04gUzjLk`&)i$qrYPZSbo|?!M;oRF}kH1r`VV@wt z*EUV6HGGa#YjF>$mKXiv@O{u5#q_le!EUeVLowsUWf_e)FjU9jJA2Z9Wqw^t zi~0x!GGlKgqlK)>-&Tb-H}{7N&8A9?JE#ygC7fo{?htm{*ifl|SaazshfQ48oS%v^ z#CEaIhcojCMsRFbb-c$}bp?oSO4v+!t95L5CG6&H4@3_o99r0lFsQ!v&Tvq(9ww5= z*#7n_;_V9hG4^hH3yFXjsJ^ABo2RhX#12xzX+GH%Vz3e}^X`feL+t1kT%Y#F&JsIR zo!La-TM^ZvhS?v3>lzJFwrP&o(e`baElo85#@ek$xIGZb#@S^c>!y4{7@MO~g_>$u z=GtX2;@oH~Vy38VlFWfg5PA0Th)FirNKa0+%YbZa=3w@T&9}?=XlJHNg$nG_r^8Ig z6o_f|0wf!5ej_7(x@yE6^X?iDh01kaeD^L>wb&W!;a z-?nREWA4SaMfMv~$z9(6!`GL9M^S8TclS&dk_m*64jHHpAqmi#ge*+hl8|J=7WM?f zzVG`URsoS+MFm9VY7i7uTrVyNA_C%uAc{LG;(px~6?c^XeNWFM!F&I2o@ctxTjx~O zsZ*y;Rd?6)XxbiE%64P0AC2UNL(1(&R}4H{1S4>!>=C) z#yFjFr*PucTz26u0g0-rE5L4pbt~(L8{jVKG`wv!sWm*ON$O|DqpWsD1y+Uskq*Hf zCyd?H&!s~QH9!G;VK5T7R0TRd^-B?Jq#m6E@RjVnHC0l3fUhNw7uU6^v94%XTQx&a zOpSA~qftp?fJQDXEi^+tJRBh2<&@hIV=UDav3NCeAwYtQwn|h}5d2dcOCF^qC#TkT zwMMzkXRkxDa#8o@zhji8T9WQuHgtl7nBJ=;y^H+GsU8>m9-DkpQ$#QLa9MrCh1Axr zYpLdg#V8_MYQa7I5db;D&>b~%Ma^)h^xHzEyS1d3QNKI2lj{{0at#|%>=csLd9apR zBDAhrRDltY))`t-9_FgJ)ZQ*P?)<1=BJ~*EdH+f^JQ^ftiQO)3WLJv0COhOg_#u(P9fPqHSLaJis2e zhVk@E`iy#+kF;i034+NPg-1ebvqHqQHwe(xVn4vu0t}TxaE$<$ijM=hR_8+4tWpUL7$2ZWdsw-!PTf+XN)28MMg11T;>= zOQ7vrr2&a)Q^y0`CJO|g;sYtWTBPz7|4-iDE}%g1g229AK%t6C0N5d*Q`&_2Rhqq1 z=k-BR+WdLrHTw<$UDELKT>DO;d#23;y-VnF^%L#1Te1&QKeMmz5-?b;9S?A~fFWw{ zl>qk$7^)a|>^%a8DFz<6`1_5%V&sil6I84McvQedb&23HeR+|F z|89|){Q>xf44#Hs;_OwLw$hb8mTb8fmp-0%Qn1+!os~X;)4JPy6|-piMAFVUPM^wg z9B(#Vi1g_vOE@YD+Jc_Zx(D7Y(s=yLSz7umUIl*P-GhSD=g>E?$>z4E0CPDC@^mlP z_385qaO|LaS0K`)FC-|`z3UJ#(-#wz=-vuUb?Hk8y6E066kED~kcQtcc_R>+)2|>H zqI-Wq=cF$qn4)_>8w;>}E5Ksi>p|A^6$C4F?4c#UItRdK`dnYddST`JCx9-gu2e6*tF5OEfNWYrkZrytjBRTyVf_rrDZd@3q zU(2HR=-vyMe$qFR^MLOC7$Y?Ox?z|+_UhjG81U)$_JGBI)4iPU()SJzz~qK^zz~4P zI9;Y0-o@yp^yk?D<%V}E^SnSX#PBYFx2C^Hi;gk8@2>$kNif0iUReh462TP1`(QM{ zDS{b>wjSR@8V>D4|$d0b$N&90ennON0)cqU;w$g%y)S|hQjG`ZCT**@~;Kb<;t=U zVq*a0(z27wdzA;^a~4qK@(!K|z`sqxJG#6_a7zE0oGvbJzeWJx5_ENWPa$Nbe@D;_ zVg%n4ba#1&QiJmZWiIb@f*%NaxV(q10{DrbCz_3@n=bQ1Z69bsS6cNL=m1`t~hUKnup zw_OIqMr0aZV6WNX2Bkcz2ob}MGC0r2suM`EJ@T`Jcr{@xKz)M_m?%$w>;?jwsPwtu z#LAV7O5+m;J5E5d8ny(Sc;jA_lcxBZQ@hmoHw#sB=HS>_#D>61e2{`&IcRAdn|lN@ z5)!dg-Hx7p!!9#6m4sT+GuR4O0?O!ZEQ7-aThUiqQKdR?DlV6cn8ivO+g}>HOjV#K z>`H0hN;M8e+k>R!HEI{kZBG@AHYmFfz%&6H)ql{1_H+T8)RWx-W(e4-4&%beo+)6P z)1+Afs-4Epmd5T>%ez2qj=?4QX*832MU%cq-HCRUagxpAGdz1iuvu}_0TvpJ(UGdE zHNYb0+DuD2k5OA~FEtpH6n8h-%j8bGrs6r_EH}EL3bz^wi`Xj!M5;fM0ah6|qaKe^ zivU&&NK>V3${GQM>O>;IS^<^nA{@hBC;H4#f74mk3#d{X*wTkNe+vtlh<|ue~P{F_Ak?~$>m0R&?zI~qncp2x{`voX9VkE!=0&MjsqN)9$ zfIO9M0X!l-SE62mYuk?s=%OYfD%g)11yH6;^~wNvLh|%h-_r0;OV0gKfaR|32w zV5OSG_Pi`6*r51>Nc$BjdZT*54e+H=3FBDH5oI`)r(j_TIKl>AAW{*rEq3ttd)TDN*}^!_ZCctf`g_TsOS?~HDp!aQaFCX%1( z*0rO7ei!tGZmpvQ|B!s&=+v zVgc<0M9EUp*Iq!hDxjhrL>-TM4^z3Xqj2i0B?AHS1vF6iqgQQ78bzJP!Pbz>Dkses1n0H!rx7f~lsR^z^I zve0fKt8rg<0m)pA`^toF$6w9VzqI+1+fl9a2jj6 z5w04m`}XO7VIe4?(YIfhwY|D$9I_vjYfiViG!o#+;00(7yY7$xB>~WPMCa6Os|G0A zcT_;8T0(G4X8_ERnCE*|=iHvBHgo~!4Otv?P|?Ex-qIP_O4JoN`rZ~$rsiY1^PLe; zu0F>Y^t~fsh+4wVdso01^&T!fd}pPeDQXx;)B6Hus7gBNIRSIjRD^op2Lh^8Tbj@< zfo8EfM^2c4W$FrC!1}@^Jgrox*wP4@JU6P-82P?9gO=K)p5+jZml^N@bsSTt&y--a zS1rOs>GK*46pyG?h{wJr0v=Voc#b1Q`lz@GTPh5PKh&`^tSwND2{qn;{ zUo!y*RK!wnl8qR|(?iO`E@^I90MDu+SiSjDM4jWRx*VW|!3&0$)Fj4@mePbX>gq56 z+hCwOs~VvpzH|X!sMlr!C2O{ z-MW=O38<}DAyT*QhQs^XNf}YP^&8d|zV_1EXxuucyR#MIhHy&;YBoeL_%so(5`#F& zgUFHRD>h~$&GFJeofU?!G`Pa}g?-mm`YuvE$6?&v*od~qYe_F)v>xznGW-bjvg-70 zaTYeR(DZFJI5HyDwK>RilK_w7v$x4S9jl&YDBLdXiI?H0${schQuE&;pM4vx*c1?*8j(tYj`@PL}x9N=DA-R_mka^Hgnue%@9 zk`MR}8)Kn=bFP|wM@0XY{KF~VQL#)*?r-xwEixGDP+=~l#fHta7SGh91r8ZkBdz5E zj7+hGmiZ0l66X$O#=RMwaa&JDZ`h+S59oGx1ZKlFyu3rXs034-y&dUc_HP*O;r1X* zgAuj`@ko0zyse(SIvOixdlK}GwyPH-@Yp>u)?@4)Nw`aD*Mo;NuzyDRv36M@e-yeC z^H7{Uvjx<&(+~^e?LzpgX>UY&g8ePL8o#lA9DSE@jCyCjhVc|s_Ss2P_6fvV+_6Fd zy8Q=MB!+!5lFGh|YVp+VG<3)~)ee#g2UBsUA>)^+eNq11O_BWTVvu-dj8#&`Z~R5P z+dNtU`gf*BnwwEt#vi0T=IdBkWL%_7teF5iX8g_ccym9d#EeU%6V(vdF+=qhaifMgn@P_H4Wowp@F zR7sfttMwR+-A|qEN8-htd$A7S0EniSdV&cnK+6szdTS{021-4~1UYbeM_yh5W8V*X z?0pgTaJz+v(;Zkx$)YbftYGSUOr=xQrq<>PW&MFd^p841!DP^d*PS<$Fk}O=Qut>aeI(h<`u%bT)?{ zwCG7Bh(+mN4u@7mRUeVV3g};T%48DQe}WxNZ~F&JHl~5!1T4u;C;b1&#LWfl!BCw;m5zBE#`fM@H(ZE0{w;rgH2!f}-?)2@VYjawz??#2RTBd=&+GhnK_5 z^Fj;`!WJK4)sVR#tZ0rrhc61%_>d#cJdk{arIF^)bgJ!zYZ7pN2Pg5Ju9zf^%mw_F zxoKcTXD*VAvVAFYDIZVhX3|`wFK4qN%^8)TS5qd+JO$k{ukj-&M0;=U2KsuYM;qQp z<^kM5;K9zRmypHX+PjHW@OFA@=K-mfaBm(;%-Xn*j8C9b)^&d(i?c@~>w5MOrqd-@ zfM(sm%<+*~H-1Ff&!BYH*6rYHX8V<(ZzAp1vPXxpz|HOfnCIWT3XCm6{s^OG-Fy^T zod?hH;L8#vLUVsK7`$6pY;I>p^Ri}LP2 zVfn0kSWIFXX4Ua)Xah1K|e%mC7Zvdfc`h>G;{K7(0fVS=A(T; zKTJB)ymmb3M@Z+GMl;ZlvIFwWSKOci9cF2E`)4dPqCzw7(&*|P*%R0#NH-PS=Wj#rHqwZ~#kIeE$zfD+gvv6jX zj=0jnkA|=-xPo*i4MLuyPtgF?Xj_^q>zPYvyZpj5>sc18nf%Rl)^nuY=1@#zS zG#4)d{Q_x^xtvYmKn@#-9a_X+UOq5w|bN+S&P`V*ulxPZwoN+7hvv}XrvDgL!J1@ z?9O~JWgcmScan7BNXD<-Np~f!n=g{?M%pl6Cf%L1%Y2=58ELn9hI9|oVdnd!dy)<} zKPKIabcB|D95ZKRb|*d`%Uw8jhL&A?7Z?qr;EdV5Gmxrfzug(VmOc7ifQC)snAv0a zn5-q#hJs|hCP-U8NhogYQxiDSxY0EwkjT;89s>df9up_U zjAbrw$2I_W5Ug~0Pv-*M#m#qXT;3R52xLFp1-k8Yd6&SYv*m{kJKf$d;sIp8?QXZX znx@@P4eoM#_vHW_U}<~Y-iEZn^9&RZxV>+)mtN%TR}$_$xeVY0#kz!hKg1Z%K3R!+ z%EG;+3jki322dI9y%r-r`!yDQ6ZRp|@7M_;$6@c#av@APY8x6O;#n+K1TJZD6F~DT zn6IGZh!Ux#q0|yBju$D{gzzQ21Q>Li%85Bzc9PC?(79T6vk=`z%T5l_el5Fsh|bfp zQ-bsa901k!b;i@?y307~dVf!s0(_;jYn?S>~V4G9!$VbehSdtnsmOx5&l+1HeA?$Unl zD}Nr{ch`ISz8rpRP{$t{{xEd+s^Tqgj#Bq;yD#F5K74iD;kCJG&n)*0tQvWE-ror zWaLVl;Cz;!Dnx)8L+Na~)z*&LPrajjLu))^eUA9d51~i}b^!Bg`MN zK_BI)h%{Rd0sS=TdZvLfm~)IYHnOqIXGlkzds*hQ9F!h2ts&^=c+)l3%!eX5rzn$X zel!jA%cQ+#@k-FANjEXKTm@S8qBk|KHbKj%Rp!sIOwQ{pGub=}x6OHrbeh?gGH;W% z&5!1TmS^{w=Kgk|&#}zb=46DNoR3InnOO;-KP>>AW1jKi_!;Ru(^?E#9?o|#yJ0<% z^9AKQn%5()=X^;z-%Nr%bG{;7V9x3d`fKJbG{4IO{S9>}G25bJbL8oL7c+k%Xn9`W z)$E6Xk|U4nyP0>#fR?BA-OXbx=SP-VW)^us%Y*wKCO3xXTws~KO)N#UoS!LEZl3E8 z`j=}!SDGJV+Ryow=|jvpOF;iYdZ@V$(L3i)(! z8KAL%#p?ZW0Eq&YsOMY&UI9zh2`uh%n&|Y;Woi>znd3Z>+Nc^f0dSs3U8ml212|8l zu2(-2I8UT*P(R}?PLA{3X_FSm>w!N|Rxpewlo)W9^g`}-FyAW0zJyLRn`TC1M5Pyz zcAGbj1zk)!(tM9}iQ}qiSAh=Dgo)yM1)g&~-P$*09%6EpES72UE zFJoTKTwejY2kA(&4@PBrPp8Z)lR@_(ooGG>6Q}njooued9G2dXv~BVsMS2D49FtF9 z(<@1LF!@+EeIV%)Y>nuPRYrOr{l_s->FU+YEssJpb%{+Y4{nV(9RR2h4t|Nc5}?04 zOYx}nFnoHYJby`4KSTozbP7`!3jhX5*LP8}TWYZ6DN{?}KhS6aGgMA}ZJEYq;VPS!7hAS9Gr*}tY&3!e7S?+A+O7N9nX`FlQLD1$$=+4}YbOp`K z!knLb9cj0D0MRV>deV{R`^BJd;B5zw`7G9~xtmDGnAc;Z=WZrl-^@mr=WZe0z~u9Y z+#5;bmy?JXxm!s$)ZDjXc<0^}7>ix*ebCxZ-MO>%*C(LM8Ow9$1|Oeou>t1k&ejL_ z0)Y84ydqT!oFTVLKs{B)JWIqGJgPbyV3`yas~UCzSS}qKuinL&$z35JS&e~H=Uyp! z@az-)pSx0QoTFX{0IU{Hp5ktY+%>_cY>@~TxobtNP+g!E*9j<6!9t>rq~G;O!l84JN&XP;)e z+p34)nR}Z^X1cA1F+_5!9i80Ppjkk>bl&eMbX)hav-XHqC2lL4r9334)NOI2Tkc++ zJKegtt=+Wk0i9hx$8GgV26{qjSmU;u<^nw_*4^Z`CQJc3BxtkS+K-7P_bEYJP>K)e zuufOI(QW+|3G}p>ZmZjR5I&uIO!VC5wmu^78R1pCt@q)#xz7r3CoI7>oDe;CqYW7K zxu*o(?Y4TP0-YAL$8Fufet%QYeQqnK0nmGb9&lR+VZz*VqS-@k>u3w0kA%0^ZN0?y zeI~U(=C=M!2l|ho18(co6+oX0I^?!0so9sJ*-^LEKNILHLC?ZUE}*Xk9d}#Z6M-&? ztG?v6CUH1u@@(t0+j^5i&=Q7bb_)`&0z+nyY!p^_c*-`US(u|DRxaIWUU<^I&=0Yw7<&K&E_x~o~F%@G0{4QXh+KD0H|3kpzYRy#ue+t;IBH^C?ivkX)9o+%`67Ymt zi81g0TfjlZ-(vVL33yUHu?E0#+e3=K%<${t!%wLQtknI6fWzuM^EkgGKcX68o#~Gh z&QbLv#i9)U1m$Tpme!3n_@kHOYBr*X-(&DMH}9(bVE{1(e{A!I)uA^)1LJMa+-XQ>1ddU}Q8vs=@H1t4ItNzfU;$A=Nur z2lz7#mXmaB4kj;u8-ttJ(xy(-{CV=A*x9%5Z!1~cTFeay(tbQ{hg6i?#}4{vw0Ft%y|l82kQWd4}&%ha&(wi&%X%Ybih% z0S#1KGk~rFVwDTA#NSOoL-h;IdQt|82nL2iQ0+T#NS^)9~D~x zP-$esbR$%AEJyqU4UWyNRwFdtKUj7$bTO<`^n@XT$_=Y)YoKAG>IlR7vb^mEpbPW&dhf)h||~C68fN$=)9(UbG-QwnwzJ%LdUPW5f$<*(zbY`0Ahn~AFiEg=m$d73p!0n2&8O8m`KK;FOIOlY^spY}8} z(eZe~5#^?`Ne2d_`gUve&B&)3jYNs-^z9JP)Fi~|cIySW)h!r=?KTLARNE#1TrB{v zF&hSOjeuC$M%wOL0r9e>s@+BbiCW$%lo{n_HS(;DE%nfXNURPevXLI{lnHSj4skvW ziF<@%VaUk0lt;NwQs@#6{DyM!uLPpp=W%rJYKi2xIv___G;HPm0Heag7kg;#(J-#( z?OdedRmV)2GadIXc_?_p;`Zqku^DcZ^ONgF~`=FlBu9*${#`Qw7+(FP9 zPZ>W|^T?e7-JG0^^sl+>b;}RbJ#u#-)8y|kJhHXFwaG<g&c`w|=bAb=!+L&Ka<`+6)p4?6F$X$T8au>t%8`Im#T@26fq}$6~8;{%_=wR}$ zrsopVJF2xo-qREsxcUGo^b-^smCyIJ>vz;S1)4ZcqRy_ zQaLo$L;(xbaW;FBUV(ZRYHh19=$-3M&sLo;pRv!mc)a{GSdEqJl?R5k^33=GK zIfstxIce~JCscJ~l=qs1N4(~g;B^7I`ke~BA;3_DD*)aUfL{<`p3@AECjUpF2EhA0 zx{EExyFp6<3<2EQ%xYtrM!;XL(BaowOdhP+ewltP>9trlwZBr9udSR$bcoh5$Jh<~ zgKcNxsM~WpqbmFA1-u7&Cys9WNgTuMtI@V_`%WAq>~?VoI(8o%>)8`^Pn#KIF9x0|KQlbcE?}=WT)WR&@RC-&K`whBl{r?(|G$gIJ0TTw!~Ppd1JM) zU4mnxy}-haMSClbP3%W;Y-*QdDWUA!(Ak!4W12~_yW-f)z657Vw!Ikc&22x9DR%fo zJRY!JLwtcuGqOyHI0&cGTOC|=d{S&O@w;RCtdA1M7wsyA!3|Mf;jD z9z72~BeDzQ@%thBZv^P>_Vj7EYh~}p8ncJp4&kMzeF|f%m;E0cd)vK+YFZ!rE{wyz zcAx=XePQ2&>%emR85}F@gn^pY-}d7;z;1$+O8es;nl{k>ZmOmYvOhq|VEkYdw}l5S-lOaWa$+BW~iwiJ?1Hy@=Aok;u4m9T$)5$O!Gb0z3v(wXMhIOYdPw>BSX z1iF-TmbsQ~=}i0NnC?EHyD~k`Od#EjbX&8U{ned))Xsc>bQ$UP<}2{R{GQC)!F+`6 z>P5QH^ik(N?CKJeZ-UG3%XGfkndP}Ja)6HLPp_~Mts)D?K1Hv17`<6AjuM(VxP_4A4`Xf;P-TjLd>*Qi^%cI?&Tehnc(JIR!IFhvVf4^7eshx9bcV`Bz-yih#ZWAZT+kg!>*h24K_F`&Jq-R55OVQ~}Ec(G4w&`n8u z%w5AlE7Gy%7Z|n07U_8N7x-*(66r*fe+N+9jI=Tf27pc`oowb}9xQH7I?enWGh=ZI zY1=%5Ij%UBbf)=!0CXDZ9CH?Yvsn5(&%6oaqgbLB{x!EB9I3d~8*EEOACy*{K5z;2 zZ-kX~aR%*&krTaz}-?IoZkdb!NTy+KR#g0J~N=Ww%sqhInxo))tq5GR}h#uS%9< zq!#urrCP#qOA5$LSr1#36q1w-O)>mMv;i)HK&NDq--*d7pP?xwMMAb~0s#=U{fAu@3b(i6FHc#OMbvVJA9-r5%F(`i)A zJb}ScGK2Z?J2}!bNk^J%;fy7-NPEmXNzW!7Yu+&i^jr?ncyk3hp=2J_G0m=xLC+_h zV3truf^1{6gn1>%CYt-;6eSC(g4f&*XDnGv8q+NXQ;7sz%Up|Tqhu+|Pcp|AfWCrs zGjlisddV`<$>z#z(90VlZ*$Ww2fc#n>E_x_psytDGrJ7~y^?f>*#`bsauw-J^ClX3 z73tRI^B7SjtEqFA89NU2TGH9(QtH2sGC5``+qj;#$}??PpyXPncQDsd=Z$MnLPztH z8KAFY5Xv_@qPt42CtYCfW%>=I3(Y;$e-q_9nZ1~IGt-OAdCWaw^lZsC+M$bi1wH0p)UCHU6E}iNZf%bAa_@4w z$!$z8GrV0!15`6}55xO6TPdKY;pNh%fdV5;H0HWT0;g7t=X9>E@h zy9{px23yHtf@cix57hby!AFMoUpSRKFAj#+0;B-EK!9C&_mXp*052KHK=3GekpM3l z7)Wq}0Q>d2T?KHG0Q>bGUkUIM0ru-XMR1BhxxBBi^Iu`7CA+*0sr6}s<}U9r%mpQ{ z5~R4iZRyvq5v01jk0BD5yiSnj^70KYC2!C=EwI-L@vG#`05r5+-mUEb-l_n=rm#ph z`|Ys+*v2)UVrK}dUEZ@emAo?-$D=N9+$ex|uLC&m@;0I2-)9tyb$hRM1DqpBbbA*^ z1AM?HB)h$D<^z08v!uDby-EN+p*nePZ|Zu0PYK$(z3(;z_?%j|b9=wVWL5G7Iqluv z0n-7#B=^cm8F%_0o^z&n%~;`H2m$Rrl(r@7mg zf%!={q$HhK1-A~k_4PQbeTcGwaGkmEl6ry&0lFI53LsLapSV>z+7zfKoJh3>9vFxc zP)|L?hDQsCQeC0|JOZLs#R7mB0Up(F89;pjG3xQ&01X7xS8d>qfmi_z)WHq_jReH1 z1Ac&bot+)8UKj{q3P@BldjKTpY`0QlSaf3nmO9%MAW;fPQmYaHyaJl3LMqx++LNrh z6DR>`s)#MM1lXzvL6U$>m3#$2vd*EKqc$4=%>{H&o!bMX2q;ng2vP-J! zdZF>aXb`{#gVu4Yy%^wus|Dbl{B)>m1bEbSBLHqR*uk;tB8_;HaS4URJENDR_y|TP zySl;Z8XV(7p1>`}jSxxtXa(FhaI4V{eDyY>PM})K#PZ$1DlKrk(G;AdHN)Y3fd}2E z;KyoS0T};wJHAzfVHDWwcGP{48a^x_QZ@DfJR)KqH9Q00Q2{Y(D((81fck1}7Qj9M z4OBW-r-8=>#HvS90rm@MsBS~J4;&B>r*6Z<7I;EHBXt%Fgup?mG+wPltPDIUATh0f zQ#fKKX5hMF^?XptI*a36R_I3;Qx!Mg$iY7)VF0!r27 zE&yl623^#5tpVN_PMI=h0DLH*hl;`SCGe4ep6V36`(pvU)J^c2z$XHF<9|N@J{QnO zT~`e7g@C@QRbzlJ1@u#cEP$^Bl&dXRwFSNwP@%jGINu29uiCTcz7;S)-O&c%I{}qy z7pAYVJdL$Duzzru!cAkgtrPlZu%jfU>9ZInEA_yy?)%ombC<<{ z|GUumla<8)e@L<6ssq8F0wUCXEdeeHh*ZPK`Aa}O)rg+^xBDOp^QaS70bCMbtMTk8 zEsUHls#6YtE>Bp-s83m%A&*cdsPQzDE9?Zsrr@6+0Nes*tEULU1T0kb!T`dhw3X^O z!$X9CYSj;yHGxP02h{zg0QCgCp>~D?LMo<^s zDk=o3@93&q?pZ($!WeQ**KZLFiZZp~s78;ax<-Fg;bED$GXs*WxOY9x{~bn6ak z94}}NcnK~=gHfu;u%1TEIB4U2#p3tARjn9zjMxp=2P!wPLB7~9qvbKb4RF<*^C zc5m39=dEI}rh`>}GKYaav3gM_=c#{~&kLLUdznphwsMNGZO2 zKG0K|tf^g`>3WGicqvE;KyLw&>H;}^1mM-UTd;Hs^bKo>0-BZvumbc1hKBvH8O7yd zjTsmd_5xf@Q*Ak{CQ8|Eb)Ln|7S+PklzISj#C+i@ry0P!U`0c60p>dusok6_s|3WV zuJG}|0x2zC_38<*Pzo@Wr!&AR;UuVevjJ8Mr?EOd8eok8{C7xifLjH4RXmnafodsQ zsS_OXw+km(l`(4V6i%A@d>X)=!m-s0{Q-6hNLLSW9=Kb8Pit6P)+%6_Bag z!~)zWptYKj1aQBAEH#PhJRl%jMWC|+4+_Xpdoe8q9uknNu42sCE1-?~nyZ3`1^87O zE&8Z{Je9`+9uv@3mC^8z3uvdd%S0ley?T<~e?UytK{aEiJ|Uo^x`B@Hq=0<2hav2c z*Z@EMX3c0FDR-E(bUr z#yhIL)mID%uZioFE6&n^Hw09w!NURG60spFoQ{4*zz8)d1>ju)V^mkpxn~7TP-AJ{ za{{KQn;QUpC}4(q8utnUABk>r)NDG%r(wUsU#k><_Z0Xn>@R@DstM!9e}uD4eMfb^ z5U^5}aio4JV2%2!AHY`vHmH$J0KSoWHmYrt0lpKkN!{27;Cm6A_hF5_(R~pAJQKDH*^ue zp8_6M(;2WY3V1}l+7;k00gtKxmkpN$Jf;jPs)aM6>{IpWz)oON$5zZL6U*SDC z2-pG+s9D_r!UQ~_3OfUY3pl85WiLcX0Z*!%IA|kgPEC z9?5e=T_lJRa8!+?`_~WW`t-P(K}8z~IIR{F#0og0nks;X0zOo?BL)WIq<}BfY5GAU z0bi;&I2z*xe5LNAm?;{3t!``tkRY6IRP$8;jRkzGk~o|b1$?Il(ht1h494dbUuPI- zA_ZJfo2LLY70z#}`IP`lI2SEhVq2n{rdzVcP7;LomBg}$W|Avbx4hv%$&xKzx0;dH zTzHAP)rPzj;VIopXbzMrN?E$4*iC7Il631n#*!9-nn99*p{1Z?-TH70P%A;rb?es% zAX`w1ZvD-0;FB6sb?eiWK&`{M#z@nx?})MlwbZRI8Q8PKd7}lB=p}Yhj-Yhp8wHdr z$fsLRa1gbTGBYs!aT4`QeVMw|k;}t8;kDMS=JevW!pqXF!Q{0QUbb!>8xPc8csaV2 zSOwHUc)7auULsJ(a6S!aqgyvm2PzEbz4H>?+EW5lB$Alk?<22RP*>D92B<`=Tc%rk zSxV3FdKg{3u@LAA)JIy2>3z>&puXW=@GznOl?qfTrM%&?Zs&q|XgH(Q8JE?RqjzL@ zIwUW;tc5IdS~w?Z4ZCv5n;t$Ap>AcEbr+p?MmV3T91pXSXx*9N1vq^gW}T(S&I*4I z=<6_R#5kZi;e3+RCESV`4Ky!&&l2bvZt(9^>EF4~$(&pIZ&@1w2es3`D^p!3nzcJ{-wQsxiQ zRx5_9=fiow^2ccFJ+|)!K|e)XU$d0sf-Xc`Chhs6pr50yDX~B&WCZ*YZN0+UPfD4; zMq8f~y(H*2#c1niUc7uDy@Efk zx`n;+p%YO&);lhsj|9c?1ze1rQEo=?C^uJP_!nBF#C1oIrALRBle~_g-v)7%o0q{c z-O^AP9yEdxzgt_Pb00n-LBSQ zSZBd_=>J>&2`Yk-QrpLb4YSEDFQuPXp#FXB-coDEei*4j{Ys>ZbX>sJXdIuYjI<+ zylBn!$Wrj;=_Zm~Ytapz=R5Rfn6`6OZJwc_JPkD0=NLAf7wA2h=U^u2g+fc&SB2yf zG}kMs;4RYUQf|_6(2GT`?IW;?vt;kGQIFe-z}j^p>}nsxB`~%F<-xAD?nWj%1`7eV zUB5dlWDm!{3b!AakG%Fs_KZDjJh#$pK}rP6x1ii%+^lMf7g~IGZzmCsoQPjCM4KbK`YIE zd?2-5GLG8*h`L<%!|~Mib3`w^z6m}SZgY2EgxwoQ+#cnc<8I`a+9QL`*M2fo*27tD z7^*~%Q|yJ1SR<|dMp#ad+g~Hlehf^bH?EV=8g=PObrR0?LPAQNgn<}}dMjQGJC$@8 zFhJ8~6M}==@4^MME;|nDXwm1Upt4tL?Ri&5@6ib!l*K0ho)CQ2VVY2 zggyP%uxz*;Kl!|?q2DIUVMKZ@pF6zuYQdPfwSraXNPS1xmuLYT5!-xlcy%Wptmx%N z73hu=S3+QzRC5Seua3DTRLyXyW;asv`Sx0UgsdJf06WEwmSU4JqzXihu~KbM;3B?e zP#-6F3i)S8BL8^7n~3{j%F-tYK0w@+{E31;Bu>JJ(kBVVD?hX%lr~vV9#Fw*i0D%U z48RV??5OX7+2T9o?g(}(YemyS=vttH58I#^ zhkKFuBh1{G7kcM1NM ze6jD{67i$qDcxQug?w086k5}*bs^~HVMU;eo1lra@O^X}wu42Jaj#Cp=Ku%l_C!Du zO6k}Cg0Y7K(jgb%h<-pf;4)J<3;v6<7#w!c%?`)4xjfv-MR(#&TfvNV#{p#rp!CjDg@ z3Kmh;D|A@|a7km}CW4m{N4EfODwyx9EqIf$Lka$yxE|xXCAc&aSVl*Z=u!>bGkG5P z%>+AfDOu>}$osYdc+Ca(yiiLQm3QqQO8<;>UgFKbj~TF0yF8j2~ZA2mb}kVD`3fv5E{f`i#Lw=L7fo_I6xuQ9pe2UyRjI zvv1T6Trz;!?{6^6DZ$U>$*@-f5^1lSk;k!D=?Emb?ttq{QaPhGLVPH+(2aAo(iIS* z|9|vfLhyWv@=GvTVh)g^IOhJV7-#x?ilKI&Sho<;diA|E)_q*8%YScnth-;VyO9=< z;c!qa!fnZp+dV1xLt=5!LxO)LmH_;eSS$fnD~&@{Z1#21?fvz(T49G^i$d|inbkOs zwJskZkN$w6(@UJW=|R!0>vbGv4@o^*$MYir7D!XBk*3hQ!0U- zrYw~r<^lJXk?ml8ptBCRLby+nD{iw)us+0T)^cgq=ipYb!cnLiBTCb6G!_F&kN*K? zUphj4tah~0L>$=q%}8N$CAcvhW(FDeUB+mul@0-e-F-U9SSUWhX&>Go-Hm`;xCT-$ z!E;zebtKhV1AO zJ2pov96QE{9l58lw{%6UQ~uxq{2v{?p`f0NVGcdcp^N%~ZX|TU?d-33p+~X=agqeF zrarL7NQa|yXoUDrx`2a8BT z^Zr=_I)gT64W0f68(lIDY<9`GAiJ)?Lo-n6DhM%LE&GR%Gc>7SOeciiXWTq4*{`VS@BLClHSsMgAbLP@^0F*nLgo{K-vegIJf!pL z`XUk5e@_WdVG=6nfkl~qSa3IBr{|C845<2$fhkbJ#<%WjFG-M7ca~yYvG=y(^aT>Bya{e2bitiG18pu&~x8UD_ z9aZmgR2?*s;hW#Os*XgZP?fC+sY>7IPgOCkXdP`Gs+Qn@$3rBmM`D;cY6e8jwAhfE zrJ^S9cjQaR?JSCHC+<^(tX%|u3_PfGu%>qv=)wgOP+}RBJq6!F zoHrK5^%DFv^UDQLZ^2oJ)`QPY0KbpmV0iBH6Ks>5Rp;b;e>l>DaE)sqMv(U8O@i2t9N$sy_sVpE*8q;h zh}%Nm0rI5o8yTtizPwQ~DQuOo#d(ixVL#4Fzyqa zjLmr7&N$DH4`02yDO%X~+)l(*n5XYoAnbVjDCidul^`Zi8oFVlFus(f$aHY}G1I^h zYvN0yXkjA67$&9BvXZDm%Gl6?wIzUFJ(lHg{jvh($cpAZ5R)i`vs5Li{3{ocYiJ@_ z8_TsMKTeBj?QxGI2`xUxQ-wB}H#eLc9Fw1Dp=tbfKR$(*-oeZ7$uG~>G=9r^Pkt&x z)A%jxGx;NQ5WhW+O<}MJ1{^Fo^cM9SMZ4-Ztv|4FLp>H#osp(RM;9RpOW{1tRX;zv zAgo8DVsD`risK$66QX;-mSHV5p2CCjShPg6m6S+GMTVs6H9&E=HsOil(Wc(YtAp@_ ziEvD?NYsJlo~gA$H4SjPwLa^MZLCK}vm|C{7*nV6I9>12h^dX5qnK>e5RYwfHL}puuwhTI(ftR<0mNW)YY^`FpO2JpdeIdF;*Rjd`UHR zig2@_dIFMz?Gn(uHXlZ7(B!a{WAapRsVgf%scCf}>TJLNv^gLal?PW?xt8f_->aJQP+SfIdfl=8ZSfE&r2_3Wa zVz1-Bt-KBOxbTw1TS~?C^1~eOfKB}*IK1;mn|x&VM9!f z-D`zI<(Eb40~@p09w=6Gl7A7u=Q9x68O8>Z!oG5V3f z!ZsQL1JTY3O0uOP$^Nz4u*V$b2h?+T534CY`XBu|JSd26V3{L=Wd`BMppHQ}sty;Wj;>p()2K1E#UVCl1?^DdMdQR| z$T~hRXuAnCTF5IVG8I8Tl!hOiX5klAh2B~9ozSFdQ!Y!ukdaR-9CfXnCj@Mem69Ah zq)1W)Pn2+J3+{1+MBN&065#@__M<@RT7RB`(!U#ZrTbqd9R)E%%h|y*EAVJ@wa6h! zbMXK3-x!xkat#k1dBUsf zDGo-BAP6>wTJp?VJz5pDTzt8foVOj-Dr+^Uu_U=^_(o`R^{smQ7CQ(^@eR`!X@H>Q zbGclw^lL&l9KRGS?CDappKz3>*&}Y z8E81#gy(Vi>XHJ&S=+F6PL=+DRw)T07(684Y-n@jGR-M=vGfT$&(Ic2U$R$R?A>4< zIk6J>1W%73YU$cgo_J5$aRgHGJVYD%-`Of^vsKp3R(~cT_j)MCvzF}~c;wC$O0qNMHoNezZ`O0hCUw#}ZtOWW)R6hAQvd{FohPteJ z$NmF(IwFGQJkjpDHjt;EoK&8YrSO3~r8@QS(@G%+@w8URa-P=V>$o?m`-Cxwrw4^B=ZPc7ks)EUT{)zln?J+uq`fauG$f5lnXl~cdSGz+asJ%!@@ah zrK*~yiDam8A{lC4NRri`mSRw5NCC-)MEOt!N9}=B8`oWE%s}Ql>X6KJ#vyT(PYRAJ z@rA!L4>bT8staVOCXnFCCk;oo(2J&SHRh&mHB#m#^N_?t3Jzj`)*?~`kt&K*QKX6@ zRU#rq;SeeMNNyT+YLh0q(y8}8yt1%QWHfxkjPD|^;dK+MA#`JLYsy}Lay?E zloHbE|0pHoW&cMhp%(lfBGN1zLM@BaLX8QvE~RD&#%ZBegqoF7GXnotzEC6nSH6(; z|0`ce?f=CK>C1Bye7Wr4*>RYKOs@IFfkO1+sanXIiGm`rl2pNy!@Vqua}|eGFi-jT zG8XsWL8?p`{3}&?428hE2IMv;6-W6b;ON5_wYR~k)FDUU#5jr6DL5^4$eVF;vX_IB zkHRqxU#tOmViAV6pdrtWs)Inuhe_0`&Wb;j#3`Dr8NwbyEuG9mK-GNWK+%Rg^M;av z#cb%qHc}@;Yg03#$*Yeq+Q3txkpIJSymuGmR)UfbBWxDFUc8PfuB2C5$~-M0p6Awb zzi_VBd@rCJeln*syoaL&a&a#-vG!CLf9M6s>HHJZo=*hNGQQQNA=mI9!eBwc& z9XwqlrGAbD$_Cw)Epl}EFC$S>fz6JAUK~J91^q$Qe4;?X zoIJI`_rDwM2vmdw{?QxZlD$7qq3pGdW*+tg+LVA3M+C?moG4popaY2@Rb~cC2QyKU z$vD+~97Bq?-;G3F8^+TE_&Vy7N|crDFi3)3SF+7DzsMt|k!vFBD z{#22TVQu|opf8m|Dw*x^8U`sxjY?28A3W(ng#&mZ_i{I&6tyz6&2namhPGT(qcqb) zADWkq!6kA5F1uUoAYic(+CnD*w0sy`!uPGeSZJw60RmWo(e_Hb$ zWI491@$r)i)Cga$98i$9>nqWfT|OMjf|NUpL&w6?I;fQQz

    ?=|d<`Fbz@KgwI$h~w)Td?fS< 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

    +pd@zzii|$sm2>(6D`|5kVNB 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%0D2X;FwwSNqlx2QW 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
    ;tp2> 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

    +~#ooRsCn%V&>waHO9oN{v& z9z#%Qlc(@}0~l8L6clWeukbf4By9=^lU$w^PA@6Oz!Y}nab5EaMz*jUZ^>asNGjCB z3<1*$>ssL;p5?^hvIVeLO5ylq%oo!E6QXb?@4ziniK$vRi#H9f*$&Btvx)uY_+sEQ zbt$q^8Pu{+Q{A9p32EEN16KM0cv^1J*IOxkVprTPeZyH~nJL8I61!#=v7V~*n|Z|F zGd*DHiGLtYG3OHhNStO?5&uM-X*Ll5Oe|LRo_sde+5Q==$yfxJqOOXqf@yOnTSc|@ z8?ZSJG)`M)6~*+YSbn)}3W{}C5)eMODC%L;U@5W}alfdiE@XV{$zEmOHU}0c>SKpH zp@pqyqCkJec(pMBWKjIa1}IGt*^iIF$7G7u+kLyBG~e14ZM5lUc&#xU|`5D+;nzNxD?iBG)R(D8SzWDY{NOkXbN$D#-P^m=_CQ z9u;lVQeC8=Imiu4x(YY%MK>y`mM7q}MK>wwRxoXGy;XFx&Aoh0!Qw?zt)g3$)D_fY zc(yCealL_6)!>Z7GU?rVy6Dj6d^X^q>IjFnqgg50iToG?Zd?NTyc7$k~z zE16KRc;;-Y=nf?lWp-R+ zS*v{BWM=DgGjA%NdRY4K&YQ+1*frl`6us%h@p@A>g;y}!W4n@->#XxGS!m>|h!O&09)RZ3lZ` zVe^)e#Bibp%aV5vNu3=$j^O2;J9V^$-x>wKfuX(gNXFX1%@`bSIms+Lco6>Nt%!jv zvx7gPIq!UuRd#SLCXlz9o5Kt2U}y=*8itjvc96H~-da9h*=7fM|KzPBx!DeGWw8wt zKz7){WQ2EbBgsxXNGI?vB)QEF9>z?@K~|94?cl-{AQw~gF0_Lw>}_JsU3SpHP!Q#K$L9R{So+jO4awphi9LPQ{Z3Rv+hEehkaR7!o!Rf5?9LZQG zcoX(4-V3zoBqw;=I*^x0ra8e^F%;fml37l07FH1NWs*5gus7VpdzEB?6YK*2@{W+y zJHah9{A-<|;W8)q5ESv=U?BJ%XXP;6yf@jOznx%pF38)5P{;BGE1I;5?0-oLlR{Mg(CWGj0U^ic|BmnXm1=OIO=^$US zr!imf0RHj5Von_tO$GUeq?a%FH-ee>ElF=*@LQ7aNc#AKFH(c=N&5PN?~?pL($5!M zw;JRplK#Hn<^m919|rnDd`#fAvR}e*5A}s+&|gA2F&FqklRARsC|l?Y@yU#rt89@k zbUxiI-!3obw-iJ7(_RIdceXFIoJMY=dCPpE3+cCo%9i`E3~+X5KZ)27DEh#jhS?`G z87e>2h>UlbTtPlk;>yBvK|aF7XYN%8j2Kifw zA1BdKspvo2P<9C_PAocU55bhxO?;8vu!-mDU*vNbHv9z(&O%I1bXY1N8~Y(A$>BPm zBF$nT0sRR&>FRPBoN?_o9D8FCIjY zDjMi`aM*@k4Ax%MOV&i>4AmQsWul!OuAN;jZ5X9TYX4Tr8*rMU(JFbJoKDNlR*f!@ zUV}i+RI*8gwm(bBW=Y08E}Elci+mjgnX6=Lyi4RhxzIOIzIZ=mV3!Lv@x+Cc3 zPV_Ll9^J|;s&~$2w|<0=7A^U^QsjrhAa^Pe8FMvPv#te_l}&Tp(UkkXKdo zCb`%J`NFXf<2Q#=IiJ3CQb_F3yl!A$X}LXiXetNr2kpc@JM;*mPSKCb4%(r=Sn?S>^c4!7Y>mQx!I5dy5j_{3C?&hhv4m_R{aqY(CP}JlwZ+^JxaKF7~!5$_L)a zMb9;#wgbL^7?JYoCfH0wO6=_zZpq((oKoEi<28E>q)a2VBgJz;%9Z$JY)g;|C9ZCt zBkhzVNL%Jal_bh@BS6|KX;QFo{$eXqsl>0_-$<2`rgFK5VjYwu=~gn*QAx72r=p!y z9US2q1=3k_n#;E&U6iztUofhXu1Zp5+-V@yN?OYA7{y38C8@fBkJKo^aYRI)NUf4I z-LpqxN{p<*k`(E#BwZdt(1`RV$E5WS+_UVx^N@}I)dgP2%5|iuB2N|bBT_=X>Ow^o#@_u)aX*Qq74~`$_ zz90Ue9%@_JsW6s5a-n^kJ~A&AMK97@K0FU1*`x%IPi}3G{K!?d^v1uugN$6GIDQ8i z*>=huWaI{|LG%RCTbK$BfcH{wjHx>|$-I0fE-P_B& zsi^*_-gCP09s*$Gv4$Ja{v5i;m52tw$N`&6vnNX-I&x4+iF`ovl+6HGp)oJ=jLo&Z zQoh5=6M0iN2c6{5c#yYkMz$CZuz(y@(pNTPxr-cAGE}0h^Ny0S@&wkt$Z;i;mP+k@uCEZs`I=Y8Vb_J;SIxK`G)-|)Gizoet9|KISh2~%2d>hM3j6k?mUnRZRcmX zWeG?-CBMj6>K4_7_V>^Rj%oY&;)%cxuZ&cxY}XFGIs>dqt>CvqJK*q<4k{zb4qc9Y zMWmzlHW`n3>F(@>x*^>15KPOCG)xP96T`d2#%Xd(bGS{U*2%(368F;Xr|d8yJsNfx zE7;dwI(B~9#%bKg>4d(fSvbIgzq1h8?7UA2d~_VSBEGTFjb>zv!t@NK9d|0( zAtN|9Z&R{Ms^~tqE4fR$<$>(h-R&N|Esxyo@VD>qqY2mG%g_z@=kNDft+lqB4)k|#yHN9HI!Zhz`jG^(? zAwAt&jA6&`p)bPN6+cD2OTuu9_^YJiXHu~}@HQjXT3#sx*xv8hkvQH}ek$9&7nH?k zhoD38%O9a?`m}sJX(;}c?~u*jEF}L{0BD)H*d-PJUIpx$FR>03|G{*>xeU^Z|0E8W zNGIUGStiAN0QtrLFg?xe!jf2gk~mW?83AnBEF|(R{HWNm`-9}l9p{7iG^aqm914=4 zIi4hDf+T8AiQEXUEcV+oP^Uu9hJlNdG^bL+%t=<#Nj^ygX{MxF{!;+bTuDrRK>nN(M?DJ8zT>l>r#N;tVAt<(w5DnM%e=4NP6!S{0oroiMt^ zS(-CR_Oc6Mdo>iDCYf;i;(YrWkXf=CK37~|KMpcSzMl+IsC5>|RfyQd#r9F;)XQ13 zK-wx{DgFGWS*sB(gv)=}JUdGG@8E>BiIV^Y4IumRUzIa5sO$S+M z^K9LlG8S9l;`8lc$T=o+v2GTxvX_9oDv_9>+5u_-!9Je!d!z>jaB(f3%BUJ}n@T+pn>{J)t` z$N9hWdFzY%f~;ivQaqpA_eQ0vnMKb!C5uWm=8s`Moh_cJ`G*>-(+U57%6v*0^vnOR{6;}Z$WNxf#tU(r8oN}^ zEPC%LS-hhT=tVo9TvCC{TYVouF?vjcEXf}EX5$c**IBI&eUl8?}Bnqo$` zJzFd4QKPo!HYvj*XQnMg`U-Z-Z#H4+Zo8IclFT{Kt?fnckA*J5|3FaNOPQYR1YchS zav4bgrg|HJjk$^pg0?Oe_7vN=Pi-G?^J6L#NV9{z8@bd5Y3YIYL-Yr=5$8 z%UC(hUwY*wEISZwm2SBj`IaeO1$-5;YnA6GP~hczP^je%tC4Yq!ZnyZrB}~EYWyYf zK_K0tG_l+n(7yBT~tzA(vE^Y@aHHh0uoMM%qHW4dz=`H*)VqDwpJaQWscUxFpGgIS4E57Q6HgJ_I*oM2b7TB^N53!hp6WB8GS|$ zuu329hw`6S^ce*F2-9cT6@3O(#ME5;rGa0P+7mew;B6!3TI^>%AW?C8PSG(d0kt-x3M^qp`g{WWOmGZbu@7~Hn>Sz_0GhJ~#35V7Cfem3xP z!~ruS2l#omnPS$=1b%^Inr3!l-70;NSj_vB^AbB+U>>LgK1^I<&Vl7iUuNejO`tjO zE5su+hO*PI64z%8r7@0BwJqj;TuWbL-8aoX?EOn$Cw|x1m`tT_5T7s|1o%zjuT59< zy7cYGQ0wR5%N(?0JO%%=6FeKUp;X^f;C03$*wK|9XAWLxTtZR$o&ql|F2-i0^j-E7 zFD-nStEKOe;H5ZWgU1iP;FAa2Xr%YgggR;dvYvb~Wrnmu zejR7BWkwSBBDT#q;@-rLIi0u*;}ky3WX1{7)e8n&fnllYpfPFMecGB>w%`C}ySWJSu56Jmf9AX~z>A4p^EGxvWlM?u=HB+e zXR~;~{2OCfwu}u8G(FYmKc0!ImnAFR+kuDf;nFHl7(B|zKOxb zOF&*t2N{_doPil%_Bushg)>9+I}Spl<8X9nxkk=%)V6VssAo~E7C338rU3JQ<@{VE zXOxyIY)p+=sW(GRhem$VN?=}epi>IML z#Adn{NWi^-b{Z0XVS&|sQJ~mndg=}E#KOh`wN^qpaQgw6MK)6{du#bcJua{7xbW4# z4nDB+Uk`jS;i=J`e`xu`xE*V1uXyWpxpV6sO^(?U)~4=X->%^46@gLpr|n<#&wc-1 zb$jBw*Vq4W{gY45zW&69KKs8rbi(=07jE`OK8` zCwBz>b2?@ZJiBkv1CQ^i+>2jr_P^uU;2|$=oAA^8vRU7*xvYNv)Sb)HmOa1D?>x8Z z&y)K%e>G?5j^A$mWB-rK79MgV2z%uV_*n_`3@% z>otV~ zrd9p~aiSTH_)xx|xQY3$9QYu;+;2XFpO-&L+|-@ZX!215Zm$?a!U#_p;dz<0d5|``S_de!*%K4Ep`A+dMYMx#&e?eET8_i~! zE8wbL4Y6ycP64hZ_L~QZV{upg8ZPN|rwKDn+C1PM916iFMcab(WHadxV=DCZdhvUm zW-Hc7uP^K3^VG1i*N@n5(hv~6{&AT@a)AdCXPVz(Vs9{Uu33aN$s0oK8NPJzh7ng7 zzD@N;5_d9u&FYOJj#=4!Zm`1}WY3!fl_sr4&JcaIVaW!}Hg9OdQHNIS^Dxcvi^C2L z*LNcUX%_|=sqa%V<*sCqQE_213{K&V)}gNxJ^eIB>-3fTu#9?Rm5kIw0^WFiYcfgn ze9!4N&-6?aJ>PSNk~wk!j_ys;cIxE`ik_@wncRzM&Pe6yPUg+%!w_?6M1PbVjhKhv^uft*R)@n|r%)@N2Sl95@><0{N#d{Me=EhBmYZi=VrUxS?m@ z#ue9V$r3ko3{#|HTU;kMbiq8ZTWvnSsCGlGIas??tC$-aOeyy$>*0oYaIIpG&68_& zZfH1d`>@TSU*Lv9xnPfI3+voat9D?IsdYEIp&w^~J+AC>H?$WEOT`n)u5d$V6oc)z z>1tQHq38TyPpav*xS`6HU{9%@Tiwu|%zIk%wz;9)TCis{?`Aht$3DEMdhT#Tt1;^< zURHLS8~O?Jx#EbjU2Z5H^Q7V}Wp}utXW{J?|5A3B8~Oq!toXNTc8?pH-UjSL&D-OK zwy}SoXzTmj(1Q`MPnA9FhVD8K>@#JLyP<0^qbj~o%?`Suyb`c4l|AEze2DNBUnzUu z4UNkLJE^XE7?$UBu=HKk5jV88Em)SmrF#=B4=nz6@t7NW0n1iJ#2E#5f7cCV;s&gu z*ja?(|9~IvRgcc(7G~{%08Wpg&!S zK4&k%lu5C&og{j@=zz$nqr8szcpWb|_- zDRR#SkoX{`$)A|E(fAl<%2kLJ(fAOG9zlqHt#xvFx;grd;sW7u%jmbNjHf?fiGCON zK-rjzobTffC=Yc9`62FqQr`sR$GH2+?X=uaO74|xbT0a{l09+)_K*IetN6DkY-$6uADtS!S&^U3oeO&mfh^VbT{Dcha0^%syFAuR!{8!uuerlu;&lZ{a`^L)C*@*VH`(D2PM(*Uh$7K|!{56cm-7-pnmPQT%b%f9ST3S1oDmr7 z6g&yzR)km=H9QHUi%xCiIEZmtGwlAOxz1Lk$(*xMH>{0Y(gblQn(r|D*m7eUNU`SN zM@(xGH==DF%E|tD0T!=l)OiV{VD@w?TB$F7~h{=^$O`^k< z43aLxKt?*dV7iGis~TjK!@0R7RF2L^$LPs~IwutF05(?HP$yJX3N~IYt(yEe4$t1>Cv^Cm*xv??hm#>`da z6vDz1y+~ObUnmPM6unqkA)e6DnfVl?3#> zRMkaFQuJ78)x}EE^oUf|CMB6x=Lv>*~Q8xz^d08hR&=9D((OlmA1 zP()#AwH>OzVJY4vHW6d4t9NzyT#qC>&WPSwOO4vwl5S9Z+7lFH3FmB-J-AGMx zHK7baB5;frO4!S?f0Tj0bAV;9hbIM&_XJG884kKE@JZr)*f%-=$@&Dr%9u5EwiVDP z1-9v!i}bI!?ZxdTwuu3KI#6QxyNZAw)h{*NLnb0?T>}Y9s-=)snkeZe2Nr<%mDI>FSRs(2q*mG?qy}2*_8=z5 z5i9~}no}qINn#-W44{|X+Z`nS44}8X1b+&&)?$6c2e%7kE9ooSmxJUg=_hYsX$<5k z=`XodG^}KR)ML*a$X7B@`eASbgY*|ygXEbg$Y3R>NiWzxFkXwzm4^@&@dA`Km?wQX zZl@`kFS9uiXDC@9b}NucN*2lh%(%c5C5vP}CT?J=lEpF@Gbb=jNxi(C4>DcJ5}AVe z5tw1~U>$x_%(u_!@Dz<^IAeJ&{VMR1!$0RB_h5AlysnYYk_$=RP-4rIZ0k)Wj+C4a z@|F_(02ubRoPec&=0SFMLYD1gr|`Su9w3eqohguOsg2 z174{+)1vr&amVDba13wAaAbRD;);)r^yD+fN0%U!dT-$BdSBz3;El`UfvZKhHu3Ih ziFo2Yi)&NwU0jpApKwj~Zd(myywL%)<<;Zb+`9tT7Tz9QQ@mGjZRvfDYpR!o;N8kw zc@Dy&cS9RYD(?YY)4i8*&G0_KHPc%Y!ZSnf7F=6<2XW2v%5%_T??sGb$h&_wVwv|U zt~uTz_(`t!0j_!8pSXs-tES@zwBEhA7I=^6yK+^Z#u4Byj8e%^)}DLeW`a3uHC%DxYl@I;#%wZ zF={cd5ZCTr9j-mRDY*9Z`ZdShskahC)XO^zAMNcuG6BEw@eU%2_Vt=q;hm{>4i=*R z-rhvZ8sHtqb)c6z-m(UH*J6qd_TGksA>I_+;tloA$90%DYm{XT_txV&!h6fZ(?u^0 zy&mN)gUr$1btp3izv#h}M(>VXJY)1;LhKyx4J@;)3EoP0=tQpv{O>exLOFhB@BQN9 z3l-kyh*Fb0KlV?Py`{KL@vg>os`oWE7t_3%^_Df=`x%ABtTHp***>uj$# zu4j5(uw6aN+XOq$@$SZTu6HR~ndhy>SkJdoGvLuvVTQK&><&h%V=>(}{O4%EQH1Gx zp|R7c^^L&hfi7ZRtLxs|{k>t>p{EE6FPnlw!P&c(#7&AEMmONg^f3H+>cDY2Lkf??+} z;*jap9k`r0+q{B3LFWqM9MdEU9DM~i*ZhY0*10`#p7|Ai)47s3Z1(m9u44Io(~WI) zATBWF7_H77iQAYz`vG?%E;Lyf_0FA%i_Ekza93i_yvDv%6GzNJ>d=k2*rdSzook5O znyDj!Yl*QY&I9gFTxxp2vpe@7E;G-wFFk3W3X?YoxEIqaO?%?r#8qb6YT!N`qYkE? zxG!->vkhL@xj*Z6GGDV_1Bk1QN1X?8sAJ|)j^kja^MlEh=lT$XJ5StAulPP0W7lPJ z8V1SmAyt?3jtD)a6W-Vn%KNK8rZP%!KE3nM0h2Kd(6y zWFCL+o!-_UdUjd3it?9YrR=hpW$=S?%)l=7#I|`4R_(Hc*fBT3GF_Gu`^=ZAz~>OV zX4$#G=d#xc=2LiJmsP}QYZKhJ%Z41tPail7e$usd%2LQ5g*Cpbu&!ms&jbz;+vYsP zh_33%j(G)>sjGUjPe-|{da`RSKs@bQ!18_*hHhQelLMyB+D4pW@>ezDG;W|q4Y8?5Ty=RkjVeJ)`g)W=`H zKtd{uj|bH~1UQ>M^M5>j7TnG47P*Wa=HC(O)|RC$bH{q%k_}K754VSn0V!p*^pCYO z855SF%(Qh_dNMf)EHiU5aFEzFHE@}l*2I1@yA(K!IAHJxovj)nPBB9eBx*v$X{K{~ z;B4YdQv{>bo65+ z)Ws@IEC8&*5`X*l#0-$4>)4lhFk(SXBn!I-b25bFwlpZF6b7KCgxEG^Nx-GVj`<)4 ztijS}DhC2U>sQPjx=qj7DZn&C_VtZ(i&TTuUABS)-LSZmba5?sssMn%Fsj`1UNW;ZG1`YI<;t z!%bMMCruRo3bVGRj;*C$0T~Yhs8{9c)o&%-%u>DK$+caX8J+=K)K(K}g%2Amw6GFh zV}3I8yD>R@8oE+jqcDmkueO#jbw8TPK#bA`imikuz~N^x&1#1;S*3Ps%#W+l#7Zb) zsjJ}&wIi4ru51A~k}&=C8jN`DX)AzD7A#hKIxTM*8`Hja5|i=z=L$Iem4NXnqgNd1 zYmZRfO(2| zK5>d!HW_#!r)ZkljzOqhM0JemlL5S#INc<(jK=f~Glz9Gre~UO;1sn>sY1{^IuLjn zF;;g>rdo~fArmVCK9};d&CagC=Mm?aAJTxA6X%-q%Yj!MMcq6zoF+M+=@IiP_EWVh ziE+e!0`My0wq_Y3VeM+-67vF$yoR{c{DK)(yOuhanXje*uO}`yQR=^eWh%@J_HiR^ zRcY!Fv}!MAdM9&p6nImANa$?LT;NL>gu0luHNck=cQx;zWbI|d)uzS(Z)W*!W(MnC z&h#4dO9c1|;#zYWi_a^;}8gAYZSC=xR4OaR|saY_!e| zhU!4R<%I6*26xej-?66y5lLA0C`M6Z2%gE4(~}xvN-CoaM_GBZ_~J~HDaW5c6R$n?_TAe4g zi4)AL7^2t<#Mpo?E&+M*X0)DOfM7B%_R8gKt0g92>BG$<@Z6ZX`D~8pxFn2RKD0vCdV_vk;aR zpS^_YBbc2W>bL&Kn^j?Di(TW4LsItBnDut-I_GZ?NrJH0HkFC}{OsOfH##38r|Q5u z%rp0OI8$tu?~%0#rpplgY_AA0)bT2?pLV?mvAFrY-PKUYyB&*7uJ+#vlmdxnVgc!Zp^5EP z(o7D}llLiUE^Es`9#GOkM&N!R_Mnm!nV1jqkdl_-aQq)uk}5A?Kx2<6X(fe>V2^5} zY0}>h@|cp$g5e{_S+U3CN=pr=!V{X~$=5JoY`@Fr3?(vfDaZkpRwla;Tw@0{2fxyU zJz`I4PE>kVf;^?9y-b_|@~o0dIkOMQt4gZm8SD^aN0fAs$*l95l8$m2d?xm~l1?(( z0eM47XIae&{HBsFaxL~^vA2|Tl|L{eVs9&{mH~|0N0oGwWpw9bs%VX@!vY(7M{{Db zjpVqJ?y{NWUrKt&D;VY2yJ~|v`5H4M_MYbSmA0I0A1LW3&ttsvLVUy%SN^|sO*EG3}M)4(lk7Bd*OOi2H$$Ytywo6d5R9<#L5>?tN zxtps&6D8YZ{zwqNl85E}9w1GXyeV4}L6VewAG&)4NV1ZE9lCS|SU{O)hyK$BteLVp zJ5-N=7;7Ha)ed!-2i78iE8Jv!;{`!6mJ(Op4h>}&TWZN!c4*TouvBHUZ44+_D=j(4 z4sD>uY04JZp~G}iqpaQzZQB5ru56hddgyGh3}wq3Hhwgr4kiBb0fPu_r5ryP&z z=@vmof9*2<&I)%D15_VZ`o%y7D)Gxc<_uDT4+sY#G&VS)BLrlv?~WaIAT}-`<4TCz z&;dD<68OtO{B;*jqUkEzmG&qXo3E-RNM=)z1!}%TksOdk4Gj%#2eLTckbKr2q+Usi z$XbvkDlJXU?hmq51sEwoY>%zcoOHPs>uGGQ=48kPlR(xf$rRrpkn5BL zx)|g}&B>Kjj8QjhPJs+M3uL?Ic=GpfkR3`Q@+0HGZAyye1=hJ;Nn6>JC&5l+JPW`@Yxqgc~o_bF*FGdVze zl~hV=jCO3Fk}6q9!#}8`gY?m5LrF)OREV61)l{A2RgS_VN;*q_I>KX0y2zspSdXg> zs-=dapHKlYxrCAEfRgUgk}>z7k{+^)hJR88^pthOKwi+CI;oll^0GQbUzxB1PZu(7wb*jV{+3dk`f6D1`Ka$LzI>CP4QT_w|G5Y78< zC9|Y04gZ0XIr2Fc@7RZ`+X6|UQ=CW$!C&j;-;5}qB;kv4pIpa) z{kM|)rBiQ^|0vljlNW=WRI*R5nF(SgGNL>n`#5s8k_Y7wW3-dV82FIX(eOSc56fGW zmZ0PjnaDYpsN_+(nxoJ}1w1Cl+JpEt=W*%9wVXv9h$PayDN2rsCm=1Ad?1S$Wm8qa=khrHpp}v@WIJbLnvyT& zd=18`!B>*s3OVVT^R;}j8YDx>H*rB!Ez$!Jb)DHC>0#>DYWp?Nm=5^4#ayvAUF{7jARoI~@qD8Ee z=C!j!M>D}XC-U`6^#9@QO#mdT%6susT|>_>4I>N;h|putfb7%T^e_X=z|_{=#q?5B zRXsg}=(V=)E~d7rr57})1W}A3iJG_(;3aC*_+E@rV$_g`MsW%H5}waJX!MyF#kj^u z692#7cfNb;R&|3hzW*!e`Q3ZZUCuqrx1a9@`aez*eXy6liNk^Zf8x8}AZLQTf0<=B z%3dtc|LqrG@36G)BoeyuE;scKy#|CR(EpYg_NL`+!QS^A$KFiujVJ>{|9w)>wA|&f zVE@Auk5BYcXZu{R|8maW=k?Cw%zq2^zk>I?wb$HjpfdCyW7)~x_n`7GIjw&$2XCpD zF0w~X>pz>VTkZ`2K#CsWh^_SgH|+h>Y5n_i*sJx@F&ORb{{UOJ-dlm@G1c2oqx<1z zFRkv0-hSHM54U=0cz;!Ie}&9me;9iY z$llWC{>MVtdzbWBX>-4wExi8|5>)n2jwpR*w_CFj@CbyvTybE{|c%2LsIL1>gzv?_52Gd`*vUdAZzxQ za@}|O`ae&K_8}>IqObo?IIsIULK&%oX%WCr}Wum7L;^iRq?|D~@# zSi|0@WbY?^{oml*{;D?>`4uVqx4!;cI6nVQ zdIg{NI?P^q+)|V?`tQkN@2j$R7E_;*a&Fy33chs{C9$oWIBmDzhiY*|yW%9Z298_Z z-@1urhBLp-!EQEZP=Jh}=&*f%4S)v2D-7KJ1>fyC%5jSJ024 zl9q1TpDX80sH~-%&M!Aknoxzir|sA=hcm0(h9&SPFU3xcmD|pTUy46@txcvUu>(f@ zO5i*k>S5~Fa8*5n}6POme5~K=q{Yych0*RhEv?aK*x&AKPFmSYoL+C@? z&tP)s{$t$#!6f#RQvOZu)4{F#JMq-(Nv#8^o@;U01ojVZ!%1g7fThpB4aW=~)Wp9> z1Eb~!T!(KW!$b3C-MH}~Y~24wV}5K;4gMgIpk>gWhO2s3aBZ?@4gaQkKoQM>e|#<; zW?$_I><8}cd!75rACu!RWR>IFCj+eFpJG3>@B&==sQ_Pj^dKZMsqc%? zc>ekxtf1hs2e8=RUl80nbq4Ab+-icTRA8?;$hR58OZ;tB4{AhY`w?1yAf+5ORo zjJOxe$=QRbg>=u(*W2#lkl=7S_)HWmpxqC46pWzZ*!Tk|9en`Se1B=rmKP(|0wo-D z%N->x8EH-2ZXD$|;L5vgd0?NBk#G|Zy~BS=aO)4xv^{AKzEkh{3I7Q_?R)++%30Tc z@RtWhSyzmppP-a=?LnV%5XdX`Y#A_7_BHE@qnsR^5?fx(hvG%dfyEtYWX^nJ?!aH* z-hcE4#UU9KuVPcnpg1gp;!*C)d=1H9rBVf)X0E|s;9kxtOUy2l zm-$UrR$k^xd6_@v{_j5zr(PAHNc%U~H{<(2(*oxP0&MLGA%#2S>WSB~vCa!H?q^c& za)I2%#J|p4{4l`E-6R+Mi1g*AdoRY}A2YV-riGia`7hi&B3J&DgvG??kKpiE0-y6P z{5xJaH90zE0*{lnOihhWn!s1NX)pY`z3|&-zm`*`&0d`HAf93d z@E5q3O*|vD`%|9#J-q9z)aCs={~4!YS0?udIJfs;_wZS`j$_tGRX(>x$E%5d@mAdR zErHu{Tl>;)ZCBy#whG@J!znMrT@ZxKD!lz(w+eU3d-9o5g}ZtFJ=i_?ESxy^06uwy z+xnjSJA7`iFY#f7tLhm)>^$SuZp{u}gA-nWTbzfd`EK!gy~WQE`=n>=?>ysP?-og% za2am#{LT|DCr$0yLb{884L`pjr@gH6wBM8`Z8e)M>5YOU$Z72<7~FaWSwPR0mne0f z{_PqX2;&7&5BLk*`|r4=?X64LRG;yh>M}Of6WBc>v+#0qq{A))@?ICz%_KOi__KF> z#qT28_Ukxw284p-cd;>pjg)(m6#XWSU}T{SF2LE+8El3ecD!2$x61pG^rQmACVDka z=Slvz^PK_KgQ{@w@yG5B-1|LNWf6xy#;Vk@aXO^<6i<34PLQG_IFjbx+?!dIZP?;y z|FTyV6J;r@uTRFFNpKGGhxf;W-h3bK_J=rh2kv(CL2P`48y~{PH?WcX6gDo}f=BbR zVO%0b&&Lrt`IX$@TVr5 zZ_}2a9livGCP6yGpRMwd`|->=4*eY;{wvtn1qt%#E3gs9M)Eb-$YCSJ%O-J|6upJ# z@Z|S#gO`628)=r${f)oMSK#)(Dqq5(8n|KOdP-q%Dr~DsV#?n^`~~hk>j69`ghM?T zdq=0SF^i4l32fYrjbl6;F93fZ#5leZPx&m*W>racHbK?aEFMuj^iRtUR0q5Xe z=h?Ep_&Ly8E;WQ+Ek+}4-X}-4;H)jUgPe8xGjKK3F9J{R+Yz|z0$DY3nw)&5-V%@F zs(*7Cp7@M&@EAV&tn&kXeY_JdIQvZB!?yby+p?*M((-U3;2sOEg^%2KIH>)hclJ`t~^I?!mk72w*mh$e=p($~yw4=b671 z2I0N|1%?GMIM{Q3JA8pX?XY_dg!=Z~*uvrV+wtZRUn!bB>bno7q5lQq=XAWnxW8;b zrolw}tw15#H-?bro!ocX1@`2d^kj4i_^_TVJ5$;kvNP?!vZDes?Hlk#X4|*mZekGa z(sBOL)69spc5+NNQhhjQ4kxGk0)#mhfbQ}zFXc>{??cmX$2dGbXgEA7+iZs-465S* zT2_8&LpTBxg!jv4n(*iLDB&UeZ8Fdz?&sDZFP``Q3(p zd0D{R%s2nG-Q<~9$|G;a0r{Paf59YhVuE0sagNv66XyuLJ5Ins?+4z)Lxd+}Gwl|! z#!p>J5$IOAAVK(=Y|atvZ8{#pe#S!xo1_Z!gw3`#1nP>N-AEq&U%2cnT*jur(+Kuy zUMH}W5;j}70<7cD*B&f7rp3hD@z-lk|LL;1$mnRoAgFj4=cAe5VAirzy zFKZnzb1dZzu!(=YpRdb#GHye-RyGra>+om$id%deoP&Sm*EMMV3wPLt`&@!Q^b6rq z*_=}S34cx&Q$a&ZFxdcO;>g8_}GNqr!Hj`d`}<1F0Lh9C7TJt)%dgZ=a#+y zQ?;Pi?5q8REns9|ZN+89x zZT#xy9j>+ z_#^wlhrt zKU4vKfx*Ec@Bdu2T&q?JmF5t(%GJtHzFu4|)Eh%9rA%e0UdWW1g_A@05b@AbrZhA= zmrf-kCU@N}wR&~2o+%G36ibE1z~!q4uDRlt#Y$_SS*?~D1DSexpis^h^7%skmi+^x z!z26moEqCx&fHq9--5zD6+ClKA(JiMQmo`kt$g8@awfM_tQ7u#xp!l&VSMk5mv6sz zqnh(xQ=1^$sQr@FC>67}Eaq}uueyJ5ba2Fd;is(7)AfTk)-PGR4Lbn!VTbLhHinv+ z`eLEk7)pnd6S1_D)Ip%Tq3KvS0xSZsVgt|CQJ2BxC-L@#tX(ZTQbr$Ln2_SXzrtJE450)+{a; zn`?tPQd{)FLZ($}I?c6Op)t5bCg(Jo`C_Gs9heHUnMN_^m4f+|s=1T4$UBPDa0%{& z<1iee8QrThEhH4LR#*V(2q$3#V;eq}d@-|#EpXj@ec8JcPFg9}3n1F83%CO=Xs{;W zb9Pu&8>85T?E#JL6ziud*aI)&9wuOWr&%l)>g`?3Ca2bLz(R`6svZa3Z5GOojDDPn zs<^G?H0zm~J(R1~3r?=Q7kd!i`IyCgIn%!JVy%eG>8yfxu^s};=IM=wuU4&0oo^#& zuR2w}B-F|FgmD^$Iw=*7gM$m%@f|uFO?WcfT3~acZR*VxM;?w=<94H&k!gTZuz7Mw zC))t!($-%oF0dwg@)GO8?P}R677B#}!=oc3?P5evwRcv_MLpa12)$3ekXyEAN{3XM z`ZQLkPyin;x9@}RueNt;4Gtr>>V;gZ&OzxNsjbv=&3dVQpj;}mS@eQ@A=~2k(Onig zg;n>R@a(d_t8GIJXKl0<^lVK=#yK!9EUo3s-r$1_#nxcW%NT%}MSY$p{No8qHV)8_E8h3%rYO5hPPuDZKliuy6z&>d*Q%bDVQ-xCzw`Xxgn4>+6 zvtX`3A1m z?gQ+N(<4_sclboGc5qK{$6#=2F!;>DBf+ir4Fwwu!R-f!hYt@N!P5t%1qOqyfneXj;)%87$vs1d zg6G~592f|`U?A8(cxZUn(52`*yw~nsyLRu|dC83@UN;py0sMRMiQtZ#T5iEb_XVp1&vlNv2Uexv zc<-*@RfD^)4rT_A$bp-Bk4&A|a|BoZs$RJoyz9jWga2j*drrsGLzQNuc+*D#ZzDJL2mcaq1Q=yb?Q-E4FgISZxCqG>i3thBIDTy^T1CWQJ{ zz3$Wt&H5Vmi&c}aHb+J#>b3f6tzxpxT(y8R7pfJLX^@d**GO24dE+#fpo8R{r92j+ zPk<9RD?v(_|M zoh+zNHD55Zxh7tyRVh|M##d~Wq&^dg_^dORiY1+R@~AUDH)9g%P!3ET*MP&5KpYqu z6=D&?-n=uNnn*bDRBA5fgi@*5NHUdhMx>P{*gmrfOmH>>BJrF=rqw9OzErAqvIzu< zcWO|)u+=D3@)5iN8r#V&RZ6VxQl^qG73wBaX*LQt;%?;H^%)&8PAnP;IqA7%7~dy| z7D`}N@uNq;H@0!BSy*Me*GQ8M#SD{b zg62EPkU_&%oHQgNQ_3`&$<^7DeCKRA=j1@h(eE?Sc*+6GbVf#;`4}27m#I_=dFNEC z&?=Z#EsqL0&DDINk%N3gl@)tl*EY#UrqRhxuGttxn=OE^7uJmbu6U2A$&_pPmTe6k zFsE9Xk}2`z6^Ju-IHFf-;NecGP%&syCmeRN-~z3haTY32mKr7$jfUJ~3A7G|<@hYV zMx-K3$XQyc-V$g5EbX=WNHOBi}~-kDma1aTB?oyYXWAcbs%nU*^#f+6Nk zqqvA(8NhwPxFCz!Sy-((;PcW{3EBz3>oNB@x{P$#qJue5hd3z`Ri#xn6A<|#80|8k z(Y)aJ3~`kqhkli*8)`L|cp%I=;Cvw%4n&P&HP8AxqZ=RIYo;^B3J98$!jteGnfw8c zcKghDqaH(HK3Z&a&uH{xGVMgB(9)qfbj64aR!4`Tai*vrdju#OU#visWzC@j+}dh1 zG2N#M%Y~9*E1_{Xv>XiFjLC5xW{M?~3_0j)&h9m@PKL^wP|5u9RS5njyrqPdy_&< zPd1%Qvss6s0$dd=f^@NDAgnsc*o2dq08D{^AB#E1LQ``wqkS6Bug)&y%i#>T&rH6S zNyxkr&TLs<^JEe17*aH8U!zs4RqIU*BC9J3VNaw1a7^9Bh!&=F) zq-m5vICB{gN2f7zjhSiWqScj(DK;GUu8qYa3m18Hyj+h|A?<>KltB=R6{oO34jJRW zXuJqS2Nb3_04R5`(`RPmshBf8I}=YMVXdD|p8}aS*=Qn>X)c9lk4PC*q%3-{AY~8` zWGtcI>wFq|-!}6#V|WE;ekwHMgvlD5*m3Y+t27B~Mum}d9@8dSSWGM)gN>Bqc4>uF z(?JdEYwbY{ir0d^B;=l*WunDJ2Ls1Ruu+8zf?kg1oP`zWfi9~gfn5M!E|`=MjH93z zP}$JywUvCfO|l}TLZ$+0SWVS)X1rR@6@IiuVvI}kn!l}g6tz1dvF z+*(C<;ayEOlqbRSWC)lH^O0%`eQL=J`VntkZ{@(4(LXC9f91odJ7!AA%qK!lB%YXr z#Fd(hr(@*!W5Xt!UJbVzYtXnB7K%9oR#GlDa2K8zA=b z2nfUI^b&+jypGcZr;!&*VpOECo=DyTBJBRrk*IO+3b_u&uJNkiq=o#N?D&e#zj!5) zlHpLRHky!Ct2r=r<5bx0Xrs~L^3rWWB#Kp;EqHGyJnu}UA|my&r7*6$C@}|HIvI)_ ziO)=|=V=|K>%{Gj(!Ec6=dq_P-S@Pm*F0_MeylK~nv#X|z!vM6hen7A2{VO3BVw>q zUc`Wa(%`XjDJv~{l8{h8HSAbnp^;gJ_ywvgLfUjD2e}mkoZ?hHUOz=@P$v<#1_Lp+ zK#hVH#j)+snkZc$lwV~F2L`}0N$z;2)F^~XWp)=PlTdaDBp~ci)X4atKA9A}HMs)C zu4+S`DmobTh?5ZROT`>Xl(PsSt9=oN2xn_|^XdF>#-~CP&b8n(S&~nV(2i+@nIjT( zbPh>#Ee%Oc&ZVQX^D~AzCS+C&`nKN07EMJ!yS)jKLAOA%ly-FoXm@2O2~b~yQbUEU zYjmb!GvETD#OxF#%QPhQa;794&zVesAmpjt)Kwbe3$WELn^NAJNv@S5ecVZeAgG6D=Vqdz&L(mi zPzg)mqUd4FsAVXFISg}9FV$m1&<3KhbPVQ)sGZp8frYvweca%%_k<0ZuM4nOaF|zX zbgP-hQgHzfxs5`~k#VX3cn%bB6gCa4?UtpPj-gUOUqij6w(Jx0V#h;~w90s0BbTfv zw0=O_!|N!iJ-m*D+QVZYR?tI)N@Xb`Ix87W*m{BDp%oly*gg(h&XK|zNg!JLU#;qErQfRJJ>nCkXQ_5SZ zr?aIL6*!Jsj8n@>tr!m`PM&ETRV8O3@HU!oZ=G~#)1Y9MEy8D0;rh#TDl*J}M)(h? zNh-3J|BUgUef;Md{SKdiMaj*uT zlsmX7n0G3YP%vQMiNTi-CUgYDgx)<)DNZm_au{HstkpnBXoG@y2`U6J0KJxo+K0L_ z1ngiTlZ`h}nv71_vaY9%Cu2}zW07Oy&;(<6TFo;g*zuI3oCxAt$TUPaEI_5NaQOHn z6(lHfAGv>YZ`jmCw4vXtxVQn)nVU%^ViA|*)C-H$-x?SNRK~^h$dTN1m7Qo37P<}s zkGW|kO4V$p6r~%)ikxCp#55Ll759WeN90&hNzfrM{#gkxW~D#NA}}UrV0Q5ITPp^@ zm=jjKo8f3{PPA$l?e8A5?V8Kc8_3rh~#IZF>~2^xg6 z0BUWGXOOP3l{x8IAQNfy&0+yM37QmQ@F}y{klC3{A9rO!@fuN=$x1(O|DAgv>3tbV9ARx#&`;|iUz|x3EvsAw$bnr*ttY|cNHCKxz-LZ z_6=yYCNx8l&SaJs9kMvsIbnN(#!7MCIu%8VZ_5C(3vIY<5s>lZ%8fA0S8I(9`zmKd zidr;mqc9IcuxU~MBt=*At%#<{Qe2^o z1TvMcTh$0!P7YRa*J4RRf!+{{%5s%LgxGj92GZIgQ`6OoKIUgyy399!bn4QV9bpaJ0UL{^vAq zHK-s$r7ggS8#mT+Z(Q@WI~E!jTy(9iU;xBN3nMYgxO?n&PnGkUQ08D+O9-SRqWUCDBswKKU%= zd3uOA5W(Rg?835@v&uoWg=WBuPZk%Kgjqw`rF+&Txm2o8QL63YK8#=DfS_tFDhK#a zTd1_Ao7E;qy>OIFmQoF5IXFf#v{-sW1Jze9KqD4(9*zarnrhU?$TuOq;x-G;5=f~|4 zp%kLKp!Y;(XU0MQeDbDP6Rmz_`-#y5c5FfxnTOf5YGN7agOCHK8;jD}(!nH$oKO@x zl5mEBCZxr{2v;3!f^a>xb;2bFzMm9J$y1}u%8yp+k;Ml$mj$O0CvHkuI*N%X+ z0h4_lqtAgVK$Qpj3z?^=JTNFy@3M-CZ)}Mn&(c#l(TcJ47N(QqtmKxma4OQcW6fmN z6;nZg1?J+i49KpL+%eWSlxm>Gs9<Y%1 z?VJ-|=yai61tCVDDz@ergqFKN-aZ#w&6Bp4@#{OCM5y@CP|(WHg&?)OleW<9w3u)IaLdozu0jNGaj0% zuDGPUUcmc6042R=$HBu3$xiK=Vlt)6IUP@>v}bFu-usEL(0uxWr=f|#GY8*G z%1Oo2X_zvtibJLX>kA!vKH}G1T^J`sby#P8atlUnoSEvT)(=ke#BwnM>XOf|k+8r9 z3+o5PJnMD$9J6o_)uk=PLzAV%r4t;cJ5{qd!98(8q7m!t0n8k$Y6zL5I1^d2jzL4~ z44QQD!2U6Vju+Vw!$pkH*5DX!Er7eh^aZmQOJuZDtAQyf6^Gp|oQf)sqG%%Hz$8*I zljF9^s$kM{1tM#H2t!(fwXgsVxo9T9W}=89=Wu~W)-Xk|>yF9eWJ@Q-TqIUDdY2vg zGSDFyd6cPi^kD!=Z-T^0U18a3z$`>7cOk<`h4C&jgBAYa%c3>L8XuZf2ung7`Ia!| zFF`<2F3g#N`IK9Nz1HOtkaOU{uUmnQ44YCj1Vp^GMih98qE*fsD<$w6(G_XSfKMzB zp8@%|NoG{eKX4!h{c?qm7e{&5j7Y{pQK3eAA!fPauaifV4K#chd$D46T7;xD^a!p2 zuyF>EaPmbPW&!O{ZEdvtQu5Vtwo)#;d{8WxVxw|H1?{+~HyhGea8G10U*Jd3hyWPA zVAT}HM<%e0aVcJM5n&*u73(Vq&vVVCD(4^wf>IvU1@W*@illr;f*T7Zr(kuQje0&$ zJ6uDq3)Jq0O}S>3;kIGDh*v`ExibP9TD~CFYph@^S6>6yo}8DMCs&%BiXDqh*=Pcp z;O=osnTGa^Vg<9vO1GkE2&J?tHwc8Cv`zHCtxLR-Ud=4#Y!%y{_jO}Y zdZrIw6_2k|-1Yc6tzD1r13O#=2c_>ySb?hzfdPvlH5I=(X0nM?)YqAu=mWu2B~)*!TuTmlC;33(M&&BiN}xu$p|%f&K$RJ3k3b2YLQXr$mG6IMkP=~$F4 z>V4M6ZCiD66ihahtieWQIR{8K91f7t#xv6y85XdDivET`oN5+EaxgB=5$onRy=+#|4Y?)d#reP=?Yc>jPECeAI@m-#|&l73HB;dv)sL8)AXH$>z z%h=o>rNG7*6)LTrr}{-|p6VB;x$hUHxxe4Q8V`yHHo~bb41$_=w9o{H7ix=e0Pyhg z0@iYXq**!9eXo&gM`LJdaUfCa3oS328g2;HwXNC4K|biTouKw)NqH5lOqFsFbBV8O zRG=(L)5CecVXKB?At*Z#6i{DqN9%wm#l=pOzD@Ej`KJNt!77||v4V1Us z2et?nRD(Ml@gMT4c(rU4O$seB1wFh88HXcAwE9j%8>$e61<}SCbyd_?_7pFn*D(~r z^*~6-nn|Uha3#P=;rvLW+Ts%w9o2Eh<5MwHsXJ7Isk_>sL9tiG>E03&i~5TrI^LLo zn`tp!ovY9qCgf5q#0}Vw^On{-;o>6YwrYd@k;#V;`hYfSk0n>Vv)Z;D>9DgiKv3M1 zj)a6TAWovAI3D0QS66R*#`WOGNnU7sf%;o*rs+H^RV#}Fp4h`mpvw@~03)o==tE-* ztWSs;Q;pZMx-7>gM`g5Cu9@j#WjeFU$!|nlrT&T=ik(pmVq!M1#x|`X=*)B|bwo@Q z5J(W5#UefT4G+H3zhTfji<@m%5E6O>T6_ z3+Fur-XfyRH0&U>E^kyH43qW~*Vl%6ky}10Z;tLAhYE*)IL=EuOrae#8mJl=Xa&JQ z=~bC>)&ZPHz!u%fP6Fhi*Z{4j!O(BYNrHsuO!+-rtls@rmYE%$O*u1jQ&Z6pqGd-Unn&0~xv_}o6l(Zw?lcdl5Z@X z1Y2O}35NzK9YYL6skG)6YmmCp{@|jn*|0vQbn?FpbakS z%f`)tm^0KRb{r}$TBAdH2pyY{8LA?w_`VQy%ZZd(n@Xgnpqi5gf&hSesSN89bsYeH z>ojF$*yNKi4=@f}0^He=LXIix2^;nYV8q4|4UZTuiOKT?ZHBUqY6)T9!YE{}Q&1a+ ze+qR0@6U!21}T9t-r648*I3y)*|(`MP9G!FrN&|a)1^ULb4Dyw3MV!$iE^Y#KE7~Ni&@u0NRa|IFXyK7b9G`8y$vt z#MD#_ZiOx_M6?YsC&<>A4XX$uX){~M&jkY=uCaopwPJJh6;evui{KHeuV@yRa*)-g zLdRkTRuL*%RK+3a9K#u+qk%ohglAK>3J|GW77cZt)DNMkqM^7|cVjO^Wnf*v7pYA( zFg{uh8=Wk&hE;s5#NmGh2Hlt{6f(@E7S{fPiHB-w5yi^ei4HjR-46>8+!sM}t2eH>yl1rh{QdGTDE!d+W8DrJHm4MO7q0uql zbax~97+EHIkyz5Aty(gjva(Z&<3nhjk#$m7nh>3eVU?D+7BCilt_7?_nT2&P4a*^d z%6x7&CGxO6yJ3i7+BC&Y3&GSykV&{ktY9g2+T>ga=0T`7RKOab5v9&>6&w{M2PozR zwJjk&$2vSgQJqkHJT)T{F*{JrZ&@|>VC0NXTG`!Xy})&zl&>O!NjRaCSY)(ap$WA{ z!)|0OVnKmjw*$5U!rKr%t5jIbnPn;c0# z5>_hljqPe3&_@b3(j{C9*J#i|V|$dAOc4mJ9}9-l<&DK0gsh46mm;4x7RXeroJzqC zoV@^ZZVWMx5eV^ckgSu783qbtJC@c#YhS~9KnX^JQx3s@g{DNpa6rR4Ev8>taOFsx z3_@+%W?;zVV`(f{$a=;`viM>J1HQxvb3Y+OOG2QTn3)@hTzl<+Wb%--Cd1bbj}2VT zMG_dnR}4Hil$;)NGoS3)zXuEFD!HWrv`3N41qMdK<#b#kLAfd%(2e&_6VcLySD+FxrEF z4qw&2E)d z20bO<<|n~h#*fCO)tF)P#Nd`M%p_{OGaZFho zkuQirEra6l<3nr0x~;BFsSj(r=4wU`a@UQKqFUssgR=ApVK1mYOo135=s~+?%`@%P zGf00R232u%G3*^?3h1}Zj7(8^9dSj_!0EYuMMH6i3QTa(SR^jaMN%kQ>S2C??+MbE z1Fj;zkd3^x;#z{>D2DVHBlsYWEH+&88zc<8+XB~nVF?;-K3I4o<}WLq(<`BCgE4?8 zRYAqIYfEDlU4~^N_u#{Y>?e7WFvw-L;R=Q^U~Zgb4^VmO9CUP*x&~?y@+I0DHmqex z6Ye_j4B~+(168p|itXV>+AuVCIuXHyL9hwzX_kpW*JS9N7wM8{H6wIz(Cp*&O*{=3 z1D0R$#aXy)`8y*^o0Q12{*_rZXtr3ZMQWoF4G8ZSy&oc`uJVEpWeMqET$j7j33$~L z5KutOr{Xh5G_W3WB4XOOw#6lMS-{5|Kpwgrg&2|4zgu zQL`1;U0^AIF_a6v7<40U4sYuDt{M$&#ooKV6uT;?d)-3IKB+1o*0F46_3hL^R1IoY8UyV|dx8Rm1S&2?+3PiOCAVL31gSvMysx zL{!YTw9SZx2SSAV-jOBPCCyAVQbj0M1AZhB%1~tumxp5s$;d&|Jv@gxU%_}yR!tIM za@A&GUd#=&7%}UWU0J{tshlVO%(5!4D>faLL1I5v;rnDr8x>)#y zYPyzVI_W54x6QC|SkLV!rX{OwKIDTTMqmYp&BK6+XYKKMt9<$wqICZ_?uB>POLL9Mdd$|Z1MI?K==|r-J9>vH-oB}NwS=USjc@>PTgPe{Z zw=oZ5qM;44%LL-&vx{7lFOhntoiGLQI*`^aMYPjW)g6!}1n47_QpHWN!?5?DkHte_ zxRRav*Z~Q{vUV-Te|R*qk-@8%i={O*Gr|$+I$2jCnyrpjQ?^;^m~)_d61&N{hg?Ch z9&_>`jL%Hf8q^iUtk|*YU?!HHpG_X&a7u0q&FYG1G?*XJ>uyOMn{k$h z_uhiPJ&oncEzrzuVpVP-sOlDEMPt}FHSt?C(n z8cD|*a1>K35m}?YnnPk(EL_3>vIYfCC1^HtSXoY*gHMyR2?1sU;uB6*X!Df9i0fIx zlv`(#noly<06nwl_PHrU5HK`MCM896SrY*PR&$ZmGltG*S*dHyT#`G0d_u^R=%rwQ zB1PIk4)VrYNW|@tahN{U&WuI?snD>;B}A=oT`oJqE+`Qm+r>C(8}a(TO|#k~83y9^ z3AC1C8da-8;!31_^!Zx`pc`l2|)59>|)k z1wgMJ=faU>6H;rU2rWVLX}C*7z@X5twuL(~i=es?xDlRf1z&pxMd%4=2U*(8F$P@| zsJmDg@mF0C4OG_>F$X~si(GL~$ND{no!ABW%${JGEk=J4 zEQo$%<@Z=mV>8Y&{*s~}gCekC4yz;FMK;s%8H5IPA3+ANe4SJ?i<;6m3CY;UoWg}t zbwx=JQf?pzl$!~`_9Mk2&VHWeT2K7gVtx#f`0i_uHv=3Tp;mThy7Wh(VsQ&I!B--WeG6+{DwpoYTw~kjZ zSYdXzsXq``BMd)0KLXiMR4vEG%hd~u@U3CALDh7bE!A)`O--`WFuD!_9VmtxL>^)E z=5m=)L{2(&2sf^4QDjRmX$|91%-UG_q72;x<5NUy=E@=3> zN(4J3&BD4BEH?Qh?SiY$^M&`<)#X>~3L@^&DRcGJL!_;-pH-D;p{fHTn; zb-=E=wu@i|fGvx8CL?pnWQV(- z2g7L=0YPYq*#%fe6EGzpjSl#(6%)8Lhf>WrPI1QR(2_lVGn zT3ytd0Y{=3Nf|Q3*b}4(v#VZR;!NWMRv6Zc;CmQhh^|-a4Qo7YHKa6&5N0baoTP#r z4`@oaA3RAPY*ki9Sn;le3<|=CWgWXgNDhZ@7!&^~>@{{}C<+tNFj^K-S8j$rG=tJG ztY@xcFw$}xlPt%xb#c0yn#daT8$fE1DeEk$#aJ|-1X8*n`}PmDVL!KM>gom#L_891*X;-ktMYG_+oJ?>oHX6 z#C7o)GqW?X?$OUk-+0Or&mxpp*XBi2Nk0Bb_BA&6ZS zSgeK4LoiFOGRI99F9JiuX^@2`L5^69iK*EzXn@QFoXb3+U`N))RI@Ej_A3;XQDSXz zJ8eT8!)sCoMLId265{4kIm|v4-x%m3c1FqCE*Yv}oq#-|RrFLaa+XkB5=Rcjm40xIWkKAV3_}AWZUxRn8LD!XGLv z)|*R6A0gSnoMO3#92wA~V489TG~^xew2lT0L+~jT3MWBYAllQ5Wu^ILgb%si96eG6 zMMIb*^dcdQRZ3dkdJ_g#i{L;m<;qoz=5kYZS+9?1BH-^3^N>1(^fi;qF_DToI+TKl z6;qlQxlEaEz*;p8Oi#WHno!bd!#yRBgP!6SioM_`BoGC413i?7VPSwoinr((;tWJb zaK7tv?aWSLNlI=hv62tNbO>!52}c<8N*NHVuhj32`(O#Tl~fIbP(^26vJ^(*65R#| z?Tt?-mB2%^s!zMiNWp{2bSR^9O^X^h+$9w_EOoW4GL2m?^JZI(vkHNKX@))GU;J#3 z_?JH0BV#`8!XELj)38VUD>dwq{oOPuF`7W4x%gBR8Jxg$-MlSbd>X_^79B*U;$+Pu z@a4N&fn|hj8IKRj4&q|GrS8_DUAHUQB%cP;AwrThP?oUVjIt{@k6*3^S&y1<6)WUL zx=7meJ02%LHVINB9~_84(vFDm%MKAsnXb+ke=Ch)Sxed7E=5pNgsa(^8A@4Vhq$WV zB9oY%XO2Qxn`4^&fR$pBi*^rUjQP6{yZ*kzuD|23>+dz}`nwFf{{F)5eoGz1320L; z`PP~-p;dQh#*rh_K^hALOQ4Tj{U|gQ55q}HqqLnOZTd$+8=2jpSs^3QxRo!&>4l|g z5=BC8hfE=euw;0nyD*S<#*~eomIXz`@T2v*OOkm<1&sc%!Aee` z)g-7b>6+C`Q3sG)n)V=;o+8r?Uvt2UiLUFJNgj}@5{g!A95dRU6ER50;%W>+!1+d4 zpOu3#wTv)3;m|OEyUdzumXZRP=|vDH$~;Yag%-0#D!s-~<(H#}vBid5Xbu?h6OREV`hGQS`C)~c>*MG(x@kx?Jt^=JA&6Jd14|m$My9BB!l>dz1;|AqH*OVYGzqg&)ut0N~i< ziW+`KN3M#Jq6BJnV1fV@Y@4-cJ1b z2L`el(~=51Cx$WD0u89NW@l$B$T9K!x*r4U*<0fAGRhdyc`C>1Xu~# zz#5zzbw^yqNQ2B37vOHbFN<)2j3i>GQkeEDdg=U_Dn;U}bml6#MiXW%$!e?QgO)rn zB-g@hwVl?l{Ku2 z$(p4nHNXdo7)A#(zF--MU2AKVCZA5kxFDen8ZNPR?Er{pA=7ElIZ6s+v#I*n3>iFb(DqTLJs+jp`!H3;DKLU3 zI1mOpl;(9qjJ2h+jdBSRBI6zt`Aj*2k2>HE-doG08-=6}c?gCwiMR5Zhs45#RZy@+ zA#MO6UdJ7qEpHsL<;Vt~ML;{=huR@x%yOU*Tngj{5^(9v>OzTmV`1mpIR1g2c}gO# zgWA>KXaGs!IMywpkE$m@6Ct@YM09~M*R?MA+`<%JFb-M9Mz*R5C@WllypfydJ>{-S zU{U~_YxyM3qw~LGjjs)Izyf6qG3zg}^dpg`&_o#x8k99Udd5>Ey^SUDT|}_xXli

    bV0} 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%0At! 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 z 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%0Amh8nY4i6|1K?T#x#}}K-*=ruNJ)iy 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�byxNP;?FXVVi9NBp>!+l4a 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⁣Y%;TSKw$7Vrm& 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�sTKl3fmTjlC{%3)R=m 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