UFS 1.1 Stack & Driver
The UFS Host Stack is a stack developed for UFS Host Controllers that is used to connect to UFS devices via UniPro/PHY. The stack can also be used for validating a UFS device during its development and integration life cycles thereby helping designers to reduce the time to market for their product.
The modular UFS Host stack is architected to be OS and platform independent which eases porting effort. It has a thin OS and hardware abstraction layers making it highly portable.
The UFS host stack has a low level hardware layer which is purely OS independent and users can use this layer alone for UFS host/device validation with no driver complexity. The UFS stack provides a generic API set to access, control and configure the bus driver, host controller driver and the underlying hardware. The stack include functions for UFS initialization, UniPro attributes configuration, sending/Receiving of commands/tasks in the form of UPIUs, data transfer, UFS interrupt handling, UFS device configuration and UFS host controller hardware configuration. The UFS host stack can support a single UFS host controller with single UFS Device.
- Compliant with JEDEC UFS HCI 1.1 and MIPI UniPro Specification version 1.41
- Portability in choice of OS, processors and hardware
- Easy-to-use interface for applications
- Fully documented generic device operation API
The Arasan UFS host stack consists of the following layers:
a) Application Interface Layer (API Layer)
b) Protocol Layer
c) Host Controller Driver Layer
d) Low level Hardware Abstraction Layer , and
e) OS Abstraction Layer.
The layered architecture allows for easy porting to various operating systems and various platforms.
Client applications such as the function drivers interface with the API layer to use the UFS device. The low level details of the protocol is abstracted for the end-user and is handled in the software stack. A set of well defined APIs are provided at this layer.
- System manufacturers can port the UFS stack to respective system hardware and operating systems
- Silicon developers can use the driver and board environment to test the device silicon during development
- Silicon vendors can use the driver to create a reference system design for their customers
- Source code( in c language) and/or binaries for applicatioin processor UFS stack.
- API Guide
- User manual