Newer
Older
mbed-os / targets / TARGET_RENESAS / TARGET_RZ_A1XX / TARGET_RZ_A1H / PeripheralPins.c
@Harrison Mutai Harrison Mutai on 15 Oct 2020 9 KB Add SPDX license identifier to Arm files

/* mbed Microcontroller Library
 * Copyright (c) 2006-2015 ARM Limited
 * 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 "PeripheralPins.h"

/************IRQ***************/
enum {
    IRQ0,IRQ1,
    IRQ2,IRQ3,
    IRQ4,IRQ5,
    IRQ6,IRQ7,
} IRQNo;
const PinMap PinMap_IRQ[] = {
    {P1_0,  IRQ0, 4}, {P1_1,  IRQ1, 4}, {P1_2,  IRQ2, 4},
    {P1_3,  IRQ3, 4}, {P1_4,  IRQ4, 4}, {P1_5,  IRQ5, 4},
    {P1_6,  IRQ6, 4}, {P1_7,  IRQ7, 4}, {P1_8,  IRQ2, 3},
    {P1_9,  IRQ3, 3}, {P1_10, IRQ4, 3}, {P1_11, IRQ5, 3}, // 11
    {P2_0,  IRQ5, 6}, {P2_12, IRQ6, 6}, {P2_13, IRQ7, 8},
    {P2_14, IRQ0, 8}, {P2_15, IRQ1, 8}, // 16
    {P3_0,  IRQ2, 3}, {P3_1,  IRQ6, 3}, {P3_3,  IRQ4, 3},
    {P3_9,  IRQ6, 8}, // 20
    {P4_8,  IRQ0, 8}, {P4_9,  IRQ1, 8}, {P4_10, IRQ2, 8},
    {P4_11, IRQ3, 8}, {P4_12, IRQ4, 8}, {P4_13, IRQ5, 8},
    {P4_14, IRQ6, 8}, {P4_15, IRQ7, 8}, // 28
    {P5_6,  IRQ6, 6}, {P5_8,  IRQ0, 2}, {P5_9,  IRQ2, 4}, // 31
    {P6_0,  IRQ5, 6}, {P6_1,  IRQ4, 4}, {P6_2,  IRQ7, 4},
    {P6_3,  IRQ2, 4}, {P6_4,  IRQ3, 4}, {P6_8,  IRQ0, 8},
    {P6_9,  IRQ1, 8}, {P6_10, IRQ2, 8}, {P6_11, IRQ3, 8},
    {P6_12, IRQ4, 8}, {P6_13, IRQ5, 8}, {P6_14, IRQ6, 8},
    {P6_15, IRQ7, 8}, // 44
    {P7_8,  IRQ1, 8}, {P7_9,  IRQ0, 8}, {P7_10, IRQ2, 8},
    {P7_11, IRQ3, 8}, {P7_12, IRQ4, 8}, {P7_13, IRQ5, 8},
    {P7_14, IRQ6, 8}, // 51
    {P8_2,  IRQ0, 5}, {P8_3,  IRQ1, 6}, {P8_7,  IRQ5, 4},
    {P9_1,  IRQ0, 4}, // 55
    {P11_12,IRQ3, 3}, {P11_15,IRQ1, 3}, // 57
    {NC,    NC,     0}
};

