[u-boot][PATCH v2 0/4] Introduce MEMORY uclass and TI GPMC driver

Roger Quadros
2022-10-06T13:24:17Z

Hi,

This series introduces the MEMORY controller uclass for the drivers
that exist in drivers/memory directory.

With that, we add the TI GPMC Memory controller driver as the first
user of this uclass.

The GPMC is a unified memory controller dedicated for interfacing
with external memory devices like
- Asynchronous SRAM-like memories and ASICs
- Asynchronous, synchronous, and page mode burst NOR flash
- NAND flash
- Pseudo-SRAM devices

The driver is pulled straight from the Linux kernel and adapted
for u-boot.

This driver will take care of setting up the GPMC based on
the settings specified in the Device tree and then
probe its children.

Roger Quadros (4):
dm: memory: Introduce new uclass
scripts: Makefile.spl: Enable memory drivers to be built for SPL
dt/bindings: memory: Add bindings for TI GPMC driver
memory: Add TI GPMC driver

arch/sandbox/dts/test.dts | 4 +
.../memory/ti,gpmc-child.yaml | 252 ++++
doc/device-tree-bindings/memory/ti,gpmc.yaml | 190 +++
drivers/memory/Kconfig | 36 +
drivers/memory/Makefile | 3 +
drivers/memory/memory-sandbox.c | 18 +
drivers/memory/memory-uclass.c | 13 +
drivers/memory/ti-gpmc.c | 1240 +++++++++++++++++
drivers/memory/ti-gpmc.h | 298 ++++
include/dm/uclass-id.h | 1 +
include/linux/mtd/omap_gpmc.h | 3 +
scripts/Makefile.spl | 1 +
test/dm/Makefile | 1 +
test/dm/memory.c | 21 +
14 files changed, 2081 insertions(+)
create mode 100644 doc/device-tree-bindings/memory/ti,gpmc-child.yaml
create mode 100644 doc/device-tree-bindings/memory/ti,gpmc.yaml
create mode 100644 drivers/memory/memory-sandbox.c
create mode 100644 drivers/memory/memory-uclass.c
create mode 100644 drivers/memory/ti-gpmc.c
create mode 100644 drivers/memory/ti-gpmc.h
create mode 100644 test/dm/memory.c

--
2.17.1