imx233: normalise pinctrl names

The current pinctrl functions were a mess. Normalise the functions
names to make them shorter and clearer.

Change-Id: Iac6ff84625ef2b7610268e3a5802dc0088de3167
This commit is contained in:
Amaury Pouly 2013-06-16 19:18:56 +02:00
parent abb7d1dcfe
commit 918a06a12a
18 changed files with 281 additions and 281 deletions

View file

@ -30,21 +30,21 @@ void _backlight_set_brightness(int brightness)
{
if(brightness != 0)
brightness = 32 - (brightness * 32) / 100;
imx233_set_gpio_output(1, 28, false);
imx233_pinctrl_set_gpio(1, 28, false);
udelay(600);
while(brightness-- > 0)
{
imx233_set_gpio_output(1, 28, false);
imx233_set_gpio_output(1, 28, true);
imx233_pinctrl_set_gpio(1, 28, false);
imx233_pinctrl_set_gpio(1, 28, true);
}
}
bool _backlight_init(void)
{
imx233_pinctrl_acquire_pin(1, 28, "backlight");
imx233_set_pin_function(1, 28, PINCTRL_FUNCTION_GPIO);
imx233_set_pin_drive_strength(1, 28, PINCTRL_DRIVE_8mA);
imx233_enable_gpio_output(1, 28, true);
imx233_pinctrl_acquire(1, 28, "backlight");
imx233_pinctrl_set_function(1, 28, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_set_drive(1, 28, PINCTRL_DRIVE_8mA);
imx233_pinctrl_enable_gpio(1, 28, true);
_backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING);
return true;
}

View file

