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

Add initial support for the Raspberry Pi Pico 2 #77368

Closed
wants to merge 21 commits into from

Conversation

ajf58
Copy link
Contributor

@ajf58 ajf58 commented Aug 21, 2024

https://builds.zephyrproject.io/zephyr/pr/77368/docs/boards/index.html#name=pico+2

This is a PR to add support for the Raspberry Pi Pico 2 board, and the RP2350 SoC. See also the discussion at #77329

This should not be merged currently, as it includes changes that will break the clock control driver for the RP2040.

Dependencies

  1. west: hal_rpi_pico: Update Pico-SDK to 2.0.0 #76986
  2. Updating hal_rpi_pico incorporate the change for raspberrypi/pico-sdk@0e5ef0f

cc: @yonsch @soburi

@zephyrbot
Copy link
Collaborator

zephyrbot commented Aug 21, 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.

@zephyrbot zephyrbot added manifest manifest-hal_rpi_pico DNM This PR should not be merged (Do Not Merge) labels Aug 21, 2024
@ajf58 ajf58 force-pushed the add-rpi-pico-2-support branch from 82e6a6f to 161828a Compare August 22, 2024 07:08
@soburi
Copy link
Member

soburi commented Aug 22, 2024

@ajf58
First, I've listed some points that caught my attention at a glance.
I haven't been able to check it thoroughly yet, so I'll look at it a bit more.

soc/raspberrypi/rp2xxx/Kconfig Outdated Show resolved Hide resolved
soc/raspberrypi/soc.yml Outdated Show resolved Hide resolved
@ajf58 ajf58 force-pushed the add-rpi-pico-2-support branch from 161828a to b3ae76c Compare August 22, 2024 20:03
@soburi
Copy link
Member

soburi commented Aug 22, 2024

@ajf58 ajf58 force-pushed the add-rpi-pico-2-support branch from b3ae76c to 83ab622 Compare August 24, 2024 09:48
@ajf58 ajf58 requested a review from nordicjm August 25, 2024 20:28
modules/hal_rpi_pico/CMakeLists.txt Outdated Show resolved Hide resolved
dts/arm/rpi_pico/rpi_pico_2_common.dtsi Outdated Show resolved Hide resolved
soc/raspberrypi/CMakeLists.txt Outdated Show resolved Hide resolved
west.yml Outdated Show resolved Hide resolved
nordicjm
nordicjm previously approved these changes Aug 27, 2024
Copy link
Collaborator

@nordicjm nordicjm left a comment

Choose a reason for hiding this comment

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

Updates are OK. Though migration guide entry needed for the SoC symbol change

boards/raspberrypi/rpi_pico_2/rpi_pico_2-pinctrl.dtsi Outdated Show resolved Hide resolved
@ajf58 ajf58 force-pushed the add-rpi-pico-2-support branch 5 times, most recently from b4d5164 to f5d043c Compare August 29, 2024 07:25
@ajf58 ajf58 force-pushed the add-rpi-pico-2-support branch 2 times, most recently from be3d6b9 to 384b0ee Compare August 29, 2024 21:01
@ajf58
Copy link
Contributor Author

ajf58 commented Aug 30, 2024

Updates are OK. Though migration guide entry needed for the SoC symbol change

@nordicjm where should this update go? Is under boards in doc/releases/migration-guide-4.0.rst correct?

@nordicjm
Copy link
Collaborator

nordicjm commented Sep 2, 2024

Updates are OK. Though migration guide entry needed for the SoC symbol change

@nordicjm where should this update go? Is under boards in doc/releases/migration-guide-4.0.rst correct?

Yes

@kartben
Copy link
Collaborator

kartben commented Dec 19, 2024

Who's in to make a drama novel from this PR?

@gmarull do you seriously think this kind of comment is helpful and is what we need at this point?

@gmarull
Copy link
Member

gmarull commented Dec 19, 2024

Who's in to make a drama novel from this PR?

@gmarull do you seriously think this kind of comment is helpful and is what we need at this point?

I doubt it can't get worse TBH. Nevertheless, why doesn't someone just open a PR with a proper rebase, gets approvals, gets merged, and we all move on?

@kartben
Copy link
Collaborator

kartben commented Dec 19, 2024

Nevertheless, why doesn't someone just open a PR with a proper rebase, gets approvals, gets merged, and we all move on?

