-
Notifications
You must be signed in to change notification settings - Fork 8k
Add basic support for Microchip PIC32CX SG Family devices #96301
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
base: main
Are you sure you want to change the base?
Add basic support for Microchip PIC32CX SG Family devices #96301
Conversation
Hello @mchp-asif, and thank you very much for your first pull request to the Zephyr project! |
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. |
# List of Peripheral IPs available in SOC_FAMILY_MICROCHIP_PIC32CX_SG family | ||
config PINCTRL_MCHP_PORT_U2210_2_2_0 | ||
bool | ||
default y | ||
help | ||
Enable PORT pinctrl peripheral IP version 2.2.0 (U2210). |
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.
this does not belong in Kconfig.soc
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.
The symbol is added similar to the one in above link. It is used for specifying the peripheral ip which is present on the soc. It can be used in the kconfig file of respective driver if any conditional compilation is required in the common driver.
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.
right I missed that seemingly, https://github.com/zephyrproject-rtos/zephyr/pull/93450/files#diff-c050e37ce12edcb8c94981ec35cd65f13a03f132924e4401f65ecd62a5c43b99R11 these need to go out of Kconfig.soc
and put them in Kconfig
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.
- Just to be sure, you meant to put these symbols inside
soc/microchip/pic32c/pic32cx_sg/Kconfig
right? or do you mean to put them inside the driver specifickconfig
file? - Can you please tell me why it is to be moved to the
kconfig
?
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.
Added a comment to another PR but what is this for? There is a Kconfig already which is auto generated for knowing if a device is present, why do you need another Kconfig for this?
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.
Okay @nordicjm. I will explore this option. Meanwhile can you please tell me the reason behind this approach, it will help me better resolve the issue.
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.
DTS describes hardware, a v1 or v2 peripheral is hardware differences and is not software selectable, Kconfig is for software configuration. Also see linux kernel e.g. Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra234-nvdec.yaml
and Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra210-nvdec.yaml
or ./Documentation/devicetree/bindings/interrupt-controller/arm,gic-v5.yaml
and ./Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
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.
Thank You @nordicjm for the clarification. Currently the driver is not using this symbol, so for the time being I shall remove it.
Further, I will explore more into the options you shared for adding support for multiple peripheral versions inside the same driver.
Hope this approach is fine.
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.
Removing it is fine (it has not been removed)
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.
@nordicjm I have removed it now. Just was waiting for your confirmation.
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
CONFIG_BUILD_OUTPUT_HEX=y | ||
CONFIG_ARM_MPU=y |
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.
UART missing?
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.
There is no UART in the dtsi yet.
I think they will add later.
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.
Yes. As @nandojve rightly said, it is not added now. It will be added later.
west.yml
Outdated
- hal | ||
- name: hal_microchip | ||
revision: e5fe6469afc53d7aefcc74377dd99ce20428d42b | ||
revision: 651b61316816271949620b6c7e8e666f271e15ca |
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.
I'll mark to DNM until we finish the review to avoid ping pong in the hash.
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.
okay @nandojve
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
CONFIG_BUILD_OUTPUT_HEX=y | ||
CONFIG_ARM_MPU=y |
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.
There is no UART in the dtsi yet.
I think they will add later.
d69cb71
to
e817f80
Compare
8f04b78
to
f33ff21
Compare
think this might need a rebase |
f33ff21
to
5a014a0
Compare
Adds common and SoC-specific .dtsi files for the Microchip PIC32CX SG family. These files define core peripherals, address maps, and interrupt controller structure shared across the PIC32CX SG variants. Signed-off-by: Muhammed Asif <[email protected]>
5a014a0
to
8ce400e
Compare
|
@nandojve Could you please remove the DNM tag as I have removed the commit updating the west.yml from this PR? |
Adds initial SoC-level support for the Microchip PIC32CX SG series, including SoC definition files. Signed-off-by: Muhammed Asif <[email protected]>
…pport Add initial support for the Microchip PIC32CX SG61 Curiosity Pro board Product page: https://www.microchip.com/en-us/development-tool/ev09h35a Signed-off-by: Muhammed Asif <[email protected]>
8ce400e
to
e52d784
Compare
|
This PR adds initial support for Microchip’s PIC32CX SG family of SoCs, along with board support for the PIC32CX SG61 Curiousity Ultra development kit (EV09H35A). It includes the basic SoC integration, devicetree files, and minimal configuration needed to bring up the board with a working blinky.