Home | History | Annotate | Download | only in PlatformPei
      1 /** @file
      2   PC/AT CMOS access routines
      3 
      4   Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 
     16 #include "Cmos.h"
     17 #include "Library/IoLib.h"
     18 
     19 /**
     20   Reads 8-bits of CMOS data.
     21 
     22   Reads the 8-bits of CMOS data at the location specified by Index.
     23   The 8-bit read value is returned.
     24 
     25   @param  Index  The CMOS location to read.
     26 
     27   @return The value read.
     28 
     29 **/
     30 UINT8
     31 EFIAPI
     32 CmosRead8 (
     33   IN      UINTN                     Index
     34   )
     35 {
     36   IoWrite8 (0x70, (UINT8) Index);
     37   return IoRead8 (0x71);
     38 }
     39 
     40 
     41 /**
     42   Writes 8-bits of CMOS data.
     43 
     44   Writes 8-bits of CMOS data to the location specified by Index
     45   with the value specified by Value and returns Value.
     46 
     47   @param  Index  The CMOS location to write.
     48   @param  Value  The value to write to CMOS.
     49 
     50   @return The value written to CMOS.
     51 
     52 **/
     53 UINT8
     54 EFIAPI
     55 CmosWrite8 (
     56   IN      UINTN                     Index,
     57   IN      UINT8                     Value
     58   )
     59 {
     60   IoWrite8 (0x70, (UINT8) Index);
     61   IoWrite8 (0x71, Value);
     62   return Value;
     63 }
     64 
     65