Beispiel #1
0
void power_off_backlight(void)
{
    //BL_PWM -> GPIOD_18: 0
#if 0
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
#else    
	set_gpio_val(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), 0);
	set_gpio_mode(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), GPIO_OUTPUT_MODE);
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_2, (1<<31));
	CLEAR_CBUS_REG_MASK(PWM_MISC_REG_AB, (1 << 0));
	set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
	set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
#endif

    printf("test lcd power and backlight off\n");
    //test
    *((unsigned long*)0xC1108048) &= ~(1<<16);  //GPIOD18 backlight enable
    *((unsigned long*)0xC110804c) &= (1<<16);  //GPIOD18 backlight enable

    *((unsigned long*)0xC1108030) &= ~(1<<11);  //GPIOA7 backlight pwm
    *((unsigned long*)0xC1108034) &= (1<<11);  //GPIOA7 backlight pwm

    *((unsigned long*)0xC1108048) &= ~(1<<10);  //GPIOD12 lcd power
    *((unsigned long*)0xC110804c) &= ~(1<<10);  //GPIOD12  lcd power
    *((unsigned long*)0xC1108048) &= ~(1<<11);  //GPIOD13 lcd vcc
    *((unsigned long*)0xC110804c) |= ~(1<<11);  //GPIOD13  lcd vcc

}
static void powerkey_led_on(void)
{
	//red light off
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_8, (1<<5));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_12, (1<<11));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_0, (1<<13));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_1, (1<<2));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_9, (1<<18));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_11, (1<<4));
	set_gpio_val(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), 1);
	set_gpio_mode(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), GPIO_OUTPUT_MODE);

	//green light on
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_5, ((1<<29)|(1<<30)));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_11, (1<<22));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_6, (1<<10));
	set_gpio_val(GPIOE_bank_bit16_21(20), GPIOE_bit_bit16_21(20), 0);
	set_gpio_mode(GPIOE_bank_bit16_21(20), GPIOE_bit_bit16_21(20), GPIO_OUTPUT_MODE);

	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_12, (1<<29));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_5, ((1<<14)|(1<<20)));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_7, ((1<<12)|(1<<13)));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_8, (1<<21));
	set_gpio_val(GPIOD_bank_bit2_24(23), GPIOD_bit_bit2_24(23), 1);
	set_gpio_mode(GPIOD_bank_bit2_24(23), GPIOD_bit_bit2_24(23), GPIO_OUTPUT_MODE);
}
void power_on_backlight(void)
{
    //BL_PWM -> GPIOA_7: 1
    msleep(200);
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 1);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE); 
    //BL_adj -> VGHL_CS0: VGHL_PWM_REG0[3:0]=0x0
    //Idim=(375*(VGHL_PWM_REG0[3:0])/15)uA; BL_max_level:VGHL_PWM_REG0[3:0]=0x0 / BL_min_level:VGHL_PWM_REG0[3:0]=0xf    
    WRITE_CBUS_REG(VGHL_PWM_REG0, (READ_CBUS_REG(VGHL_PWM_REG0) &~(0xf<<0)));
    WRITE_CBUS_REG(VGHL_PWM_REG0, (READ_CBUS_REG(VGHL_PWM_REG0) | (0<<0)));
}
static void red_powerkey_led_off(void)
{
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_8, (1<<5));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_12, (1<<11));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_0, (1<<13));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_1, (1<<2));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_9, (1<<18));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_11, (1<<4));
	set_gpio_val(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), 1);
	set_gpio_mode(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), GPIO_OUTPUT_MODE);
}
Beispiel #5
0
static void power_on_lcd(void)
{
    //EIO -> OD0: 0
#ifdef CONFIG_SN7325
    configIO(0, 0);
    setIO_level(0, 0, 0);
#endif
    msleep(10);
    //VCCx2_EN D17 GPIOA_6 --> H
    set_gpio_val(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), 1);
    set_gpio_mode(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), GPIO_OUTPUT_MODE);
}
Beispiel #6
0
void power_off_backlight(void)
{
    //EIO -> PP1: 0  //EIO -> OD4: 1
#ifdef CONFIG_SN7325
    configIO(1, 0);  //configIO(0, 0);
    setIO_level(1, 1, 1);  //setIO_level(0, 1, 4);
#endif
    CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_2, (1<<31));
    CLEAR_CBUS_REG_MASK(PWM_MISC_REG_AB, (1 << 0));
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
}
Beispiel #7
0
void power_off_backlight(void)
{
    //BL_PWM -> GPIOD_18: 0
#if 0
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
#else    
	set_gpio_val(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), 0);
	set_gpio_mode(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), GPIO_OUTPUT_MODE);
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_2, (1<<31));
	CLEAR_CBUS_REG_MASK(PWM_MISC_REG_AB, (1 << 0));
	set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
	set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
