Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
gpio.c File Reference
#include "ath5k.h"
#include "reg.h"
#include "debug.h"

Go to the source code of this file.

Functions

void ath5k_hw_set_ledstate (struct ath5k_hw *ah, unsigned int state)
 
int ath5k_hw_set_gpio_input (struct ath5k_hw *ah, u32 gpio)
 
int ath5k_hw_set_gpio_output (struct ath5k_hw *ah, u32 gpio)
 
u32 ath5k_hw_get_gpio (struct ath5k_hw *ah, u32 gpio)
 
int ath5k_hw_set_gpio (struct ath5k_hw *ah, u32 gpio, u32 val)
 
void ath5k_hw_set_gpio_intr (struct ath5k_hw *ah, unsigned int gpio, u32 interrupt_level)
 

Function Documentation

u32 ath5k_hw_get_gpio ( struct ath5k_hw ah,
u32  gpio 
)

ath5k_hw_get_gpio() - Get GPIO state : The &struct ath5k_hw : The GPIO pin to read

Definition at line 142 of file gpio.c.

int ath5k_hw_set_gpio ( struct ath5k_hw ah,
u32  gpio,
u32  val 
)

ath5k_hw_set_gpio() - Set GPIO state : The &struct ath5k_hw : The GPIO pin to set : Value to set (boolean)

Definition at line 159 of file gpio.c.

int ath5k_hw_set_gpio_input ( struct ath5k_hw ah,
u32  gpio 
)

ath5k_hw_set_gpio_input() - Set GPIO inputs : The &struct ath5k_hw : GPIO pin to set as input

Definition at line 106 of file gpio.c.

void ath5k_hw_set_gpio_intr ( struct ath5k_hw ah,
unsigned int  gpio,
u32  interrupt_level 
)

ath5k_hw_set_gpio_intr() - Initialize the GPIO interrupt (RFKill switch) : The &struct ath5k_hw : The GPIO pin to use : True to generate interrupt on active pin (high)

This function is used to set up the GPIO interrupt for the hw RFKill switch. That switch is connected to a GPIO pin and it's number is stored on EEPROM. It can either open or close the circuit to indicate that we should disable RF/Wireless to save power (we also get that from EEPROM).

Definition at line 189 of file gpio.c.

int ath5k_hw_set_gpio_output ( struct ath5k_hw ah,
u32  gpio 
)

ath5k_hw_set_gpio_output() - Set GPIO outputs : The &struct ath5k_hw : The GPIO pin to set as output

Definition at line 124 of file gpio.c.

void ath5k_hw_set_ledstate ( struct ath5k_hw ah,
unsigned int  state 
)

DOC: GPIO/LED functions

Here we control the 6 bidirectional GPIO pins provided by the hw. We can set a GPIO pin to be an input or an output pin on GPIO control register and then read or set its status from GPIO data input/output registers.

We also control the two LED pins provided by the hw, LED_0 is our "power" LED and LED_1 is our "network activity" LED but many scenarios are available from hw. Vendors might also provide LEDs connected to the GPIO pins, we handle them through the LED subsystem on led.c ath5k_hw_set_ledstate() - Set led state : The &struct ath5k_hw : One of AR5K_LED_*

Used to set the LED blinking state. This only works for the LED connected to the LED_0, LED_1 pins, not the GPIO based.

Definition at line 53 of file gpio.c.