Ejemplo n.º 1
0
static void h3600_uart_pm(struct uart_port *port, u_int state, u_int oldstate)
{
	if (port->mapbase == _Ser2UTCR0) { /* TODO: REMOVE THIS */
		assign_h3600_egpio(IPAQ_EGPIO_IR_ON, !state);
	} else if (port->mapbase == _Ser3UTCR0) {
		assign_h3600_egpio(IPAQ_EGPIO_RS232_ON, !state);
	}
}
Ejemplo n.º 2
0
static void h3600_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
{
	soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
  
	
	assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 0);
	assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 0);
	assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 1);
}
Ejemplo n.º 3
0
static void h3600_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
{
	
	assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 1);
	assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 1);
	assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 0);

	msleep(10);

	soc_pcmcia_enable_irqs(skt, irqs, ARRAY_SIZE(irqs));
}
Ejemplo n.º 4
0
static void h3600_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
{
	soc_pcmcia_disable_irqs(skt, irqs, ARRAY_SIZE(irqs));

	
	if (skt->nr == 1) {
		assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 0);
		assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 0);
		
		assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 1);
	}
}
Ejemplo n.º 5
0
static int h3600_single_sleeve_pcmcia_configure_socket( const struct pcmcia_configure *configure )
{
    unsigned long flags;
    int sock = configure->sock;

    if(sock>1)
        return -1;


    if (0) printk(__FUNCTION__ ": socket=%d vcc=%d vpp=%d reset=%d\n",
                      sock, configure->vcc, configure->vpp, configure->reset);

    save_flags_cli(flags);
    switch (configure->vcc) {
    case 0:
        break;

    case 50:
    case 33:
        break;

    default:
        printk(KERN_ERR "%s(): unrecognized Vcc %u\n", __FUNCTION__,
               configure->vcc);
        restore_flags(flags);
        return -1;
    }

    assign_h3600_egpio( IPAQ_EGPIO_CARD_RESET, configure->reset );
    restore_flags(flags);
    return 0;
}
Ejemplo n.º 6
0
static int
h3600_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_t *state)
{
	if (state->Vcc != 0 && state->Vcc != 33 && state->Vcc != 50) {
		printk(KERN_ERR "h3600_pcmcia: unrecognized Vcc %u.%uV\n",
		       state->Vcc / 10, state->Vcc % 10);
		return -1;
	}

	assign_h3600_egpio(IPAQ_EGPIO_CARD_RESET, !!(state->flags & SS_RESET));

	

	return 0;
}
/*
 * This turns the IRDA power on or off on the Compaq H3600
 */
static inline int
sa1100_irda_set_power_h3600(struct sa1100_irda *si, unsigned int state)
{
	assign_h3600_egpio( IPAQ_EGPIO_IR_ON, state );
	return 0;
}
Ejemplo n.º 8
0
static int h3600_micro_audio_mute( int mute )
{
	assign_h3600_egpio( IPAQ_EGPIO_QMUTE, mute );
	return 0;
}
Ejemplo n.º 9
0
static void pcmcia_set_vpp(struct map_info *map, int vpp)
{
	/* ??? Is this correct? Why not set flash program mode? */
	assign_h3600_egpio( IPAQ_EGPIO_OPT_RESET, vpp );
}
Ejemplo n.º 10
0
/*
 * helper for sa1100fb
 */
static void h3xxx_lcd_power(int enable)
{
	assign_h3600_egpio(IPAQ_EGPIO_LCD_POWER, enable);
}
Ejemplo n.º 11
0
/*
 * This turns the IRDA power on or off on the Compaq H3600
 */
static int h3600_irda_set_power(struct device *dev, unsigned int state)
{
	assign_h3600_egpio( IPAQ_EGPIO_IR_ON, state );

	return 0;
}
Ejemplo n.º 12
0
static void h3xxx_set_vpp(int vpp)
{
	assign_h3600_egpio(IPAQ_EGPIO_VPP_ON, vpp);
}
static void h3xxx_set_vpp(struct map_info *map, int vpp)
{
	assign_h3600_egpio(IPAQ_EGPIO_VPP_ON, vpp);
}