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

boards: phytec: Add phyBOARD-Electra AM64x #70965

Merged
merged 5 commits into from Apr 24, 2024

Conversation

dnltz
Copy link
Collaborator

@dnltz dnltz commented Apr 1, 2024

Add support for TI's AM6442 SOC, which is almost identical to the AM62x. Moreover, it adds support for the phyBOARD-Electra kit, which includes the phyCORE-AM64x SOM.

This PR uses the same board names as introduced in #70913

@zephyrbot zephyrbot added platform: TI K3 Texas Instruments Keystone 3 Processors area: Process platform: TI SimpleLink Texas Instruments SimpleLink MCU labels Apr 1, 2024
@dnltz dnltz force-pushed the WIP/dnltz/phyboard-electra-am64 branch from 3e00fdd to 0b82926 Compare April 1, 2024 21:23
@@ -0,0 +1,87 @@
/*
* Copyright (c) 2023 Texas Instruments Incorporated
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is an almost identical copy of the am62x_m4. Should I keep this Copyright or change it?

Copy link
Contributor

Choose a reason for hiding this comment

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

@dnltz There is no need to retain the copyright in this particular case. However we need some strategy to not duplicate these SoC level dtsi files (atleast for different cores in same SoC), in this case it is okay.

boards/phytec/phyboard_electra/Kconfig.phyboard_electra Outdated Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

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

Reduce filesize using https://tinypng.com/

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

the original file size is 1.5MB and this link only saves 135kB. I already resized the original PNG to 30% before converting it to wepb. I think 100kB are allowed for pictures.

@dnltz dnltz force-pushed the WIP/dnltz/phyboard-electra-am64 branch 2 times, most recently from 72d4bc5 to 377d523 Compare April 2, 2024 13:19
@@ -0,0 +1,87 @@
/*
* Copyright (c) 2023 Texas Instruments Incorporated
Copy link
Contributor

Choose a reason for hiding this comment

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

@dnltz There is no need to retain the copyright in this particular case. However we need some strategy to not duplicate these SoC level dtsi files (atleast for different cores in same SoC), in this case it is okay.

********

The Linux running on the A53 uses the remoteproc framework to manage the M4F co-processor.
Therefore, the testing requires the binary to be copied to the SD card to allow the A53 cores to
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be nice to provide instructions to do the same from u-boot console, that provides a faster development environment. I do something like below for development on m4/a53 on AM62 SK

dhcp; setenv serverip 192.168.0.108; rproc init; rproc stop 0; tftp
0x82000000 zephyr.elf; rproc load 0 0x82000000 $filesize;  rproc start
0;tftp 0x82000000 zephyr.bin; dcache flush; icache flush; dcache off;
icache off; go 0x82000000

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks for sharing those commands with me! We currently figuring out how to improve Zephyr/MCU+ integration into our products and they will be very helpful.

I will update documentation for both products later. Kinda thinking this might be a nice uboot environment function...

soc/ti/k3/am6x/m4/soc.c Outdated Show resolved Hide resolved
@dnltz dnltz force-pushed the WIP/dnltz/phyboard-electra-am64 branch from 377d523 to c74fd17 Compare April 2, 2024 17:01
@dnltz dnltz force-pushed the WIP/dnltz/phyboard-electra-am64 branch from c74fd17 to 7dc4d61 Compare April 2, 2024 19:13
@zephyrbot zephyrbot requested a review from gramsay0 April 2, 2024 19:14
boards/phytec/phyboard_electra/doc/index.rst Outdated Show resolved Hide resolved
soc/ti/k3/am6x/m4/soc.c Outdated Show resolved Hide resolved
dts/arm/ti/am64x_m4.dtsi Outdated Show resolved Hide resolved
soc/ti/k3/am6x/CMakeLists.txt Outdated Show resolved Hide resolved
@nordicjm nordicjm requested a review from kartben April 11, 2024 07:25
@dnltz dnltz force-pushed the WIP/dnltz/phyboard-electra-am64 branch from 7dc4d61 to 215cbec Compare April 12, 2024 18:00
@dnltz dnltz requested a review from gramsay0 April 12, 2024 18:05
gramsay0
gramsay0 previously approved these changes Apr 13, 2024
The AM64x and AM62x are both SOCs from the TI K3 family
and share common architecture designs. The M4F subsystem
is actuall identical on both SOCs.

Therefore, just add all missing CONFIGs, files, etc. to
support the AM6442x SOC.

Since MMR and RAT initialization are identical too, both
functions can be re-used. However, since they might
differ in the future, the am64x has it's own init
function.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
We define two frequencies in the am62x_m4.dtsi file.

Use DT_FREQ_M for both frequency to make them more
human-readable and easier to understand.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
This file is basically a copy of the AM62x M4 dtsi but an
additional mcu_uart1 interface.

The internal clock frequency feeded into the UART IP is
96 MHz instead of 48 MHz, which is different to the AM62x.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Add PHYTEC's phyBOARD-Electra kit with the phyCORE-AM64x
System on Module (SOM).

This board only supports the M4F core, UART and GPIO right now,
since other drivers are still missing.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
An address-cells definition is not required for the gpio
node and therefore should be removed.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
@dnltz
Copy link
Collaborator Author

dnltz commented Apr 16, 2024

@gramsay0 had to rebase due a conflict in the MAINTAINERS.yml file.

@nashif nashif merged commit 5dbfbbc into zephyrproject-rtos:main Apr 24, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Process platform: TI K3 Texas Instruments Keystone 3 Processors platform: TI SimpleLink Texas Instruments SimpleLink MCU
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants