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