Commit graph

304 commits

Author SHA1 Message Date
Anas Nashif
303af992e5 style: fix 'if (' usage in cmake files
Replace with 'if(' and 'else(' per the cmake style guidelines.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-10-29 11:44:13 +02:00
Bjarki Arge Andreasen
0a8888d000 drivers: pinctrl: nrf: simplify pin retention
GPIO pad power domain management is not neccesary if the quirky
cross domain feature is handled at the application level. Replace it
with directly setting/clearing pin retention, as hardware will force
power domains on automatically.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-10-23 18:06:30 +02:00
David Jewsbury
ac94ca7894 drivers: pinctrl: nrf: add support for MSPI
Support for new MSPI peripheral where there is no PSEL
so pins are setup through CTRLSEL.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-10-23 18:00:13 +02:00
Qingsong Gou
039389187f drivers: clock_control: fix sf32lb clock_control typo
fix a sf3232lb_clock_is_ready_dt typo

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-23 17:53:25 +02:00
Lucien Zhao
80c32929a1 driver: pinctrl: adapt for mcxe31x series
- add binding files: nxp,mcxe31x-siul2-pinctrl.yaml
- Enable PINCTRL_NXP_SIUL2 when nxp,mcxe31x-siul2-pinctrl is ok

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-10-22 18:35:01 +03:00
McAtee Maxwell
69c64929b3 drivers: add ifx pinctrl driver updates for kit_pse84_eval
- add drive-strength capability for kit_pse84_eval

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-10-10 12:59:33 -04:00
Karsten Koenig
85363f9e53 drivers: pinctrl_nrf: Add coresight tpiu pins
Pinctrl needs to set the needed drive and direction of the pins. Also
this later allows automatically setting the clock bit for the traceclk
pin.

Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
2025-10-08 10:09:02 +02:00
Michał Stasiak
ccef0cf132 drivers: pinctrl: nrf: use HAL defines
Replaced MDK symbols with defines from HAL.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-10-03 21:07:13 -04:00
Hou Zhiqiang
a3e9b59139 drivers: pinctrl_imx: add mimx9111 support
Add pinctrl driver support for MIMX9111.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-03 12:51:13 +03:00
Andrzej Głąbek
ca79733388 drivers: pinctrl_nrf: Add support for SPIM CSN pin function
Certain SPIM instances in nRF52/53/54L/54H Series provide hardware
control of the CSN (chip select) line. Although the standard SPI
drivers do not use this feature, it should be possible to configure
this line through pinctrl in case some special driver needs this.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-10-01 14:37:46 +03:00
Mohamed Azhar
6241d249a9 drivers: pinctrl: microchip: update pinctrl driver for Port G1 IP
Update pinctrl driver for Microchip Port G1 Peripheral IPs

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2025-09-23 09:41:05 +01:00
Gerard Marull-Paretas
2d50a4176b drivers: pinctrl: sf32lb52x: initial driver
Initial driver for SF32LB52X SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Ren Chen
20c8f6b5f7 drivers: pinctrl: it8xxx2: add support for alternate function 5
This commit introduces alternate function 5 setting for it8xxx2 SoC.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-09-19 08:35:10 -04:00
Manuel Argüelles
0f0cad00d4 drivers: pinctrl: nxp: drop soc name from siul2 driver
The SIUL2 pin control driver is a native implementation usable across
all NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow clean
reuse by other families.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-09-17 10:07:31 +02:00
Raffael Rostagno
9d257c362f drivers: pinctrl: esp32h2: Add support
Add pinctrl support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Krzysztof Chruściński
4b374ec7f5 drivers: pinctrl: Allow keeping pinctrl sleep state
When PM or PM_DEVICE is enabled pinctrl sleep state is using for
device suspension. However, there are cases where power management is
not used but we still want to be able to put pins to sleep state, e.g.
device deinit.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-22 12:35:42 +02:00
Tanguy Raufflet
6325b73739 drivers: pinctrl: stm32: add gpioz pinctrl support for STM32MP2
The STM32MP2 series needs gpioz pinctrl support to be able to use
the GPIOZ pins.

Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com>
2025-08-21 18:41:59 +02:00
Camille BAUD
41ab7ec622 drivers: pinctrl: Update bflb pinctrl for bl70x
BL70x = BL60x here

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-20 16:30:48 +02:00
Camille BAUD
14c449986e drivers: pinctrl: Add BL61x pinctrl
This adds pinctrl support in the bflb driver for BL61x

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-20 13:45:26 +02:00
Mahesh Mahadevan
95e274b866 drivers: pinctrl_mci_io_mux: Fix sleep output configuration
The sleep output configuration should be skipped for pins
22 to 28.
This was causing incorrect GPIO wakeups when entering
standby mode on RW612.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-19 23:36:38 +02:00
Sri Surya
3d91929346 drivers: pinctrl: Add pinctrl driver for Apollo2 SoC
This commit adds pinctrl support for Apollo2 SoC.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2025-08-19 18:00:41 +02:00
Declan Snyder
5f742ac862 modules: nxp: imx: Remove HAS_IMX_* configs
Remove all these legacy configs which are not necessary.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Mahesh Mahadevan
94f93405c1 dts: nxp: Add sleep-output property
This property allows a user to specify the operation of a
pin in sleep mode.
By default, pins are configured to be output low in sleep mode.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-12 21:33:34 +02:00
Phi Tran
84190f4581 drivers: gpio: Update gpio and pinctrl driver for support RX261
Update gpio driver and pinctrl driver for support RX261

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-08-11 12:48:35 +03:00
Mohamed Azhar
715adcc999 drivers: pinctrl: microchip: add pinctrl driver for Port G1 IP
Add pinctrl driver for Microchip Port G1 Peripheral IPs

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2025-08-08 11:52:35 +03:00
Sreeram Tatapudi
b8fd4cd55f drivers: pinctrl: pincontrol driver updates to support PSC3
Update pincontrol driver to support PSC3

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-08-04 19:57:57 +01:00
Camille BAUD
bdffc08279 bflb: Make BL60x independant from SDK
Reorganize and update soc folder files for SDK-independance
Reorganize and update hal_bouffalolab files for SDK-independance
Reorganize and update soc dts files for SDK-independance
Update serial and pinctrl driver files for SDK-independance
Update ai_wb2_12f, bl604e_iot_dvk, and dt_bl10_dvk
to new bl60x support
and fixup openocd config of ai_wb2_12f

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-01 07:57:36 -04:00
Bjarki Arge Andreasen
2b0d1ae4d0 soc: nordic: nrf54h: transition from gpd to zephyr pinctrl and pds
Transition nrf54h away from the soc specific gpd
(global power domain) driver which mixed power domains, pinctrl
and gpio pin retention into a non scalable solution, forcing soc
specific logic to bleed into nrf drivers.

