Skip to content

drivers: serial: pl011: Add fifo enable configuration #79474

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

Merged
merged 1 commit into from
Mar 7, 2025

Conversation

soburi
Copy link
Member

@soburi soburi commented Oct 6, 2024

Add a setting to the devicetree for enabling or disabling
the PL011 FIFO.

fix #74914

@soburi soburi added DNM This PR should not be merged (Do Not Merge) platform: Raspberry Pi Pico Raspberry Pi Pico (RPi Pico) labels Oct 6, 2024
@zephyrbot
Copy link
Collaborator

zephyrbot commented Oct 6, 2024

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@@ -94,6 +94,7 @@
status = "okay";
pinctrl-0 = <&uart0_default>;
pinctrl-names = "default";
fifo-enable;
Copy link
Contributor

Choose a reason for hiding this comment

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

Does it make sense to have fifo-enable; defined in every board?

Perhaps it would be better to define it once in the SoC DeviceTree and use /delete-property/ fifo-enable; where it should be disabled. Or have fifo-disable; option instead.

Copy link
Member Author

Choose a reason for hiding this comment

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

Generally, under the dts folder prefer "vanilla settings".
There are other devices with fifo-enable settings, but most are set under boards.

Copy link
Collaborator

Choose a reason for hiding this comment

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

As far as I can see fifo-enable is only set in a few overlays for stm devices.
it81xx2 sets is on some peripheral instances but as far as I understand this is to explicitly allocate which i2c instance (out of 4) gets to use the fifo channels (out of 2).

This features does not seem to have significant drawbacks so is there any reason for not enabling it by default and let boards/projects set fifo-disable if they explicitly don't want it?

Copy link
Member Author

Choose a reason for hiding this comment

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

From that perspective, I am simply following the precedent set by the STM32.
There is no problem with changing it to fifo-disable.

Copy link
Member Author

Choose a reason for hiding this comment

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

I have made the change in the direction you suggested.
In this case, the default behavior does not change, so there is no need to change the settings.

Copy link
Member Author

Choose a reason for hiding this comment

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

@xudongzheng @ithinuel I changed it to fifo-disable. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think fifo-disable makes more sense especially since it wouldn't change the existing behavior on out-of-tree boards.

Copy link

github-actions bot commented Dec 9, 2024

This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time.

@github-actions github-actions bot added the Stale label Dec 9, 2024
@github-actions github-actions bot closed this Dec 24, 2024
@soburi soburi reopened this Dec 24, 2024
@zephyrbot zephyrbot removed manifest manifest-hal_rpi_pico DNM This PR should not be merged (Do Not Merge) labels Dec 24, 2024
@soburi soburi force-pushed the pl011_enable_fifo branch 3 times, most recently from 0457bb4 to dadbc92 Compare December 24, 2024 17:09
@soburi soburi removed the Stale label Dec 24, 2024
Copy link
Contributor

@xudongzheng xudongzheng left a comment

Choose a reason for hiding this comment

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

commit message says "configuraition" rather than "configuration"

@soburi soburi force-pushed the pl011_enable_fifo branch 3 times, most recently from 52844ff to 09eae3c Compare December 24, 2024 19:33
@soburi soburi marked this pull request as ready for review December 24, 2024 22:16
@zephyrbot zephyrbot added platform: ARM Arm Limited area: UART Universal Asynchronous Receiver-Transmitter platform: Ambiq Ambiq area: ARM64 ARM (64-bit) Architecture labels Dec 24, 2024
AlessandroLuo
AlessandroLuo previously approved these changes Dec 25, 2024
@AlessandroLuo AlessandroLuo changed the title drivers: serial: pl011: Add fifo enable configuraition drivers: serial: pl011: Add fifo enable configuration Dec 25, 2024
@soburi
Copy link
Member Author

soburi commented Jan 8, 2025

rebased.

@soburi
Copy link
Member Author

soburi commented Jan 27, 2025

@carlocaione
Could you take a look if you have time?

Add a setting to the devicetree for disabling the PL011 FIFO.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
@soburi soburi force-pushed the pl011_enable_fifo branch from c4e813c to 02929c3 Compare January 29, 2025 22:21
@soburi
Copy link
Member Author

soburi commented Feb 14, 2025

@carlocaione @ithinuel @RichardSWheatley @AlessandroLuo

Could you take a look if you have a bit of a while?

@soburi soburi self-assigned this Feb 17, 2025
@kartben kartben added this to the v4.2.0 milestone Feb 17, 2025
@carlescufi carlescufi merged commit e562605 into zephyrproject-rtos:main Mar 7, 2025
24 checks passed
@soburi soburi deleted the pl011_enable_fifo branch March 7, 2025 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ARM64 ARM (64-bit) Architecture area: UART Universal Asynchronous Receiver-Transmitter platform: Ambiq Ambiq platform: ARM Arm Limited platform: Raspberry Pi Pico Raspberry Pi Pico (RPi Pico)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

RP2040 Bluetooth HCI Issues
9 participants