diff options
Diffstat (limited to 'firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c')
-rw-r--r-- | firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c index bd584d1822..1ca159786a 100644 --- a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c +++ b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | |||
@@ -67,36 +67,36 @@ static void setup_lcd_pins(bool use_lcdif) | |||
67 | /* WARNING | 67 | /* WARNING |
68 | * the B1P22 and B1P24 pins are used by the tuner i2c! Do NOT drive | 68 | * the B1P22 and B1P24 pins are used by the tuner i2c! Do NOT drive |
69 | * them as lcd_dotclk and lcd_hsync or it will break the tuner! */ | 69 | * them as lcd_dotclk and lcd_hsync or it will break the tuner! */ |
70 | imx233_pinctrl_acquire_pin(1, 18, "lcd reset"); | 70 | imx233_pinctrl_acquire(1, 18, "lcd reset"); |
71 | imx233_pinctrl_acquire_pin(1, 19, "lcd rs"); | 71 | imx233_pinctrl_acquire(1, 19, "lcd rs"); |
72 | imx233_pinctrl_acquire_pin(1, 20, "lcd wr"); | 72 | imx233_pinctrl_acquire(1, 20, "lcd wr"); |
73 | imx233_pinctrl_acquire_pin(1, 21, "lcd cs"); | 73 | imx233_pinctrl_acquire(1, 21, "lcd cs"); |
74 | imx233_pinctrl_acquire_pin(1, 23, "lcd enable"); | 74 | imx233_pinctrl_acquire(1, 23, "lcd enable"); |
75 | imx233_pinctrl_acquire_pin(1, 25, "lcd vsync"); | 75 | imx233_pinctrl_acquire(1, 25, "lcd vsync"); |
76 | imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data"); | 76 | imx233_pinctrl_acquire_mask(1, 0x3ffff, "lcd data"); |
77 | if(use_lcdif) | 77 | if(use_lcdif) |
78 | { | 78 | { |
79 | imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ | 79 | imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ |
80 | imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ | 80 | imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ |
81 | imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ | 81 | imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ |
82 | imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ | 82 | imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ |
83 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ | 83 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ |
84 | imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ | 84 | imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ |
85 | imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ | 85 | imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ |
86 | imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ | 86 | imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ |
87 | HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */ | 87 | HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */ |
88 | } | 88 | } |
89 | else | 89 | else |
90 | { | 90 | { |
91 | HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */ | 91 | HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */ |
92 | HW_PINCTRL_DOEn_CLR(1) = 0x2bfffff; | 92 | HW_PINCTRL_DOEn_CLR(1) = 0x2bfffff; |
93 | imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ | 93 | imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ |
94 | imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ | 94 | imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ |
95 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ | 95 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ |
96 | imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ | 96 | imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ |
97 | imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ | 97 | imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ |
98 | imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ | 98 | imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ |
99 | imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ | 99 | imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ |
100 | } | 100 | } |
101 | } | 101 | } |
102 | 102 | ||
@@ -104,41 +104,41 @@ static void setup_lcd_pins_i80(bool i80) | |||
104 | { | 104 | { |
105 | if(i80) | 105 | if(i80) |
106 | { | 106 | { |
107 | imx233_set_pin_drive_strength(1, 19, PINCTRL_DRIVE_12mA); /* lcd_rs */ | 107 | imx233_pinctrl_set_drive(1, 19, PINCTRL_DRIVE_12mA); /* lcd_rs */ |
108 | imx233_set_pin_drive_strength(1, 20, PINCTRL_DRIVE_12mA); /* lcd_wr */ | 108 | imx233_pinctrl_set_drive(1, 20, PINCTRL_DRIVE_12mA); /* lcd_wr */ |
109 | imx233_set_pin_drive_strength(1, 21, PINCTRL_DRIVE_12mA); /* lcd_cs */ | 109 | imx233_pinctrl_set_drive(1, 21, PINCTRL_DRIVE_12mA); /* lcd_cs */ |
110 | imx233_set_pin_drive_strength(1, 23, PINCTRL_DRIVE_12mA); /* lcd_enable */ | 110 | imx233_pinctrl_set_drive(1, 23, PINCTRL_DRIVE_12mA); /* lcd_enable */ |
111 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ | 111 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ |
112 | imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ | 112 | imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ |
113 | imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ | 113 | imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ |
114 | imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ | 114 | imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ |
115 | /* lcd_{rs,wr,cs,enable} */ | 115 | /* lcd_{rs,wr,cs,enable} */ |
116 | imx233_enable_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); | 116 | imx233_pinctrl_enable_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); |
117 | imx233_set_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); | 117 | imx233_pinctrl_set_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); |
118 | 118 | ||
119 | imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ | 119 | imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ |
120 | HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} as GPIO */ | 120 | HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} as GPIO */ |
121 | imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ | 121 | imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ |
122 | imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ | 122 | imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ |
123 | imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_GPIO); /* lcd_reset */ | 123 | imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_GPIO); /* lcd_reset */ |
124 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ | 124 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ |
125 | } | 125 | } |
126 | else | 126 | else |
127 | { | 127 | { |
128 | imx233_set_gpio_output_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); | 128 | imx233_pinctrl_set_gpio_mask(1, (1 << 19) | (1 << 20) | (1 << 21) | (1 << 23), true); |
129 | imx233_set_pin_drive_strength(1, 19, PINCTRL_DRIVE_4mA); /* lcd_rs */ | 129 | imx233_pinctrl_set_drive(1, 19, PINCTRL_DRIVE_4mA); /* lcd_rs */ |
130 | imx233_set_pin_drive_strength(1, 20, PINCTRL_DRIVE_4mA); /* lcd_wr */ | 130 | imx233_pinctrl_set_drive(1, 20, PINCTRL_DRIVE_4mA); /* lcd_wr */ |
131 | imx233_set_pin_drive_strength(1, 21, PINCTRL_DRIVE_4mA); /* lcd_cs */ | 131 | imx233_pinctrl_set_drive(1, 21, PINCTRL_DRIVE_4mA); /* lcd_cs */ |
132 | imx233_set_pin_drive_strength(1, 23, PINCTRL_DRIVE_4mA); /* lcd_enable */ | 132 | imx233_pinctrl_set_drive(1, 23, PINCTRL_DRIVE_4mA); /* lcd_enable */ |
133 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ | 133 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ |
134 | imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ | 134 | imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ |
135 | imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ | 135 | imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ |
136 | imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ | 136 | imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ |
137 | HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} as lcd_d{0-15} */ | 137 | HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} as lcd_d{0-15} */ |
138 | imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ | 138 | imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ |
139 | imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ | 139 | imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ |
140 | imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ | 140 | imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ |
141 | imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ | 141 | imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ |
142 | } | 142 | } |
143 | } | 143 | } |
144 | 144 | ||
@@ -178,37 +178,37 @@ static uint32_t i80_read_register(uint32_t data_out) | |||
178 | { | 178 | { |
179 | imx233_lcdif_wait_ready(); | 179 | imx233_lcdif_wait_ready(); |
180 | /* lcd_enable is mapped to the RD pin of the controller */ | 180 | /* lcd_enable is mapped to the RD pin of the controller */ |
181 | imx233_set_gpio_output(1, 21, true); /* lcd_cs */ | 181 | imx233_pinctrl_set_gpio(1, 21, true); /* lcd_cs */ |
182 | imx233_set_gpio_output(1, 19, true); /* lcd_rs */ | 182 | imx233_pinctrl_set_gpio(1, 19, true); /* lcd_rs */ |
183 | imx233_set_gpio_output(1, 23, true); /* lcd_enable */ | 183 | imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */ |
184 | imx233_set_gpio_output(1, 20, true); /* lcd_wr */ | 184 | imx233_pinctrl_set_gpio(1, 20, true); /* lcd_wr */ |
185 | imx233_enable_gpio_output_mask(1, 0x3ffff, true); /* lcd_d{0-17} */ | 185 | imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, true); /* lcd_d{0-17} */ |
186 | udelay(2); | 186 | udelay(2); |
187 | imx233_set_gpio_output(1, 19, false); /* lcd_rs */ | 187 | imx233_pinctrl_set_gpio(1, 19, false); /* lcd_rs */ |
188 | udelay(1); | 188 | udelay(1); |
189 | imx233_set_gpio_output(1, 21, false); /* lcd_cs */ | 189 | imx233_pinctrl_set_gpio(1, 21, false); /* lcd_cs */ |
190 | udelay(1); | 190 | udelay(1); |
191 | imx233_set_gpio_output(1, 20, false); /* lcd_wr */ | 191 | imx233_pinctrl_set_gpio(1, 20, false); /* lcd_wr */ |
192 | udelay(1); | 192 | udelay(1); |
193 | imx233_set_gpio_output_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */ | 193 | imx233_pinctrl_set_gpio_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */ |
194 | udelay(1); | 194 | udelay(1); |
195 | imx233_set_gpio_output(1, 20, true); /* lcd_wr */ | 195 | imx233_pinctrl_set_gpio(1, 20, true); /* lcd_wr */ |
196 | udelay(3); | 196 | udelay(3); |
197 | imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ | 197 | imx233_pinctrl_enable_gpio_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ |
198 | udelay(2); | 198 | udelay(2); |
199 | imx233_set_gpio_output(1, 23, false); /* lcd_enable */ | 199 | imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */ |
200 | udelay(1); | 200 | udelay(1); |
201 | imx233_set_gpio_output(1, 19, true); /* lcd_rs */ | 201 | imx233_pinctrl_set_gpio(1, 19, true); /* lcd_rs */ |
202 | udelay(1); | 202 | udelay(1); |
203 | imx233_set_gpio_output(1, 23, true); /* lcd_enable */ | 203 | imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */ |
204 | udelay(3); | 204 | udelay(3); |
205 | imx233_set_gpio_output(1, 23, false); /* lcd_enable */ | 205 | imx233_pinctrl_set_gpio(1, 23, false); /* lcd_enable */ |
206 | udelay(2); | 206 | udelay(2); |
207 | uint32_t data_in = imx233_get_gpio_input_mask(1, 0x3ffff); /* lcd_d{0-17} */ | 207 | uint32_t data_in = imx233_pinctrl_get_gpio_mask(1, 0x3ffff); /* lcd_d{0-17} */ |
208 | udelay(1); | 208 | udelay(1); |
209 | imx233_set_gpio_output(1, 23, true); /* lcd_enable */ | 209 | imx233_pinctrl_set_gpio(1, 23, true); /* lcd_enable */ |
210 | udelay(1); | 210 | udelay(1); |
211 | imx233_set_gpio_output(1, 21, true); /* lcd_cs */ | 211 | imx233_pinctrl_set_gpio(1, 21, true); /* lcd_cs */ |
212 | udelay(1); | 212 | udelay(1); |
213 | return data_in; | 213 | return data_in; |
214 | } | 214 | } |