1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright 2023 Arm Limited and/or its affiliates <open-source-office@arm.com> 4 * 5 * Authors: 6 * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> 7 */ 8 9#ifndef __DRIVER_NVMXIP_H__ 10#define __DRIVER_NVMXIP_H__ 11 12#include <blk.h> 13 14#define NVMXIP_BLKDRV_NAME "nvmxip-blk" 15#define NVMXIP_BLKDEV_NAME_SZ 20 16 17/** 18 * struct nvmxip_plat - the NVMXIP driver plat 19 * 20 * @phys_base: NVM XIP device base address 21 * @lba_shift: block size shift count 22 * @lba: number of blocks 23 * 24 * The NVMXIP information read from the DT. 25 */ 26struct nvmxip_plat { 27 phys_addr_t phys_base; 28 u32 lba_shift; 29 lbaint_t lba; 30}; 31 32/** 33 * nvmxip_bind() - post binding treatments 34 * @dev: the NVMXIP device 35 * 36 * Create and probe a child block device. 37 * 38 * Return: 39 * 40 * 0 on success. Otherwise, failure 41 */ 42int nvmxip_probe(struct udevice *udev); 43 44#endif /* __DRIVER_NVMXIP_H__ */ 45