zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.95k stars 6.66k forks source link

Remove CONFIG_PINCTRL from all defconfig files #78619

Closed nordicjm closed 12 minutes ago

nordicjm commented 2 months ago

Describe the bug This Kconfig has wrongly been added to defconfig files, it is not the right place for it, it has never been the right place for it, drivers that need it should select the symbol in their Kconfig entries. The following boards do this wrongly and need to be fixed:

https://github.com/zephyrproject-rtos/zephyr/pull/80664

Please submit fixes then tick once they have been merged.

billwatersiii commented 2 months ago

These boards are not owned by Infineon (ifyall):

boards/madmachine/mm_feather/mm_feather_defconfig boards/madmachine/mm_swiftio/mm_swiftio_defconfig

nordicjm commented 2 months ago

These boards are not owned by Infineon (ifyall):

boards/madmachine/mm_feather/mm_feather_defconfig boards/madmachine/mm_swiftio/mm_swiftio_defconfig

There is actually a gap there but for some reason github is added a gap between the infineon ones too, but if you edit the post it will show no line gaps for the infineon boards but one after before the madmachine ones. Have added horizontal rulers and now they're aligned... github...

nordicjm commented 1 month ago

Moved to main post

nordicjm commented 3 weeks ago

@MulinChao @ChiHuaL @cyliangtw @jhedberg @ruuddw @evgeniy-paltsev @nandojve @ifyall @jvasanth1 @VenkatKotakonda @albertofloyd @soburi @KhiemNguyenT @aaillet @lorc @andy-liu-telink @vaishnavachath you all have boards/socs here with this issue, can you submit fixes for them to select PINCTRL properly?

soburi commented 3 weeks ago

@MulinChao @ChiHuaL @cyliangtw @jhedberg @ruuddw @evgeniy-paltsev @nandojve @ifyall @jvasanth1 @VenkatKotakonda @albertofloyd @soburi @KhiemNguyenT @aaillet @lorc @andy-liu-telink @vaishnavachath you all have boards/socs here with this issue, can you submit fixes for them to select PINCTRL properly?

My part,

@soburi https://github.com/zephyrproject-rtos/zephyr/pull/76794

boards/arduino/uno_r4/arduino_uno_r4_minima_defconfig boards/arduino/uno_r4/arduino_uno_r4_wifi_defconfig

This is now waiting to merge.

@soburi @KhiemNguyenT

soc/renesas/ra/ra2a1/Kconfig.defconfig ...

@KhiemNguyenT

First, Could the Renesas team please handle it?

ifyall commented 3 weeks ago

@soburi, I have marked the Infineon boards as done. They were handled in https://github.com/zephyrproject-rtos/zephyr/pull/78734

soburi commented 3 weeks ago

@ifyall

@soburi, I have marked the Infineon boards as done. They were handled in #78734

Thank you for the update.

@nordicjm Please confirm it.

nordicjm commented 3 weeks ago

@ifyall seems soc/infineon/cat3/Kconfig.defconfig has not been done

rruuaanng commented 1 week ago

I've commit a PR about openisa. Maybe we can add me to task list ;)

nordicjm commented 1 week ago

Pinging on boards/socs that have had no response or fix posted:

@jvasanth1

boards/microchip/mec1501modular_assy6885/mec1501modular_assy6885_defconfig boards/microchip/mec1501modular_assy6885/mec1501modular_assy6885_defconfig boards/microchip/mec15xxevb_assy6853/mec15xxevb_assy6853_defconfig boards/microchip/mec15xxevb_assy6853/mec15xxevb_assy6853_defconfig boards/microchip/mec172xevb_assy6906/mec172xevb_assy6906_defconfig boards/microchip/mec172xmodular_assy6930/mec172xmodular_assy6930_defconfig

@jhedberg

boards/silabs/dev_kits/sltb010a/sltb010a_defconfig boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig boards/silabs/dev_kits/xg27_dk2602a/xg27_dk2602a_defconfig boards/silabs/radio_boards/slwrb4180a/slwrb4180a_defconfig boards/silabs/radio_boards/xg24_rb4187c/xg24_rb4187c_defconfig boards/sparkfun/thing_plus_matter_mgm240p/sparkfun_thing_plus_matter_mgm240p_defconfig

@ruuddw @evgeniy-paltsev

boards/snps/emsdp/emsdp_emsdp_em11d_defconfig

