-
Notifications
You must be signed in to change notification settings - Fork 8.2k
soc: arm: atmel: implement SAM V70 support #46362
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
Conversation
|
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. |
|
Hi @iperry , To move with this we need a board to build at CI at least. As far I remember, there is no official board available from MCHP that uses SAMV70. Once SAMV70 it is a subset from SAMV71 (less Ethernet) I`ll suggest to add entries at boards/arm/sam_v71_xult for that purpose. In this case, there will be have 4 targets inside sam_v71_xult board directory. |
Hello @nandojve , thank you for the review. I don't fully understand what you would like me to do. Can you clarify what you mean? Should I copy the board overlay for the sam_v71_xult and make a new, fake one for an imaginary board? In particular, I am not sure about:
|
|
Hi @iperry ,
2-3. There is no necessity to create a new board directory. You need just create sam_v70[b]xult.dts, sam_v70[b]xult.yaml and sam_v7[b]xult_defconfig files to make a new board available to Zephyr. You need edit Note: It is possible to use Kconfig variables to instruct OpenOCD, see below as reference: zephyr/boards/common/openocd.board.cmake Lines 7 to 9 in d84989a
|
Import upstream ASF support pack for the SAM V70(b) series devices. Signed-off-by: Perry Hung <[email protected]>
Add DTS bindings for the SAM V70(b) device family. Signed-off-by: Perry Hung <[email protected]>
Implement soc files for the samv70(b) family devices. Signed-off-by: Perry Hung <[email protected]>
|
Hi @nandojve , thanks for the clarification. I've prepared two test targets that I believe sort of implements what you are going for. I introduced two boards, ran twister tests, and fixed any Kconfig errors that I could find. |
Introduce two new variations (sam_v70_xult and sam_v70b_xult) of the SAM V71 Xplained Ultra development board. While these are not actually manufactured variations, they exist to test the SAM V70 support. These boards are configured with an ATSAMV70Q20(b) processor and are functionally identical to the SAM V71 versions, minus Ethernet. Signed-off-by: Perry Hung <[email protected]>
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 @iperry,
Almost there. See my comments.
|
|
||
| if CAN_SAM | ||
|
|
||
| config CAN_MAX_FILTER | ||
| int "Maximum number of concurrent active filters" | ||
| default 5 | ||
| range 1 32 | ||
| help | ||
| Defines the array size of the callback/msgq pointers. | ||
| Must be at least the size of concurrent reads. | ||
|
|
||
| endif # CAN_SAM |
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 seems to be a separated commit or could even be on a different PR.
Could you clarify?
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 Kconfig is not needed by the Bosch M_CAN driver backend. Please remove it.
| depends on SOC_SERIES_SAME70 || \ | ||
| SOC_SERIES_SAMV71 | ||
| SOC_SERIES_SAMV71 || SOC_SERIES_SAMV70 |
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.
Keep pattern of one per line were V70 came before V71
| # are used). | ||
| # | ||
| config NUM_IRQS | ||
| default 74 if SOC_ATMEL_SAMV70_REVB |
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.
71 instead 74, check typedef enum IRQn
| # | ||
| config NUM_IRQS | ||
| default 74 if SOC_ATMEL_SAMV70_REVB | ||
| default 71 |
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.
69 instead 71, check typedef enum IRQn
|
|
||
| if BOARD_SAM_V70_XULT | ||
|
|
||
| config BOARD | ||
| default "sam_v70_xult" | ||
|
|
||
| endif # BOARD_SAM_V70_XULT |
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.
Let's try keep less specialized always first.
|
|
||
| config BOARD_SAM_V70_XULT | ||
| bool "Atmel SMART SAM V70 Xplained Ultra Board" | ||
| depends on SOC_PART_NUMBER_SAMV70Q20 || SOC_PART_NUMBER_SAMV70Q20B |
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.
Let's try keep less specialized always first.
| SAM V70/V71 (B) Xplained Ultra | ||
| ############################## |
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.
V70/V71(B)
|
|
||
| #include <atmel/same70.dtsi> | ||
|
|
||
| #include "dma_atmel_samv71.h" |
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.
You should exclude gmac node here.
|
|
||
| #include <atmel/same70b.dtsi> | ||
|
|
||
| #include "dma_atmel_samv71.h" |
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.
You should exclude gmac node here.
|
|
||
| if CAN_SAM | ||
|
|
||
| config CAN_MAX_FILTER | ||
| int "Maximum number of concurrent active filters" | ||
| default 5 | ||
| range 1 32 | ||
| help | ||
| Defines the array size of the callback/msgq pointers. | ||
| Must be at least the size of concurrent reads. | ||
|
|
||
| endif # CAN_SAM |
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 Kconfig is not needed by the Bosch M_CAN driver backend. Please remove it.
|
Hi @iperry , I was wondering if you have time to address our concerns. It will be nice have it for 3.2 |
|
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. |
This patchset implements support for the Atmel SAM V70(b) series devices.
Just the basics, soc/ and DTS bindings.
Requires zephyrproject-rtos/hal_atmel#23
Signed-off-by: Perry Hung [email protected]