Browse Source
Migrates mps2 targets away from the pinmux driver to the new pinctrl driver. Signed-off-by: Samuel Chee <samche01@arm.com> Signed-off-by: Sudan Landge <sudan.landge@arm.com>pull/88264/head
11 changed files with 189 additions and 168 deletions
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
/* |
||||
* Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com> |
||||
* |
||||
* SPDX-License-Identifier: Apache-2.0 |
||||
*/ |
||||
|
||||
#include <zephyr/dt-bindings/pinctrl/arm-mps2-pinctrl.h> |
||||
|
||||
&pinctrl { |
||||
/omit-if-no-ref/ uart3_default: uart3_default { |
||||
group1 { |
||||
pinmux = <UART3_TXD_EXP>; |
||||
}; |
||||
|
||||
group2 { |
||||
pinmux = <UART3_RXD_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ uart4_default: uart4_default { |
||||
group1 { |
||||
pinmux = <UART4_TXD_EXP>; |
||||
}; |
||||
|
||||
group2 { |
||||
pinmux = <UART4_RXD_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ spi0_default: spi0_default { |
||||
group1 { |
||||
pinmux = <SPI3_SCK_EXP>, <SPI3_SS_EXP>, |
||||
<SPI3_MOSI_EXP>; |
||||
}; |
||||
group2 { |
||||
pinmux = <SPI3_MISO_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ spi1_default: spi1_default { |
||||
group1 { |
||||
pinmux = <SPI4_SCK_EXP>, <SPI4_SS_EXP>, |
||||
<SPI4_MOSI_EXP>; |
||||
}; |
||||
group2 { |
||||
pinmux = <SPI4_MISO_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ sbcon0_default: sbcon0_default { |
||||
group1 { |
||||
pinmux = <SBCON2_SCL_EXP>, <SBCON2_SDA_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ sbcon1_default: sbcon1_default { |
||||
group1 { |
||||
pinmux = <SBCON3_SCL_EXP>, <SBCON3_SDA_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
}; |
@ -1,164 +0,0 @@
@@ -1,164 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016 Linaro Limited |
||||
* |
||||
* SPDX-License-Identifier: Apache-2.0 |
||||
*/ |
||||
|
||||
#include <zephyr/device.h> |
||||
#include <zephyr/init.h> |
||||
#include <zephyr/kernel.h> |
||||
#include <soc.h> |
||||
#include <zephyr/sys/sys_io.h> |
||||
#include <zephyr/drivers/gpio/gpio_cmsdk_ahb.h> |
||||
|
||||
/**
|
||||
* @brief Pinmux driver for ARM MPS2 AN385 Board |
||||
* |
||||
* The ARM MPS2 AN385 Board has 4 GPIO controllers. These controllers |
||||
* are responsible for pin muxing, input/output, pull-up, etc. |
||||
* |
||||
* All GPIO controller pins are exposed via the following sequence of pin |
||||
* numbers: |
||||
* Pins 0 - 15 are for GPIO0 |
||||
* Pins 16 - 31 are for GPIO1 |
||||
* Pins 32 - 47 are for GPIO2 |
||||
* Pins 48 - 51 are for GPIO3 |
||||
* |
||||
* For the GPIO controllers configuration ARM MPS2 AN385 Board follows the |
||||
* Arduino compliant pin out. |
||||
*/ |
||||
|
||||
#define CMSDK_AHB_GPIO0_DEV \ |
||||
((volatile struct gpio_cmsdk_ahb *)DT_REG_ADDR(DT_NODELABEL(gpio0))) |
||||
#define CMSDK_AHB_GPIO1_DEV \ |
||||
((volatile struct gpio_cmsdk_ahb *)DT_REG_ADDR(DT_NODELABEL(gpio1))) |
||||
#define CMSDK_AHB_GPIO2_DEV \ |
||||
((volatile struct gpio_cmsdk_ahb *)DT_REG_ADDR(DT_NODELABEL(gpio2))) |
||||
#define CMSDK_AHB_GPIO3_DEV \ |
||||
((volatile struct gpio_cmsdk_ahb *)DT_REG_ADDR(DT_NODELABEL(gpio3))) |
||||
|
||||
/*
|
||||
* This is the mapping from the ARM MPS2 AN385 Board pins to GPIO |
||||
* controllers. |
||||
* |
||||
* D0 : EXT_0 |
||||
* D1 : EXT_4 |
||||
* D2 : EXT_2 |
||||
* D3 : EXT_3 |
||||
* D4 : EXT_1 |
||||
* D5 : EXT_6 |
||||
* D6 : EXT_7 |
||||
* D7 : EXT_8 |
||||
* D8 : EXT_9 |
||||
* D9 : EXT_10 |
||||
* D10 : EXT_12 |
||||
* D11 : EXT_13 |
||||
* D12 : EXT_14 |
||||
* D13 : EXT_11 |
||||
* D14 : EXT_15 |
||||
* D15 : EXT_5 |
||||
* D16 : EXT_16 |
||||
* D17 : EXT_17 |
||||
* D18 : EXT_18 |
||||
* D19 : EXT_19 |
||||
* D20 : EXT_20 |
||||
* D21 : EXT_21 |
||||
* D22 : EXT_22 |
||||
* D23 : EXT_23 |
||||
* D24 : EXT_24 |
||||
* D25 : EXT_25 |
||||
* D26 : EXT_26 |
||||
* D27 : EXT_30 |
||||
* D28 : EXT_28 |
||||
* D29 : EXT_29 |
||||
* D30 : EXT_27 |
||||
* D31 : EXT_32 |
||||
* D32 : EXT_33 |
||||
* D33 : EXT_34 |
||||
* D34 : EXT_35 |
||||
* D35 : EXT_36 |
||||
* D36 : EXT_38 |
||||
* D37 : EXT_39 |
||||
* D38 : EXT_40 |
||||
* D39 : EXT_44 |
||||
* D40 : EXT_41 |
||||
* D41 : EXT_31 |
||||
* D42 : EXT_37 |
||||
* D43 : EXT_42 |
||||
* D44 : EXT_43 |
||||
* D45 : EXT_45 |
||||
* D46 : EXT_46 |
||||
* D47 : EXT_47 |
||||
* D48 : EXT_48 |
||||
* D49 : EXT_49 |
||||
* D50 : EXT_50 |
||||
* D51 : EXT_51 |
||||
* |
||||
* UART_3_RX : D0 |
||||
* UART_3_TX : D1 |
||||
* SPI_3_CS : D10 |
||||
* SPI_3_MOSI : D11 |
||||
* SPI_3_MISO : D12 |
||||
* SPI_3_SCLK : D13 |
||||
* I2C_3_SDA : D14 |
||||
* I2C_3_SCL : D15 |
||||
* UART_4_RX : D26 |
||||
* UART_4_TX : D30 |
||||
* SPI_4_CS : D36 |
||||
* SPI_4_MOSI : D37 |
||||
* SPI_4_MISO : D38 |
||||
* SPI_4_SCK : D39 |
||||
* I2C_4_SDA : D40 |
||||
* I2C_4_SCL : D41 |
||||
* |
||||
*/ |
||||
static void arm_mps2_pinmux_defaults(void) |
||||
{ |
||||
uint32_t gpio_0 = 0U; |
||||
uint32_t gpio_1 = 0U; |
||||
uint32_t gpio_2 = 0U; |
||||
|
||||
/* Set GPIO Alternate Functions */ |
||||
|
||||
gpio_0 = (1<<0) /* Shield 0 UART 3 RXD */ |
||||
| (1<<4) /* Shield 0 UART 3 TXD */ |
||||
| (1<<5) /* Shield 0 I2C SCL SBCON2 */ |
||||
| (1<<15) /* Shield 0 I2C SDA SBCON2 */ |
||||
| (1<<11) /* Shield 0 SPI 3 SCK */ |
||||
| (1<<12) /* Shield 0 SPI 3 SS */ |
||||
| (1<<13) /* Shield 0 SPI 3 MOSI */ |
||||
| (1<<14); /* Shield 0 SPI 3 MISO */ |
||||
|
||||
CMSDK_AHB_GPIO0_DEV->altfuncset = gpio_0; |
||||
|
||||
gpio_1 = (1<<10) /* Shield 1 UART 4 RXD */ |
||||
| (1<<14) /* Shield 1 UART 4 TXD */ |
||||
| (1<<15) /* Shield 1 I2C SCL SBCON3 */ |
||||
| (1<<0) /* ADC SPI 2 SS */ |
||||
| (1<<1) /* ADC SPI 2 MISO */ |
||||
| (1<<2) /* ADC SPI 2 MOSI */ |
||||
| (1<<3) /* ADC SPI 2 SCK */ |
||||
| (1<<5) /* USER BUTTON 0 */ |
||||
| (1<<6); /* USER BUTTON 1 */ |
||||
|
||||
CMSDK_AHB_GPIO1_DEV->altfuncset = gpio_1; |
||||
|
||||
gpio_2 = (1<<9) /* Shield 1 I2C SDA SBCON3 */ |
||||
| (1<<6) /* Shield 1 SPI 4 SS */ |
||||
| (1<<7) /* Shield 1 SPI 4 MOSI */ |
||||
| (1<<8) /* Shield 1 SPI 4 MISO */ |
||||
| (1<<12); /* Shield 1 SPI 4 SCK */ |
||||
|
||||
CMSDK_AHB_GPIO2_DEV->altfuncset = gpio_2; |
||||
} |
||||
|
||||
static int arm_mps2_pinmux_init(void) |
||||
{ |
||||
|
||||
arm_mps2_pinmux_defaults(); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
SYS_INIT(arm_mps2_pinmux_init, PRE_KERNEL_1, |
||||
CONFIG_KERNEL_INIT_PRIORITY_DEFAULT); |
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
/* |
||||
* Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com> |
||||
* |
||||
* SPDX-License-Identifier: Apache-2.0 |
||||
*/ |
||||
|
||||
#include <zephyr/dt-bindings/pinctrl/arm-mps2-pinctrl.h> |
||||
|
||||
&pinctrl { |
||||
/omit-if-no-ref/ uart3_default: uart3_default { |
||||
group1 { |
||||
pinmux = <UART3_TXD_EXP>; |
||||
}; |
||||
|
||||
group2 { |
||||
pinmux = <UART3_RXD_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ uart4_default: uart4_default { |
||||
group1 { |
||||
pinmux = <UART4_TXD_EXP>; |
||||
}; |
||||
|
||||
group2 { |
||||
pinmux = <UART4_RXD_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ spi0_default: spi0_default { |
||||
group1 { |
||||
pinmux = <SPI3_SCK_EXP>, <SPI3_SS_EXP>, |
||||
<SPI3_MOSI_EXP>; |
||||
}; |
||||
group2 { |
||||
pinmux = <SPI3_MISO_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ spi1_default: spi1_default { |
||||
group1 { |
||||
pinmux = <SPI4_SCK_EXP>, <SPI4_SS_EXP>, |
||||
<SPI4_MOSI_EXP>; |
||||
}; |
||||
group2 { |
||||
pinmux = <SPI4_MISO_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ sbcon0_default: sbcon0_default { |
||||
group1 { |
||||
pinmux = <SBCON2_SCL_EXP>, <SBCON2_SDA_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
|
||||
/omit-if-no-ref/ sbcon1_default: sbcon1_default { |
||||
group1 { |
||||
pinmux = <SBCON3_SCL_EXP>, <SBCON3_SDA_EXP>; |
||||
input-enable; |
||||
}; |
||||
}; |
||||
}; |
Loading…
Reference in new issue