#endif
}
Beispiel #8
0
void power_hold(void)
{   
    //power hold
    //printf("power hold\n");

	clear_mio_mux(12, 0x40);		//disable ENC_6
	clear_mio_mux(0, 0x100);		//disable TCON_CPH3
	clear_mio_mux(2, 0x40000000);		//disable PWM_B
	clear_mio_mux(2, 0x10000000);		//disable DEMOD_RF_PWM
	clear_mio_mux(0, 0x200000);		//disable LED_BL_PWM
	clear_mio_mux(9, 0x800000);		//disable WIFI Debug

	set_gpio_mode(GPIOA_bank_bit(8), GPIOA_bit_bit0_14(8), GPIO_OUTPUT_MODE);   // OEN = 0 (output) 
	set_gpio_val(GPIOA_bank_bit(8), GPIOA_bit_bit0_14(8), 1);   // Output level = 1 (pull high)
    //*(volatile unsigned long *)(0xC1108030) &= ~(1 << 12);              // OEN = 0 (output) 
    //*(volatile unsigned long *)(0xC1108034) |= (1 << 12);               // Output level = 1 (pull high)
}
Beispiel #9
0
void power_on_backlight(void)
{
    //BL_PWM -> GPIOA_7: 1
    msleep(200);
#if 0
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 1);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
#else    
    msleep(100);
    SET_CBUS_REG_MASK(PWM_MISC_REG_AB, (1 << 0));
    msleep(100);
    SET_CBUS_REG_MASK(PERIPHS_PIN_MUX_2, (1<<31));
    //BL_PWM -> GPIOD_18: 1
	set_gpio_val(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), 1);
	set_gpio_mode(GPIOD_bank_bit2_24(18), GPIOD_bit_bit2_24(18), GPIO_OUTPUT_MODE);
#endif
}
void power_off_backlight(void)
{
//    /* PIN31, GPIOA_8, Pull low, BL_PWM Disable*/ 
//    set_gpio_val(GPIOA_bank_bit(8), GPIOA_bit_bit0_14(8), 0);
//    set_gpio_mode(GPIOA_bank_bit(8), GPIOA_bit_bit0_14(8), GPIO_OUTPUT_MODE);
//
//    /* PIN28, GPIOA_6, Pull low, For En_5v */
//    set_gpio_val(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), 0);
//    set_gpio_mode(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), GPIO_OUTPUT_MODE);

    /* PIN_E1, GPIOA_7, Pull high, BL_PWM Enable*/
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
   
    /* PIN_H21, GPIOC_3, Pull high, For En_5V */    
    set_gpio_val(GPIOC_bank_bit0_26(3), GPIOC_bit_bit0_26(3), 0);
    set_gpio_mode(GPIOC_bank_bit0_26(3), GPIOC_bit_bit0_26(3), GPIO_OUTPUT_MODE);
}
static void green_powerkey_led_on(void)
{
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_0, (1<<19));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_0, (1<<20));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_0, (1<<10));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_12, (1<<8));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_9, (1<<21));
	set_gpio_val(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), 1);
	set_gpio_mode(GPIOA_bank_bit(6), GPIOA_bit_bit0_14(6), GPIO_OUTPUT_MODE);

	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_12, (1<<29));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_5, (1<<20));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_5, (1<<14));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_7, (1<<13));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_7, (1<<12));
	CLEAR_CBUS_REG_MASK(PERIPHS_PIN_MUX_8, (1<<21));
	set_gpio_val(GPIOD_bank_bit2_24(23), GPIOD_bit_bit2_24(23), 1);
	set_gpio_mode(GPIOD_bank_bit2_24(23), GPIOD_bit_bit2_24(23), GPIO_OUTPUT_MODE);
}
static void power_off_lcd(void)
{    
    msleep(50);
    //AVDD  EIO -> OD4: 0
#ifdef CONFIG_SN7325
    configIO(0, 0);
    setIO_level(0, 0, 4);
#else
set_gpio_val(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), 0);
set_gpio_mode(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), GPIO_OUTPUT_MODE);	
#endif
    msleep(20);
    //LCD3.3V  EIO -> OD0: 1     
