dm: implement a MTD uclass
Implement a Memory Technology Device (MTD) uclass. It should include most flash drivers in the future. Though no uclass ops are defined yet, the MTD ops could be used. The NAND flash driver is based on MTD. The CFI flash and SPI flash support MTD, too. It should make sense to convert them to MTD uclass. Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
This commit is contained in:
@@ -1,3 +1,15 @@
|
||||
menu "MTD Support"
|
||||
|
||||
config MTD
|
||||
bool "Enable Driver Model for MTD drivers"
|
||||
depends on DM
|
||||
help
|
||||
Enable driver model for Memory Technology Devices (MTD), such as
|
||||
flash, RAM and similar chips, often used for solid state file
|
||||
systems on embedded devices.
|
||||
|
||||
endmenu
|
||||
|
||||
source "drivers/mtd/nand/Kconfig"
|
||||
|
||||
source "drivers/mtd/spi/Kconfig"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
ifneq (,$(findstring y,$(CONFIG_MTD_DEVICE)$(CONFIG_CMD_NAND)$(CONFIG_CMD_ONENAND)$(CONFIG_CMD_SF)))
|
||||
obj-y += mtdcore.o mtd_uboot.o
|
||||
endif
|
||||
obj-$(CONFIG_MTD) += mtd-uclass.o
|
||||
obj-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
|
||||
obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
|
||||
obj-$(CONFIG_HAS_DATAFLASH) += at45.o
|
||||
|
||||
21
drivers/mtd/mtd-uclass.c
Normal file
21
drivers/mtd/mtd-uclass.c
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Thomas Chou <thomas@wytron.com.tw>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
#include <errno.h>
|
||||
#include <mtd.h>
|
||||
|
||||
/*
|
||||
* Implement a MTD uclass which should include most flash drivers.
|
||||
* The uclass private is pointed to mtd_info.
|
||||
*/
|
||||
|
||||
UCLASS_DRIVER(mtd) = {
|
||||
.id = UCLASS_MTD,
|
||||
.name = "mtd",
|
||||
.per_device_auto_alloc_size = sizeof(struct mtd_info),
|
||||
};
|
||||
Reference in New Issue
Block a user