/************PINMAP***************/
const PinFunc PIPC_0_tbl[] = {
//   pin      func     pm
    {P4_0   , 2      , -1}, /* TIOC0A */
    {P5_0   , 6      , -1}, /* TIOC0A */
    {P7_0   , 7      , -1}, /* TIOC0A */
    {P10_4  , 2      , -1}, /* TIOC0A */
    {P4_1   , 2      , -1}, /* TIOC0B */
    {P5_1   , 6      , -1}, /* TIOC0B */
    {P7_1   , 7      , -1}, /* TIOC0B */
    {P10_5  , 2      , -1}, /* TIOC0B */
    {P4_2   , 2      , -1}, /* TIOC0C */
    {P5_5   , 6      , -1}, /* TIOC0C */
    {P7_2   , 7      , -1}, /* TIOC0C */
    {P10_6  , 2      , -1}, /* TIOC0C */
    {P4_3   , 2      , -1}, /* TIOC0D */
    {P5_7   , 6      , -1}, /* TIOC0D */
    {P7_3   , 7      , -1}, /* TIOC0D */
    {P10_7  , 2      , -1}, /* TIOC0D */
    {P2_11  , 5      , -1}, /* TIOC1A */
    {P6_0   , 5      , -1}, /* TIOC1A */
    {P7_4   , 7      , -1}, /* TIOC1A */
    {P8_8   , 5      , -1}, /* TIOC1A */
    {P9_7   , 4      , -1}, /* TIOC1A */
    {P10_8  , 2      , -1}, /* TIOC1A */
    {P2_12  , 8      , -1}, /* TIOC1B */
    {P5_2   , 6      , -1}, /* TIOC1B */
    {P6_1   , 5      , -1}, /* TIOC1B */
    {P7_5   , 7      , -1}, /* TIOC1B */
    {P8_9   , 5      , -1}, /* TIOC1B */
    {P10_9  , 2      , -1}, /* TIOC1B */
    {P2_1   , 6      , -1}, /* TIOC2A */
    {P6_2   , 6      , -1}, /* TIOC2A */
    {P7_6   , 7      , -1}, /* TIOC2A */
    {P8_14  , 4      , -1}, /* TIOC2A */
    {P10_10 , 2      , -1}, /* TIOC2A */
    {P2_2   , 6      , -1}, /* TIOC2B */
    {P6_3   , 6      , -1}, /* TIOC2B */
    {P7_7   , 7      , -1}, /* TIOC2B */
    {P8_15  , 4      , -1}, /* TIOC2B */
    {P10_11 , 2      , -1}, /* TIOC2B */
    {P10_11 , 2      , -1}, /* TIOC2B */
    {P3_4   , 6      , -1}, /* TIOC3A */
    {P7_8   , 7      , -1}, /* TIOC3A */
    {P8_10  , 4      , -1}, /* TIOC3A */
    {P3_5   , 6      , -1}, /* TIOC3B */
    {P7_9   , 7      , -1}, /* TIOC3B */
    {P8_11  , 4      , -1}, /* TIOC3B */
    {P3_6   , 6      , -1}, /* TIOC3C */
    {P5_3   , 6      , -1}, /* TIOC3C */
    {P7_10  , 7      , -1}, /* TIOC3C */
    {P8_12  , 4      , -1}, /* TIOC3C */
    {P3_7   , 6      , -1}, /* TIOC3D */
    {P5_4   , 6      , -1}, /* TIOC3D */
    {P7_11  , 7      , -1}, /* TIOC3D */
    {P8_13  , 4      , -1}, /* TIOC3D */
    {P3_8   , 6      , -1}, /* TIOC4A */
    {P4_4   , 3      , -1}, /* TIOC4A */
    {P7_12  , 7      , -1}, /* TIOC4A */
    {P11_0  , 2      , -1}, /* TIOC4A */
    {P3_9   , 6      , -1}, /* TIOC4B */
    {P4_5   , 3      , -1}, /* TIOC4B */
    {P7_13  , 7      , -1}, /* TIOC4B */
    {P11_1  , 2      , -1}, /* TIOC4B */
    {P3_10  , 6      , -1}, /* TIOC4C */
    {P4_6   , 3      , -1}, /* TIOC4C */
    {P7_14  , 7      , -1}, /* TIOC4C */
    {P11_2  , 2      , -1}, /* TIOC4C */
    {P3_11  , 6      , -1}, /* TIOC4D */
    {P4_7   , 3      , -1}, /* TIOC4D */
    {P7_15  , 7      , -1}, /* TIOC4D */
    {P11_3  , 2      , -1}, /* TIOC4D */
    {P5_7   , 1      , 1 }, /* TXOUT0M   */
    {P5_6   , 1      , 1 }, /* TXOUT0P   */
    {P5_5   , 1      , 1 }, /* TXOUT1M   */
    {P5_4   , 1      , 1 }, /* TXOUT1P   */
    {P5_3   , 1      , 1 }, /* TXOUT2M   */
    {P5_2   , 1      , 1 }, /* TXOUT2P   */
    {P5_1   , 1      , 1 }, /* TXCLKOUTM */
    {P5_0   , 1      , 1 }, /* TXCLKOUTP */
    {P2_11  , 4      , 0 }, /* SSITxD0 */
    {P4_7   , 5      , 0 }, /* SSITxD0 */
    {P7_4   , 6      , 0 }, /* SSITxD1 */
    {P10_15 , 2      , 0 }, /* SSITxD1 */
    {P4_15  , 6      , 0 }, /* SSITxD3 */
    {P7_11  , 2      , 0 }, /* SSITxD3 */
    {P2_7   , 4      , 0 }, /* SSITxD5 */
    {P4_11  , 5      , 0 }, /* SSITxD5 */
    {P8_10  , 8      , 0 }, /* SSITxD5 */
    {P3_7   , 8      , 0 }, /* WDTOVF */
    {NC     , 0      , -1}
};

