mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Thu Sep 06 13:40:20 2018 +0100
Revision:
187:0387e8f68319
Parent:
targets/TARGET_NUVOTON/TARGET_NANO100/TARGET_NUMAKER_PFM_NANO130/PeripheralNames.h@174:b96e65c34a4d
Child:
189:f392fc9709a3
mbed-dev library. Release version 163

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 174:b96e65c34a4d 1 /* mbed Microcontroller Library
AnnaBridge 174:b96e65c34a4d 2 * Copyright (c) 2015-2017 Nuvoton
AnnaBridge 174:b96e65c34a4d 3 *
AnnaBridge 174:b96e65c34a4d 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 174:b96e65c34a4d 5 * you may not use this file except in compliance with the License.
AnnaBridge 174:b96e65c34a4d 6 * You may obtain a copy of the License at
AnnaBridge 174:b96e65c34a4d 7 *
AnnaBridge 174:b96e65c34a4d 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 174:b96e65c34a4d 9 *
AnnaBridge 174:b96e65c34a4d 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 174:b96e65c34a4d 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 174:b96e65c34a4d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 174:b96e65c34a4d 13 * See the License for the specific language governing permissions and
AnnaBridge 174:b96e65c34a4d 14 * limitations under the License.
AnnaBridge 174:b96e65c34a4d 15 */
AnnaBridge 174:b96e65c34a4d 16
AnnaBridge 174:b96e65c34a4d 17 #ifndef MBED_PERIPHERALNAMES_H
AnnaBridge 174:b96e65c34a4d 18 #define MBED_PERIPHERALNAMES_H
AnnaBridge 174:b96e65c34a4d 19
AnnaBridge 174:b96e65c34a4d 20 #include "cmsis.h"
AnnaBridge 174:b96e65c34a4d 21
AnnaBridge 174:b96e65c34a4d 22 #ifdef __cplusplus
AnnaBridge 174:b96e65c34a4d 23 extern "C" {
AnnaBridge 174:b96e65c34a4d 24 #endif
AnnaBridge 174:b96e65c34a4d 25
AnnaBridge 174:b96e65c34a4d 26 // NOTE: Check all module base addresses (XXX_BASE in BSP) for free bit fields to define module name
AnnaBridge 174:b96e65c34a4d 27 // which encodes module base address and module index/subindex.
AnnaBridge 174:b96e65c34a4d 28 #define NU_MODSUBINDEX_Pos 0
AnnaBridge 174:b96e65c34a4d 29 #define NU_MODSUBINDEX_Msk (0x1Ful << NU_MODSUBINDEX_Pos)
AnnaBridge 174:b96e65c34a4d 30 #define NU_MODINDEX_Pos 24
AnnaBridge 174:b96e65c34a4d 31 #define NU_MODINDEX_Msk (0xFul << NU_MODINDEX_Pos)
AnnaBridge 174:b96e65c34a4d 32
AnnaBridge 174:b96e65c34a4d 33 #define NU_MODNAME(MODBASE, INDEX, SUBINDEX) ((MODBASE) | ((INDEX) << NU_MODINDEX_Pos) | ((SUBINDEX) << NU_MODSUBINDEX_Pos))
AnnaBridge 174:b96e65c34a4d 34 #define NU_MODBASE(MODNAME) ((MODNAME) & ~(NU_MODINDEX_Msk | NU_MODSUBINDEX_Msk))
AnnaBridge 174:b96e65c34a4d 35 #define NU_MODINDEX(MODNAME) (((MODNAME) & NU_MODINDEX_Msk) >> NU_MODINDEX_Pos)
AnnaBridge 174:b96e65c34a4d 36 #define NU_MODSUBINDEX(MODNAME) (((MODNAME) & NU_MODSUBINDEX_Msk) >> NU_MODSUBINDEX_Pos)
AnnaBridge 174:b96e65c34a4d 37
AnnaBridge 174:b96e65c34a4d 38 #if 0
AnnaBridge 174:b96e65c34a4d 39 typedef enum {
AnnaBridge 174:b96e65c34a4d 40 GPIO_A = (int) NU_MODNAME(GPIOA_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 41 GPIO_B = (int) NU_MODNAME(GPIOB_BASE, 1, 0),
AnnaBridge 174:b96e65c34a4d 42 GPIO_C = (int) NU_MODNAME(GPIOC_BASE, 2, 0),
AnnaBridge 174:b96e65c34a4d 43 GPIO_D = (int) NU_MODNAME(GPIOD_BASE, 3, 0),
AnnaBridge 174:b96e65c34a4d 44 GPIO_E = (int) NU_MODNAME(GPIOE_BASE, 4, 0),
AnnaBridge 174:b96e65c34a4d 45 GPIO_F = (int) NU_MODNAME(GPIOF_BASE, 5, 0)
AnnaBridge 174:b96e65c34a4d 46 } GPIOName;
AnnaBridge 174:b96e65c34a4d 47 #endif
AnnaBridge 174:b96e65c34a4d 48
AnnaBridge 174:b96e65c34a4d 49 typedef enum {
AnnaBridge 174:b96e65c34a4d 50 ADC_0_0 = (int) NU_MODNAME(ADC_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 51 ADC_0_1 = (int) NU_MODNAME(ADC_BASE, 0, 1),
AnnaBridge 174:b96e65c34a4d 52 ADC_0_2 = (int) NU_MODNAME(ADC_BASE, 0, 2),
AnnaBridge 174:b96e65c34a4d 53 ADC_0_3 = (int) NU_MODNAME(ADC_BASE, 0, 3),
AnnaBridge 174:b96e65c34a4d 54 ADC_0_4 = (int) NU_MODNAME(ADC_BASE, 0, 4),
AnnaBridge 174:b96e65c34a4d 55 ADC_0_5 = (int) NU_MODNAME(ADC_BASE, 0, 5),
AnnaBridge 174:b96e65c34a4d 56 ADC_0_6 = (int) NU_MODNAME(ADC_BASE, 0, 6),
AnnaBridge 174:b96e65c34a4d 57 ADC_0_7 = (int) NU_MODNAME(ADC_BASE, 0, 7),
AnnaBridge 174:b96e65c34a4d 58 ADC_0_8 = (int) NU_MODNAME(ADC_BASE, 0, 8),
AnnaBridge 174:b96e65c34a4d 59 ADC_0_9 = (int) NU_MODNAME(ADC_BASE, 0, 9),
AnnaBridge 174:b96e65c34a4d 60 ADC_0_10 = (int) NU_MODNAME(ADC_BASE, 0, 10),
AnnaBridge 174:b96e65c34a4d 61 ADC_0_11 = (int) NU_MODNAME(ADC_BASE, 0, 11),
AnnaBridge 174:b96e65c34a4d 62 } ADCName;
AnnaBridge 174:b96e65c34a4d 63
AnnaBridge 174:b96e65c34a4d 64 typedef enum {
AnnaBridge 174:b96e65c34a4d 65 UART_0 = (int) NU_MODNAME(UART0_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 66 UART_1 = (int) NU_MODNAME(UART1_BASE, 1, 0),
AnnaBridge 174:b96e65c34a4d 67 // NOTE: board-specific
AnnaBridge 174:b96e65c34a4d 68 STDIO_UART = UART_0
AnnaBridge 174:b96e65c34a4d 69 } UARTName;
AnnaBridge 174:b96e65c34a4d 70
AnnaBridge 174:b96e65c34a4d 71 typedef enum {
AnnaBridge 174:b96e65c34a4d 72 SPI_0_0 = (int) NU_MODNAME(SPI0_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 73 SPI_0_1 = (int) NU_MODNAME(SPI0_BASE, 0, 1),
AnnaBridge 174:b96e65c34a4d 74 SPI_1_0 = (int) NU_MODNAME(SPI1_BASE, 1, 0),
AnnaBridge 174:b96e65c34a4d 75 SPI_1_1 = (int) NU_MODNAME(SPI1_BASE, 1, 1),
AnnaBridge 174:b96e65c34a4d 76 SPI_2_0 = (int) NU_MODNAME(SPI2_BASE, 2, 0),
AnnaBridge 174:b96e65c34a4d 77 SPI_2_1 = (int) NU_MODNAME(SPI2_BASE, 2, 1),
AnnaBridge 174:b96e65c34a4d 78
AnnaBridge 174:b96e65c34a4d 79 SPI_0 = SPI_0_0,
AnnaBridge 174:b96e65c34a4d 80 SPI_1 = SPI_1_0,
AnnaBridge 174:b96e65c34a4d 81 SPI_2 = SPI_2_0
AnnaBridge 174:b96e65c34a4d 82 } SPIName;
AnnaBridge 174:b96e65c34a4d 83
AnnaBridge 174:b96e65c34a4d 84 typedef enum {
AnnaBridge 174:b96e65c34a4d 85 I2C_0 = (int) NU_MODNAME(I2C0_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 86 I2C_1 = (int) NU_MODNAME(I2C1_BASE, 1, 0)
AnnaBridge 174:b96e65c34a4d 87 } I2CName;
AnnaBridge 174:b96e65c34a4d 88
AnnaBridge 174:b96e65c34a4d 89 typedef enum {
AnnaBridge 174:b96e65c34a4d 90 PWM_0_0 = (int) NU_MODNAME(PWM0_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 91 PWM_0_1 = (int) NU_MODNAME(PWM0_BASE, 0, 1),
AnnaBridge 174:b96e65c34a4d 92 PWM_0_2 = (int) NU_MODNAME(PWM0_BASE, 0, 2),
AnnaBridge 174:b96e65c34a4d 93 PWM_0_3 = (int) NU_MODNAME(PWM0_BASE, 0, 3),
AnnaBridge 174:b96e65c34a4d 94
AnnaBridge 174:b96e65c34a4d 95 PWM_1_0 = (int) NU_MODNAME(PWM1_BASE, 1, 0),
AnnaBridge 174:b96e65c34a4d 96 PWM_1_1 = (int) NU_MODNAME(PWM1_BASE, 1, 1),
AnnaBridge 174:b96e65c34a4d 97 PWM_1_2 = (int) NU_MODNAME(PWM1_BASE, 1, 2),
AnnaBridge 174:b96e65c34a4d 98 PWM_1_3 = (int) NU_MODNAME(PWM1_BASE, 1, 3),
AnnaBridge 174:b96e65c34a4d 99 } PWMName;
AnnaBridge 174:b96e65c34a4d 100
AnnaBridge 174:b96e65c34a4d 101 typedef enum {
AnnaBridge 174:b96e65c34a4d 102 TIMER_0 = (int) NU_MODNAME(TIMER0_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 103 TIMER_1 = (int) NU_MODNAME(TIMER1_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 104 TIMER_2 = (int) NU_MODNAME(TIMER2_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 105 TIMER_3 = (int) NU_MODNAME(TIMER3_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 106 } TIMERName;
AnnaBridge 174:b96e65c34a4d 107
AnnaBridge 174:b96e65c34a4d 108 typedef enum {
AnnaBridge 174:b96e65c34a4d 109 RTC_0 = (int) NU_MODNAME(RTC_BASE, 0, 0)
AnnaBridge 174:b96e65c34a4d 110 } RTCName;
AnnaBridge 174:b96e65c34a4d 111
AnnaBridge 174:b96e65c34a4d 112 typedef enum {
AnnaBridge 174:b96e65c34a4d 113 DMAGCR_0 = (int) NU_MODNAME(PDMAGCR_BASE, 0, 0)
AnnaBridge 174:b96e65c34a4d 114 } DMAGCR_Name;
AnnaBridge 174:b96e65c34a4d 115
AnnaBridge 174:b96e65c34a4d 116 typedef enum {
AnnaBridge 174:b96e65c34a4d 117 DMA_0_0 = (int) NU_MODNAME(VDMA_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 118 DMA_1_0 = (int) NU_MODNAME(PDMA1_BASE, 1, 0),
AnnaBridge 174:b96e65c34a4d 119 DMA_2_0 = (int) NU_MODNAME(PDMA2_BASE, 2, 0),
AnnaBridge 174:b96e65c34a4d 120 DMA_3_0 = (int) NU_MODNAME(PDMA3_BASE, 3, 0),
AnnaBridge 174:b96e65c34a4d 121 DMA_4_0 = (int) NU_MODNAME(PDMA4_BASE, 4, 0),
AnnaBridge 174:b96e65c34a4d 122 DMA_5_0 = (int) NU_MODNAME(PDMA5_BASE, 5, 0),
AnnaBridge 174:b96e65c34a4d 123 DMA_6_0 = (int) NU_MODNAME(PDMA6_BASE, 6, 0),
AnnaBridge 174:b96e65c34a4d 124 } DMAName;
AnnaBridge 174:b96e65c34a4d 125
AnnaBridge 174:b96e65c34a4d 126 typedef enum {
AnnaBridge 174:b96e65c34a4d 127 I2S_0 = (int) NU_MODNAME(I2S_BASE, 0, 0),
AnnaBridge 174:b96e65c34a4d 128 } I2SName;
AnnaBridge 174:b96e65c34a4d 129
AnnaBridge 174:b96e65c34a4d 130 #ifdef __cplusplus
AnnaBridge 174:b96e65c34a4d 131 }
AnnaBridge 174:b96e65c34a4d 132 #endif
AnnaBridge 174:b96e65c34a4d 133
AnnaBridge 174:b96e65c34a4d 134 #endif