I'm working on this

@soburi
Copy link
Member

soburi commented Dec 19, 2024

Who's in to make a drama novel from this PR?

The dialogue is still ongoing, so please wait.
Whatever the outcome, it won't take long.

Honestly, I understand the desire to say that,
but I think it's a necessary cost for a ridiculously dull yet wonderfully democratic consensus-building system we use.

I doubt it can't get worse TBH. Nevertheless, why doesn't someone just open a PR with a proper rebase, gets approvals, gets merged, and we all move on?

I'm unsure if I caught the exact nuance since it wasn't my native language, but I remember that @carlescufi was cautious about forced updates in a previous Arch-Review. I respect this, and although it's a hassle, I think it's the best way to build trust in the project.

@fabiobaltieri fabiobaltieri removed the dev-review To be discussed in dev-review meeting label Dec 20, 2024
@kartben kartben force-pushed the add-rpi-pico-2-support branch from 8c6d543 to e176965 Compare December 22, 2024 13:37
@kartben kartben requested review from soburi and nordicjm December 22, 2024 13:39
soburi
soburi previously approved these changes Dec 22, 2024
@ajf58
Copy link
Contributor Author

ajf58 commented Dec 22, 2024

By having me answer this directly, I am acknowledging the implicit assumption that even if something is written in the documentation, it doesn't have to be followed.
So, I don't need to answer your question.

I'm sorry, I don't understand this reply.
No, you don't need to answer any question a stranger like me asks you on the internet. That said, you are a maintainer and reviewer and if you (or any other reviewer) can't actually give a explanation to articulate why this is required, it doesn't educate/inform/encourage, it just comes across a bit like you don't know why it's needed, and are being deflective/evasive.

Likewise you didn't answer the second question regarding the RP2040. I find this communication style a challenge: if I ask technical questions and the reviewer/maintainers reply "I'm not going to answer" then it feels kinda weird to me.

For anyone following along:

I was a little surprised that @kartben was able to force-push to my branch in my fork[1]. I'm not against @kartben making changes to things, but also need to understand how this will impact my own development work without me having to create my own branch called add-rpi-pico-2-support-the-original or something daft. It's late at night in my timezone, so if anyone has technical contributions to this problem, please post them.

[1] This is a feature of PRs that I didn't know overrode the permissions on the source repo (fork).

@soburi
Copy link
Member

soburi commented Dec 22, 2024

I am of the opinion that @kartben's actions are within the scope of the terms and conditions agreed to when committing the code and that there is also no moral or ethical problem with them.

@soburi
Copy link
Member

soburi commented Dec 22, 2024

I'm sorry, I don't understand this reply. No, you don't need to answer any question a stranger like me asks you on the internet. That said, you are a maintainer and reviewer and if you (or any other reviewer) can't actually give a explanation to articulate why this is required, it doesn't educate/inform/encourage, it just comes across a bit like you don't know why it's needed, and are being deflective/evasive.

Likewise you didn't answer the second question regarding the RP2040. I find this communication style a challenge: if I ask technical questions and the reviewer/maintainers reply "I'm not going to answer" then it feels kinda weird to me.

All of the questions have been answered.
If my rebuttals were off-point, people here would be making fun of me.

Again, Just working isn't enough. (Absence of technical problems is a necessary but not sufficient condition)
Furthermore, exceptions to the rules are permitted "if there is agreement."
But, there is no reason to permit these exceptions on this issue.

@soburi
Copy link
Member

soburi commented Dec 23, 2024

@ajf58
If you want to have the discussion you expect, I would recommend creating an issue about the appropriateness of the description in the board porting guide.
I don't think you'll get the answer you are looking for, though.
And no matter what theory you use, it will be impossible to elicit an answer that says you don't have to follow the documentation, I think.

Copy link
Member

@soburi soburi left a comment

Choose a reason for hiding this comment

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

A resolution has been made in Arch-Review to rebase the commits.

@Red-M
Copy link

Red-M commented Dec 23, 2024

@soburi

All of the questions have been answered. If my rebuttals were off-point, people here would be making fun of me.

Please stop lying. This entire conversation from yourself and pretty much every other maintainer has been disgusting to see.

@soburi
Copy link
Member

soburi commented Dec 23, 2024

@soburi

All of the questions have been answered. If my rebuttals were off-point, people here would be making fun of me.

