We are ARM software experts
and we can help you.
Linaro Developer Services has experience developsing, portsing and maintainsing Android on a variety of platforms. This includes bootloader ports, implementations of fastboot and the Linux kernel, and changes to the Android HAL to support the hardware. The Linaro Mobile group has done extensive work to optimize Android for restricted memory devices, work which Linaro Developer Services has been able to leverage for several customers’ devices. . By developing and upstreaming BSP support for the HiKey and HiKey960 96Boards, Linaro has played an instrumental part in enabling Google to develop community board support in AOSP.
Linaro Developer Services has extensive experience developing and maintaining bootloaders for a variety of boards that boot embedded Linux or AOSP. The team has developed and maintains a number of ports of ARM Trusted Firmware, UEFI and U-Boot. These ports lay the foundations for the development of a secure boot process from initial power on, through to the loading of the operating system kernel.
ARM Trusted Firmware
We have provided several of our clients with ports of ARM Trusted Firmware. These ports are a reference implementation of secure world software for our clients SoC and board, and have been upstreamed to be included in ARM Trusted Firmware by default.
They feature full support for the ability to load a trusted execution environment such as OPTEE, and implementations of the ARM Power State Coordination Interface (PSCI), along with a secure monitor using the ARM SMC calling convention so the non-secure world may communicate with both. All ports feature the low level initialization of the secure world, as well as the addition of drivers to initialize and use the various hardware peripherals (UFS, eMMC, USB, etc) needed by the firmware.
Support for Trusted Board Boot Requirements (TBBR) is available, including image authentication using certificates, a firmware update/recovery mode boot flow, and packaging of the various firmware images into a Firmware Image Package (FIP) to be loaded from non-volatile storage. The ports all switch to non-secure mode and support the loading of a second stage bootloader such as UEFI or U-Boot.
LDS has provided several of its clients with upstreamed ports of the Unified Extensible Firmware Interface (UEFI). These ports are based on the EDKII UEFI reference implementation.
All ports feature the low level initialization of the non-secure world, as well as the addition of drivers to initialize and use the various hardware (UFS, eMMC, USB, etc) present on the device and boards needed by the bootloader. Also supported are EFI applications for fastboot and PXE.
U-Boot We also have experience in providing clients with upstreamed ports of U-Boot. All ports feature the low level initialization of the non-secure world, as well as the addition of drivers to initialize and use the various hardware devices (UFS, eMMC, USB, etc) required by the bootloader. Also supported in U-Boot is the fastboot protocol.
Linaro is consistently listed as one of the top five company contributors, worldwide, to Linux kernels since 3.10. Contributions go through cycles and Linaro was ranked #1 in Kernel 4.9 due to a block of contributions developed as part of project Ara. Linaro currently has over 25 kernel maintainers on staff.
Linaro makes contributions that cannot easily be accessed elsewhere – examples include core scheduler development, thermal and power management, EAS tuning and optimization. Being part of Linaro means Linaro Developer Services can access this specialist knowledge and provide expert advice.
Developer Services engineers have a wide variety of experience in the kernel. We can help you develop a device tree description of your hardware, as well as design, develop and debug the core kernel and a wide variety of device drivers for specific peripherals. We can also assist with upstreaming your kernel. Our engineers are experts at analyzing kernel code, breaking it into topic branches and refactoring the code to meet upstream standards. We are adept at managing the code submission and review process, andensure submitted code is actually ready for submission before being sent, teaching your engineers how to prepare and send the code to the mailing list. Developer Services engineers effectively teach you how to interact with the kernel maintainers.
Linaro Developer Services has extensive experience in helping clients improve their existing tools and infrastructure through optimization and automation.
Our close working relationship with ARM and the Open Source Community enables us to provide invaluable expertise and insight to ensure you get the maximum level of performance from your products.
The team has worked on a range ofoptimization projects for customers, covering everything frommemory size optimizations for restricted memory devices, to power usage optimizations in the kernel, boot time optimizations for set top boxesand performance optimizations in libraries like libc.
From power management to tuning services for IPA and EAS or boot time optimization, we work hard to ensure maximum performance, and can point to several projects where we have successfully achieved this. For the 96Board product HiKey XX, we maximised performance by keeping the SoC within safe thermal envelope. And thanks to the results from the Linaro Mobile Group’s lead project on size optimization of Android, we have helpedseveral members further optimize their products.
We also provide system analysis. As part of this review, we will identify the offending drivers preventing the system from reaching low power states or unnecessarily waking up the system. We will then enable power management awareness when developing software IP and debug kernel and PSCI interaction.