Closed FRASTM closed 3 weeks ago
I think this is ST gpio dedicated issue, it requires the gpio on same bank, right? in this case, there is an customize case with allows you to custom for your boards, like below:
drivers.gpio.2pin_arduino:
min_flash: 34
depends_on:
- gpio
- arduino_gpio
filter: dt_compat_enabled("test-gpio-basic-api") and dt_compat_enabled("arduino-header-r3")
extra_args: "DTC_OVERLAY_FILE=arduino.overlay"
integration_platforms:
- frdm_k64f
platform_exclude:
# below boards are mikro bus not arduino
- da14695_dk_usb
- mimxrt595_evk/mimxrt595s/cm33
drivers.gpio.2pin_arduino_customized:
min_flash: 34
depends_on:
- gpio
- arduino_gpio
filter: dt_compat_enabled("test-gpio-basic-api") and dt_compat_enabled("arduino-header-r3")
platform_allow:
- mimxrt595_evk/mimxrt595s/cm33
@FRASTM, can you give me a board list so that I can add your platforms to the customer list?
I think this is ST gpio dedicated issue, it requires the gpio on same bank, right?
No sure, the test main.c is implemented that way:
if (in_dev != out_dev) {
printk("FATAL: output controller %s != input controller %s\n",
out_dev->name, in_dev->name);
k_panic();
No matter what the SOC family
on different connector excep> @FRASTM, can you give me a board list so that I can add your platforms to the customer list?
Indeed, all the boards/st/ have arduino pin8 & 9 except a few ones (nucleo_wbaXX, nucleo_wl55, stm32l562_dk)
No matter what the SOC family
NXP platform does not have such limitation, Can I add a config to disable this check? @FRASTM
yes but testcase will probably fail later.
START - test_gpio_port
Validate device gpio@48000000
Check gpio@48000000 output 10 connected to input 3
FATAL output pin not wired to input pin? (out low => in high)
connecting output 10 of gpio A to input 3 GPIOB coming from the arduino. overlay : it means "arduino connector pin 8 to pin 9" = D2 to D3
connecting output 10 of gpio A to input 3 GPIOB coming from the arduino. overlay : it means "arduino connector pin 8 to pin 9" = D2 to D3
@FRASTM , I will add a ne instance for ST platforms with CONFIG_ONE_PORT=y
@FRASTM can you try the fixes? I do not have st boards.
Describe the bug test execution drivers.gpio.2pin_arduino fails in kernel panic on some stm32 boards because the overlay selects arduino connector pins on different GPIO controllers
Please also mention any information which could help others to understand the problem you're facing:
On some stm32 boards, like the nucleo_g474re, the arduino pins 8 & 9 are NOT on the same gpio bank
pin 8 <8 0 &gpioa 10 0>, / D2/ pîn 9 <9 0 &gpiob 3 0>, / D3 /
So the testcase runs into k_panic(); in the board_setup function:
To Reproduce
Expected behavior Test passed or excluded
Impact CI failure
Logs and console output
Environment (please complete the following information):