The new solution uses zephyrs PM_DEVICE based power domains to
properly model the hardware layout of device and pin power domains,
and moves pin retention logic out of drivers into pinctrl and
gpio, which are the components which manage pins (pads).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 09:03:37 -04:00
Tim Lin
0c627e94c8 drivers/pinctrl: ite: Don't clear FUNC3 setting unless alt_func is FUNC3
Previously, FUNC_3 related setting were cleared unconditionally,
regardless of the selected alternate function. This could
unintentionally disable FUNC_3 settings when configuring other
alternate functions.

This change ensures that FUNC_3 gcr/ext bits are only cleared
when alt_func is IT8XXX2_ALT_FUNC_3.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-30 15:19:49 -05:00
Steven Chang
d9310b6648 drivers: pinctrl: pinctrl driver
Add pinctrl driver for ENE KB106X

Signed-off-by: Steven Chang <steven@ene.com.tw>
2025-06-27 10:57:20 +02:00
Bjarki Arge Andreasen
652635fab9 drivers: pinctrl: nrf: patch pin retain to follow lp mode
Pins can be configured to retain their config even when the power
domain they belong to is suspended. Update pinctrl_nrf to enable
retain only if the pin has been configured and is not in use
(pincnf is low-power/sleep), disable retain otherwise.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-26 14:07:43 +02:00
b1cd947771 drivers: adc: add a driver for the CH32V003 ADC
The CH32V003 has a 8 channel, 10 bit onboard ADC. Add an immediate
mode driver and the appropriate pinctrl bindings. Note that the
CH32V003 GPIO pins have both a floating input and an analogue input
mode, and the pinctrl is needed to put the pin in analogue mode.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:42:20 +02:00
Phi Tran
3fa9495172 drivers: gpio: add gpio interrupt support for RX130
- Add support for gpio interrupt on RX130.
- Add support for gpio-keys input subsys on RSK_RX130_512KB boards.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-06-24 14:18:41 +02:00
Jonny Gellhaar
99957e1fb3 drivers: pinctrl: silabs: Fix multiple analogue bus allocation on same port
Fix ABUS allocation if both EVEN and ODD busses are used for the
same port. The initialisation loop would incorrectly overwrite
entire GPIO_nBUSALLOC when iterating the pinctrl array, must do
a read/mask/update/write sequence.

