123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /** @file
- Platform helper LED routines.
- Copyright (c) 2013-2015 Intel Corporation.
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include <PiDxe.h>
- #include "CommonHeader.h"
- //
- // Routines defined in other source modules of this component.
- //
- //
- // Routines local to this source module.
- //
- VOID
- GalileoGen2RouteOutFlashUpdateLed (
- VOID
- )
- {
- //
- // For GpioNums below values 0 to 7 are for Port0 ie P0-0 - P0-7 and
- // values 8 to 15 are for Port1 ie P1-0 - P1-7.
- //
- //
- // Disable Pull-ups / pull downs on EXP0 pin for LVL_B_PU7 signal.
- //
- PlatformPcal9555GpioDisablePull (
- GALILEO_GEN2_IOEXP0_7BIT_SLAVE_ADDR, // IO Expander 0.
- 15 // P1-7.
- );
- //
- // Make LVL_B_OE7_N an output pin.
- //
- PlatformPcal9555GpioSetDir (
- GALILEO_GEN2_IOEXP0_7BIT_SLAVE_ADDR, // IO Expander 0.
- 14, // P1-6.
- FALSE
- );
- //
- // Set level of LVL_B_OE7_N to low.
- //
- PlatformPcal9555GpioSetLevel (
- GALILEO_GEN2_IOEXP0_7BIT_SLAVE_ADDR,
- 14,
- FALSE
- );
- //
- // Make MUX8_SEL an output pin.
- //
- PlatformPcal9555GpioSetDir (
- GALILEO_GEN2_IOEXP1_7BIT_SLAVE_ADDR, // IO Expander 1.
- 14, // P1-6.
- FALSE
- );
- //
- // Set level of MUX8_SEL to low to route GPIO_SUS<5> to LED.
- //
- PlatformPcal9555GpioSetLevel (
- GALILEO_GEN2_IOEXP1_7BIT_SLAVE_ADDR, // IO Expander 1.
- 14, // P1-6.
- FALSE
- );
- }
- //
- // Routines exported by this source module.
- //
- /**
- Init platform LEDs into known state.
- @param PlatformType Executing platform type.
- @param I2cBus Pointer to I2c Host controller protocol.
- @retval EFI_SUCCESS Operation success.
- **/
- EFI_STATUS
- EFIAPI
- PlatformLedInit (
- IN CONST EFI_PLATFORM_TYPE Type
- )
- {
- EFI_BOOT_MODE BootMode;
- BootMode = GetBootModeHob ();
- //
- // Init Flash update / recovery LED in OFF state.
- //
- if (BootMode == BOOT_ON_FLASH_UPDATE || BootMode == BOOT_IN_RECOVERY_MODE) {
- if (Type == GalileoGen2) {
- PlatformLegacyGpioSetLevel (R_QNC_GPIO_RGLVL_RESUME_WELL, GALILEO_GEN2_FLASH_UPDATE_LED_RESUMEWELL_GPIO, FALSE);
- GalileoGen2RouteOutFlashUpdateLed ();
- } else if (Type == Galileo) {
- PlatformLegacyGpioSetLevel (R_QNC_GPIO_RGLVL_RESUME_WELL, GALILEO_FLASH_UPDATE_LED_RESUMEWELL_GPIO, FALSE);
- } else {
- //
- // These platforms have no flash update LED.
- //
- }
- }
- return EFI_SUCCESS;
- }
- /**
- Turn on or off platform flash update LED.
- @param PlatformType Executing platform type.
- @param TurnOn If TRUE turn on else turn off.
- @retval EFI_SUCCESS Operation success.
- **/
- EFI_STATUS
- EFIAPI
- PlatformFlashUpdateLed (
- IN CONST EFI_PLATFORM_TYPE Type,
- IN CONST BOOLEAN TurnOn
- )
- {
- if (Type == GalileoGen2) {
- PlatformLegacyGpioSetLevel (R_QNC_GPIO_RGLVL_RESUME_WELL, GALILEO_GEN2_FLASH_UPDATE_LED_RESUMEWELL_GPIO, TurnOn);
- } else if (Type == Galileo) {
- PlatformLegacyGpioSetLevel (R_QNC_GPIO_RGLVL_RESUME_WELL, GALILEO_FLASH_UPDATE_LED_RESUMEWELL_GPIO, TurnOn);
- } else {
- //
- // These platforms have no flash update LED.
- //
- }
- return EFI_SUCCESS;
- }
|