diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,92 @@ + + + + + +Adaptation Process GuideAdaptation is the process of porting a platform on to a +new hardware configuration. The existing process requires developers +to write new hardware abstractions for any changes in the hardware +configuration. Platform services provide a simple standard interface +that reduces the adaptation time for a given hardware component. +
Hardware

A hardware component can be added to introduce a new feature or +create a new variant of an existing feature. Mobile phones are developed +with various form factors, a new variant is created for each form +factor.

A particular new piece of hardware may require several +platform services to be used to support all the functionality of that +hardware. A camera may provide photos and video streams and require +the use of a GPIO platform service to configure the camera resolution, +to set focal distance, or to trigger the shutter.

+Basic blocks of an adaptation + +
+
Platform +services

Platform services are intended to be platform agnostic +and aim to reduce the porting time of hardware adaptation from one +platform to other. Platform services can be broadly classified into +two categories:

    +
  1. Platform services +that provide a service to other platform services.

  2. +
  3. Platform services +that use various kernel services and other platform services to drive +a hardware component.

  4. +
+ Types of platform service + +

The adaptation developer should identify the platform services + required to implement the new hardware. Some platform services may +already be implemented for other hardware and so it may be a simple +matter of reusing another implementation with minor modifications +for your particular component.

+
Hardware +configurations

The adaptation will use certain hardware +configurations and some of the configuration parameters can be reused. +Reusable hardware configurations can be stored in a repository called +the Hardware Configuration Repository (HCR). The HCR allows the configurations +to be stored in the repository during various stages of the device +creation. The HCR platform service provides APIs to the kernel and +device drivers to read the values stored in the repository. For more +information, see the HCR Platform Service documentation.

+
Implementation

The adaptation developer needs to know the specifications to implement +a hardware on the device. The implementation process involves the +identification of other services that must be implemented to support +a hardware. The other services may be provided by other platform services, +kernel extensions or drivers of other hardware components.

+
Platform +service compliance

Once the hardware component is implemented, +the developer must ensure that the implementation conforms to the +relevant platform service compliance testing. If the test fails then +the adaptation code should be modified until the tests pass.

+
Adaptation +process

The adaptation process can be summarized as:

    +
  1. Identify the +hardware

  2. +
  3. Identify the +platform services required to implement the hardware component

  4. +
  5. Identify the +dependencies

  6. +
  7. Identify the +required interfaces to be implemented

  8. +
  9. Implement the +required interfaces

  10. +
  11. Build and test +the interfaces

  12. +
  13. Modify the implementation, +if required

  14. +
+Adaptation process flowchart + +
+
+What +is Adaptation? +What +is a Platform Service? +Platform +Services +
\ No newline at end of file