@ -79,7 +79,7 @@ bool button_debug_screen(void)
lcd_putsf(0, 1, "RMI: id=%s p=%x s=%x", product_id, func_presence, sensor_prop);
lcd_putsf(0, 2, "xmax=%d ymax=%d res=%d", x_max, y_max, sensor_resol);
lcd_putsf(0, 3, "attn=%d ctl=%x int=%x",
imx233_get_gpio_input_mask(0, 0x08000000) ? 0 : 1,
imx233_pinctrl_get_gpio_mask(0, 0x08000000) ? 0 : 1,
rmi_read_single(RMI_DEVICE_CONTROL),
rmi_read_single(RMI_INTERRUPT_REQUEST));
lcd_putsf(0, 4, "sensi: %d min_dist: %d", (int)sensitivity.value, min_dist);
@ -271,7 +271,7 @@ static void rmi_thread(void)
touchpad_btns = 0;
/* enable interrupt */
imx233_setup_pin_irq(0, 27, true, true, false, &rmi_attn_cb);
imx233_pinctrl_setup_irq(0, 27, true, true, false, &rmi_attn_cb);
}
}
@ -302,10 +302,10 @@ void button_init_device(void)
*/
/* touchpad power */
imx233_pinctrl_acquire_pin(0, 26, "touchpad power");
imx233_set_pin_function(0, 26, PINCTRL_FUNCTION_GPIO);
imx233_enable_gpio_output(0, 26, false);
imx233_set_pin_drive_strength(0, 26, PINCTRL_DRIVE_8mA);
imx233_pinctrl_acquire(0, 26, "touchpad power");
imx233_pinctrl_set_function(0, 26, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_enable_gpio(0, 26, false);
imx233_pinctrl_set_drive(0, 26, PINCTRL_DRIVE_8mA);
rmi_init(0x40);
@ -325,14 +325,14 @@ void button_init_device(void)
create_thread(rmi_thread, rmi_stack, sizeof(rmi_stack), 0,
rmi_thread_name IF_PRIO(, PRIORITY_USER_INTERFACE) IF_COP(, CPU));
/* enable interrupt */
imx233_pinctrl_acquire_pin(0, 27, "touchpad int");
imx233_set_pin_function(0, 27, PINCTRL_FUNCTION_GPIO);
imx233_enable_gpio_output(0, 27, false);
imx233_setup_pin_irq(0, 27, true, true, false, &rmi_attn_cb);
imx233_pinctrl_acquire(0, 27, "touchpad int");
imx233_pinctrl_set_function(0, 27, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_enable_gpio(0, 27, false);
imx233_pinctrl_setup_irq(0, 27, true, true, false, &rmi_attn_cb);
/* Volume down */
imx233_pinctrl_acquire_pin(1, 30, "volume down");
imx233_set_pin_function(1, 30, PINCTRL_FUNCTION_GPIO);
imx233_enable_gpio_output(1, 30, false);
imx233_pinctrl_acquire(1, 30, "volume down");
imx233_pinctrl_set_function(1, 30, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_enable_gpio(1, 30, false);
}
#else
@ -340,9 +340,9 @@ void button_init_device(void)
void button_init_device(void)
{
/* Volume down */
imx233_pinctrl_acquire_pin(1, 30, "volume down");
imx233_set_pin_function(1, 30, PINCTRL_FUNCTION_GPIO);
imx233_enable_gpio_output(1, 30, false);
imx233_pinctrl_acquire(1, 30, "volume down");
imx233_pinctrl_set_function(1, 30, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_enable_gpio(1, 30, false);
}
int touchpad_read_device(void)
@ -355,7 +355,7 @@ int touchpad_read_device(void)
int button_read_device(void)
{
int res = 0;
if(!imx233_get_gpio_input_mask(1, 0x40000000))
if(!imx233_pinctrl_get_gpio_mask(1, 0x40000000))
res |= BUTTON_VOL_DOWN;
/* The imx233 uses the voltage on the PSWITCH pin to detect power up/down
* events as well as recovery mode. Since the power button is the power button

View file

@ -38,32 +38,32 @@ static int fmradio_i2c_bus = -1;
static void i2c_scl_dir(bool out)
{
imx233_enable_gpio_output(1, 22, out);
imx233_pinctrl_enable_gpio(1, 22, out);
}
static void i2c_sda_dir(bool out)
{
imx233_enable_gpio_output(1, 24, out);
imx233_pinctrl_enable_gpio(1, 24, out);
}
static void i2c_scl_out(bool high)
{
imx233_set_gpio_output(1, 22, high);
imx233_pinctrl_set_gpio(1, 22, high);
}
static void i2c_sda_out(bool high)
{
imx233_set_gpio_output(1, 24, high);
imx233_pinctrl_set_gpio(1, 24, high);
}
static bool i2c_scl_in(void)
{
return imx233_get_gpio_input_mask(1, 1 << 22);
return imx233_pinctrl_get_gpio_mask(1, 1 << 22);
}
static bool i2c_sda_in(void)
{
return imx233_get_gpio_input_mask(1, 1 << 24);
return imx233_pinctrl_get_gpio_mask(1, 1 << 24);
}
static void i2c_delay(int d)
@ -90,10 +90,10 @@ struct i2c_interface fmradio_i2c =
void fmradio_i2c_init(void)
{
imx233_pinctrl_acquire_pin(1, 24, "fmradio i2c");
imx233_pinctrl_acquire_pin(1, 22, "fmradio i2c");
imx233_set_pin_function(1, 24, PINCTRL_FUNCTION_GPIO);
imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_acquire(1, 24, "fmradio i2c");
imx233_pinctrl_acquire(1, 22, "fmradio i2c");
imx233_pinctrl_set_function(1, 24, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_set_function(1, 22, PINCTRL_FUNCTION_GPIO);
fmradio_i2c_bus = i2c_add_node(&fmradio_i2c);
}
@ -132,7 +132,7 @@ static void NORETURN_ATTR rds_thread(void)
if(si4700_rds_read_raw(rds_data) && rds_process(rds_data))
si4700_rds_set_event();
/* renable callback */
imx233_setup_pin_irq(2, 27, true, true, false, &stc_rds_callback);
imx233_pinctrl_setup_irq(2, 27, true, true, false, &stc_rds_callback);
}
}
@ -141,16 +141,16 @@ void si4700_rds_powerup(bool on)
{
if(on)
{
imx233_pinctrl_acquire_pin(2, 27, "tuner stc/rds");
imx233_set_pin_function(2, 27, PINCTRL_FUNCTION_GPIO);
imx233_enable_gpio_output(2, 27, false);
imx233_pinctrl_acquire(2, 27, "tuner stc/rds");
imx233_pinctrl_set_function(2, 27, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_enable_gpio(2, 27, false);
/* pin is set to 0 when an RDS packet has arrived */
imx233_setup_pin_irq(2, 27, true, true, false, &stc_rds_callback);
imx233_pinctrl_setup_irq(2, 27, true, true, false, &stc_rds_callback);
}
else
{
imx233_setup_pin_irq(2, 27, false, false, false, NULL);
imx233_pinctrl_release_pin(2, 27, "tuner stc/rds");
imx233_pinctrl_setup_irq(2, 27, false, false, false, NULL);
imx233_pinctrl_release(2, 27, "tuner stc/rds");
}
}

View file

@ -67,36 +67,36 @@ static void setup_lcd_pins(bool use_lcdif)
/* WARNING
* the B1P22 and B1P24 pins are used by the tuner i2c! Do NOT drive
* them as lcd_dotclk and lcd_hsync or it will break the tuner! */
imx233_pinctrl_acquire_pin(1, 18, "lcd reset");
imx233_pinctrl_acquire_pin(1, 19, "lcd rs");
imx233_pinctrl_acquire_pin(1, 20, "lcd wr");
imx233_pinctrl_acquire_pin(1, 21, "lcd cs");
imx233_pinctrl_acquire_pin(1, 23, "lcd enable");
imx233_pinctrl_acquire_pin(1, 25, "lcd vsync");
imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data");
imx233_pinctrl_acquire(1, 18, "lcd reset");
imx233_pinctrl_acquire(1, 19, "lcd rs");
imx233_pinctrl_acquire(1, 20, "lcd wr");
imx233_pinctrl_acquire(1, 21, "lcd cs");
imx233_pinctrl_acquire(1, 23, "lcd enable");
imx233_pinctrl_acquire(1, 25, "lcd vsync");
imx233_pinctrl_acquire_mask(1, 0x3ffff, "lcd data");
if(use_lcdif)
{
imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */
}
else
{
HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */
HW_PINCTRL_DOEn_CLR(1) = 0x2bfffff;
imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
}
}
@ -104,41 +104,41 @@ static void setup_lcd_pins_i80(bool i80)
{
if(i80)
{
imx233_set_pin_drive_strength(1, 19, PINCTRL_DRIVE_12mA); /* lcd_rs */
imx233_set_pin_drive_strength(1, 20, PINCTRL_DRIVE_12mA); /* lcd_wr */
imx233_set_pin_drive_strength(1, 21, PINCTRL_DRIVE_12mA); /* lcd_cs */
imx233_set_pin_drive_strength(1, 23, PINCTRL_DRIVE_12mA); /* lcd_enable */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
imx233_pinctrl_set_drive(1, 19, PINCTRL_DRIVE_12mA); /* lcd_rs */
imx233_pinctrl_set_drive(1, 20, PINCTRL_DRIVE_12mA); /* lcd_wr */
imx233_pinctrl_set_drive(1, 21, PINCTRL_DRIVE_12mA); /* lcd_cs */
imx233_pinctrl_set_drive(1, 23, PINCTRL_DRIVE_12mA); /* lcd_enable */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
/* lcd_{rs,wr,cs,enable} */
imx233_enable_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_set_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_pinctrl_enable_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_pinctrl_set_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} as GPIO */
imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_GPIO); /* lcd_reset */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_GPIO); /* lcd_reset */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
}
else
{
imx233_set_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_set_pin_drive_strength(1, 19, PINCTRL_DRIVE_4mA); /* lcd_rs */
imx233_set_pin_drive_strength(1, 20, PINCTRL_DRIVE_4mA); /* lcd_wr */
imx233_set_pin_drive_strength(1, 21, PINCTRL_DRIVE_4mA); /* lcd_cs */
imx233_set_pin_drive_strength(1, 23, PINCTRL_DRIVE_4mA); /* lcd_enable */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
imx233_pinctrl_set_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
imx233_pinctrl_set_drive(1, 19, PINCTRL_DRIVE_4mA); /* lcd_rs */
imx233_pinctrl_set_drive(1, 20, PINCTRL_DRIVE_4mA); /* lcd_wr */
imx233_pinctrl_set_drive(1, 21, PINCTRL_DRIVE_4mA); /* lcd_cs */
imx233_pinctrl_set_drive(1, 23, PINCTRL_DRIVE_4mA); /* lcd_enable */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} as lcd_d{0-15} */
imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
}
}
@ -178,37 +178,37 @@ static uint32_t i80_read_register(uint32_t data_out)
{
imx233_lcdif_wait_ready();
/* lcd_enable is mapped to the RD pin of the controller */
imx233_set_gpio_output(1, 21, true); /* lcd_cs */
imx233_set_gpio_output(1, 19, true); /* lcd_rs */
imx233_set_gpio_output(1, 23, true); /* lcd_enable */
imx233_set_gpio_output(1, 20, true); /* lcd_wr */
imx233_enable_gpio_output_mask(1, 0x3ffff, true); /* lcd_d{0-17} */
imx233_pinctrl_set_gpio(1, 21, true); /* lcd_cs */
imx233_pinctrl_set_gpio(1, 19, true); /* lcd_rs */
imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */
imx233_pinctrl_set_gpio(1, 20, true); /* lcd_wr */
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, true); /* lcd_d{0-17} */
udelay(2);
imx233_set_gpio_output(1, 19, false); /* lcd_rs */
imx233_pinctrl_set_gpio(1, 19, false); /* lcd_rs */
udelay(1);
imx233_set_gpio_output(1, 21, false); /* lcd_cs */
imx233_pinctrl_set_gpio(1, 21, false); /* lcd_cs */
udelay(1);
imx233_set_gpio_output(1, 20, false); /* lcd_wr */
imx233_pinctrl_set_gpio(1, 20, false); /* lcd_wr */
udelay(1);
imx233_set_gpio_output_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */
imx233_pinctrl_set_gpio_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */
udelay(1);
imx233_set_gpio_output(1, 20, true); /* lcd_wr */
imx233_pinctrl_set_gpio(1, 20, true); /* lcd_wr */
udelay(3);
imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
udelay(2);
imx233_set_gpio_output(1, 23, false); /* lcd_enable */
imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */
udelay(1);
imx233_set_gpio_output(1, 19, true); /* lcd_rs */
imx233_pinctrl_set_gpio(1, 19, true); /* lcd_rs */
udelay(1);
imx233_set_gpio_output(1, 23, true); /* lcd_enable */
imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */
udelay(3);
imx233_set_gpio_output(1, 23, false); /* lcd_enable */
imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */
udelay(2);
uint32_t data_in = imx233_get_gpio_input_mask(1, 0x3ffff); /* lcd_d{0-17} */
uint32_t data_in = imx233_pinctrl_get_gpio_mask(1, 0x3ffff); /* lcd_d{0-17} */
udelay(1);
imx233_set_gpio_output(1, 23, true); /* lcd_enable */
imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */
udelay(1);
imx233_set_gpio_output(1, 21, true); /* lcd_cs */
imx233_pinctrl_set_gpio(1, 21, true); /* lcd_cs */
udelay(1);
return data_in;
}

View file

@ -33,11 +33,11 @@ bool tuner_power(bool enable)
if(enable != tuner_enable)
{
/* CE is B029 (active high) */
imx233_pinctrl_acquire_pin(0, 29, "tuner power");
imx233_set_pin_function(0, 29, PINCTRL_FUNCTION_GPIO);
imx233_set_pin_drive_strength(0, 29, PINCTRL_DRIVE_4mA);
imx233_enable_gpio_output(0, 29, enable);
imx233_set_gpio_output(0, 29, enable);
imx233_pinctrl_acquire(0, 29, "tuner power");
imx233_pinctrl_set_function(0, 29, PINCTRL_FUNCTION_GPIO);
imx233_pinctrl_set_drive(0, 29, PINCTRL_DRIVE_4mA);
imx233_pinctrl_enable_gpio(0, 29, enable);
imx233_pinctrl_set_gpio(0, 29, enable);
tuner_enable = enable;
/* give time to power up */
udelay(5);