| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com> | |
| * | |
| * Authors: | |
| * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> | |
| */ | |
| #ifndef __DRIVER_NVMXIP_H__ | |
| #define __DRIVER_NVMXIP_H__ | |
| #include <blk.h> | |
| #define NVMXIP_BLKDRV_NAME "nvmxip-blk" | |
| #define NVMXIP_BLKDEV_NAME_SZ 20 | |
| /** | |
| * struct nvmxip_plat - the NVMXIP driver plat | |
| * | |
| * @phys_base: NVM XIP device base address | |
| * @lba_shift: block size shift count | |
| * @lba: number of blocks | |
| * | |
| * The NVMXIP information read from the DT. | |
| */ | |
| struct nvmxip_plat { | |
| phys_addr_t phys_base; | |
| u32 lba_shift; | |
| lbaint_t lba; | |
| }; | |
| /** | |
| * nvmxip_bind() - post binding treatments | |
| * @dev: the NVMXIP device | |
| * | |
| * Create and probe a child block device. | |
| * | |
| * Return: | |
| * | |
| * 0 on success. Otherwise, failure | |
| */ | |
| int nvmxip_probe(struct udevice *udev); | |
| #endif /* __DRIVER_NVMXIP_H__ */ |