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

Nrfx 5848 add gpio edriver #1

Conversation

magp-nordic
Copy link
Collaborator

No description provided.

Update hal_nordic with headers for eGPIO.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
dts/arm/nordic/nrf54l15_cpuapp.dtsi Outdated Show resolved Hide resolved
soc/nordic/nrf54l/Kconfig Outdated Show resolved Hide resolved
drivers/gpio/Kconfig.nrfx Outdated Show resolved Hide resolved
drivers/gpio/gpio_nrfe.c Outdated Show resolved Hide resolved
samples/basic/blinky/prj.conf Outdated Show resolved Hide resolved
Add binding for emulated GPIO.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Add Kconfig option for emulated peripherals drivers support.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Add eGPIO to common Nordic peripherals.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Add support for emulated peripherals on nRF54L15 APP.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Add node for emulated gpio in nRF54L15 APP dts.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Add driver for emulated GPIO.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
Modify blinky sample to use emulated GPIO.

Signed-off-by: Magdalena Pastula <magdalena.pastula@nordicsemi.no>
dts/arm/nordic/nrf54l15_cpuapp.dtsi Show resolved Hide resolved
compatible = "nordic,nrf-egpio";
gpio-controller;
#gpio-cells = < 0x2 >;
ngpios = < 0x10 >;
Copy link
Owner

Choose a reason for hiding this comment

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

A way to detect pin conflicts would be needed in future.

dts/arm/nordic/nrf54l15_cpuapp.dtsi Show resolved Hide resolved

Choose a reason for hiding this comment

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

This file should be included in a eperiph snippet. Building any sample with this snippet should result in using eGPIO. None of the samples should be updated to use eGPIO by default.

@magp-nordic
Copy link
Collaborator Author

Moved to: nrfconnect/sdk-nrf#16393

@magp-nordic magp-nordic closed this Aug 8, 2024
masz-nordic pushed a commit that referenced this pull request Oct 28, 2024
hci_packet_complete(buf, buf_size) should check whether buf_size is
enough.
For instance, hci_packet_complete can receive buf with buf_size 1,
leading to the buffer overflow in cmd->param_len, which is buf[3].
This can happen when rx_thread() receives two frames in 512 bytes
and the first frame size is 511. Then, rx_thread() will call
hci_packet_complete() with 1.

==5==ERROR: AddressSanitizer: global-buffer-overflow on address
0x000000ad81c2 at pc 0x0000005279b3 bp 0x7fffe74f5b70 sp 0x7fffe74f5b68

READ of size 2 at 0x000000ad81c2 thread T6
    #0 0x5279b2  (/root/zephyr.exe+0x5279b2)
    #1 0x4d697d  (/root/zephyr.exe+0x4d697d)
    #2 0x7ffff60e5daa  (/lib/x86_64-linux-gnu/libc.so.6+0x89daa)
(BuildId: 2e01923fea4ad9f7fa50fe24e0f3385a45a6cd1c)

0x000000ad81c2 is located 2 bytes to the right of global variable
'rx_thread.frame' defined in 'zephyr/drivers/bluetooth/hci/userchan.c'
(0xad7fc0) of size 512
SUMMARY: AddressSanitizer: global-buffer-overflow
(/root/zephyr.exe+0x5279b2)
Thread T6 created by T2 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x530192  (/root/zephyr.exe+0x530192)
    #2 0x4dcc22  (/root/zephyr.exe+0x4dcc22)

Thread T2 created by T1 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x530192  (/root/zephyr.exe+0x530192)
    #2 0x4dcc22  (/root/zephyr.exe+0x4dcc22)

Thread T1 created by T0 here:
    #0 0x48c17c  (/root/zephyr.exe+0x48c17c)
    #1 0x52f36c  (/root/zephyr.exe+0x52f36c)
    #2 0x5371dc  (/root/zephyr.exe+0x5371dc)
    #3 0x5312a6  (/root/zephyr.exe+0x5312a6)
    #4 0x52ed7b  (/root/zephyr.exe+0x52ed7b)
    zephyrproject-rtos#5 0x52eddd  (/root/zephyr.exe+0x52eddd)
    zephyrproject-rtos#6 0x7ffff6083c89  (/lib/x86_64-linux-gnu/libc.so.6+0x27c89)
(BuildId: 2e01923fea4ad9f7fa50fe24e0f3385a45a6cd1c)

==5==ABORTING

Signed-off-by: Sungwoo Kim <iam@sung-woo.kim>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants