Example #1
0
void HCA700_IO_init()
{
	init_gpio_lib();
	set_gpio_output(IO_PORT,WIFI_POWER_PIN, 1);
	set_gpio_output(IO_PORT,AMP_POWER_PIN, 1);
	set_gpio_output(IO_PORT,USB_SWITCH_EN_PIN, 0);
	//set_gpio_output(IO_PORT,USB_SWITCH_FUNCTION_PIN, 1);
	set_gpio_output(IO_PORT,WM8750_CLOCK_PIN, 1);
	set_gpio_output(IO_PORT,DEBUG_LED_PIN, 1);
	set_gpio_output(IO_PORT,SD_CARD_POWER_PIN, 0);

	set_gpio_input(IO_PORT,CHARGER_FULL_INDICATOR_PIN);
	set_gpio_input(IO_PORT,NO_BATTERY_INDICATOR_PIN);
	set_gpio_input(IO_PORT,KEY_VOL_DOWN_PIN);
	set_gpio_input(IO_PORT,KEY_VOL_UP_PIN);
	set_gpio_input(IO_PORT,KEY_VOL_POWER_PIN);
	set_gpio_input(IO_PORT,KEY_VOL_MUTE_PIN);
	set_gpio_input(IO_PORT,DC5V_PLUGIN_INDICATOR_PIN);
	set_gpio_input(IO_PORT,WIFI_OVER_CURRENT_INDICATOR_PIN);
/*	
	HCA700_wifi_power_on();
	HCA700_AMP_power_on();
	HCA700_USB_switch_on();
	HCA700_USB_function_NONE();
	HCA700_WM8750_on();
	HCA700_SD_card_power_on();
*/	
}
Example #2
0
static int init_gpio (void)
{
    //Init the input and output queues
    queue_init (&gpio_input_q);
    queue_init (&gpio_output_q);
    
    wiringPiSetup ();
    pinMode (WPC_RST, INPUT);
    pinMode (IN_IRQ, INPUT);
    pinMode (WPC_RST, INPUT);

    pinMode (STATUS_LED, OUTPUT);
    pinMode (OUT_CLK, OUTPUT);
    pinMode (IC6_DIR, OUTPUT);
    pinMode (IC3_CE, OUTPUT);
    
    wiringPiISR (IN_IRQ, INT_EDGE_FALLING, &irq_recv);
    wiringPiISR (WPC_RST, INT_EDGE_FALLING, &rst_recv);
 
    
    set_gpio_input ();

    digitalWrite (STATUS_LED, 1);
    return 0;
}
Example #3
0
static void write_gpio (uint8_t val)
{
    //Set GPIO buffer to output
    set_gpio_output ();
    
    //Disable IC3 for a moment
    digitalWrite (IC3_CE, IC3_DISABLE);
    //Write to output buffer
    digitalWriteByte (val);
    output_waiting = true;
    //Clock the data into IC4, ready for the WPC to pick it up
    out_clk ();

    //Set GPIO buffer back to input
    digitalWrite (IC3_CE, IC3_ENABLE);
    set_gpio_input ();
}