
Hi Sumit!
On February 2, 2024 thus sayeth Sumit Garg:
Hi Bryan,
On Thu, 1 Feb 2024 at 08:36, Bryan Brattlof bb@ti.com wrote:
Hello Again Everyone!
**Note:** This series depends on the OF_UPSTREAM work from Sumit [0]. Patch #11 was added to fix some Makefile.spl targets to allow SPL builds to complete with the OF_UPSTREAM series.
Thanks for your adoption of OF_UPSTREAM work. As evident from this series, it would be much easier to maintain U-Boot specific DT pieces rather than the full SoC specific DT copy from Linux source tree.
Like all good ideas we should have done this years ago. Thanks for taking up the task of making this easier for us.
-Sumit
The AM62Px is an extension of the existing Sitara AM62x low-cost family of application processors built for Automotive and Linux Application development. Scalable Arm Cortex-A53 performance and embedded features, such as: multi high-definition display support, 3D-graphics acceleration, 4K video acceleration, and extensive peripherals make the AM62Px well-suited for a broad range of automation and industrial application, including automotive digital instrumentation, automotive displays, industrial HMI, and more.
Some highlights of AM62P SoC are:
Quad-Cortex-A53s (running up to 1.4GHz) in a single cluster. Dual/Single core variants are provided in the same package to allow HW compatible designs.
One Device manager Cortex-R5F for system power and resource management, and one Cortex-R5F for Functional Safety or general-purpose usage.
One 3D GPU up to 50 GLFOPS
H.264/H.265 Video Encode/Decode.
Display support: 3x display support over OLDI/LVDS (1x OLDI-DL, 1x or 2x OLDI-SL), DSI, or DPI. Up to 3840x1080 @ 60fps resolution
Integrated Giga-bit Ethernet switch supporting up to a total of two external ports (TSN capable).
9xUARTs, 5xSPI, 6xI2C, 2xUSB2, 3xCAN-FD, 3xMMC and SD, GPMC for NAND/FPGA connection, OSPI memory controller, 3xMcASP for audio, 1xCSI-RX-4L for Camera, eCAP/eQEP, ePWM, among other peripherals.
Dedicated Centralized Hardware Security Module with support for secure boot, debug security and crypto acceleration and trusted execution environment.
One 32-bit DDR Subsystem that supports LPDDR4, DDR4 memory types.
Multiple low power modes support, ex: Deep sleep, Standby, MCU-only, enabling battery powered system design.
For those interested, more details about this SoC can be found in the Technical Reference Manual here: https://www.ti.com/lit/pdf/spruj83
Proof-of-Life: https://paste.sr.ht/~bryanb/af2ac108a9362549aa326f182e87918d52bf2d71
Currently, while more peripherals are being added in Linux[0], this series will only support UART boot.
Thanks for reviewing! ~Bryan
Changes from v1: [1]
- squashed all clk and lpsc tree updates into a single commit
- corrected SOC_K3_AM642 typo with DM firmware Kconfig option
- updated RM configs and dma nodes to enable IP that need DMA
- added the dtb targets to the dts/Makefile
- rebased the series on top of v2024.01-rc1
- switched to bootstd rather than use distro boot scripts.
- enabled OF_UPSTREAM instead of using the arch/arm/dts directory
[0] https://lore.kernel.org/u-boot/20240110103547.719757-1-sumit.garg@linaro.org... [1] https://lore.kernel.org/all/20231012230616.2101992-13-bb@ti.com/
Bryan Brattlof (11): soc: add info to identify the am62p SoC family power: domain: ti: use IS_ENABLED macro arm: mach-k3: am62px: introduce clock and device files for wkup spl ram: k3-ddrss: enable the am62ax's DDR controller for am62px arm: mach-k3: invert logic for split DM firmware config arch: mach-k3: introduce basic files to support the am62px SoC family board: ti: introduce basic board files for the am62px family arm: dts: introduce am62p5 uboot dts files Makefile: remove hardcoded device tree source directory configs: introduce configs needed for the am62px doc: board: ti: introduce am62px documentation
Hari Nagalla (1): firmware: ti_sci_static_data: add static DMA channel data
Vignesh Raghavendra (1): dma: ti: k3-udma: Add DMA PSIL mappings for AM62P and J722S
Makefile | 18 +- arch/arm/dts/Makefile | 2 + arch/arm/dts/k3-am62p-ddr-lp4-50-1600.dtsi | 2800 +++++++++++++++++ arch/arm/dts/k3-am62p-sk-binman.dtsi | 173 + arch/arm/dts/k3-am62p5-r5-sk.dts | 101 + arch/arm/dts/k3-am62p5-sk-u-boot.dtsi | 49 + arch/arm/mach-k3/Kconfig | 9 +- arch/arm/mach-k3/Makefile | 1 + arch/arm/mach-k3/am62p5_init.c | 280 ++ arch/arm/mach-k3/am62px/Kconfig | 32 + .../arm/mach-k3/include/mach/am62p_hardware.h | 83 + arch/arm/mach-k3/include/mach/am62p_spl.h | 49 + arch/arm/mach-k3/include/mach/hardware.h | 6 + arch/arm/mach-k3/include/mach/spl.h | 4 + arch/arm/mach-k3/r5/Makefile | 1 + arch/arm/mach-k3/r5/am62px/Makefile | 6 + arch/arm/mach-k3/r5/am62px/clk-data.c | 325 ++ arch/arm/mach-k3/r5/am62px/dev-data.c | 71 + board/ti/am62px/Kconfig | 26 + board/ti/am62px/MAINTAINERS | 9 + board/ti/am62px/Makefile | 7 + board/ti/am62px/am62px.env | 16 + board/ti/am62px/board-cfg.yaml | 37 + board/ti/am62px/evm.c | 29 + board/ti/am62px/pm-cfg.yaml | 12 + board/ti/am62px/rm-cfg.yaml | 987 ++++++ board/ti/am62px/sec-cfg.yaml | 378 +++ board/ti/am62px/tifs-rm-cfg.yaml | 879 ++++++ configs/am62px_evm_a53_defconfig | 178 ++ configs/am62px_evm_r5_defconfig | 137 + doc/board/ti/am62px_sk.rst | 289 ++ doc/board/ti/k3.rst | 1 + drivers/clk/ti/clk-k3.c | 6 + drivers/dma/ti/Makefile | 2 + drivers/dma/ti/k3-psil-am62p.c | 325 ++ drivers/dma/ti/k3-psil-priv.h | 1 + drivers/dma/ti/k3-psil.c | 4 + drivers/firmware/ti_sci_static_data.h | 5 +- drivers/power/domain/ti-power-domain.c | 13 +- drivers/ram/Kconfig | 2 +- drivers/soc/soc_ti_k3.c | 3 + dts/arch/arm64/ti | 1 + include/configs/am62px_evm.h | 14 + include/k3-clk.h | 1 + include/k3-dev.h | 1 + scripts/Makefile.spl | 17 +- 46 files changed, 7374 insertions(+), 16 deletions(-) create mode 100644 arch/arm/dts/k3-am62p-ddr-lp4-50-1600.dtsi create mode 100644 arch/arm/dts/k3-am62p-sk-binman.dtsi create mode 100644 arch/arm/dts/k3-am62p5-r5-sk.dts create mode 100644 arch/arm/dts/k3-am62p5-sk-u-boot.dtsi create mode 100644 arch/arm/mach-k3/am62p5_init.c create mode 100644 arch/arm/mach-k3/am62px/Kconfig create mode 100644 arch/arm/mach-k3/include/mach/am62p_hardware.h create mode 100644 arch/arm/mach-k3/include/mach/am62p_spl.h create mode 100644 arch/arm/mach-k3/r5/am62px/Makefile create mode 100644 arch/arm/mach-k3/r5/am62px/clk-data.c create mode 100644 arch/arm/mach-k3/r5/am62px/dev-data.c create mode 100644 board/ti/am62px/Kconfig create mode 100644 board/ti/am62px/MAINTAINERS create mode 100644 board/ti/am62px/Makefile create mode 100644 board/ti/am62px/am62px.env create mode 100644 board/ti/am62px/board-cfg.yaml create mode 100644 board/ti/am62px/evm.c create mode 100644 board/ti/am62px/pm-cfg.yaml create mode 100644 board/ti/am62px/rm-cfg.yaml create mode 100644 board/ti/am62px/sec-cfg.yaml create mode 100644 board/ti/am62px/tifs-rm-cfg.yaml create mode 100644 configs/am62px_evm_a53_defconfig create mode 100644 configs/am62px_evm_r5_defconfig create mode 100644 doc/board/ti/am62px_sk.rst create mode 100644 drivers/dma/ti/k3-psil-am62p.c create mode 120000 dts/arch/arm64/ti create mode 100644 include/configs/am62px_evm.h
base-commit: b6d8969bcb94321dfed1399f2eaa8768ba42caaa prerequisite-patch-id: a2fa61937f80658611e0a2cdf88a11a6214b3645 prerequisite-patch-id: 1a31af706136646f62e98e88919802b1379feb39 prerequisite-patch-id: 54b40f9e042ef51755b4fb33ba6f8c4f6af9c17f prerequisite-patch-id: d2199c72fa11aea6e478f5a846f8ad786b0afc38 prerequisite-patch-id: 00e954105cf966b9527bb6ea11373e3da2d4c26d prerequisite-patch-id: bb58fb490183bfd836c492ec18590d9ec3b97457 prerequisite-patch-id: 99cb64427f3b8b401f32cd1d4cc68cd74aaa8733 prerequisite-patch-id: c461c9afad63446e824d00017c5faab7860de0e9 prerequisite-patch-id: fdc8c1c111e6329345f0b5c7609f2751e542d2fa prerequisite-patch-id: e07cf9612f806d28af7628573d73fefdd4144e63 prerequisite-patch-id: 15ee392282a7e0d2b99bcf9cded71f965fc32a5b prerequisite-patch-id: 91cdc33aa65dd1d205fb8fea5de2980fe2ab2f62 -- 2.43.0