memory: atmel-ebi: add Atmel EBI (External Bus Interface) driver
The EBI is used to access peripherals like NAND, SRAM, NOR etc. Add this driver to probe the nand flash controller. This is a dummy driver and not yet a complete device driver for EBI. Signed-off-by: Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
This commit is contained in:
parent
de32a2a32a
commit
68ddf18dc3
@ -409,6 +409,7 @@ T: git https://source.denx.de/u-boot/custodians/u-boot-atmel.git
|
||||
F: arch/arm/mach-at91/
|
||||
F: board/atmel/
|
||||
F: drivers/cpu/at91_cpu.c
|
||||
F: drivers/memory/atmel-ebi.c
|
||||
F: drivers/misc/microchip_flexcom.c
|
||||
F: drivers/timer/atmel_tcb_timer.c
|
||||
F: include/dt-bindings/mfd/atmel-flexcom.h
|
||||
|
@ -13,6 +13,13 @@ config MEMORY
|
||||
SRAM, Ethernet adapters, FPGAs, etc.
|
||||
For now this uclass has no methods yet.
|
||||
|
||||
config ATMEL_EBI
|
||||
bool "Support for Atmel EBI"
|
||||
help
|
||||
Driver for Atmel EBI controller. This is a dummy
|
||||
driver. Doesn't provide an access to EBI controller. Select
|
||||
this option to enable the NAND flash controller driver
|
||||
|
||||
config SANDBOX_MEMORY
|
||||
bool "Enable Sandbox Memory Controller driver"
|
||||
depends on SANDBOX && MEMORY
|
||||
|
@ -2,5 +2,6 @@
|
||||
obj-$(CONFIG_MEMORY) += memory-uclass.o
|
||||
obj-$(CONFIG_SANDBOX_MEMORY) += memory-sandbox.o
|
||||
obj-$(CONFIG_STM32_FMC2_EBI) += stm32-fmc2-ebi.o
|
||||
obj-$(CONFIG_ATMEL_EBI) += atmel_ebi.o
|
||||
obj-$(CONFIG_TI_AEMIF) += ti-aemif.o
|
||||
obj-$(CONFIG_TI_GPMC) += ti-gpmc.o
|
||||
|
37
drivers/memory/atmel_ebi.c
Normal file
37
drivers/memory/atmel_ebi.c
Normal file
@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
|
||||
*/
|
||||
|
||||
#include <dm/device.h>
|
||||
#include <dm/read.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <fdtdec.h>
|
||||
|
||||
static int atmel_ebi_probe(struct udevice *dev)
|
||||
{
|
||||
int ret;
|
||||
struct udevice *ndev;
|
||||
|
||||
ret = uclass_get_device_by_driver(UCLASS_MTD,
|
||||
DM_DRIVER_GET(atmel_nand_controller),
|
||||
&ndev);
|
||||
if (ret)
|
||||
printf("Failed to probe nand driver (err = %d)\n", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct udevice_id atmel_ebi_match[] = {
|
||||
{.compatible = "microchip,sam9x60-ebi"},
|
||||
{.compatible = "atmel,sama5d3-ebi"},
|
||||
{ /* Sentinel */ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(atmel_ebi) = {
|
||||
.name = "atmel_ebi",
|
||||
.id = UCLASS_NOP,
|
||||
.of_match = atmel_ebi_match,
|
||||
.probe = atmel_ebi_probe,
|
||||
.bind = dm_scan_fdt_dev,
|
||||
};
|
Loading…
Reference in New Issue
Block a user