Files

334 lines
8.5 KiB
C
Raw Permalink Normal View History

2023-11-09 20:19:51 +08:00
/*
2025-07-22 11:15:46 +08:00
* Copyright (c) 2022-2025, ArtInChip Technology Co., Ltd
2023-08-30 16:21:18 +08:00
*
* SPDX-License-Identifier: Apache-2.0
*
* Authors: weilin.peng@artinchip.com
*/
#include <aic_core.h>
#include <aic_hal.h>
#include "board.h"
2024-09-03 11:16:08 +08:00
#include <aic_utils.h>
2023-08-30 16:21:18 +08:00
struct aic_pinmux aic_pinmux_config[] = {
2023-11-09 20:19:51 +08:00
#ifdef AIC_USING_UART0
/* uart0 */
{5, PIN_PULL_DIS, 3, "PA.0"},
2024-09-03 11:16:08 +08:00
{5, PIN_PULL_UP, 3, "PA.1"},
2023-11-09 20:19:51 +08:00
#endif
2023-08-30 16:21:18 +08:00
#ifdef AIC_USING_UART1
/* uart1 */
2023-11-30 19:48:02 +08:00
{5, PIN_PULL_DIS, 3, "PD.2"},
2024-09-03 11:16:08 +08:00
{5, PIN_PULL_UP, 3, "PD.3"},
2023-11-30 19:48:02 +08:00
#endif
#ifdef AIC_USING_UART2
/* uart2 */
{5, PIN_PULL_DIS, 3, "PD.4"}, // BT_UART2_TX
2024-09-03 11:16:08 +08:00
{5, PIN_PULL_UP, 3, "PD.5"}, // BT_UART2_RX
2023-11-30 19:48:02 +08:00
#endif
#ifdef AIC_USING_CAN0
/* can0 */
{4, PIN_PULL_DIS, 3, "PA.4"},
{4, PIN_PULL_DIS, 3, "PA.5"},
#endif
#ifdef AIC_USING_AUDIO
#ifdef AIC_AUDIO_DMIC
{4, PIN_PULL_DIS, 3, "PD.16"},
{4, PIN_PULL_DIS, 3, "PD.17"},
#endif
#ifdef AIC_AUDIO_PLAYBACK
{5, PIN_PULL_DIS, 3, "PE.12"},
{1, PIN_PULL_DIS, 3, AIC_AUDIO_PA_ENABLE_GPIO},
#endif
#endif
#ifdef AIC_USING_RTP
{2, PIN_PULL_DIS, 3, "PA.8"},
{2, PIN_PULL_DIS, 3, "PA.9"},
{2, PIN_PULL_DIS, 3, "PA.10"},
{2, PIN_PULL_DIS, 3, "PA.11"},
#endif
#ifdef AIC_USING_I2C2
{4, PIN_PULL_DIS, 3, "PA.8"}, // SCK
{4, PIN_PULL_DIS, 3, "PA.9"}, // SDA
#endif
2025-07-22 11:15:46 +08:00
#ifdef AIC_USING_QSPI0
#ifndef AIC_SYSCFG_SIP_FLASH_ENABLE
2023-11-30 19:48:02 +08:00
/* qspi0 */
2025-07-22 11:15:46 +08:00
{2, PIN_PULL_UP, 3, "PB.0"},
{2, PIN_PULL_UP, 3, "PB.1"},
{2, PIN_PULL_UP, 3, "PB.2"},
{2, PIN_PULL_UP, 3, "PB.3"},
{2, PIN_PULL_UP, 3, "PB.4"},
{2, PIN_PULL_UP, 3, "PB.5"},
#else
{8, PIN_PULL_UP, 3, "PB.12"},
{8, PIN_PULL_UP, 3, "PB.13"},
{8, PIN_PULL_UP, 3, "PB.14"},
{8, PIN_PULL_UP, 3, "PB.15"},
{8, PIN_PULL_UP, 3, "PB.16"},
{8, PIN_PULL_UP, 3, "PB.17"},
#endif
2023-08-30 16:21:18 +08:00
#endif
#ifdef AIC_USING_SDMC0
{2, PIN_PULL_UP, 7, "PB.6"},
{2, PIN_PULL_UP, 7, "PB.7"},
{2, PIN_PULL_UP, 7, "PB.8"},
{2, PIN_PULL_UP, 7, "PB.9"},
{2, PIN_PULL_UP, 7, "PB.10"},
{2, PIN_PULL_UP, 7, "PB.11"},
#endif
#ifdef AIC_USING_SDMC1
{2, PIN_PULL_UP, 3, "PC.0"},
{2, PIN_PULL_UP, 3, "PC.1"},
{2, PIN_PULL_UP, 3, "PC.2"},
{2, PIN_PULL_UP, 3, "PC.3"},
{2, PIN_PULL_UP, 3, "PC.4"},
{2, PIN_PULL_UP, 3, "PC.5"},
{2, PIN_PULL_UP, 3, "PC.6"},
#endif
2024-01-27 08:47:24 +08:00
#ifdef AIC_WIRELESS_LAN
2023-11-30 19:48:02 +08:00
{1, PIN_PULL_DIS, 3, "PD.7"}, // WIFI_PWR_ON
2023-08-30 16:21:18 +08:00
#endif
2023-11-30 19:48:02 +08:00
#ifdef AIC_USING_I2C0
{4, PIN_PULL_DIS, 3, "PD.0"}, // SCK
{4, PIN_PULL_DIS, 3, "PD.1"}, // SDA
2023-08-30 16:21:18 +08:00
#endif
2023-11-30 19:48:02 +08:00
#ifdef AIC_PANEL_ENABLE_GPIO
{1, PIN_PULL_DIS, 3, AIC_PANEL_ENABLE_GPIO},
2023-08-30 16:21:18 +08:00
#endif
#ifdef AIC_PRGB_16BIT_LD
{2, PIN_PULL_DIS, 3, "PD.8"},
{2, PIN_PULL_DIS, 3, "PD.9"},
{2, PIN_PULL_DIS, 3, "PD.10"},
{2, PIN_PULL_DIS, 3, "PD.11"},
{2, PIN_PULL_DIS, 3, "PD.12"},
{2, PIN_PULL_DIS, 3, "PD.13"},
{2, PIN_PULL_DIS, 3, "PD.14"},
{2, PIN_PULL_DIS, 3, "PD.15"},
{2, PIN_PULL_DIS, 3, "PD.16"},
{2, PIN_PULL_DIS, 3, "PD.17"},
{2, PIN_PULL_DIS, 3, "PD.18"},
{2, PIN_PULL_DIS, 3, "PD.19"},
{2, PIN_PULL_DIS, 3, "PD.20"},
{2, PIN_PULL_DIS, 3, "PD.21"},
{2, PIN_PULL_DIS, 3, "PD.22"},
{2, PIN_PULL_DIS, 3, "PD.23"},
{2, PIN_PULL_DIS, 3, "PD.24"},
{2, PIN_PULL_DIS, 3, "PD.25"},
{2, PIN_PULL_DIS, 3, "PD.26"},
{2, PIN_PULL_DIS, 3, "PD.27"},
#endif
2024-09-03 11:16:08 +08:00
#ifdef AIC_USING_CLK_OUT0
{6, PIN_PULL_DIS, 3, "PD.13"},
#endif
2023-11-30 19:48:02 +08:00
#ifdef AIC_USING_CLK_OUT1
{2, PIN_PULL_DIS, 3, "PE.11"},
#endif
2024-09-03 11:16:08 +08:00
#ifdef AIC_USING_CLK_OUT2
{2, PIN_PULL_DIS, 3, "PE.10"},
#endif
#ifdef AIC_USING_CLK_OUT3
{7, PIN_PULL_DIS, 3, "PC.6"},
#endif
2023-11-30 19:48:02 +08:00
#ifdef AIC_USING_DVP
{3, PIN_PULL_DIS, 3, "PE.0"},
{3, PIN_PULL_DIS, 3, "PE.1"},
{3, PIN_PULL_DIS, 3, "PE.2"},
{3, PIN_PULL_DIS, 3, "PE.3"},
{3, PIN_PULL_DIS, 3, "PE.4"},
{3, PIN_PULL_DIS, 3, "PE.5"},
{3, PIN_PULL_DIS, 3, "PE.6"},
{3, PIN_PULL_DIS, 3, "PE.7"},
{3, PIN_PULL_DIS, 3, "PE.8"},
{3, PIN_PULL_DIS, 3, "PE.9"},
{3, PIN_PULL_DIS, 3, "PE.10"},
2023-08-30 16:21:18 +08:00
#endif
#ifdef AIC_LVDS_LINK_0
{3, PIN_PULL_DIS, 3, "PD.18"},
{3, PIN_PULL_DIS, 3, "PD.19"},
{3, PIN_PULL_DIS, 3, "PD.20"},
{3, PIN_PULL_DIS, 3, "PD.21"},
{3, PIN_PULL_DIS, 3, "PD.22"},
{3, PIN_PULL_DIS, 3, "PD.23"},
{3, PIN_PULL_DIS, 3, "PD.24"},
{3, PIN_PULL_DIS, 3, "PD.25"},
{3, PIN_PULL_DIS, 3, "PD.26"},
{3, PIN_PULL_DIS, 3, "PD.27"},
#endif
#ifdef AIC_DISP_MIPI_DSI
{4, PIN_PULL_DIS, 3, "PD.18"},
{4, PIN_PULL_DIS, 3, "PD.19"},
{4, PIN_PULL_DIS, 3, "PD.20"},
{4, PIN_PULL_DIS, 3, "PD.21"},
{4, PIN_PULL_DIS, 3, "PD.22"},
{4, PIN_PULL_DIS, 3, "PD.23"},
{4, PIN_PULL_DIS, 3, "PD.24"},
{4, PIN_PULL_DIS, 3, "PD.25"},
{4, PIN_PULL_DIS, 3, "PD.26"},
{4, PIN_PULL_DIS, 3, "PD.27"},
#endif
2025-10-21 13:59:50 +08:00
#ifdef AIC_USING_EPWM0
{7, PIN_PULL_DIS, 3, "PD.26"},
{7, PIN_PULL_DIS, 3, "PD.27"},
#endif
#ifdef AIC_USING_EPWM1
{7, PIN_PULL_DIS, 3, "PD.24"},
{7, PIN_PULL_DIS, 3, "PD.25"},
#endif
#ifdef AIC_USING_EPWM2
{7, PIN_PULL_DIS, 3, "PD.22"},
{7, PIN_PULL_DIS, 3, "PD.23"},
#endif
#ifdef AIC_USING_EPWM3
{7, PIN_PULL_DIS, 3, "PD.20"},
{7, PIN_PULL_DIS, 3, "PD.21"},
#endif
#ifdef AIC_USING_EPWM4
{7, PIN_PULL_DIS, 3, "PD.18"},
{7, PIN_PULL_DIS, 3, "PD.19"},
#endif
#ifdef AIC_USING_EPWM5
{7, PIN_PULL_DIS, 3, "PD.16"},
{7, PIN_PULL_DIS, 3, "PD.17"},
#endif
#ifdef AIC_USING_EPWM6
{7, PIN_PULL_DIS, 3, "PD.14"},
{7, PIN_PULL_DIS, 3, "PD.15"},
#endif
#ifdef AIC_USING_EPWM7
{7, PIN_PULL_DIS, 3, "PD.12"},
{7, PIN_PULL_DIS, 3, "PD.13"},
#endif
#ifdef AIC_USING_EPWM8
{7, PIN_PULL_DIS, 3, "PD.10"},
{7, PIN_PULL_DIS, 3, "PD.11"},
#endif
#ifdef AIC_USING_EPWM9
{7, PIN_PULL_DIS, 3, "PD.8"},
{7, PIN_PULL_DIS, 3, "PD.9"},
#endif
#ifdef AIC_USING_EPWM10
{7, PIN_PULL_DIS, 3, "PD.2"},
{7, PIN_PULL_DIS, 3, "PD.3"},
#endif
#ifdef AIC_USING_EPWM11
{7, PIN_PULL_DIS, 3, "PD.0"},
{7, PIN_PULL_DIS, 3, "PD.1"},
#endif
2023-08-30 16:21:18 +08:00
#ifdef AIC_USING_GMAC0
/* gmac0 */
{2, PIN_PULL_DIS, 3, "PE.0"},
{2, PIN_PULL_DIS, 3, "PE.1"},
{2, PIN_PULL_DIS, 3, "PE.2"},
{2, PIN_PULL_DIS, 3, "PE.3"},
{2, PIN_PULL_DIS, 3, "PE.4"},
{2, PIN_PULL_DIS, 3, "PE.5"},
{2, PIN_PULL_DIS, 3, "PE.7"},
{2, PIN_PULL_DIS, 3, "PE.8"},
{2, PIN_PULL_DIS, 3, "PE.9"},
/* phy0 reset gpio */
2023-11-30 19:48:02 +08:00
{1, PIN_PULL_DIS, 3, "PE.6"},
/* clk_out2 */
{2, PIN_PULL_DIS, 3, "PE.10"},
2023-08-30 16:21:18 +08:00
#endif
#ifdef AIC_USING_PWM1
{3, PIN_PULL_DIS, 3, "PE.11"},
2023-11-30 19:48:02 +08:00
//{3, PIN_PULL_DIS, 3, "PE.12"},
2023-08-30 16:21:18 +08:00
#endif
#ifdef AIC_USING_PWM2
{3, PIN_PULL_DIS, 3, "PE.13"},
2023-11-30 19:48:02 +08:00
//{3, PIN_PULL_DIS, 3, "PE.15"},
2023-08-30 16:21:18 +08:00
#endif
2023-11-30 19:48:02 +08:00
#if (defined(AIC_USING_USB0_DEVICE) || defined(AIC_USING_USB0_HOST))
/* usb0 */
{2, PIN_PULL_DIS, 3, "PO.0"}, // USB-DM
{2, PIN_PULL_DIS, 3, "PO.1"}, // USB-DP
{1, PIN_PULL_DIS, 3, "PD.6"}, // USB-ID
2023-11-09 20:19:51 +08:00
#endif
#ifdef AIC_USING_RTP
{2, PIN_PULL_DIS, 3, "PA.8"},
{2, PIN_PULL_DIS, 3, "PA.9"},
{2, PIN_PULL_DIS, 3, "PA.10"},
{2, PIN_PULL_DIS, 3, "PA.11"},
#endif
2024-04-03 16:40:57 +08:00
#ifdef AIC_USING_PSADC0
{7, PIN_PULL_DIS, 3, "PA.0"},
#endif
#ifdef AIC_USING_PSADC1
{7, PIN_PULL_DIS, 3, "PA.1"},
#endif
#ifdef AIC_USING_PSADC2
{7, PIN_PULL_DIS, 3, "PA.2"},
#endif
#ifdef AIC_USING_PSADC3
{7, PIN_PULL_DIS, 3, "PA.3"},
#endif
#ifdef AIC_USING_PSADC4
{7, PIN_PULL_DIS, 3, "PA.4"},
#endif
#ifdef AIC_USING_PSADC5
{7, PIN_PULL_DIS, 3, "PA.5"},
#endif
#ifdef AIC_USING_PSADC6
{7, PIN_PULL_DIS, 3, "PA.6"},
#endif
#ifdef AIC_USING_PSADC7
{7, PIN_PULL_DIS, 3, "PA.7"},
#endif
#ifdef AIC_USING_PSADC8
{7, PIN_PULL_DIS, 3, "PA.8"},
#endif
#ifdef AIC_USING_PSADC9
{7, PIN_PULL_DIS, 3, "PA.9"},
#endif
#ifdef AIC_USING_PSADC10
{7, PIN_PULL_DIS, 3, "PA.10"},
#endif
#ifdef AIC_USING_PSADC11
{7, PIN_PULL_DIS, 3, "PA.11"},
#endif
#ifdef AIC_USING_PSADC12
{7, PIN_PULL_DIS, 3, "PA.12"},
#endif
#ifdef AIC_USING_PSADC13
{7, PIN_PULL_DIS, 3, "PA.13"},
#endif
#ifdef AIC_USING_PSADC14
{7, PIN_PULL_DIS, 3, "PA.14"},
#endif
#ifdef AIC_USING_PSADC15
{7, PIN_PULL_DIS, 3, "PA.15"},
#endif
#ifdef AIC_USING_GPAI0
{2, PIN_PULL_DIS, 3, "PA.0"},
#endif
#ifdef AIC_USING_GPAI1
{2, PIN_PULL_DIS, 3, "PA.1"},
#endif
#ifdef AIC_USING_GPAI2
{2, PIN_PULL_DIS, 3, "PA.2"},
#endif
#ifdef AIC_USING_GPAI3
{2, PIN_PULL_DIS, 3, "PA.3"},
#endif
#ifdef AIC_USING_GPAI4
{2, PIN_PULL_DIS, 3, "PA.4"},
#endif
#ifdef AIC_USING_GPAI5
{2, PIN_PULL_DIS, 3, "PA.5"},
#endif
#ifdef AIC_USING_GPAI6
{2, PIN_PULL_DIS, 3, "PA.6"},
#endif
#ifdef AIC_USING_GPAI7
{2, PIN_PULL_DIS, 3, "PA.7"},
#endif
2024-09-03 11:16:08 +08:00
#ifdef AIC_USING_CTP
{1, PIN_PULL_DIS, 3, AIC_TOUCH_PANEL_RST_PIN},
{1, PIN_PULL_DIS, 3, AIC_TOUCH_PANEL_INT_PIN},
#endif
2023-08-30 16:21:18 +08:00
};
2024-09-30 17:06:01 +08:00
uint32_t aic_pinmux_config_size = ARRAY_SIZE(aic_pinmux_config);