diff options
Diffstat (limited to 'firmware/target/arm/imx233/creative-zenxfi3')
-rw-r--r-- | firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c | 13 |
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 | ||
45 | static void setup_lcd_pins(bool use_lcdif) | 45 | static 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 | } |