void exynos_reset_lcd(void) { s5p_gpio_set_value(&gpio2->y4, 5, 1); udelay(10000); s5p_gpio_set_value(&gpio2->y4, 5, 0); udelay(10000); s5p_gpio_set_value(&gpio2->y4, 5, 1); udelay(100); }
int gpio_set_value(unsigned gpio, int value) { s5p_gpio_set_value(s5p_gpio_get_bank(gpio), s5p_gpio_get_pin(gpio), value); return 0; }
void exynos_cfg_lcd_gpio(void) { struct exynos5_gpio_part1 *gpio1 = (struct exynos5_gpio_part1 *) samsung_get_base_gpio_part1(); /* For Backlight */ s5p_gpio_cfg_pin(&gpio1->b2, 0, GPIO_OUTPUT); s5p_gpio_set_value(&gpio1->b2, 0, 1); /* LCD power on */ s5p_gpio_cfg_pin(&gpio1->x1, 5, GPIO_OUTPUT); s5p_gpio_set_value(&gpio1->x1, 5, 1); /* Set Hotplug detect for DP */ s5p_gpio_cfg_pin(&gpio1->x0, 7, GPIO_FUNC(0x3)); }
/* write GPIO OUT value to pin 'gpio' */ static int exynos_gpio_set_value(struct udevice *dev, unsigned offset, int value) { struct exynos_bank_info *state = dev_get_priv(dev); s5p_gpio_set_value(state->bank, offset, value); return 0; }
void exynos_reset_lcd(void) { gpio1 = (struct exynos4x12_gpio_part1 *)samsung_get_base_gpio_part1(); /* reset lcd */ s5p_gpio_direction_output(&gpio1->f2, 1, 0); udelay(10); s5p_gpio_set_value(&gpio1->f2, 1, 1); }
/* set GPIO pin 'gpio' as an output, with polarity 'value' */ static int exynos_gpio_direction_output(struct udevice *dev, unsigned offset, int value) { struct exynos_bank_info *state = dev_get_priv(dev); /* Configure GPIO output value. */ s5p_gpio_set_value(state->bank, offset, value); /* Configure GPIO direction as output. */ s5p_gpio_cfg_pin(state->bank, offset, S5P_GPIO_OUTPUT); return 0; }
void s5p_gpio_direction_output(struct s5p_gpio_bank *bank, int gpio, int en) { s5p_gpio_cfg_pin(bank, gpio, GPIO_OUTPUT); s5p_gpio_set_value(bank, gpio, en); }
void gpio_set_value(int nr, int value) { s5p_gpio_set_value(s5p_gpio_get_bank(nr), s5p_gpio_get_pin(nr), value); }