7
Presented by Date Event SFO15-501: Lead Project: Android Consolidation Rob Herring Rob Herring Friday 25 September 2015 SFO15

SFO15-501: HAL Unification in Android

  • Upload
    linaro

  • View
    529

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SFO15-501: HAL Unification in Android

Presented by

Date

Event

SFO15-501: Lead Project: Android Consolidation

Rob HerringRob Herring

Friday 25 September 2015

SFO15

Page 2: SFO15-501: HAL Unification in Android

Problem Statement● Supporting Android on each platform requires

development, test, support and maintenance of whole software stack consisting of Trustzone, bootloader (fastboot), kernel, and Android HALs

● How to support 2, 10, or 96 different boards?● No upstream for Android HALs● Fragmented kernel driver interfaces

Page 3: SFO15-501: HAL Unification in Android

Goals● Develop kernel support once across distros (Android,

ChromeOS, traditional Linux)● Mainline kernels just work● Eliminate need for custom HALs● Make adding devices and updating to new Android

versions easier● Create an upstream community for Android devices

Page 4: SFO15-501: HAL Unification in Android

Initial Engineering Areas

● HALs○ Graphics - DRM○ WiFi/BT○ Vibrator - replacing timed-gpio with led-triggers○ Lights

● Build system

Page 5: SFO15-501: HAL Unification in Android

DRM Graphics

● Plumbers Conf summary● Coordinate various Android DRM efforts

○ Linaro, Android-x86, Freedreno, TI● hwcomposer adaptation for atomic modeset● Android sync fence support in DRM● Consolidate DRM test suite

Page 6: SFO15-501: HAL Unification in Android

WiFi/BT

● Mainline drivers work OOTB● Identify gaps in mainline WiFi● UART slave support (part of kernel

consolidation)

Page 7: SFO15-501: HAL Unification in Android

Build System

● Single system image across devices○ Improve our own house first○ Differences in devices drives consolidation development tasks○ Android One style partitioning

● Make configuration more dynamic● Better configuration tracking

○ kconfig for Android?○ separate compiler config from device config

● Improve build times - rebuild less often and fewer components