Signed-off-by: Jonny Gellhaar <jonny.gellhaar@prevas.se>
2025-06-23 16:31:40 -05:00
Benjamin Cabé
b4e4c8ed48 drivers: pinctrl: wch: remove useless operations
Remove redundant register updates in pinctrl_configure_pins, and replace
the improper (and inefficient) use of bitwise OR assignment (|=) with
direct assignments when writing to the write-only BSHR registers

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-21 18:34:02 +02:00
Mathieu Choplain
fcd30046cb drivers: pinctrl: stm32: add support for STM32N6 pinctrl
Modify the STM32 pinctrl driver and SoC-specific pinctrl macros
to introduce support of the st,stm32n6-pinctrl variant.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-06-20 13:21:55 -04:00
Mahesh Mahadevan
bfd5fab28a drivers: pinctrl: Do not confgure sleep pins in NXP MCI IOMUX driver
The sleep-output property is no longer used. This results in the sleep
bit to be always cleared. Delete this code so we can retain any sleep
mode configuration done.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-06-18 17:50:48 -04:00
Amneesh Singh
9814590eb3 drivers: pinctrl: make ti_k3 multi-instance
Some devices have multiple pinctrl regions; for instance, main pinctrl and
mcu pinctrl. Currently there can only be a single pinctrl instance picked
form a DT label. This patch makes the pinctrl driver initialise one
instance for each node with correct compatible string.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-06-16 13:59:09 -04:00
Benjamin Cabé
e10904eb3c drivers: pinctrl: eos_s3: fix logical OR in pinctrl_eos_s3_configure_pin
Fix incorrect use of bitwise OR operator when checking pull-up and
pull-down resistor configuration.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-13 15:37:30 -07:00
Sai Santhosh Malae
9c436baf85 drivers: adc: siwx91x: Analog pin initialization
Modified pinctrl driver to configure analog pins for
ULP and HP modes.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-06-10 12:07:33 +02:00
Sudan Landge
5a3c4941a2 pinctrl: add support for mps4
Add MPS4 pinctrl support by referring to
`mps4/common/partition/platform_base_address.h`
from TF-M's main branch.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-06-09 14:35:12 -07:00
Adam Kondraciuk
f691d8e020 drivers: pinctrl: nrf: Add support for TDM peripheral
Add support for configuring pins of the nRF TDM peripheral.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-06-02 13:29:10 +02:00
Tony Han
64485c6b24 drivers: pinctrl: sam: add pinctrl for sama7g5
Support pull up/down, open drain for sam7g5's PIO.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-05-28 08:14:08 +02:00
5c2e2b7edc drivers: wch: fix the ch32vfun.h path after the recent HAL update
https://github.com/zephyrproject-rtos/zephyr/pull/87125 renamed the
`ch32vfun.h` header but missed some of the drivers. Fix.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-28 05:54:28 +02:00
Miguel Gazquez
2b91c467f2 modules: Update hal_wch
Update hal_wch.

As the hal upstream changed name, there is now a name conflict.
Rename ch32fun.h to hal_ch32fun.h to fix this conflict.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-05-24 18:03:53 +02:00
Saravanan Sekar
258cc7e9cf drivers: pinctrl: mspm0: Add a pinctrl driver for TI MSPM0
Added a pinctrl driver support for MSPM0 Family.

Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
Signed-off-by: Jackson Farley <j-farley@ti.com>
2025-05-21 08:04:32 +02:00
Anas Nashif
2aacbcaab5 style: add missing curly braces in if/while/for statements.
Add missing curly braces in if/while/for statements.

This is a style guideline we have that was not enforced in CI. All
issues fixed here were detected by sonarqube SCA.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-05-17 14:10:33 +02:00
Alvis Sun
d0e488e071 drivers: pinctrl: npcx: add pinctrl driver support for npck3
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-05-12 13:30:46 +02:00
Jianxiong Gu
31d65aac5d drivers: pinctrl: wch_20x_30x_afio: fix afio remap
- Enable AFIO clock prior to remap configuration
- Consolidate remap logic in a single conditional block
- Correct USART1 remap detection by checking pcfr_id
- Apply changes to pinctrl_wch_afio.c

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-09 08:22:40 +02:00
f4b1544bec drivers: pinctrl: add a driver for the CH32V00x series
The CH32V006 and others in the CH32V00x series are an evolution of the
CH32V003 and use different remap offsets for the various peripherals.

In the same way as the CH32V20x, fork the CH32V003 driver and add
CH32V00x support.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-09 01:40:22 +02:00