Power Management Board Configuration

Power Management Configuration in System Firmware

The power management portion of system firmware has options that can be configured independently of the main Board Configuration. In addition, initialization of the power management portion of the system firmware can be deferred until this PM board configuration is sent to allow tuning of the system boot time.

Warning

The TISCI_MSG_BOARD_CONFIG_PM message MUST be sent in order to initialize the power management capabilities of system firmware. Until it is received no power management functionality is available.

The system remains in ROM configured PLL and clock configuration till this message is invoked. On invoking this call, standard OFC associated with the SoC is configured. This implies that many of three PLLs and clock tree will get reconfigured. IP level subdividers may need reconfiguration to continue operation at desired frequency after this switch over takes place. Though the ROM configured PLL is expected to be safe, it is usually suboptimal for complete operation of the SoC.

It is strongly recommended for proper care to be taken for key peripherals that may be operational and communicating external to SoC. For example, depending on the SoC and product, pinmux can be used to move the IP’s pins into isolation to prevent glitch events from being exported from the IP at the point of reconfiguration of PLLs system wide to the official OFC configuration.

A standalone board configuration message contains the power management data within a flat-typed array. The power management configuration is provided separately to reduce DMSC boot time. The power management board cfg message is sent any time after the boot notification message is sent and has no dependence upon receipt of the standard board configuration message.

TISCI API for PM Board Config

The following are the parameters required in the TI-SCI message to pass power management board configuration data to DMSC after DMSC sends boot notification complete. The PM board configuration message is not dependent on receipt of the standard board configuration message.

Usage

Message Type Normal
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_BOARD_CONFIG_PM          (0x000EU)

Message Data Structures

struct tisci_msg_board_config_pm_req

TISCI_MSG_BOARD_CONFIG_PM request to provide the location and size of the boardcfg Power Management configuration structure.

Parameter Type Description
hdr struct tisci_header TISCI header
boardcfg_pmp_low u32 Low 32-bits of physical pointer to boardcfg PM configuration struct.
boardcfg_pmp_high u32 High 32-bits of physical pointer to boardcfg PM configuration struct.
boardcfg_pm_size u16 Size of PM configuration data.

struct tisci_msg_board_config_pm_resp

Empty response for TISCI_MSG_BOARD_CONFIG_PM.

Parameter Type Description
hdr struct tisci_header TISCI header.

Although this message is essentially empty and contains only a header a full data structure is created for consistency in implementation.

boardcfg_pm structure

This is a fixed size c-structure which both defines the format of the configuration as well as reserves DMSC memory to store the configuration. However, the boardcfg_pm data structure is currently empty.

Warning

Although currently empty, in order to properly initialize the PM subsystem this message must still be sent with the address and size parameters all configured to 0.