1*53ee8cc1Swenshuai.xi /*! 2*53ee8cc1Swenshuai.xi \image rtf mstar_logo.png 3*53ee8cc1Swenshuai.xi \mainpage Utopia API specification 4*53ee8cc1Swenshuai.xi 5*53ee8cc1Swenshuai.xi <b>Purpose</b> 6*53ee8cc1Swenshuai.xi 7*53ee8cc1Swenshuai.xi This guide is for the developers, who intent to use MStar Device driver (Utopia) to achieve specific features or integrate into specific Application/Middleware interfaces. This guide describes the basic Utopia driver architecture and detail interface descriptions of modules. 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi <b> Abbrevation </b> 10*53ee8cc1Swenshuai.xi 11*53ee8cc1Swenshuai.xi There are the common abbreviations for specific module or well known terminology. 12*53ee8cc1Swenshuai.xi \image html utopia_arch3.png 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xi \section arch Architecture of Utopia 15*53ee8cc1Swenshuai.xi 16*53ee8cc1Swenshuai.xi <b> Unified Driver: </b> 17*53ee8cc1Swenshuai.xi - Utopia is MStar unified driver. The goals of unified driver are followings: 18*53ee8cc1Swenshuai.xi -# Easy to port new middleware 19*53ee8cc1Swenshuai.xi -# Easy to support other platform 20*53ee8cc1Swenshuai.xi -# Easy to adopt to different chip 21*53ee8cc1Swenshuai.xi And additional advantages: 22*53ee8cc1Swenshuai.xi -# Secure driver main flow 23*53ee8cc1Swenshuai.xi -# Keep field experience 24*53ee8cc1Swenshuai.xi -# Utilize resource 25*53ee8cc1Swenshuai.xi 26*53ee8cc1Swenshuai.xi <b> Design Concept: </b> 27*53ee8cc1Swenshuai.xi - A single driver supports a range of products and also supports multiple operation systems. 28*53ee8cc1Swenshuai.xi -# Cross chip 29*53ee8cc1Swenshuai.xi -# Cross-platform (CPU, OS, Toolchain) 30*53ee8cc1Swenshuai.xi -# nified interface 31*53ee8cc1Swenshuai.xi \image html utopia_arch.png 32*53ee8cc1Swenshuai.xi 33*53ee8cc1Swenshuai.xi <b>Layers:</b> 34*53ee8cc1Swenshuai.xi - Architecture of Utopia is divided into 4 layers. 35*53ee8cc1Swenshuai.xi -# Driver: Provide unified interfaces. Each drivers are independent. 36*53ee8cc1Swenshuai.xi -# Lower Driver: Provide system or lower common interfaces for Driver layer. 37*53ee8cc1Swenshuai.xi -# HAL: Abstract HW functions. 38*53ee8cc1Swenshuai.xi -# OS Wrapper: Wrap OS relative functions. 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi \image html utopia_arch2.png 41*53ee8cc1Swenshuai.xi 42*53ee8cc1Swenshuai.xi */ 43*53ee8cc1Swenshuai.xi 44*53ee8cc1Swenshuai.xi 45