-
Notifications
You must be signed in to change notification settings - Fork 8.3k
drivers: pinctrl: rename NXP Kinetis pinctrl to NXP PORT, and consolidate headers #81617
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
drivers: pinctrl: rename NXP Kinetis pinctrl to NXP PORT, and consolidate headers #81617
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
|
@hakehuang I believe we should run some basic hardware tests on this PR, covering all Kinetis and MCX targets (as well as S32, if possible). We likely just need to verify hello world builds and runs to make sure that the pin control driver is functioning as expected on these parts. |
b37f03f to
be7caee
Compare
manuargue
left a comment
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.
💯
@danieldegrasse I do not have s32 paltform sin my test range, all BLEP platform test are kicked. all test pass, and tseted platforms are as below. <style> </style>
|
doc/releases/migration-guide-4.1.rst
Outdated
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.
We can have it shorter, without "port":
- nxp,pinctrl
- nxp,pinmux
- CONFIG_PINCTRL_NXP
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.
no, the name of the hardware is "port" , and nxp has many different pinmux controllers. Also, the name "pinmux" and "pinctrl" is technically not supposed to be in the binding because it refers to a software subsystem, but it is what it is right now
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.
Agree here, the shortened version would be nxp,port. Ideally we would use that, but we have this awkward situation where there is a compatible for the pin control node itself as well as for each PORT IP instance, so we have the software pinmux and pinctrl prefixes.
gmarull
left a comment
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.
do all modified socs share the same IP? If not, compatibles must be different, and instead, make pinctrl driver support multiple of them.
its the same |
|
I believe that RT700 also use same IP. Just want to make sure, Is this new definition easily to extend to RT700 SOC? |
rt700 does not use the same IP, the PR for it is here #81086 |
west.yml
Outdated
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.
Please update the SHA
0a053ab
be7caee to
0a053ab
Compare
|
PR has been rebased, and updated to pull SHA from NXP HAL |
0a053ab to
889d5e6
Compare
|
@gmarull I added myself to the assignee so we can help move this PR to merge. You had already approved it but we lost all the approvals when we updated the manifest with the HAL PR merging. We have some HAL side PRs we are trying to sequence. |
The NXP PORT pinmuxing peripheral is reused across the MCX, S32, and Kinetis lines. Rename the compatible from the family-specific nxp,kinetis-pinctrl to a more generic nxp,port-pinctrl to reflect the actual name for the IP block used within reference manuals. Update the NXP HAL revision to include a change to use the new Kconfig name for the PORT pinctrl driver Update the MAINTAINERS.yml path, as there are no longer any NXP drivers matching the string "drivers/*/*kinetis* Signed-off-by: Daniel DeGrasse <[email protected]>
NXP PORT IP instantiations often have different features absent, IE input buffer, open drain, or slew rate support. Check if the relevant PCR register bitmasks are defined in the common pin control file, and define the bitmasks to 0x0 (no effect) if they are not. This allows us to further consolidate the pinctrl_soc.h headers for SOCs using the PORT IP. Signed-off-by: Daniel DeGrasse <[email protected]>
Add note about compatible change for NXP PORT IP. Also, update references to the DT compatible within board docs. Signed-off-by: Daniel DeGrasse <[email protected]>
889d5e6 to
9ab134d
Compare
The NXP Kinetis series uses the PORT peripheral for pin control. At the time the driver was introduced, this IP was only used on the Kinetis series in tree. However, it is now used on NXP S32, MCX, and Kinetis series SOCs. Rename the pin control driver compatible and files to use the naming scheme
nxp_port, which better reflects the name of the IP in the reference manual.This PR also consolidates the header files used for pin control with this driver, by checking if
PCR_XXXbitfields are defined as a method of determining which pin configuration features a given PORT IP instantiation supports.