/************ADC***************/
const PinMap PinMap_ADC[] = {
    {P1_8,  AN0, 1},
    {P1_9,  AN1, 1},
    {P1_10, AN2, 1},
    {P1_11, AN3, 1},
    {P1_12, AN4, 1},
    {P1_13, AN5, 1},
    {P1_14, AN6, 1},
    {P1_15, AN7, 1},
    {NC   , NC , 0}
};

/************I2C***************/
const PinMap PinMap_I2C_SDA[] = {
    {P1_1 , I2C_0, 1},
    {P1_3 , I2C_1, 1},
    {P1_7 , I2C_3, 1},
    {NC   , NC   , 0}
};

const PinMap PinMap_I2C_SCL[] = {
    {P1_0 , I2C_0, 1},
    {P1_2 , I2C_1, 1},
    {P1_6 , I2C_3, 1},
    {NC   , NC   , 0}
};

/************UART***************/
const PinMap PinMap_UART_TX[] = {
    {P2_14 , UART0, 6},
    {P2_5  , UART1, 6},
    {P4_12 , UART1, 7},
    {P6_3  , UART2, 7},
    {P4_14 , UART2, 7},
    {P5_3  , UART3, 5},
    {P8_8  , UART3, 7},
    {P5_0  , UART4, 5},
    {P8_14 , UART4, 7},
    {P8_13 , UART5, 5},
    {P11_10, UART5, 3},
    {P6_6  , UART5, 5},
    {P5_6  , UART6, 5},
    {P11_1 , UART6, 4},
    {P7_4  , UART7, 4},
    {NC    , NC   , 0}
};

const PinMap PinMap_UART_RX[] = {
    {P2_15 , UART0, 6},
    {P2_6  , UART1, 6},
    {P4_13 , UART1, 7},
    {P6_2  , UART2, 7},
    {P4_15 , UART2, 7},
    {P5_4  , UART3, 5},
    {P8_9  , UART3, 7},
    {P5_1  , UART4, 5},
    {P8_15 , UART4, 7},
    {P8_11 , UART5, 5},
    {P11_11, UART5, 3},
    {P6_7  , UART5, 5},
    {P5_7  , UART6, 5},
    {P11_2 , UART6, 4},
    {P7_5  , UART7, 4},
    {NC    , NC   , 0}
};

const PinMap PinMap_UART_CTS[] = {
    {P2_3  , UART1, 6},
    {P11_7 , UART5, 3},
    {P7_6  , UART7, 4},
    {NC    , NC   , 0}
};

const PinMap PinMap_UART_RTS[] = {
    {P2_7  , UART1, 6},
    {P11_8 , UART5, 3},
    {P7_7  , UART7, 4},
    {NC    , NC   , 0}
};

/************SPI***************/
const PinMap PinMap_SPI_SCLK[] = {
    {P10_12, SPI_0, 4},
    {P4_4  , SPI_1, 2},
    {P6_4  , SPI_1, 7},
    {P11_12, SPI_1, 2},
    {P8_3  , SPI_2, 3},
    {P5_0  , SPI_3, 8},
    {NC    , NC   , 0}
};

