The MIPI Alliance was created to define and promote open standards for interfaces to mobile application processors. The UniPro (Unified Protocol) is one in a family of standard addressing the mobile market. UniPro is a high speed interface technology for interconnecting integrated circuits in mobile phones or compatible products. The targeted scenario for UniPro technology is to connect chips (such as application processor to a peripheral device) within a mobile terminal.
The Arasan UniPro software stack serves as a path for applications to transmit data over the hardware stack and also to indicate the availability of data from the remote host. The stack exports a generic set of device operation APIs (such as initialization, configuration, data transfer, callback registration for event notifications, shutdown etc.) for easy integration with client applications. It provides an easy-to-use interface to client application by managing all the nitty-gritty details of UniPro protocol in the stack itself. A layered architecture for the stack makes it possible to port, configure and expand to various platforms, OS and various target hardware devices.
The UniPro software stack implements a scheduling engine and connection specific input output queue to provide better memory utilization and to provide Quality of Service (QoS) for different requirements of the stream. Hardware does the physical bus arbitration and scheduling of packets for TC0 and TC1 traffic classes at physical level. The software does the scheduling mapping at more granular reason based on requirements of a stream.