void power_on_backlight(void) { msleep(20); lvds_port_enable(); msleep(50); //BL_EN: GPIOD_1(V_LED) #if (BL_CTL==BL_CTL_GPIO) WRITE_MPEG_REG(PERIPHS_PIN_MUX_0, READ_MPEG_REG(PERIPHS_PIN_MUX_0) & ~(1 << 19)); WRITE_MPEG_REG(PERIPHS_PIN_MUX_3, READ_MPEG_REG(PERIPHS_PIN_MUX_3) & ~((1 << 24)|(1 << 25))); WRITE_MPEG_REG(PERIPHS_PIN_MUX_7, READ_MPEG_REG(PERIPHS_PIN_MUX_7) & ~(1 << 17)); set_gpio_val(GPIOC_bank_bit0_15(9), GPIOC_bit_bit0_15(9), 1); //set GPIOC_9 as BL_EN low to power off backlight set_gpio_mode(GPIOC_bank_bit0_15(9), GPIOC_bit_bit0_15(9), GPIO_OUTPUT_MODE);//set CM_PWDN1 output #elif (BL_CTL==BL_CTL_PWM) int pwm_div=0; //pwm_freq=24M/(pwm_div+1)/PWM_MAX WRITE_MPEG_REG(PWM_PWM_D, (PWM_MAX<<16) | (0<<0)); //set pwm duty 100% WRITE_MPEG_REG(PWM_MISC_REG_CD, READ_MPEG_REG(PWM_MISC_REG_CD) | ((1 << 23) | (pwm_div<<16) | (1<<1))); //set pwm clk & enable pwm WRITE_MPEG_REG(PERIPHS_PIN_MUX_2, READ_MPEG_REG(PERIPHS_PIN_MUX_2) | (1<<3)); //enable pwm pinmux #endif msleep(100); printk("\n\npower_on_backlight.\n\n"); }
void power_on_backlight(void) { lvds_port_enable(); WRITE_CBUS_REG_BITS(LED_PWM_REG0, 1, 12, 2); msleep(300); //BL_EN: GPIOD_1(PWM_D) #if (BL_CTL==BL_CTL_GPIO) WRITE_MPEG_REG(0x2013, READ_MPEG_REG(0x2013) | (1 << 17)); WRITE_MPEG_REG(0x2012, READ_MPEG_REG(0x2012) & ~(1 << 17)); #elif (BL_CTL==BL_CTL_PWM) int pwm_div=0; //pwm_freq=24M/(pwm_div+1)/PWM_MAX WRITE_MPEG_REG(PWM_PWM_D, (PWM_MAX<<16) | (0<<0)); //set pwm duty 100% WRITE_MPEG_REG(PWM_MISC_REG_CD, READ_MPEG_REG(PWM_MISC_REG_CD) | ((1 << 23) | (pwm_div<<16) | (1<<1))); //set pwm clk & enable pwm WRITE_MPEG_REG(PERIPHS_PIN_MUX_2, READ_MPEG_REG(PERIPHS_PIN_MUX_2) | (1<<3)); //enable pwm pinmux #endif msleep(100); printk("\n\npower_on_backlight.\n\n"); }
void power_on_backlight(void) { lvds_port_enable(); //BL_EN: GPIOD_1(PWM_D) WRITE_CBUS_REG_BITS(LED_PWM_REG0, 1, 12, 2); msleep(300); #if (BL_CTL==BL_CTL_GPIO) WRITE_MPEG_REG(0x2013, READ_MPEG_REG(0x2013) | (1 << 17)); WRITE_MPEG_REG(0x2012, READ_MPEG_REG(0x2012) & ~(1 << 17)); #elif (BL_CTL==BL_CTL_PWM) int pwm_div=0; //pwm_freq=24M/(pwm_div+1)/PWM_MAX WRITE_CBUS_REG_BITS(PWM_PWM_D, 0, 0, 16); //pwm low WRITE_CBUS_REG_BITS(PWM_PWM_D, PWM_MAX, 16, 16); //pwm high SET_CBUS_REG_MASK(PWM_MISC_REG_CD, ((1 << 23) | (pwm_div<<16) | (1<<1))); //enable pwm clk & pwm output SET_CBUS_REG_MASK(PERIPHS_PIN_MUX_2, (1<<3)); //enable pwm pinmux #endif //printk("\n\nLCD: power_on_backlight.\n\n"); }
void power_on_backlight(void) { debug("%s\n", __FUNCTION__); /*BL_EN -> GPIOD_1: 1 WRITE_CBUS_REG(0x2013, READ_CBUS_REG(0x2013)|(1<<17)); WRITE_CBUS_REG(0x2012, READ_CBUS_REG(0x2012)&(~(1<<17))); set_gpio_val(GPIOD_bank_bit0_9(1), GPIOD_bit_bit0_9(1), 1); set_gpio_mode(GPIOD_bank_bit0_9(1), GPIOD_bit_bit0_9(1), GPIO_OUTPUT_MODE);*/ mdelay(20); lvds_port_enable(); mdelay(100); WRITE_MPEG_REG(PERIPHS_PIN_MUX_0, READ_MPEG_REG(PERIPHS_PIN_MUX_0) & ~(1 << 19)); WRITE_MPEG_REG(PERIPHS_PIN_MUX_3, READ_MPEG_REG(PERIPHS_PIN_MUX_3) & ~((1 << 24)|(1 << 25))); WRITE_MPEG_REG(PERIPHS_PIN_MUX_7, READ_MPEG_REG(PERIPHS_PIN_MUX_7) & ~(1 << 17)); WRITE_MPEG_REG(PREG_PAD_GPIO2_EN_N, READ_MPEG_REG(PREG_PAD_GPIO2_EN_N) & ~(1 << 9)); WRITE_MPEG_REG(PREG_PAD_GPIO2_O, READ_MPEG_REG(PREG_PAD_GPIO2_O) | (1 << 9)); mdelay(100); }