Please stop lying. This entire conversation from yourself and pretty much every other maintainer has been disgusting to see.

That statement may have been offensive. I would like to take it back.
However, I did not intend to say anything particularly inappropriate regarding the veracity of the content, and I am simply in a position where I can be criticized. So if there is criticism, I will respond.

@carlescufi
Copy link
Member

@soburi

All of the questions have been answered. If my rebuttals were off-point, people here would be making fun of me.

Please stop lying. This entire conversation from yourself and pretty much every other maintainer has been disgusting to see.

Please refrain from accusing others of lying in the context of this conversation. As many other comments in this PR, this is not productive to try and get this solved. The maintainers are not perfect, and this PR has clearly uncovered shortcomings in many of our processes, but I have no doubt that @soburi has done his honest best to get this PR merged.

@kartben
Copy link
Collaborator

kartben commented Dec 23, 2024

@carlescufi , thanks for sharing that interesting voting results. As I've said before, I am not going to do that. Feel free to do with that information as you wish. Perhaps it's time for someone to close this PR.

I've opened #83343 as it seemed like the best way to move forward and not impact @ajf58's branch. Except for squashed commits, the content of the PR is exactly the same as this one.

Thanks, @ajf58, for this awesome contribution, and to everyone else who helped make it finally land.

@kartben
Copy link
Collaborator

kartben commented Dec 23, 2024

Superseded by #83343

@kartben kartben closed this Dec 23, 2024
@soburi
Copy link
Member

soburi commented Dec 23, 2024

Thanks to the main contributor @ajf58, everyone who provided patches helped with the evaluation and spent long hours reviewing this PR and participating in the reviews and discussions. We appreciate it.

Let's us forward to the next step!

marc-hb added a commit to marc-hb/zephyr that referenced this pull request Jan 12, 2025
The documentation had for a long time a section that specifically
recommends to submit "smaller PRs" for review:
https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html#defining-smaller-prs

Yet submitters keep submitting large PRs on a regular basis, sometimes
very large ones. See a couple of very recent examples below.

(Reminder: submitting a giant, draft PR for pure _testing_ purposes and
NOT for review is a perfectly fine)

The "natural" explanation is that submitters optimistically and wrongly
believe that dumping a large amount of code at once onto reviewers will
be dealt with faster than in smaller chunks. This is most likely a
contributing factor but most people should quickly learn from bad
experience. Yet we keep seeing large PRs on a regular basis. So there
must be other factors too.

Based on personal but fairly extensive git support experience, another
top reason is likely git usability and some lack of git
knowledge (neither the first nor the last time git usability would have
a significant impact)

To help with this, add to the existing git guide the simple command that
lets split a large submission in several, smaller PRs. This can only
help demystify and promote smaller PRs while barely growing the size of
the documentation.

While at it, also add a couple missing benefits of smaller PRs.

Recent examples of large PRs:

- In the controversial and giant PR
zephyrproject-rtos#77368 (comment)
the exhausted submitter wrote:

> Every time any one person requests a rebase that changes the PR,
> unless there's consensus, there's no mechanism (manual/project process
> or built into GitHub) to know/prevent a different person from rejecting
> the new changes.

That PR had 21 commits (18 in the final version), 82 files changed and
400 (!) comments. The sheer size massively increased the likelihood of
the problem described.  Re-submitting it in smaller chunks would
obviously have mitigated that problem. Yet that PR was never split and
stayed huge...?

- In this second example, a large PR was submitted with different
authors. A disagreement emerged about squashing across different
authors:
zephyrproject-rtos#78795 (comment)
If this PR had been split in smaller chunks, then the squashing
discussion might have been avoided entirely. Whether squashing is good or
bad in this particular case is irrelevant (and already discussed at
great in length in zephyrproject-rtos#83117). What matters here is: the submitter lost
that chance by submitting a larger PR with different authors.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
@kartben
Copy link
Collaborator

kartben commented Jan 13, 2025

I'll be more direct: one maintainer did break the CoC. This was determined by the CoC committee. The maintainer was asked to apologize to me. They didn't. They were asked to abstain from interacting with this PR. They didn't.

Just for the record, as I'm only noticing this now, the Code of Conduct team never asked anyone to abstain from interacting with this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: Raspberry Pi Pico Raspberry Pi Pico (RPi Pico)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.