Skip to content

Latest commit

 

History

History
194 lines (155 loc) · 6.46 KB

change_log.md

File metadata and controls

194 lines (155 loc) · 6.46 KB

SCP-firmware Change Log

Copyright (c) 2019-2020, Arm Limited and Contributors. All rights reserved.

SCP-firmware - version 2.6.0

New features

  • Support for the following platforms has been added :-

    • Juno Arm Development Platform
    • Neoverse N1 Software Development Platform
    • SGM-776
    • RD-N1-Edge
    • RD-N1-Edge Dual-Chip
    • RD-Daniel Config-M
  • New modules:

    • DMC500
    • XRP7724
    • CDCEL937
    • I2C
    • dw_apb_i2c (Synopsis DesignWare I2C controller)
    • mock_sensor
    • Debug Module
    • System Info

Changed

  • Build System: static analysis: Add suppression list for Cppcheck Static Code Analysis tools: Add script to check usage of banned functions build: enhance entry guards in internal header files

  • Documentation: DVFS: Document DVFS architecture doc: Fix link location for Cppcheck suppression list doc: Correct Cppcheck invocation description doc: Add notification information to the documentation doc: Clarify contributors' and Maintainers' responsibilities doc: Update list of maintainers for SCP-firmware doc: Add documentation for deferred responses doc: Add glossary to Doxygen configuration input

  • Framework: fwk/notification: Allow use of provided source_id for notify thread: Get head of delayed response list module: Add FWK_ID_NONE source_id for notifications fwk: Delete fwk_module_check_call implementation fwk: Extend delayed response support fwk: Split delayed response from fwk_multi_thread fwk_interrupt: add missing declaration of exported functions fwk_thread: Clarify support for delayed responses fwk: Rename fwk_errno.h to fwk_status.h fwk_errno: Add FWK_PENDING return value fwk_module: Extend fwk_module_get_data for sub-elements framework: allow product to define notification count

  • Modules: DVFS: Add support for pending requests clock: Add full support for asynchronous drivers scmi_clock: Add support for pending requests scmi_sensor: Add support for pending responses sensor: Add support for asynchronous drivers arch/armv7-m: Split exception table from handlers arm7-m: Add support for custom default exception handler

SCP-firmware - version 2.5.0

New features

  • Modules:

    • CMN600 support
    • DMC620 support
    • apcontext: New module to zero the AP context area
  • Platforms:

    • Support for the SGI-575 platform
    • Support for the Neoverse N1 reference design

Note: Juno, Neoverse N1 SDP, Neoverse E1 reference design and SynQuacer products are NOT part of this release.

Changed

  • Build System:

    • Name firmware bin and elf file by the name of the firmware
  • Documentation:

    • Emphasized that the order of the modules in the BS_FIRMWARE_MODULES list in the firmware definition makefiles is the order in which the modules are initialized, bound and started during the pre-runtime phase.
    • Expand Doxygen use of param [out]
    • Improve coding style and rules
  • Framework:

    • Improve error codes and their documentation
    • Add fwk_module_get_sub_element_count API
    • Improve unit testing of fwk_module.c
    • Replace base alignment reference type with max_align_t
  • Modules:

    • sds: Make initialization deferring optional
    • sds: Send notification once SDS is initialized
    • scmi: Subscribe to SMT ready notifications and send notification when service is initialized
    • smt: Add logging on mailbox ownership error
    • smt: Send notification when each SMT mailbox is initialized
    • sid: Move to an always available interface
    • system_power: Introduce platform interrupts and enable a configurable number of system PPUs
    • cmn600: Add the ccix programming for cmn600

Resolved issues

  • Build System:

    • Disable generation of unaligned accesses
  • Framework:

    • list: Always zero list nodes when removed from a list
    • Zero event list node when duplicating an event
  • Modules:

    • cmn600: Fix inappropriately-initialised global state
    • cmn600: Stop checking type of external nodes
    • ppu_v0: Ensure bound_id is set when bound by system_power
    • system_power: Fix extented PPU support

SCP-firmware - version 2.4.0

New features

  • Module-based architecture with an event-driven execution model:

    • Firmware code is organized into modules, where a module fulfills a well- defined role (driver HAL, driver, protocol or service).
    • A framework drives the initialization, orchestration of, and interactions between modules.
  • Processor-agnostic module code enables firmware portability across systems:

    • Processor-dependent features (e.g. interrupt handling) are abstracted from the modules by the framework.
    • The framework relies on an interface whose implementation is processor- dependent to provide these features.
  • Module configurability easing the re-use of modules on different platforms:

    • Strict split between the hardware and software feature configuration data and module code.
  • A native framework test suite provides rapid development and validation of the core framework implementation.

  • Support for Armv7-M control processor architecture based on CMSIS v5 and Keil RTX 5.

  • Provides system initialization support to enable boot of the application cores.

  • Provides the following runtime services:

    • Power domain management
    • System power management
    • Performance domain management (Dynamic voltage and frequency scaling)
    • Clock management
    • Sensor management
  • Provides a reference implementation of the System Control and Management Interface v1.0 (SCMI, platform-side). The SCMI specification can be found here.

  • Provides a build system supporting:

    • The GNU Arm Embedded and Arm Compiler 6 toolchains
    • Platforms with multiple firmware images
  • In-source Doxygen documentation

  • Support for the SGM-775 platform

Known issues

  • The Juno platform is extremely limited with regards to available memory. As a result the debug experience is poor, and the ability to add new features severely restricted.
  • arm-compiler-6 does not support LTO with our build system. No runs can be done when the SCP-firmware is built with arm-compiler-6 due to space limitations.