achware.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
- /******************************************************************************
- *
- * Name: achware.h -- hardware specific interfaces
- * $Revision: 56 $
- *
- *****************************************************************************/
- /*
- * Copyright (C) 2000, 2001 R. Byron Moore
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- #ifndef __ACHWARE_H__
- #define __ACHWARE_H__
- /* PM Timer ticks per second (HZ) */
- #define PM_TIMER_FREQUENCY 3579545
- /* Prototypes */
- acpi_status
- acpi_hw_initialize (
- void);
- acpi_status
- acpi_hw_shutdown (
- void);
- acpi_status
- acpi_hw_initialize_system_info (
- void);
- acpi_status
- acpi_hw_set_mode (
- u32 mode);
- u32
- acpi_hw_get_mode (
- void);
- u32
- acpi_hw_get_mode_capabilities (
- void);
- /* Register I/O Prototypes */
- u32
- acpi_hw_register_bit_access (
- NATIVE_UINT read_write,
- u8 use_lock,
- u32 register_id,
- ... /* DWORD Write Value */);
- u32
- acpi_hw_register_read (
- u8 use_lock,
- u32 register_id);
- void
- acpi_hw_register_write (
- u8 use_lock,
- u32 register_id,
- u32 value);
- u32
- acpi_hw_low_level_read (
- u32 width,
- acpi_generic_address *reg,
- u32 offset);
- void
- acpi_hw_low_level_write (
- u32 width,
- u32 value,
- acpi_generic_address *reg,
- u32 offset);
- void
- acpi_hw_clear_acpi_status (
- void);
- u32
- acpi_hw_get_bit_shift (
- u32 mask);
- /* GPE support */
- void
- acpi_hw_enable_gpe (
- u32 gpe_number);
- void
- acpi_hw_enable_gpe_for_wakeup (
- u32 gpe_number);
- void
- acpi_hw_disable_gpe (
- u32 gpe_number);
- void
- acpi_hw_disable_gpe_for_wakeup (
- u32 gpe_number);
- void
- acpi_hw_clear_gpe (
- u32 gpe_number);
- void
- acpi_hw_get_gpe_status (
- u32 gpe_number,
- acpi_event_status *event_status);
- void
- acpi_hw_disable_non_wakeup_gpes (
- void);
- void
- acpi_hw_enable_non_wakeup_gpes (
- void);
- /* Sleep Prototypes */
- acpi_status
- acpi_hw_obtain_sleep_type_register_data (
- u8 sleep_state,
- u8 *slp_typ_a,
- u8 *slp_typ_b);
- /* ACPI Timer prototypes */
- acpi_status
- acpi_get_timer_resolution (
- u32 *resolution);
- acpi_status
- acpi_get_timer (
- u32 *ticks);
- acpi_status
- acpi_get_timer_duration (
- u32 start_ticks,
- u32 end_ticks,
- u32 *time_elapsed);
- #endif /* __ACHWARE_H__ */