const PinMap PinMap_SPI_MOSI[] = {
    {P10_14, SPI_0, 4},
    {P4_6  , SPI_1, 2},
    {P6_6  , SPI_1, 7},
    {P11_14, SPI_1, 2},
    {P8_5  , SPI_2, 3},
    {P5_2  , SPI_3, 8},
    {NC    , NC   , 0}
};

const PinMap PinMap_SPI_MISO[] = {
    {P10_15, SPI_0, 4},
    {P4_7  , SPI_1, 2},
    {P6_7  , SPI_1, 7},
    {P11_15, SPI_1, 2},
    {P8_6  , SPI_2, 3},
    {P5_3  , SPI_3, 8},
    {NC    , NC   , 0}
};

const PinMap PinMap_SPI_SSEL[] = {
    {P10_13, SPI_0, 4},
    {P4_5  , SPI_1, 2},
    {P6_5  , SPI_1, 7},
    {P11_13, SPI_1, 2},
    {P8_4  , SPI_2, 3},
    {P5_1  , SPI_3, 8},
    {NC    , NC   , 0}
};

/************PWM***************/
const PinMap PinMap_PWM[] = {
    {P2_1  , PWM_TIOC2A, 6},
    {P2_11 , PWM_TIOC1A, 5},
    {P3_8  , PWM_TIOC4A, 6},
    {P3_10 , PWM_TIOC4C, 6},
    {P4_0  , PWM_TIOC0A, 2},
    {P4_4  , PWM_TIOC4A, 3},
    {P4_6  , PWM_TIOC4C, 3},
    {P5_0  , PWM_TIOC0A, 6},
    {P5_5  , PWM_TIOC0C, 6},
    {P7_2  , PWM_TIOC0C, 7},
    {P7_4  , PWM_TIOC1A, 7},
    {P7_6  , PWM_TIOC2A, 7},
    {P7_12 , PWM_TIOC4A, 7},
    {P7_14 , PWM_TIOC4C, 7},
    {P8_8  , PWM_TIOC1A, 5},
    {P8_14 , PWM_TIOC2A, 4},
    {P11_0 , PWM_TIOC4A, 2},
    {P11_2 , PWM_TIOC4C, 2},
    {P4_4  , PWM_PWM2E , 4},
    {P3_2  , PWM_PWM2C , 7},
    {P4_6  , PWM_PWM2G , 4},
    {P4_7  , PWM_PWM2H , 4},
    {P8_14 , PWM_PWM1G , 6},
    {P8_15 , PWM_PWM1H , 6},
    {P8_13 , PWM_PWM1F , 6},
    {P8_11 , PWM_PWM1D , 6},
    {P8_8  , PWM_PWM1A , 6},
    {P10_0 , PWM_PWM2A , 3},
    {P8_12 , PWM_PWM1E , 6},
    {P8_9  , PWM_PWM1B , 6},
    {P8_10 , PWM_PWM1C , 6},
    {P4_5  , PWM_PWM2F , 4},
    {NC    , NC        , 0}
};

/************CAN***************/
const PinMap PinMap_CAN_RD[] = {
    {P7_8  , CAN_0, 4},
    {P9_1  , CAN_0, 3},
    {P1_4  , CAN_1, 3},
    {P5_9  , CAN_1, 5},
    {P7_11 , CAN_1, 4},
    {P11_12, CAN_1, 1},
    {P4_9  , CAN_2, 6},
    {P6_4  , CAN_2, 3},
    {P7_2  , CAN_2, 5},
    {P2_12 , CAN_3, 5},
    {P4_2  , CAN_3, 4},
    {P1_5  , CAN_4, 3},
    {P2_14 , CAN_4, 5},
    {NC    , NC   , 0}
};

const PinMap PinMap_CAN_TD[] = {
    {P7_9  , CAN_0, 4},
    {P9_0  , CAN_0, 3},
    {P5_10 , CAN_1, 5},
    {P7_10 , CAN_1, 4},
    {P11_13, CAN_1, 1},
    {P4_8  , CAN_2, 6},
    {P6_5  , CAN_2, 3},
    {P7_3  , CAN_2, 5},
    {P2_13 , CAN_3, 5},
    {P4_3  , CAN_3, 4},
    {P4_11 , CAN_4, 6},
    {P8_10 , CAN_4, 5},
    {NC    , NC   , 0}
};