summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c')
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c b/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
index 06180d556a..ccc3925143 100644
--- a/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
+++ b/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
@@ -44,22 +44,21 @@ static void setup_parameters(void)
44 44
45static void setup_lcd_pins(bool use_lcdif) 45static void setup_lcd_pins(bool use_lcdif)
46{ 46{
47 /* WARNING
48 * the B1P22 pins is used to gate the speaker! Do NOT drive
49 * them as lcd_dotclk and lcd_hsync or it will break audio */
47 imx233_pinctrl_acquire_pin(1, 18, "lcd reset"); 50 imx233_pinctrl_acquire_pin(1, 18, "lcd reset");
48 imx233_pinctrl_acquire_pin(1, 19, "lcd rs"); 51 imx233_pinctrl_acquire_pin(1, 19, "lcd rs");
49 imx233_pinctrl_acquire_pin(1, 20, "lcd wr"); 52 imx233_pinctrl_acquire_pin(1, 20, "lcd wr");
50 imx233_pinctrl_acquire_pin(1, 21, "lcd cs"); 53 imx233_pinctrl_acquire_pin(1, 21, "lcd cs");
51 imx233_pinctrl_acquire_pin(1, 22, "lcd dotclk");
52 imx233_pinctrl_acquire_pin(1, 23, "lcd enable"); 54 imx233_pinctrl_acquire_pin(1, 23, "lcd enable");
53 imx233_pinctrl_acquire_pin(1, 24, "lcd hsync");
54 imx233_pinctrl_acquire_pin(1, 25, "lcd vsync"); 55 imx233_pinctrl_acquire_pin(1, 25, "lcd vsync");
55 imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data"); 56 imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data");
56 if(use_lcdif) 57 if(use_lcdif)
57 { 58 {
58 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */ 59 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */
59 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ 60 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
60 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_MAIN); /* lcd_dotclk */ 61 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
61 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_MAIN); /* lcd_enable */
62 imx233_set_pin_function(1, 24, PINCTRL_FUNCTION_MAIN); /* lcd_hsync */
63 imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ 62 imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
64 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ 63 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
65 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ 64 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
@@ -70,15 +69,13 @@ static void setup_lcd_pins(bool use_lcdif)
70 else 69 else
71 { 70 {
72 __REG_SET(HW_PINCTRL_MUXSEL(2)) = 0xffffffff; /* lcd_d{0-15} */ 71 __REG_SET(HW_PINCTRL_MUXSEL(2)) = 0xffffffff; /* lcd_d{0-15} */
73 imx233_enable_gpio_output_mask(1, 0x3ffffff, false); /* lcd_{d{0-17},reset,rs,wr,cs,dotclk,enable,hsync,vsync} */ 72 imx233_enable_gpio_output_mask(1, 0x2bfffff, false); /* lcd_{d{0-17},reset,rs,wr,cs,enable,vsync} */
74 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ 73 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
75 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ 74 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
76 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ 75 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
77 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ 76 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
78 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ 77 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
79 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_GPIO); /* lcd_dotclk */
80 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ 78 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
81 imx233_set_pin_function(1, 24, PINCTRL_FUNCTION_GPIO); /* lcd_hsync */
82 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ 79 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
83 } 80 }
84} 81}