Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boards: nrf: port to pinctrl #43926

Merged
merged 97 commits into from
Mar 21, 2022

Conversation

gmarull
Copy link
Member

@gmarull gmarull commented Mar 17, 2022

Port all nRF nased boards to pinctrl. Overlay files have also been updated.

Note: the process has been assisted by the pinctrl_nrf_migrate.py script:

python scripts/utils/pinctrl_nrf_migrate.py -i boards/arm/${BOARD}/${BOARD}.dts --no-backup --header $'/*\n * Copyright (c) 2022 Nordic Semiconductor\n * SPDX-License-Identifier: Apache-2.0\n */\n\n'

The script handles most cases, but some required manual adjustments.

_defconfig files have been modified with this script:

from pathlib import Path

for fpath in Path(".").glob("boards/arm/**/*_defconfig"):
    lines = open(fpath).readlines()

    is_nrf = False
    for line in lines:
        if "CONFIG_SOC_SERIES_NRF" in line:
            is_nrf = True
            break

    if not is_nrf:
        continue

    lines += ["\n", "CONFIG_PINCTRL=y\n"]

    with open(fpath, "w") as f:
        f.writelines(lines)

I created a commit per board/test/sample, so that it's easier to spot issues or to later check what was done for a particular board.

drivers/pinctrl/pinctrl_nrf.c Outdated Show resolved Hide resolved
(GPIO_PIN_CNF_PULL_Pullup << GPIO_PIN_CNF_PULL_Pos) |
(GPIO_PIN_CNF_DIR_Input << GPIO_PIN_CNF_DIR_Pos);


return 0;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jfischer-no please check this + -pinctrl.dtsi file (details in commit message)

boards/arm/bl653_dvk/doc/bl653_dvk.rst Outdated Show resolved Hide resolved
boards/arm/nrf21540dk_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/nrf52833dk_nrf52833/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/nrf52840dk_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/particle_xenon/particle_xenon.dts Outdated Show resolved Hide resolved
boards/arm/ubx_bmd340eval_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/ubx_bmd345eval_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/ubx_bmd380eval_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/ubx_evkninab3_nrf52840/doc/index.rst Outdated Show resolved Hide resolved
boards/arm/ubx_evkninab4_nrf52833/doc/index.rst Outdated Show resolved Hide resolved
@gmarull gmarull marked this pull request as ready for review March 18, 2022 16:44
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
@gmarull gmarull requested review from anangl and removed request for galak and mbolivar-nordic March 21, 2022 09:32
nRF boards now require usage of pinctrl, migrate the sample and
overlays.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards now require usage of pinctrl, migrate them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The sample relied on `-pin` properties from QSPI node, move to pinctrl.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The nrf52840dk_nrf52840 board has been ported to pinctrl, so there's no
need to keep duplicated definitions in the sample anymore.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
nRF boards are expected to use pinctrl now, so port this sample as well.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Copy link
Member

@erwango erwango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for shields changes

@carlescufi carlescufi merged commit 452133c into zephyrproject-rtos:main Mar 21, 2022
@gmarull gmarull deleted the nrf-port-boards-pinctrl branch March 21, 2022 14:09
@gmarull gmarull mentioned this pull request Mar 21, 2022
29 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants