include/acpi/achware.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     1 /******************************************************************************
       
     2  *
       
     3  * Name: achware.h -- hardware specific interfaces
       
     4  *
       
     5  *****************************************************************************/
       
     6 
       
     7 /*
       
     8  * Copyright (C) 2000 - 2008, Intel Corp.
       
     9  * All rights reserved.
       
    10  *
       
    11  * Redistribution and use in source and binary forms, with or without
       
    12  * modification, are permitted provided that the following conditions
       
    13  * are met:
       
    14  * 1. Redistributions of source code must retain the above copyright
       
    15  *    notice, this list of conditions, and the following disclaimer,
       
    16  *    without modification.
       
    17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
       
    18  *    substantially similar to the "NO WARRANTY" disclaimer below
       
    19  *    ("Disclaimer") and any redistribution must be conditioned upon
       
    20  *    including a substantially similar Disclaimer requirement for further
       
    21  *    binary redistribution.
       
    22  * 3. Neither the names of the above-listed copyright holders nor the names
       
    23  *    of any contributors may be used to endorse or promote products derived
       
    24  *    from this software without specific prior written permission.
       
    25  *
       
    26  * Alternatively, this software may be distributed under the terms of the
       
    27  * GNU General Public License ("GPL") version 2 as published by the Free
       
    28  * Software Foundation.
       
    29  *
       
    30  * NO WARRANTY
       
    31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
       
    32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
       
    33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
       
    34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
       
    35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
       
    36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
       
    37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
       
    38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
       
    39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
       
    40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       
    41  * POSSIBILITY OF SUCH DAMAGES.
       
    42  */
       
    43 
       
    44 #ifndef __ACHWARE_H__
       
    45 #define __ACHWARE_H__
       
    46 
       
    47 /* PM Timer ticks per second (HZ) */
       
    48 
       
    49 #define PM_TIMER_FREQUENCY  3579545
       
    50 
       
    51 /* Values for the _SST reserved method */
       
    52 
       
    53 #define ACPI_SST_INDICATOR_OFF  0
       
    54 #define ACPI_SST_WORKING        1
       
    55 #define ACPI_SST_WAKING         2
       
    56 #define ACPI_SST_SLEEPING       3
       
    57 #define ACPI_SST_SLEEP_CONTEXT  4
       
    58 
       
    59 /* Prototypes */
       
    60 
       
    61 /*
       
    62  * hwacpi - high level functions
       
    63  */
       
    64 acpi_status acpi_hw_set_mode(u32 mode);
       
    65 
       
    66 u32 acpi_hw_get_mode(void);
       
    67 
       
    68 /*
       
    69  * hwregs - ACPI Register I/O
       
    70  */
       
    71 struct acpi_bit_register_info *acpi_hw_get_bit_register_info(u32 register_id);
       
    72 
       
    73 acpi_status
       
    74 acpi_hw_register_read(u32 register_id, u32 * return_value);
       
    75 
       
    76 acpi_status acpi_hw_register_write(u32 register_id, u32 value);
       
    77 
       
    78 acpi_status
       
    79 acpi_hw_low_level_read(u32 width,
       
    80 		       u32 * value, struct acpi_generic_address *reg);
       
    81 
       
    82 acpi_status
       
    83 acpi_hw_low_level_write(u32 width, u32 value, struct acpi_generic_address *reg);
       
    84 
       
    85 acpi_status acpi_hw_clear_acpi_status(void);
       
    86 
       
    87 /*
       
    88  * hwgpe - GPE support
       
    89  */
       
    90 acpi_status acpi_hw_low_disable_gpe(struct acpi_gpe_event_info *gpe_event_info);
       
    91 
       
    92 acpi_status
       
    93 acpi_hw_write_gpe_enable_reg(struct acpi_gpe_event_info *gpe_event_info);
       
    94 
       
    95 acpi_status
       
    96 acpi_hw_disable_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
       
    97 			  struct acpi_gpe_block_info *gpe_block);
       
    98 
       
    99 acpi_status acpi_hw_clear_gpe(struct acpi_gpe_event_info *gpe_event_info);
       
   100 
       
   101 acpi_status
       
   102 acpi_hw_clear_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
       
   103 			struct acpi_gpe_block_info *gpe_block);
       
   104 
       
   105 acpi_status
       
   106 acpi_hw_get_gpe_status(struct acpi_gpe_event_info *gpe_event_info,
       
   107 		       acpi_event_status * event_status);
       
   108 
       
   109 acpi_status acpi_hw_disable_all_gpes(void);
       
   110 
       
   111 acpi_status acpi_hw_enable_all_runtime_gpes(void);
       
   112 
       
   113 acpi_status acpi_hw_enable_all_wakeup_gpes(void);
       
   114 
       
   115 acpi_status
       
   116 acpi_hw_enable_runtime_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
       
   117 				 struct acpi_gpe_block_info *gpe_block);
       
   118 
       
   119 #ifdef	ACPI_FUTURE_USAGE
       
   120 /*
       
   121  * hwtimer - ACPI Timer prototypes
       
   122  */
       
   123 acpi_status acpi_get_timer_resolution(u32 * resolution);
       
   124 
       
   125 acpi_status acpi_get_timer(u32 * ticks);
       
   126 
       
   127 acpi_status
       
   128 acpi_get_timer_duration(u32 start_ticks, u32 end_ticks, u32 * time_elapsed);
       
   129 #endif				/* ACPI_FUTURE_USAGE */
       
   130 
       
   131 #endif				/* __ACHWARE_H__ */