[PATCH v2 00/33] ARM: K3: add support for AM62L
Sascha Hauer
s.hauer at pengutronix.de
Thu Jun 5 05:42:25 PDT 2025
The AM62L is a new SoC from TI similar to the AM625, but still needs
some work to support it.
While the peripherals are quite similar to AM625, TI restructured the
startup process. Unlike the AM625 we no longer start on the Cortex-R5
core, but instead directly on the first Cortex A53 core. The SDRAM setup
is no longer part of barebox, but instead done in the TF-A. The initial
image is composed of a BL1 and several binary-only blobs. The second
stage is directly the BL31 image and our barebox image.
The dts(i) are not yet upstream, but currently posted for review, so we
need to import them into barebox for now. I hope this will be obsolete
soon.
The DMA driver needs some adjustments for the AM62L, patches for this
are taken from the TI downstrem U-Boot and the TI downstream Linux
repository.
The first board supported is the AM62L EVM board.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
Changes in v2:
- Added AM62lx documentation
- rework k3img tool to be more flexible
- add OP-TEE support
- Link to v1: https://lore.barebox.org/20250528-arm-k3-am62l-v1-0-3f88e6d10d99@pengutronix.de
---
Sascha Hauer (33):
scripts/k3img: make more flexible
images: K3: rename %.k3img target to %.k3_am62x_img
ARM: K3: prepare support for other SoCs
ARM: dts: add k3-am62l dts(i) files
ARM: dts: am62l: Fix assigned-clock-parents
ARM: K3: add am62lx base support
ARM: Makefile: descend into mach-* for cleaning
ARM: k3: rename yaml files from am625 to am62x
firmware: add ti-linux-firmware submodule
scripts/ti-board-config.py: fix length
ARM: k3: add yaml files for AM62l
k3: ringacc: pass ringrt address in struct k3_ringacc_init_data
drivers: soc: ti: k3-ringacc: handle absence of tisci
drivers: soc: ti: k3-ringacc: fix k3_ringacc_ring_reset_sci
dma: ti: k3-psil: Add PSIL data for AM62L
dma: ti: k3-udma: Refactor common bits for AM62L support
dma: ti: k3-udma-common: Update common code for AM62L DMAs
dma: ti: k3-udma-am62l: Add AM62L support DMA drivers
ARM: dts: am62l: Add ethernet ports
ARM: dts: am62l evm: Add ethernet ports
ARM: k3: am62l: add barebox specific am62l.dtsi
net: davinci_mdio: Use fallback clock rate
firmware: arm_scmi: Add support for clock parents
clk: add struct clk_parent_data
clk: arm_scmi: implement clock parent setting
ARM: dts: am62l3-evm: add MMC aliases
dma: ti: k3-udma: limit asel to am625
gpio: increase ARCH_NR_GPIOS to 512
ARM: dts: k3-am62l: reserve memory for TF-A and OP-TEE
ARM: k3: add AM62l3 EVM board support
ARM: K3: am62l: add serial aliases
Documentation: boards: k3: split generic and am62x specific documentation
Documentation: boards: k3: add AM62lx documentation
.gitmodules | 3 +
Documentation/boards/ti-k3-am62lx.rst | 79 ++
Documentation/boards/ti-k3-am62x.rst | 99 ++
Documentation/boards/ti-k3.rst | 109 +-
arch/arm/Makefile | 4 +-
arch/arm/boards/Makefile | 1 +
arch/arm/boards/am625-sk/board.c | 2 +-
arch/arm/boards/am625-sk/lowlevel.c | 2 +-
arch/arm/boards/am62lx-evm/Makefile | 1 +
arch/arm/boards/am62lx-evm/lowlevel.c | 37 +
arch/arm/boards/beagleplay/lowlevel.c | 2 +-
arch/arm/dts/Makefile | 1 +
arch/arm/dts/k3-am62l-barebox.dtsi | 45 +
arch/arm/dts/k3-am62l-main.dtsi | 768 +++++++++++
arch/arm/dts/k3-am62l-thermal.dtsi | 25 +
arch/arm/dts/k3-am62l-wakeup.dtsi | 133 ++
arch/arm/dts/k3-am62l.dtsi | 121 ++
arch/arm/dts/k3-am62l3-evm.dts | 378 ++++++
arch/arm/dts/k3-am62l3.dtsi | 67 +
arch/arm/dts/k3-pinctrl.h | 7 +
arch/arm/mach-k3/Kconfig | 14 +
arch/arm/mach-k3/Makefile | 27 +-
arch/arm/mach-k3/am62lx.c | 155 +++
arch/arm/mach-k3/am62x.c | 256 ++++
.../{board-cfg-am625.yaml => board-cfg-am62x.yaml} | 0
arch/arm/mach-k3/common.c | 260 +---
arch/arm/mach-k3/ddrss.c | 12 +-
.../{pm-cfg-am625.yaml => pm-cfg-am62x.yaml} | 0
.../{rm-cfg-am625.yaml => rm-cfg-am62x.yaml} | 0
arch/arm/mach-k3/sec-cfg-am62l.yaml | 379 ++++++
.../{sec-cfg-am625.yaml => sec-cfg-am62x.yaml} | 0
drivers/clk/clk-scmi.c | 80 +-
drivers/dma/ti/Makefile | 2 +-
drivers/dma/ti/k3-psil-am62l.c | 50 +
drivers/dma/ti/k3-psil-priv.h | 1 +
drivers/dma/ti/k3-psil.c | 2 +
drivers/dma/ti/k3-udma-am62l.c | 593 ++++++++
drivers/dma/ti/k3-udma-common.c | 1188 ++++++++++++++++
drivers/dma/ti/k3-udma-hwdef.h | 7 +
drivers/dma/ti/k3-udma.c | 1434 +-------------------
drivers/dma/ti/k3-udma.h | 357 +++++
drivers/firmware/arm_scmi/clock.c | 179 ++-
drivers/net/davinci_mdio.c | 9 +-
drivers/soc/ti/k3-navss-ringacc.c | 161 ++-
firmware/ti-linux-firmware | 1 +
images/Makefile.k3 | 127 +-
include/gpio.h | 2 +-
include/linux/clk.h | 13 +
include/linux/scmi_protocol.h | 6 +
include/mach/k3/common.h | 9 +-
include/soc/ti/k3-navss-ringacc.h | 4 +
scripts/k3img | 182 +--
scripts/ti-board-config.py | 5 +-
53 files changed, 5425 insertions(+), 1974 deletions(-)
---
base-commit: 2d619db48e92bfe160684b5411697e6a59f4a620
change-id: 20250527-arm-k3-am62l-f70117f397f5
Best regards,
--
Sascha Hauer <s.hauer at pengutronix.de>
More information about the barebox
mailing list