#ifdef CONFIG_SN7325
    configIO(0, 0);
    setIO_level(0, 1, 0);
#else
set_gpio_val(GPIOD_bank_bit2_24(20), GPIOD_bit_bit2_24(20), 1);
set_gpio_mode(GPIOD_bank_bit2_24(20), GPIOD_bit_bit2_24(20), GPIO_OUTPUT_MODE);	
#endif    
}
static void power_on_lcd(void)
{   
    //int setIO_level(unsigned char port, unsigned char iobits, unsigned char offset);    
    //LCD3.3V  EIO -> OD0: 0 
#ifdef CONFIG_SN7325
    configIO(0, 0);
    setIO_level(0, 0, 0);
#else
set_gpio_val(GPIOD_bank_bit2_24(20), GPIOD_bit_bit2_24(20), 0);
set_gpio_mode(GPIOD_bank_bit2_24(20), GPIOD_bit_bit2_24(20), GPIO_OUTPUT_MODE);		  
#endif    
    msleep(20);
    //AVDD  EIO -> OD4: 1
#ifdef CONFIG_SN7325
    configIO(0, 0);
    setIO_level(0, 1, 4);
#else
set_gpio_val(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), 1);
set_gpio_mode(GPIOA_bank_bit(3), GPIOA_bit_bit0_14(3), GPIO_OUTPUT_MODE);		
#endif
    msleep(50);    
}
void power_off_backlight(void)
{
    //BL_PWM -> GPIOA_7: 0
    set_gpio_val(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), 0);
    set_gpio_mode(GPIOA_bank_bit(7), GPIOA_bit_bit0_14(7), GPIO_OUTPUT_MODE);
}
		.platform_data = &pmem_data,
	},
};
#endif

#if defined(CONFIG_AML_RTC)
static	struct platform_device aml_rtc_device = {
      		.name            = "aml_rtc",
      		.id               = -1,
	};
#endif

#if defined(CONFIG_AM_DVB)
static struct resource gx1001_resource[]  = {
	[0] = {
		.start = ((GPIOA_bank_bit(13)<<16) | GPIOA_bit_bit0_14(13)),                           //frontend 0 reset pin
		.end   = ((GPIOA_bank_bit(13)<<16) | GPIOA_bit_bit0_14(13)),
		.flags = IORESOURCE_MEM,
		.name  = "frontend0_reset"
	},
	[1] = {
		.start = 0,                                    //frontend 0 i2c adapter id
		.end   = 0,
		.flags = IORESOURCE_MEM,
		.name  = "frontend0_i2c"
	},
	[2] = {
		.start = 0xC0,                                 //frontend 0 tuner address
		.end   = 0xC0,
		.flags = IORESOURCE_MEM,
		.name  = "frontend0_tuner_addr"