mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 13:12:37 -05:00
imx233: fix pinctrl for stmp3600 and stmp3700
Change-Id: I87281b89315890fa285cb9a63fda5c90bdc8cdbf
This commit is contained in:
parent
f4fdf1ffe2
commit
52426d0891
10 changed files with 70 additions and 69 deletions
|
|
@ -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_pinctrl_get_gpio_mask(0, 0x08000000) ? 0 : 1,
|
||||
imx233_pinctrl_get_gpio(0, 27) ? 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);
|
||||
|
|
@ -356,7 +356,7 @@ int touchpad_read_device(void)
|
|||
int button_read_device(void)
|
||||
{
|
||||
int res = 0;
|
||||
if(!imx233_pinctrl_get_gpio_mask(1, 0x40000000))
|
||||
if(!imx233_pinctrl_get_gpio(1, 30))
|
||||
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
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@ static void i2c_sda_out(bool high)
|
|||
|
||||
static bool i2c_scl_in(void)
|
||||
{
|
||||
return imx233_pinctrl_get_gpio_mask(1, 1 << 22);
|
||||
return imx233_pinctrl_get_gpio(1, 22);
|
||||
}
|
||||
|
||||
static bool i2c_sda_in(void)
|
||||
{
|
||||
return imx233_pinctrl_get_gpio_mask(1, 1 << 24);
|
||||
return imx233_pinctrl_get_gpio(1, 24);
|
||||
}
|
||||
|
||||
static void i2c_delay(int d)
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ static void setup_lcd_pins(bool use_lcdif)
|
|||
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");
|
||||
//imx233_pinctrl_acquire_mask(1, 0x3ffff, "lcd data");
|
||||
if(use_lcdif)
|
||||
{
|
||||
imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
|
||||
|
|
@ -113,10 +113,10 @@ static void setup_lcd_pins_i80(bool i80)
|
|||
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_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);
|
||||
HW_PINCTRL_DOEn_SET(1) = (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23);
|
||||
HW_PINCTRL_DOUTn_SET(1) = (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23);
|
||||
|
||||
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
|
||||
HW_PINCTRL_DOEn_CLR(1) = 0x3ffff; /* lcd_d{0-17} */
|
||||
HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} as GPIO */
|
||||
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
|
||||
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
|
||||
|
|
@ -125,7 +125,8 @@ static void setup_lcd_pins_i80(bool i80)
|
|||
}
|
||||
else
|
||||
{
|
||||
imx233_pinctrl_set_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true);
|
||||
HW_PINCTRL_DOUTn_SET(1) = (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23);
|
||||
|
||||
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 */
|
||||
|
|
@ -133,7 +134,7 @@ static void setup_lcd_pins_i80(bool i80)
|
|||
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_DOEn_CLR(1) = 0x3ffff; /* lcd_d{0-17} */
|
||||
HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} as lcd_d{0-15} */
|
||||
imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
|
||||
imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
|
||||
|
|
@ -182,7 +183,7 @@ static uint32_t i80_read_register(uint32_t data_out)
|
|||
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} */
|
||||
HW_PINCTRL_DOEn_SET(1) = 0x3ffff; /* lcd_d{0-17} */
|
||||
udelay(2);
|
||||
imx233_pinctrl_set_gpio(1, 19, false); /* lcd_rs */
|
||||
udelay(1);
|
||||
|
|
@ -190,11 +191,11 @@ static uint32_t i80_read_register(uint32_t data_out)
|
|||
udelay(1);
|
||||
imx233_pinctrl_set_gpio(1, 20, false); /* lcd_wr */
|
||||
udelay(1);
|
||||
imx233_pinctrl_set_gpio_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */
|
||||
HW_PINCTRL_DOUTn_SET(1) = data_out & 0x3ffff; /* lcd_d{0-17} */
|
||||
udelay(1);
|
||||
imx233_pinctrl_set_gpio(1, 20, true); /* lcd_wr */
|
||||
udelay(3);
|
||||
imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
|
||||
HW_PINCTRL_DOUTn_CLR(1) = 0x3ffff; /* lcd_d{0-17} */
|
||||
udelay(2);
|
||||
imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */
|
||||
udelay(1);
|
||||
|
|
@ -204,7 +205,7 @@ static uint32_t i80_read_register(uint32_t data_out)
|
|||
udelay(3);
|
||||
imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */
|
||||
udelay(2);
|
||||
uint32_t data_in = imx233_pinctrl_get_gpio_mask(1, 0x3ffff); /* lcd_d{0-17} */
|
||||
uint32_t data_in = HW_PINCTRL_DINn(1) & 0x3ffff; /* lcd_d{0-17} */
|
||||
udelay(1);
|
||||
imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */
|
||||
udelay(1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue