-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Initial support for Ambiq Apollo4 Plus #59470
Initial support for Ambiq Apollo4 Plus #59470
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @msobkowski, and thank you very much for your first pull request to the Zephyr project!
A project maintainer just triggered our CI pipeline to run it against your PR and ensure it's compliant and doesn't cause any issues. You might want to take this opportunity to review the project's Contributor Expectations and make any updates to your pull request if necessary. 😊
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
6fb5f55
to
f3187ae
Compare
33b4996
to
f9012b4
Compare
5e970eb
to
8d0704d
Compare
8d0704d
to
4aace12
Compare
bb839c3
to
9208c12
Compare
Hi @gmarull @carlescufi, can you take another look at this PR? Thanks. |
Add the Ambiq HAL module to the West manifest. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit introduces the Ambiq HAL module required for the Ambiq Apollo4 Plus SoC support. Signed-off-by: Maciej Sobkowski <[email protected]>
Added Ambiq Micro vendor prefix to enable dts bindings for peripherals in Ambiq SoCs. Signed-off-by: Maciej Sobkowski <[email protected]>
Add all required parts (new SoC family/series, device tree) for the Ambiq Apollo4 Plus SoC. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit addst pinctrl support for Apollo4 SoCs. Co-authored-by: Mateusz Sierszulski <[email protected]> Signed-off-by: Maciej Sobkowski <[email protected]>
This commit instantiates pinctrl node in the dts file for Apollo4 Plus SoC. Signed-off-by: Maciej Sobkowski <[email protected]>
The registers definitions will be needed when adding vendor-specific quirks to this driver, so this commits moves them to a dedicated header file. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit adds Ambiq power control dedicated compatible. Signed-off-by: Mateusz Sierszulski <[email protected]>
This commit adds Ambiq power configuration dedicated compatible. Signed-off-by: Mateusz Sierszulski <[email protected]>
UART controllers present on Ambiq SoCs implement a PL011 compatible interface, with some minor differences that require certain quirks. To support them a dedicated compatible is needed. Signed-off-by: Maciej Sobkowski <[email protected]>
Add definitions for CLKEN/CLKSEL registers, which are used to control peripheral clock on the variant of the PL011 UART present in Ambiq SoCs. Signed-off-by: Maciej Sobkowski <[email protected]>
UART controller present in Ambiq SoCs is mostly compatible with PL011, but requires some quirks that are implemented in this commit: - the peripheral needs to be powered on first, via the PWRCTRL core, - peripheral clock needs to be enabled and configured via the CLKEN/CLKSEL. registers. The quirks mechanism was inspired by support for STM32F4 SoC in the usb_dc_dw driver (fce0b85). Co-authored-by: Mateusz Sierszulski <[email protected]> Signed-off-by: Maciej Sobkowski <[email protected]> Signed-off-by: Mateusz Sierszulski <[email protected]>
PINCTRL needs to be enabled for the driver to work on the Apollo4 family SoCs. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit adds PL011 UART instances to the apollo4p dts. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit addst support for the system timer peripheral which can be found in Apollo4 SoCs. Signed-off-by: Maciej Sobkowski <[email protected]>
Disable SysTick when STIMER is in use and configure SYS_CLOCK_HW_CYCLES_PER_SEC setting for it. Signed-off-by: Maciej Sobkowski <[email protected]>
This commit adds support for the Ambiq Apollo4P EVB board (AMAP4PEVB). Signed-off-by: Maciej Sobkowski <[email protected]>
Add people responsible for maintaining Zephyr on Ambiq SoCs. Signed-off-by: Maciej Sobkowski <[email protected]>
9208c12
to
b5523a4
Compare
It looks like the Normally, when the HAL PR is merged, i.e. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @msobkowski!
Congratulations on getting your very first Zephyr pull request merged 🎉🥳. This is a fantastic achievement, and we're thrilled to have you as part of our community!
To celebrate this milestone and showcase your contribution, we'd love to award you the Zephyr Technical Contributor badge. If you're interested, please claim your badge by filling out this form: Claim Your Zephyr Badge.
Thank you for your valuable input, and we look forward to seeing more of your contributions in the future! 🪁
This PR provides initial support for the Ambiq Apollo4 Plus SoC and the Apollo4P EVB board.
The PR consists of:
Initial support was verified on hardware by running the following samples:
This PR should be merged only after zephyrproject-rtos/hal_ambiq#1 is merged and hal_ambiq revision in west.yml is bumped to the newest one.