[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