[PATCH 00/22] Add initial Texas Instruments K3 support
Sascha Hauer
s.hauer at pengutronix.de
Thu Aug 3 03:49:41 PDT 2023
This series adds initial basic support for the TI K3 Architecture.
Currently only the AM62x is supported and within there the BeaglePlay
board (https://www.beagleboard.org/boards/beagleplay).
The current support is enough for bringing up barebox 2nd stage after
U-Boot has initialized the SoC. The SoC boots from a FAT partition on
SD/eMMC, the u-boot.img therein can be replaced with a barebox image.
The SoC has a core dedicated to handle clocks, power domains and other
stuff. Communication to this core is done with a mailbox interface and
this series contains patches to implement that interface based on that
a clk driver and a power domain driver.
So far only SD/eMMC is working, so there's plenty of room to add further
support for networking, USB, SPI and I2C. It's a start.
Sascha
Sascha Hauer (22):
pm_domain: Add onecell support
gpio: davinci: Redesign driver to accommodate ngpios in one gpio chip
gpio: davinci: Add support for GPIO controllers on TI K3 SoCs
ARM64: Add support for debug_ll on TI AM62x SoCs
Add initial mailbox support
mailbox: Add TI K3 Secure Proxy Driver
serial: ns16550: Add support for UARTs on K3 SoCs
firmware: Add basic support for TI System Control Interface (TI SCI)
protocol
lib: Add generic binary search function
clk: Add K3 SCI clock driver
soc: ti: Add ti_sci_pm_domains driver
mci: fix define
mci: make debugging output more useful
mci: sdhci: Add common wait for idle function
mci: sdhci: wait for idle before stopping clock
mci: Add am654 SDHCI driver
ARM: Add Texas Instruments K3 architecture
ARM: k3: Add initial BeaglePlay board support
ARM: k3: BeaglePlay: Work around non working SD card
ARM: k3: BeaglePlay: generate FIT image
doc: K3: Add documentation
ARM: multi_v8_defconfig: Enable K3 SoCs
Documentation/boards/k3.rst | 29 +
arch/arm/Kconfig | 14 +
arch/arm/Makefile | 1 +
arch/arm/boards/Makefile | 1 +
arch/arm/boards/beagleplay/Makefile | 1 +
arch/arm/boards/beagleplay/entry.S | 29 +
arch/arm/boards/beagleplay/lowlevel.c | 33 +
arch/arm/configs/multi_v8_defconfig | 10 +-
arch/arm/dts/Makefile | 1 +
arch/arm/dts/k3-am625-beagleplay.dts | 30 +
arch/arm/include/asm/debug_ll.h | 2 +
arch/arm/mach-k3/Kconfig | 11 +
arch/arm/mach-k3/Makefile | 1 +
arch/arm/mach-k3/common.c | 24 +
common/Kconfig | 16 +-
drivers/Kconfig | 1 +
drivers/Makefile | 1 +
drivers/base/power.c | 76 +
drivers/clk/Makefile | 1 +
drivers/clk/ti-sci-clk.c | 630 ++++++
drivers/firmware/Kconfig | 15 +
drivers/firmware/Makefile | 1 +
drivers/firmware/ti_sci.c | 2745 +++++++++++++++++++++++++
drivers/firmware/ti_sci.h | 1533 ++++++++++++++
drivers/gpio/Kconfig | 4 +-
drivers/gpio/gpio-davinci.c | 70 +-
drivers/mailbox/Kconfig | 22 +
drivers/mailbox/Makefile | 2 +
drivers/mailbox/mailbox.c | 92 +
drivers/mailbox/ti-msgmgr.c | 402 ++++
drivers/mci/Makefile | 1 +
drivers/mci/am654-sdhci.c | 680 ++++++
drivers/mci/arasan-sdhci.c | 13 +-
drivers/mci/atmel-sdhci-common.c | 25 +-
drivers/mci/dove-sdhci.c | 23 +-
drivers/mci/mci-bcm2835.c | 13 +-
drivers/mci/mci-core.c | 13 +-
drivers/mci/rockchip-dwcmshc-sdhci.c | 16 +-
drivers/mci/sdhci.c | 24 +
drivers/mci/sdhci.h | 1 +
drivers/serial/serial_ns16550.c | 6 +
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/ti/Kconfig | 7 +
drivers/soc/ti/Makefile | 1 +
drivers/soc/ti/ti_sci_pm_domains.c | 196 ++
images/Makefile | 10 +
images/Makefile.k3 | 13 +
images/k3-am625-beagleplay.its | 29 +
include/linux/bsearch.h | 33 +
include/linux/types.h | 2 +
include/mach/k3/debug_ll.h | 49 +
include/mailbox.h | 36 +
include/mci.h | 4 +-
include/pm_domain.h | 9 +
include/soc/ti/k3-sec-proxy.h | 25 +
include/soc/ti/ti_sci_protocol.h | 657 ++++++
lib/Makefile | 1 +
lib/bsearch.c | 34 +
59 files changed, 7596 insertions(+), 125 deletions(-)
create mode 100644 Documentation/boards/k3.rst
create mode 100644 arch/arm/boards/beagleplay/Makefile
create mode 100644 arch/arm/boards/beagleplay/entry.S
create mode 100644 arch/arm/boards/beagleplay/lowlevel.c
create mode 100644 arch/arm/dts/k3-am625-beagleplay.dts
create mode 100644 arch/arm/mach-k3/Kconfig
create mode 100644 arch/arm/mach-k3/Makefile
create mode 100644 arch/arm/mach-k3/common.c
create mode 100644 drivers/clk/ti-sci-clk.c
create mode 100644 drivers/firmware/ti_sci.c
create mode 100644 drivers/firmware/ti_sci.h
create mode 100644 drivers/mailbox/Kconfig
create mode 100644 drivers/mailbox/Makefile
create mode 100644 drivers/mailbox/mailbox.c
create mode 100644 drivers/mailbox/ti-msgmgr.c
create mode 100644 drivers/mci/am654-sdhci.c
create mode 100644 drivers/soc/ti/Kconfig
create mode 100644 drivers/soc/ti/Makefile
create mode 100644 drivers/soc/ti/ti_sci_pm_domains.c
create mode 100644 images/Makefile.k3
create mode 100644 images/k3-am625-beagleplay.its
create mode 100644 include/linux/bsearch.h
create mode 100644 include/mach/k3/debug_ll.h
create mode 100644 include/mailbox.h
create mode 100644 include/soc/ti/k3-sec-proxy.h
create mode 100644 include/soc/ti/ti_sci_protocol.h
create mode 100644 lib/bsearch.c
--
2.39.2
More information about the barebox
mailing list