@vaishnavachath

boards/ti/cc1352p1_launchxl/cc1352p1_launchxl_defconfig boards/ti/cc1352r1_launchxl/cc1352r1_launchxl_defconfig boards/ti/cc1352r_sensortag/cc1352r_sensortag_defconfig boards/ti/cc26x2r1_launchxl/cc26x2r1_launchxl_defconfig boards/ti/sk_am62/sk_am62_am6234_m4_defconfig soc/ti/k3/am6x/Kconfig.defconfig

@ifyall

soc/infineon/cat3/Kconfig.defconfig

@jvasanth1 @VenkatKotakonda @albertofloyd

soc/microchip/mec/mec174x/Kconfig.defconfig.mec1743qlj soc/microchip/mec/mec174x/Kconfig.defconfig.mec1743qsz soc/microchip/mec/mec175x/Kconfig.defconfig.mec1753qlj soc/microchip/mec/mec175x/Kconfig.defconfig.mec1753qsz soc/microchip/mec/mech172x/Kconfig.defconfig.mech1723nlj soc/microchip/mec/mech172x/Kconfig.defconfig.mech1723nsz

@aaillet @lorc

soc/renesas/rcar/rcar_gen3/Kconfig.defconfig soc/renesas/rcar/rcar_gen4/Kconfig.defconfig.r8a779f0

@andy-liu-telink

soc/telink/tlsr/tlsr951x/Kconfig.defconfig

The target for this is zephyr 4.1, please submit fixes in the short term future for this.

fabiobaltieri commented 1 week ago

Arch WG:

tagunil commented 4 days ago

boards/snps/emsdp/emsdp_emsdp_em11d_defconfig

Hi @nordicjm, What should we do if our SoCs use generic drivers like spi_dw or uart_ns16550, which might require PINCTRL depending on specific hardware configuration of these IPs? We'd really like to avoid making PINCTRL a hard requirement for the drivers, keeping the dependency somewhere between the SoC level and the board level.

gmarull commented 4 days ago

boards/snps/emsdp/emsdp_emsdp_em11d_defconfig

Hi @nordicjm, What should we do if our SoCs use generic drivers like spi_dw or uart_ns16550, which might require PINCTRL depending on specific hardware configuration of these IPs? We'd really like to avoid making PINCTRL a hard requirement for the drivers, keeping the dependency somewhere between the SoC level and the board level.

select PINCTRL if ...

tagunil commented 4 days ago

boards/snps/emsdp/emsdp_emsdp_em11d_defconfig

Hi @nordicjm, What should we do if our SoCs use generic drivers like spi_dw or uart_ns16550, which might require PINCTRL depending on specific hardware configuration of these IPs? We'd really like to avoid making PINCTRL a hard requirement for the drivers, keeping the dependency somewhere between the SoC level and the board level.

select PINCTRL if ...

Do you mean listing the SoCs in the Kconfig of the driver? Wouldn't such a list grow uncontrollably for drivers used by many different SoCs from different vendors, like ns16550?

gmarull commented 4 days ago

boards/snps/emsdp/emsdp_emsdp_em11d_defconfig

Hi @nordicjm, What should we do if our SoCs use generic drivers like spi_dw or uart_ns16550, which might require PINCTRL depending on specific hardware configuration of these IPs? We'd really like to avoid making PINCTRL a hard requirement for the drivers, keeping the dependency somewhere between the SoC level and the board level.

select PINCTRL if ...

Do you mean listing the SoCs in the Kconfig of the driver? Wouldn't such a list grow uncontrollably for drivers used by many different SoCs from different vendors, like ns16550?

you can always do select PINCTRL if !... I guess they'll be the exception and not the rule. After all, these generic APIs (like pinctrl) exist to facilitate generic IP drivers.

jhedberg commented 4 days ago

Considering that we have a bunch of Kconfig macros for DT, I wonder if it'd be possible to use those to detect if a DT node with the ns16550 compat has a pinctrl-N property, and if so select PINCTRL?

jhedberg commented 4 days ago

Considering that we have a bunch of Kconfig macros for DT, I wonder if it'd be possible to use those to detect if a DT node with the ns16550 compat has a pinctrl-N property, and if so select PINCTRL?

What I mean is, something like this:

select PINCTRL if $(dt_compat_any_has_prop,$(DT_COMPAT_NS16550),pinctrl-0)