summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-06-16 19:18:56 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-06-17 00:29:24 +0200
commit918a06a12ad633a29634f3249990ba04ce9fb00b (patch)
treeecaa391890d391626a5cf849d08001391926b772
parentabb7d1dcfe204da217a67235811ebb278dc8fbe1 (diff)
downloadrockbox-918a06a12ad633a29634f3249990ba04ce9fb00b.tar.gz
rockbox-918a06a12ad633a29634f3249990ba04ce9fb00b.zip
imx233: normalise pinctrl names
The current pinctrl functions were a mess. Normalise the functions names to make them shorter and clearer. Change-Id: Iac6ff84625ef2b7610268e3a5802dc0088de3167
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c14
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c58
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi3/audio-zenxfi3.c18
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c32
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c46
-rw-r--r--firmware/target/arm/imx233/debug-imx233.c4
-rw-r--r--firmware/target/arm/imx233/i2c-imx233.c8
-rw-r--r--firmware/target/arm/imx233/pinctrl-imx233.c18
-rw-r--r--firmware/target/arm/imx233/pinctrl-imx233.h40
-rw-r--r--firmware/target/arm/imx233/power-imx233.c8
-rw-r--r--firmware/target/arm/imx233/pwm-imx233.c6
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c14
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c34
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c34
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c136
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c10
-rw-r--r--firmware/target/arm/imx233/sdmmc-imx233.c10
-rw-r--r--firmware/target/arm/imx233/ssp-imx233.c72
18 files changed, 281 insertions, 281 deletions
diff --git a/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c b/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
index 0685963166..b990becf26 100644
--- a/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
+++ b/firmware/target/arm/imx233/creative-zenxfi2/button-zenxfi2.c
@@ -71,13 +71,13 @@ void button_init_device(void)
71 imx233_touchscreen_enable(true); 71 imx233_touchscreen_enable(true);
72 72
73 /* power button */ 73 /* power button */
74 imx233_pinctrl_acquire_pin(0, 11, "power"); 74 imx233_pinctrl_acquire(0, 11, "power");
75 imx233_set_pin_function(0, 11, PINCTRL_FUNCTION_GPIO); 75 imx233_pinctrl_set_function(0, 11, PINCTRL_FUNCTION_GPIO);
76 imx233_enable_gpio_output(0, 11, false); 76 imx233_pinctrl_enable_gpio(0, 11, false);
77 /* select button */ 77 /* select button */
78 imx233_pinctrl_acquire_pin(0, 14, "select"); 78 imx233_pinctrl_acquire(0, 14, "select");
79 imx233_set_pin_function(0, 14, PINCTRL_FUNCTION_GPIO); 79 imx233_pinctrl_set_function(0, 14, PINCTRL_FUNCTION_GPIO);
80 imx233_enable_gpio_output(0, 14, false); 80 imx233_pinctrl_enable_gpio(0, 14, false);
81} 81}
82 82
83static int touch_to_pixels(int *val_x, int *val_y) 83static int touch_to_pixels(int *val_x, int *val_y)
@@ -119,7 +119,7 @@ int button_read_device(int *data)
119 int res = 0; 119 int res = 0;
120 /* B0P11: #power 120 /* B0P11: #power
121 * B0P14: #select */ 121 * B0P14: #select */
122 uint32_t mask = imx233_get_gpio_input_mask(0, 0x4800); 122 uint32_t mask = imx233_pinctrl_get_gpio_mask(0, 0x4800);
123 if(!(mask & 0x800)) 123 if(!(mask & 0x800))
124 res |= BUTTON_POWER; 124 res |= BUTTON_POWER;
125 if(!(mask & 0x4000)) 125 if(!(mask & 0x4000))
diff --git a/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c b/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
index 4f5033e3d3..0a16c995c1 100644
--- a/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
+++ b/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
@@ -45,42 +45,42 @@ static void setup_parameters(void)
45 45
46static void setup_lcd_pins(bool use_lcdif) 46static void setup_lcd_pins(bool use_lcdif)
47{ 47{
48 imx233_pinctrl_acquire_pin(1, 18, "lcd reset"); 48 imx233_pinctrl_acquire(1, 18, "lcd reset");
49 imx233_pinctrl_acquire_pin(1, 19, "lcd rs"); 49 imx233_pinctrl_acquire(1, 19, "lcd rs");
50 imx233_pinctrl_acquire_pin(1, 20, "lcd wr"); 50 imx233_pinctrl_acquire(1, 20, "lcd wr");
51 imx233_pinctrl_acquire_pin(1, 21, "lcd cs"); 51 imx233_pinctrl_acquire(1, 21, "lcd cs");
52 imx233_pinctrl_acquire_pin(1, 22, "lcd dotclk"); 52 imx233_pinctrl_acquire(1, 22, "lcd dotclk");
53 imx233_pinctrl_acquire_pin(1, 23, "lcd enable"); 53 imx233_pinctrl_acquire(1, 23, "lcd enable");
54 imx233_pinctrl_acquire_pin(1, 24, "lcd hsync"); 54 imx233_pinctrl_acquire(1, 24, "lcd hsync");
55 imx233_pinctrl_acquire_pin(1, 25, "lcd vsync"); 55 imx233_pinctrl_acquire(1, 25, "lcd vsync");
56 imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data"); 56 imx233_pinctrl_acquire_mask(1, 0x3ffff, "lcd data");
57 if(use_lcdif) 57 if(use_lcdif)
58 { 58 {
59 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */ 59 imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */
60 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ 60 imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
61 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_MAIN); /* lcd_dotclk */ 61 imx233_pinctrl_set_function(1, 22, PINCTRL_FUNCTION_MAIN); /* lcd_dotclk */
62 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_MAIN); /* lcd_enable */ 62 imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_MAIN); /* lcd_enable */
63 imx233_set_pin_function(1, 24, PINCTRL_FUNCTION_MAIN); /* lcd_hsync */ 63 imx233_pinctrl_set_function(1, 24, PINCTRL_FUNCTION_MAIN); /* lcd_hsync */
64 imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ 64 imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
65 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ 65 imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
66 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ 66 imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
67 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ 67 imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
68 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ 68 imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
69 HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */ 69 HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */
70 } 70 }
71 else 71 else
72 { 72 {
73 HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */ 73 HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */
74 imx233_enable_gpio_output_mask(1, 0x3ffffff, false); /* lcd_{d{0-17},reset,rs,wr,cs,dotclk,enable,hsync,vsync} */ 74 imx233_pinctrl_enable_gpio_mask(1, 0x3ffffff, false); /* lcd_{d{0-17},reset,rs,wr,cs,dotclk,enable,hsync,vsync} */
75 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */ 75 imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
76 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ 76 imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
77 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ 77 imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
78 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ 78 imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
79 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ 79 imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
80 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_GPIO); /* lcd_dotclk */ 80 imx233_pinctrl_set_function(1, 22, PINCTRL_FUNCTION_GPIO); /* lcd_dotclk */
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, 24, PINCTRL_FUNCTION_GPIO); /* lcd_hsync */ 82 imx233_pinctrl_set_function(1, 24, PINCTRL_FUNCTION_GPIO); /* lcd_hsync */
83 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ 83 imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
84 } 84 }
85} 85}
86 86
diff --git a/firmware/target/arm/imx233/creative-zenxfi3/audio-zenxfi3.c b/firmware/target/arm/imx233/creative-zenxfi3/audio-zenxfi3.c
index 9394c88f2c..3ea757aedb 100644
--- a/firmware/target/arm/imx233/creative-zenxfi3/audio-zenxfi3.c
+++ b/firmware/target/arm/imx233/creative-zenxfi3/audio-zenxfi3.c
@@ -34,15 +34,15 @@ static bool initialized = false;
34static void init(void) 34static void init(void)
35{ 35{
36 /* HP gate */ 36 /* HP gate */
37 imx233_pinctrl_acquire_pin(1, 30, "hp gate"); 37 imx233_pinctrl_acquire(1, 30, "hp gate");
38 imx233_set_pin_function(1, 30, PINCTRL_FUNCTION_GPIO); 38 imx233_pinctrl_set_function(1, 30, PINCTRL_FUNCTION_GPIO);
39 imx233_enable_gpio_output(1, 30, true); 39 imx233_pinctrl_enable_gpio(1, 30, true);
40 imx233_set_gpio_output(1, 30, false); 40 imx233_pinctrl_set_gpio(1, 30, false);
41 /* SPKR gate */ 41 /* SPKR gate */
42 imx233_pinctrl_acquire_pin(1, 22, "spkr gate"); 42 imx233_pinctrl_acquire(1, 22, "spkr gate");
43 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_GPIO); 43 imx233_pinctrl_set_function(1, 22, PINCTRL_FUNCTION_GPIO);
44 imx233_enable_gpio_output(1, 22, true); 44 imx233_pinctrl_enable_gpio(1, 22, true);
45 imx233_set_gpio_output(1, 22, false); 45 imx233_pinctrl_set_gpio(1, 22, false);
46 46
47 initialized = true; 47 initialized = true;
48} 48}
@@ -52,7 +52,7 @@ static void select_audio_path(void)
52 if(!initialized) 52 if(!initialized)
53 init(); 53 init();
54 /* route audio to HP */ 54 /* route audio to HP */
55 imx233_set_gpio_output(1, 30, true); 55 imx233_pinctrl_set_gpio(1, 30, true);
56 56
57 if(input_source == AUDIO_SRC_PLAYBACK) 57 if(input_source == AUDIO_SRC_PLAYBACK)
58 imx233_audioout_select_hp_input(false); 58 imx233_audioout_select_hp_input(false);
diff --git a/firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c b/firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c
index 70355bc24c..7f981b5d68 100644
--- a/firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c
+++ b/firmware/target/arm/imx233/creative-zenxfi3/button-zenxfi3.c
@@ -107,7 +107,7 @@ static void mpr121_thread(void)
107 if(status & 0x80) touchpad_btns |= BUTTON_PLAY; 107 if(status & 0x80) touchpad_btns |= BUTTON_PLAY;
108 } 108 }
109 /* enable interrupt */ 109 /* enable interrupt */
110 imx233_setup_pin_irq(0, 18, true, true, false, &mpr121_irq_cb); 110 imx233_pinctrl_setup_irq(0, 18, true, true, false, &mpr121_irq_cb);
111 } 111 }
112} 112}
113 113
@@ -122,28 +122,28 @@ void button_init_device(void)
122 create_thread(mpr121_thread, mpr121_stack, sizeof(mpr121_stack), 0, 122 create_thread(mpr121_thread, mpr121_stack, sizeof(mpr121_stack), 0,
123 mpr121_thread_name IF_PRIO(, PRIORITY_USER_INTERFACE) IF_COP(, CPU)); 123 mpr121_thread_name IF_PRIO(, PRIORITY_USER_INTERFACE) IF_COP(, CPU));
124 /* enable interrupt */ 124 /* enable interrupt */
125 imx233_pinctrl_acquire_pin(0, 18, "mpr121 int"); 125 imx233_pinctrl_acquire(0, 18, "mpr121 int");
126 imx233_set_pin_function(0, 18, PINCTRL_FUNCTION_GPIO); 126 imx233_pinctrl_set_function(0, 18, PINCTRL_FUNCTION_GPIO);
127 imx233_enable_gpio_output(0, 18, false); 127 imx233_pinctrl_enable_gpio(0, 18, false);
128 imx233_setup_pin_irq(0, 18, true, true, false, &mpr121_irq_cb); 128 imx233_pinctrl_setup_irq(0, 18, true, true, false, &mpr121_irq_cb);
129 /* hold button */ 129 /* hold button */
130 imx233_pinctrl_acquire_pin(0, 4, "hold"); 130 imx233_pinctrl_acquire(0, 4, "hold");
131 imx233_set_pin_function(0, 4, PINCTRL_FUNCTION_GPIO); 131 imx233_pinctrl_set_function(0, 4, PINCTRL_FUNCTION_GPIO);
132 imx233_enable_gpio_output(0, 4, false); 132 imx233_pinctrl_enable_gpio(0, 4, false);
133 /* volume down button */ 133 /* volume down button */
134 imx233_pinctrl_acquire_pin(2, 7, "volume down"); 134 imx233_pinctrl_acquire(2, 7, "volume down");
135 imx233_set_pin_function(2, 7, PINCTRL_FUNCTION_GPIO); 135 imx233_pinctrl_set_function(2, 7, PINCTRL_FUNCTION_GPIO);
136 imx233_enable_gpio_output(2, 7, false); 136 imx233_pinctrl_enable_gpio(2, 7, false);
137 /* volume up button */ 137 /* volume up button */
138 imx233_pinctrl_acquire_pin(2, 8, "volume up"); 138 imx233_pinctrl_acquire(2, 8, "volume up");
139 imx233_set_pin_function(2, 8, PINCTRL_FUNCTION_GPIO); 139 imx233_pinctrl_set_function(2, 8, PINCTRL_FUNCTION_GPIO);
140 imx233_enable_gpio_output(2, 8, false); 140 imx233_pinctrl_enable_gpio(2, 8, false);
141} 141}
142 142
143bool button_hold(void) 143bool button_hold(void)
144{ 144{
145 /* B0P04: #hold */ 145 /* B0P04: #hold */
146 return !imx233_get_gpio_input_mask(0, 0x10); 146 return !imx233_pinctrl_get_gpio_mask(0, 0x10);
147} 147}
148 148
149int button_read_device(void) 149int button_read_device(void)
@@ -171,7 +171,7 @@ int button_read_device(void)
171 /* B2P07: #volume- 171 /* B2P07: #volume-
172 * B2P08: #volume+ 172 * B2P08: #volume+
173 * PSWITCH: power */ 173 * PSWITCH: power */
174 uint32_t mask = imx233_get_gpio_input_mask(2, 0x180); 174 uint32_t mask = imx233_pinctrl_get_gpio_mask(2, 0x180);
175 if(!(mask & 0x80)) 175 if(!(mask & 0x80))
176 res |= BUTTON_VOL_DOWN; 176 res |= BUTTON_VOL_DOWN;
177 if(!(mask & 0x100)) 177 if(!(mask & 0x100))
diff --git a/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c b/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
index bc669d1a60..253f37eef6 100644
--- a/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
+++ b/firmware/target/arm/imx233/creative-zenxfi3/lcd-zenxfi3.c
@@ -48,36 +48,36 @@ static void setup_lcd_pins(bool use_lcdif)
48 /* WARNING 48 /* WARNING
49 * the B1P22 pins is used to gate the speaker! Do NOT drive 49 * the B1P22 pins is used to gate the speaker! Do NOT drive
50 * them as lcd_dotclk and lcd_hsync or it will break audio */ 50 * them as lcd_dotclk and lcd_hsync or it will break audio */
51 imx233_pinctrl_acquire_pin(1, 18, "lcd reset"); 51 imx233_pinctrl_acquire(1, 18, "lcd reset");
52 imx233_pinctrl_acquire_pin(1, 19, "lcd rs"); 52 imx233_pinctrl_acquire(1, 19, "lcd rs");
53 imx233_pinctrl_acquire_pin(1, 20, "lcd wr"); 53 imx233_pinctrl_acquire(1, 20, "lcd wr");
54 imx233_pinctrl_acquire_pin(1, 21, "lcd cs"); 54 imx233_pinctrl_acquire(1, 21, "lcd cs");
55 imx233_pinctrl_acquire_pin(1, 23, "lcd enable"); 55 imx233_pinctrl_acquire(1, 23, "lcd enable");
56 imx233_pinctrl_acquire_pin(1, 25, "lcd vsync"); 56 imx233_pinctrl_acquire(1, 25, "lcd vsync");
57 imx233_pinctrl_acquire_pin_mask(1, 0x3ffff, "lcd data"); 57 imx233_pinctrl_acquire_mask(1, 0x3ffff, "lcd data");
58 if(use_lcdif) 58 if(use_lcdif)
59 { 59 {
60 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */ 60 imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_MAIN); /* lcd_vsync */
61 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */ 61 imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_MAIN); /* lcd_cs */
62 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_MAIN); /* lcd_enable */ 62 imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_MAIN); /* lcd_enable */
63 imx233_set_pin_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */ 63 imx233_pinctrl_set_function(1, 18, PINCTRL_FUNCTION_MAIN); /* lcd_reset */
64 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */ 64 imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_MAIN); /* lcd_rs */
65 imx233_set_pin_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */ 65 imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_MAIN); /* lcd_d16 */
66 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */ 66 imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_MAIN); /* lcd_d17 */
67 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */ 67 imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_MAIN); /* lcd_wr */
68 HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */ 68 HW_PINCTRL_MUXSELn_CLR(2) = 0xffffffff; /* lcd_d{0-15} */
69 } 69 }
70 else 70 else
71 { 71 {
72 HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */ 72 HW_PINCTRL_MUXSELn_SET(2) = 0xffffffff; /* lcd_d{0-15} */
73 imx233_enable_gpio_output_mask(1, 0x2bfffff, false); /* lcd_{d{0-17},reset,rs,wr,cs,enable,vsync} */ 73 imx233_pinctrl_enable_gpio_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 */ 74 imx233_pinctrl_set_function(1, 16, PINCTRL_FUNCTION_GPIO); /* lcd_d16 */
75 imx233_set_pin_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */ 75 imx233_pinctrl_set_function(1, 17, PINCTRL_FUNCTION_GPIO); /* lcd_d17 */
76 imx233_set_pin_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */ 76 imx233_pinctrl_set_function(1, 19, PINCTRL_FUNCTION_GPIO); /* lcd_rs */
77 imx233_set_pin_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */ 77 imx233_pinctrl_set_function(1, 20, PINCTRL_FUNCTION_GPIO); /* lcd_wr */
78 imx233_set_pin_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */ 78 imx233_pinctrl_set_function(1, 21, PINCTRL_FUNCTION_GPIO); /* lcd_cs */
79 imx233_set_pin_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */ 79 imx233_pinctrl_set_function(1, 23, PINCTRL_FUNCTION_GPIO); /* lcd_enable */
80 imx233_set_pin_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */ 80 imx233_pinctrl_set_function(1, 25, PINCTRL_FUNCTION_GPIO); /* lcd_vsync */
81 } 81 }
82} 82}
83 83
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c
index 10f951c2e1..ff3313a59e 100644
--- a/firmware/target/arm/imx233/debug-imx233.c
+++ b/firmware/target/arm/imx233/debug-imx233.c
@@ -527,7 +527,7 @@ bool dbg_hw_info_pinctrl(void)
527 527
528 lcd_clear_display(); 528 lcd_clear_display();
529 for(int i = 0; i < 4; i++) 529 for(int i = 0; i < 4; i++)
530 lcd_putsf(0, i, "DIN%d = 0x%08x", i, imx233_get_gpio_input_mask(i, 0xffffffff)); 530 lcd_putsf(0, i, "DIN%d = 0x%08x", i, imx233_pinctrl_get_gpio_mask(i, 0xffffffff));
531#ifdef IMX233_PINCTRL_DEBUG 531#ifdef IMX233_PINCTRL_DEBUG
532 unsigned cur_line = 6; 532 unsigned cur_line = 6;
533 unsigned last_line = lcd_getheight() / font_get(lcd_getfont())->height; 533 unsigned last_line = lcd_getheight() / font_get(lcd_getfont())->height;
@@ -536,7 +536,7 @@ bool dbg_hw_info_pinctrl(void)
536 for(int bank = 0; bank < 4; bank++) 536 for(int bank = 0; bank < 4; bank++)
537 for(int pin = 0; pin < 32; pin++) 537 for(int pin = 0; pin < 32; pin++)
538 { 538 {
539 const char *owner = imx233_pinctrl_get_pin_use(bank, pin); 539 const char *owner = imx233_pinctrl_blame(bank, pin);
540 if(owner == NULL) 540 if(owner == NULL)
541 continue; 541 continue;
542 if(cur_idx++ >= top_user && cur_line < last_line) 542 if(cur_idx++ >= top_user && cur_line < last_line)
diff --git a/firmware/target/arm/imx233/i2c-imx233.c b/firmware/target/arm/imx233/i2c-imx233.c
index 054ce09a28..d087c94793 100644
--- a/firmware/target/arm/imx233/i2c-imx233.c
+++ b/firmware/target/arm/imx233/i2c-imx233.c
@@ -84,10 +84,10 @@ void imx233_i2c_init(void)
84{ 84{
85 BF_SET(I2C_CTRL0, SFTRST); 85 BF_SET(I2C_CTRL0, SFTRST);
86 /* setup pins (must be done when shutdown) */ 86 /* setup pins (must be done when shutdown) */
87 imx233_pinctrl_acquire_pin(0, 30, "i2c"); 87 imx233_pinctrl_acquire(0, 30, "i2c");
88 imx233_pinctrl_acquire_pin(0, 31, "i2c"); 88 imx233_pinctrl_acquire(0, 31, "i2c");
89 imx233_set_pin_function(0, 30, PINCTRL_FUNCTION_MAIN); 89 imx233_pinctrl_set_function(0, 30, PINCTRL_FUNCTION_MAIN);
90 imx233_set_pin_function(0, 31, PINCTRL_FUNCTION_MAIN); 90 imx233_pinctrl_set_function(0, 31, PINCTRL_FUNCTION_MAIN);
91 /* clear softreset */ 91 /* clear softreset */
92 imx233_reset_block(&HW_I2C_CTRL0); 92 imx233_reset_block(&HW_I2C_CTRL0);
93 /* Errata: 93 /* Errata:
diff --git a/firmware/target/arm/imx233/pinctrl-imx233.c b/firmware/target/arm/imx233/pinctrl-imx233.c
index 3d8a6cfe54..5dc25031b1 100644
--- a/firmware/target/arm/imx233/pinctrl-imx233.c
+++ b/firmware/target/arm/imx233/pinctrl-imx233.c
@@ -28,35 +28,35 @@
28// 4 banks of 32 pins 28// 4 banks of 32 pins
29static const char *pin_use[4][32]; 29static const char *pin_use[4][32];
30 30
31void imx233_pinctrl_acquire_pin(unsigned bank, unsigned pin, const char *name) 31void imx233_pinctrl_acquire(unsigned bank, unsigned pin, const char *name)
32{ 32{
33 if(pin_use[bank][pin] != NULL && pin_use[bank][pin] != name) 33 if(pin_use[bank][pin] != NULL && pin_use[bank][pin] != name)
34 panicf("acquire B%dP%02d for %s, was %s!", bank, pin, name, pin_use[bank][pin]); 34 panicf("acquire B%dP%02d for %s, was %s!", bank, pin, name, pin_use[bank][pin]);
35 pin_use[bank][pin] = name; 35 pin_use[bank][pin] = name;
36} 36}
37 37
38void imx233_pinctrl_acquire_pin_mask(unsigned bank, uint32_t mask, const char *name) 38void imx233_pinctrl_acquire_mask(unsigned bank, uint32_t mask, const char *name)
39{ 39{
40 for(unsigned pin = 0; pin < 32; pin++) 40 for(unsigned pin = 0; pin < 32; pin++)
41 if(mask & (1 << pin)) 41 if(mask & (1 << pin))
42 imx233_pinctrl_acquire_pin(bank, pin, name); 42 imx233_pinctrl_acquire(bank, pin, name);
43} 43}
44 44
45void imx233_pinctrl_release_pin(unsigned bank, unsigned pin, const char *name) 45void imx233_pinctrl_release(unsigned bank, unsigned pin, const char *name)
46{ 46{
47 if(pin_use[bank][pin] != NULL && pin_use[bank][pin] != name) 47 if(pin_use[bank][pin] != NULL && pin_use[bank][pin] != name)
48 panicf("release B%dP%02d for %s: was %s!", bank, pin, name, pin_use[bank][pin]); 48 panicf("release B%dP%02d for %s: was %s!", bank, pin, name, pin_use[bank][pin]);
49 pin_use[bank][pin] = NULL; 49 pin_use[bank][pin] = NULL;
50} 50}
51 51
52void imx233_pinctrl_release_pin_mask(unsigned bank, uint32_t mask, const char *name) 52void imx233_pinctrl_release_mask(unsigned bank, uint32_t mask, const char *name)
53{ 53{
54 for(unsigned pin = 0; pin < 32; pin++) 54 for(unsigned pin = 0; pin < 32; pin++)
55 if(mask & (1 << pin)) 55 if(mask & (1 << pin))
56 imx233_pinctrl_release_pin(bank, pin, name); 56 imx233_pinctrl_release(bank, pin, name);
57} 57}
58 58
59const char *imx233_pinctrl_get_pin_use(unsigned bank, unsigned pin) 59const char *imx233_pinctrl_blame(unsigned bank, unsigned pin)
60{ 60{
61 return pin_use[bank][pin]; 61 return pin_use[bank][pin];
62} 62}
@@ -71,7 +71,7 @@ static void INT_GPIO(int bank)
71 if(fire & (1 << pin)) 71 if(fire & (1 << pin))
72 { 72 {
73 pin_irq_cb_t cb = pin_cb[bank][pin]; 73 pin_irq_cb_t cb = pin_cb[bank][pin];
74 imx233_setup_pin_irq(bank, pin, false, false, false, NULL); 74 imx233_pinctrl_setup_irq(bank, pin, false, false, false, NULL);
75 if(cb) 75 if(cb)
76 cb(bank, pin); 76 cb(bank, pin);
77 } 77 }
@@ -92,7 +92,7 @@ void INT_GPIO2(void)
92 INT_GPIO(2); 92 INT_GPIO(2);
93} 93}
94 94
95void imx233_setup_pin_irq(int bank, int pin, bool enable_int, 95void imx233_pinctrl_setup_irq(int bank, int pin, bool enable_int,
96 bool level, bool polarity, pin_irq_cb_t cb) 96 bool level, bool polarity, pin_irq_cb_t cb)
97{ 97{
98 HW_PINCTRL_PIN2IRQn_CLR(bank) = 1 << pin; 98 HW_PINCTRL_PIN2IRQn_CLR(bank) = 1 << pin;
diff --git a/firmware/target/arm/imx233/pinctrl-imx233.h b/firmware/target/arm/imx233/pinctrl-imx233.h
index 82ed47d57e..c731490e38 100644
--- a/firmware/target/arm/imx233/pinctrl-imx233.h
+++ b/firmware/target/arm/imx233/pinctrl-imx233.h
@@ -41,17 +41,17 @@
41#define PINCTRL_DRIVE_16mA 3 /* not available on all pins */ 41#define PINCTRL_DRIVE_16mA 3 /* not available on all pins */
42 42
43#ifdef IMX233_PINCTRL_DEBUG 43#ifdef IMX233_PINCTRL_DEBUG
44void imx233_pinctrl_acquire_pin(unsigned bank, unsigned pin, const char *name); 44void imx233_pinctrl_acquire(unsigned bank, unsigned pin, const char *name);
45void imx233_pinctrl_acquire_pin_mask(unsigned bank, uint32_t mask, const char *name); 45void imx233_pinctrl_acquire_mask(unsigned bank, uint32_t mask, const char *name);
46void imx233_pinctrl_release_pin(unsigned bank, unsigned pin, const char *name); 46void imx233_pinctrl_release(unsigned bank, unsigned pin, const char *name);
47void imx233_pinctrl_release_pin_mask(unsigned bank, uint32_t mask, const char *name); 47void imx233_pinctrl_release_mask(unsigned bank, uint32_t mask, const char *name);
48const char *imx233_pinctrl_get_pin_use(unsigned bank, unsigned pin); 48const char *imx233_pinctrl_blame(unsigned bank, unsigned pin);
49#else 49#else
50#define imx233_pinctrl_acquire_pin(...) 50#define imx233_pinctrl_acquire(...)
51#define imx233_pinctrl_acquire_pin_mask(...) 51#define imx233_pinctrl_acquire_mask(...)
52#define imx233_pinctrl_release_pin(...) 52#define imx233_pinctrl_release(...)
53#define imx233_pinctrl_release_pin_mask(...) 53#define imx233_pinctrl_release_mask(...)
54#define imx233_pinctrl_get_pin_use(...) NULL 54#define imx233_pinctrl_blame(...) NULL
55#endif 55#endif
56 56
57typedef void (*pin_irq_cb_t)(int bank, int pin); 57typedef void (*pin_irq_cb_t)(int bank, int pin);
@@ -61,13 +61,13 @@ static inline void imx233_pinctrl_init(void)
61 HW_PINCTRL_CTRL_CLR = BM_OR2(PINCTRL_CTRL, CLKGATE, SFTRST); 61 HW_PINCTRL_CTRL_CLR = BM_OR2(PINCTRL_CTRL, CLKGATE, SFTRST);
62} 62}
63 63
64static inline void imx233_set_pin_drive_strength(unsigned bank, unsigned pin, unsigned strength) 64static inline void imx233_pinctrl_set_drive(unsigned bank, unsigned pin, unsigned strength)
65{ 65{
66 HW_PINCTRL_DRIVEn_CLR(4 * bank + pin / 8) = 3 << (4 * (pin % 8)); 66 HW_PINCTRL_DRIVEn_CLR(4 * bank + pin / 8) = 3 << (4 * (pin % 8));
67 HW_PINCTRL_DRIVEn_SET(4 * bank + pin / 8) = strength << (4 * (pin % 8)); 67 HW_PINCTRL_DRIVEn_SET(4 * bank + pin / 8) = strength << (4 * (pin % 8));
68} 68}
69 69
70static inline void imx233_enable_gpio_output(unsigned bank, unsigned pin, bool enable) 70static inline void imx233_pinctrl_enable_gpio(unsigned bank, unsigned pin, bool enable)
71{ 71{
72 if(enable) 72 if(enable)
73 HW_PINCTRL_DOEn_SET(bank) = 1 << pin; 73 HW_PINCTRL_DOEn_SET(bank) = 1 << pin;
@@ -75,7 +75,7 @@ static inline void imx233_enable_gpio_output(unsigned bank, unsigned pin, bool e
75 HW_PINCTRL_DOEn_CLR(bank) = 1 << pin; 75 HW_PINCTRL_DOEn_CLR(bank) = 1 << pin;
76} 76}
77 77
78static inline void imx233_enable_gpio_output_mask(unsigned bank, uint32_t pin_mask, bool enable) 78static inline void imx233_pinctrl_enable_gpio_mask(unsigned bank, uint32_t pin_mask, bool enable)
79{ 79{
80 if(enable) 80 if(enable)
81 HW_PINCTRL_DOEn_SET(bank) = pin_mask; 81 HW_PINCTRL_DOEn_SET(bank) = pin_mask;
@@ -83,7 +83,7 @@ static inline void imx233_enable_gpio_output_mask(unsigned bank, uint32_t pin_ma
83 HW_PINCTRL_DOEn_CLR(bank) = pin_mask; 83 HW_PINCTRL_DOEn_CLR(bank) = pin_mask;
84} 84}
85 85
86static inline void imx233_set_gpio_output(unsigned bank, unsigned pin, bool value) 86static inline void imx233_pinctrl_set_gpio(unsigned bank, unsigned pin, bool value)
87{ 87{
88 if(value) 88 if(value)
89 HW_PINCTRL_DOUTn_SET(bank) = 1 << pin; 89 HW_PINCTRL_DOUTn_SET(bank) = 1 << pin;
@@ -91,7 +91,7 @@ static inline void imx233_set_gpio_output(unsigned bank, unsigned pin, bool valu
91 HW_PINCTRL_DOUTn_CLR(bank) = 1 << pin; 91 HW_PINCTRL_DOUTn_CLR(bank) = 1 << pin;
92} 92}
93 93
94static inline void imx233_set_gpio_output_mask(unsigned bank, uint32_t pin_mask, bool value) 94static inline void imx233_pinctrl_set_gpio_mask(unsigned bank, uint32_t pin_mask, bool value)
95{ 95{
96 if(value) 96 if(value)
97 HW_PINCTRL_DOUTn_SET(bank) = pin_mask; 97 HW_PINCTRL_DOUTn_SET(bank) = pin_mask;
@@ -99,18 +99,18 @@ static inline void imx233_set_gpio_output_mask(unsigned bank, uint32_t pin_mask,
99 HW_PINCTRL_DOUTn_CLR(bank) = pin_mask; 99 HW_PINCTRL_DOUTn_CLR(bank) = pin_mask;
100} 100}
101 101
102static inline uint32_t imx233_get_gpio_input_mask(unsigned bank, uint32_t pin_mask) 102static inline uint32_t imx233_pinctrl_get_gpio_mask(unsigned bank, uint32_t pin_mask)
103{ 103{
104 return HW_PINCTRL_DINn(bank) & pin_mask; 104 return HW_PINCTRL_DINn(bank) & pin_mask;
105} 105}
106 106
107static inline void imx233_set_pin_function(unsigned bank, unsigned pin, unsigned function) 107static inline void imx233_pinctrl_set_function(unsigned bank, unsigned pin, unsigned function)
108{ 108{
109 HW_PINCTRL_MUXSELn_CLR(2 * bank + pin / 16) = 3 << (2 * (pin % 16)); 109 HW_PINCTRL_MUXSELn_CLR(2 * bank + pin / 16) = 3 << (2 * (pin % 16));
110 HW_PINCTRL_MUXSELn_SET(2 * bank + pin / 16) = function << (2 * (pin % 16)); 110 HW_PINCTRL_MUXSELn_SET(2 * bank + pin / 16) = function << (2 * (pin % 16));
111} 111}
112 112
113static inline void imx233_enable_pin_pullup(unsigned bank, unsigned pin, bool enable) 113static inline void imx233_pinctrl_enable_pullup(unsigned bank, unsigned pin, bool enable)
114{ 114{
115 if(enable) 115 if(enable)
116 HW_PINCTRL_PULLn_SET(bank) = 1 << pin; 116 HW_PINCTRL_PULLn_SET(bank) = 1 << pin;
@@ -118,7 +118,7 @@ static inline void imx233_enable_pin_pullup(unsigned bank, unsigned pin, bool en
118 HW_PINCTRL_PULLn_CLR(bank) = 1 << pin; 118 HW_PINCTRL_PULLn_CLR(bank) = 1 << pin;
119} 119}
120 120
121static inline void imx233_enable_pin_pullup_mask(unsigned bank, uint32_t pin_msk, bool enable) 121static inline void imx233_pinctrl_enable_pullup_mask(unsigned bank, uint32_t pin_msk, bool enable)
122{ 122{
123 if(enable) 123 if(enable)
124 HW_PINCTRL_PULLn_SET(bank) = pin_msk; 124 HW_PINCTRL_PULLn_SET(bank) = pin_msk;
@@ -128,7 +128,7 @@ static inline void imx233_enable_pin_pullup_mask(unsigned bank, uint32_t pin_msk
128 128
129/** On irq, the pin irq interrupt is disable and then cb is called; 129/** On irq, the pin irq interrupt is disable and then cb is called;
130 * the setup_pin_irq function needs to be called again to enable it again */ 130 * the setup_pin_irq function needs to be called again to enable it again */
131void imx233_setup_pin_irq(int bank, int pin, bool enable_int, 131void imx233_pinctrl_setup_irq(int bank, int pin, bool enable_int,
132 bool level, bool polarity, pin_irq_cb_t cb); 132 bool level, bool polarity, pin_irq_cb_t cb);
133 133
134#endif /* __PINCTRL_IMX233_H__ */ 134#endif /* __PINCTRL_IMX233_H__ */
diff --git a/firmware/target/arm/imx233/power-imx233.c b/firmware/target/arm/imx233/power-imx233.c
index 9c00178f1a..7829fd79ce 100644
--- a/firmware/target/arm/imx233/power-imx233.c
+++ b/firmware/target/arm/imx233/power-imx233.c
@@ -120,10 +120,10 @@ void power_off(void)
120 sleep(HZ / 2); 120 sleep(HZ / 2);
121#ifdef SANSA_FUZEPLUS 121#ifdef SANSA_FUZEPLUS
122 /* This pin seems to be important to shutdown the hardware properly */ 122 /* This pin seems to be important to shutdown the hardware properly */
123 imx233_pinctrl_acquire_pin(0, 9, "power off"); 123 imx233_pinctrl_acquire(0, 9, "power off");
124 imx233_set_pin_function(0, 9, PINCTRL_FUNCTION_GPIO); 124 imx233_pinctrl_set_function(0, 9, PINCTRL_FUNCTION_GPIO);
125 imx233_enable_gpio_output(0, 9, true); 125 imx233_pinctrl_enable_gpio(0, 9, true);
126 imx233_set_gpio_output(0, 9, true); 126 imx233_pinctrl_set_gpio(0, 9, true);
127#endif 127#endif
128 /* power down */ 128 /* power down */
129 HW_POWER_RESET = BM_OR2(POWER_RESET, UNLOCK, PWD); 129 HW_POWER_RESET = BM_OR2(POWER_RESET, UNLOCK, PWD);
diff --git a/firmware/target/arm/imx233/pwm-imx233.c b/firmware/target/arm/imx233/pwm-imx233.c
index c0417c55d0..86460e0140 100644
--- a/firmware/target/arm/imx233/pwm-imx233.c
+++ b/firmware/target/arm/imx233/pwm-imx233.c
@@ -49,11 +49,11 @@ void imx233_pwm_setup_channel(int channel, int period, int cdiv, int active,
49 if(enable) 49 if(enable)
50 imx233_pwm_enable_channel(channel, false); 50 imx233_pwm_enable_channel(channel, false);
51 /* setup pin */ 51 /* setup pin */
52 imx233_pinctrl_acquire_pin(IMX233_PWM_PIN_BANK(channel), 52 imx233_pinctrl_acquire(IMX233_PWM_PIN_BANK(channel),
53 IMX233_PWM_PIN(channel), "pwm"); 53 IMX233_PWM_PIN(channel), "pwm");
54 imx233_set_pin_function(IMX233_PWM_PIN_BANK(channel), IMX233_PWM_PIN(channel), 54 imx233_pinctrl_set_function(IMX233_PWM_PIN_BANK(channel), IMX233_PWM_PIN(channel),
55 PINCTRL_FUNCTION_MAIN); 55 PINCTRL_FUNCTION_MAIN);
56 imx233_set_pin_drive_strength(IMX233_PWM_PIN_BANK(channel), IMX233_PWM_PIN(channel), 56 imx233_pinctrl_set_drive(IMX233_PWM_PIN_BANK(channel), IMX233_PWM_PIN(channel),
57 PINCTRL_DRIVE_4mA); 57 PINCTRL_DRIVE_4mA);
58 /* watch the order ! active THEN period */ 58 /* watch the order ! active THEN period */
59 HW_PWM_ACTIVEn(channel) = BF_OR2(PWM_ACTIVEn, ACTIVE(active), INACTIVE(inactive)); 59 HW_PWM_ACTIVEn(channel) = BF_OR2(PWM_ACTIVEn, ACTIVE(active), INACTIVE(inactive));
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c
index 7f181a9672..efe9268989 100644
--- a/firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/backlight-fuzeplus.c
@@ -30,21 +30,21 @@ void _backlight_set_brightness(int brightness)
30{ 30{
31 if(brightness != 0) 31 if(brightness != 0)
32 brightness = 32 - (brightness * 32) / 100; 32 brightness = 32 - (brightness * 32) / 100;
33 imx233_set_gpio_output(1, 28, false); 33 imx233_pinctrl_set_gpio(1, 28, false);
34 udelay(600); 34 udelay(600);
35 while(brightness-- > 0) 35 while(brightness-- > 0)
36 { 36 {
37 imx233_set_gpio_output(1, 28, false); 37 imx233_pinctrl_set_gpio(1, 28, false);
38 imx233_set_gpio_output(1, 28, true); 38 imx233_pinctrl_set_gpio(1, 28, true);
39 } 39 }
40} 40}
41 41
42bool _backlight_init(void) 42bool _backlight_init(void)
43{ 43{
44 imx233_pinctrl_acquire_pin(1, 28, "backlight"); 44 imx233_pinctrl_acquire(1, 28, "backlight");
45 imx233_set_pin_function(1, 28, PINCTRL_FUNCTION_GPIO); 45 imx233_pinctrl_set_function(1, 28, PINCTRL_FUNCTION_GPIO);
46 imx233_set_pin_drive_strength(1, 28, PINCTRL_DRIVE_8mA); 46 imx233_pinctrl_set_drive(1, 28, PINCTRL_DRIVE_8mA);
47 imx233_enable_gpio_output(1, 28, true); 47 imx233_pinctrl_enable_gpio(1, 28, true);
48 _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); 48 _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING);
49 return true; 49 return true;
50} 50}
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c
index 703e87fc42..6373038d2e 100644
--- a/firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c
@@ -79,7 +79,7 @@ bool button_debug_screen(void)
79 lcd_putsf(0, 1, "RMI: id=%s p=%x s=%x", product_id, func_presence, sensor_prop); 79 lcd_putsf(0, 1, "RMI: id=%s p=%x s=%x", product_id, func_presence, sensor_prop);
80 lcd_putsf(0, 2, "xmax=%d ymax=%d res=%d", x_max, y_max, sensor_resol); 80 lcd_putsf(0, 2, "xmax=%d ymax=%d res=%d", x_max, y_max, sensor_resol);
81 lcd_putsf(0, 3, "attn=%d ctl=%x int=%x", 81 lcd_putsf(0, 3, "attn=%d ctl=%x int=%x",
82 imx233_get_gpio_input_mask(0, 0x08000000) ? 0 : 1, 82 imx233_pinctrl_get_gpio_mask(0, 0x08000000) ? 0 : 1,
83 rmi_read_single(RMI_DEVICE_CONTROL), 83 rmi_read_single(RMI_DEVICE_CONTROL),
84 rmi_read_single(RMI_INTERRUPT_REQUEST)); 84 rmi_read_single(RMI_INTERRUPT_REQUEST));
85 lcd_putsf(0, 4, "sensi: %d min_dist: %d", (int)sensitivity.value, min_dist); 85 lcd_putsf(0, 4, "sensi: %d min_dist: %d", (int)sensitivity.value, min_dist);
@@ -271,7 +271,7 @@ static void rmi_thread(void)
271 touchpad_btns = 0; 271 touchpad_btns = 0;
272 272
273 /* enable interrupt */ 273 /* enable interrupt */
274 imx233_setup_pin_irq(0, 27, true, true, false, &rmi_attn_cb); 274 imx233_pinctrl_setup_irq(0, 27, true, true, false, &rmi_attn_cb);
275 } 275 }
276} 276}
277 277
@@ -302,10 +302,10 @@ void button_init_device(void)
302 */ 302 */
303 303
304 /* touchpad power */ 304 /* touchpad power */
305 imx233_pinctrl_acquire_pin(0, 26, "touchpad power"); 305 imx233_pinctrl_acquire(0, 26, "touchpad power");
306 imx233_set_pin_function(0, 26, PINCTRL_FUNCTION_GPIO); 306 imx233_pinctrl_set_function(0, 26, PINCTRL_FUNCTION_GPIO);
307 imx233_enable_gpio_output(0, 26, false); 307 imx233_pinctrl_enable_gpio(0, 26, false);
308 imx233_set_pin_drive_strength(0, 26, PINCTRL_DRIVE_8mA); 308 imx233_pinctrl_set_drive(0, 26, PINCTRL_DRIVE_8mA);
309 309
310 rmi_init(0x40); 310 rmi_init(0x40);
311 311
@@ -325,14 +325,14 @@ void button_init_device(void)
325 create_thread(rmi_thread, rmi_stack, sizeof(rmi_stack), 0, 325 create_thread(rmi_thread, rmi_stack, sizeof(rmi_stack), 0,
326 rmi_thread_name IF_PRIO(, PRIORITY_USER_INTERFACE) IF_COP(, CPU)); 326 rmi_thread_name IF_PRIO(, PRIORITY_USER_INTERFACE) IF_COP(, CPU));
327 /* enable interrupt */ 327 /* enable interrupt */
328 imx233_pinctrl_acquire_pin(0, 27, "touchpad int"); 328 imx233_pinctrl_acquire(0, 27, "touchpad int");
329 imx233_set_pin_function(0, 27, PINCTRL_FUNCTION_GPIO); 329 imx233_pinctrl_set_function(0, 27, PINCTRL_FUNCTION_GPIO);
330 imx233_enable_gpio_output(0, 27, false); 330 imx233_pinctrl_enable_gpio(0, 27, false);
331 imx233_setup_pin_irq(0, 27, true, true, false, &rmi_attn_cb); 331 imx233_pinctrl_setup_irq(0, 27, true, true, false, &rmi_attn_cb);
332 /* Volume down */ 332 /* Volume down */
333 imx233_pinctrl_acquire_pin(1, 30, "volume down"); 333 imx233_pinctrl_acquire(1, 30, "volume down");
334 imx233_set_pin_function(1, 30, PINCTRL_FUNCTION_GPIO); 334 imx233_pinctrl_set_function(1, 30, PINCTRL_FUNCTION_GPIO);
335 imx233_enable_gpio_output(1, 30, false); 335 imx233_pinctrl_enable_gpio(1, 30, false);
336} 336}
337 337
338#else 338#else
@@ -340,9 +340,9 @@ void button_init_device(void)
340void button_init_device(void) 340void button_init_device(void)
341{ 341{
342 /* Volume down */ 342 /* Volume down */
343 imx233_pinctrl_acquire_pin(1, 30, "volume down"); 343 imx233_pinctrl_acquire(1, 30, "volume down");
344 imx233_set_pin_function(1, 30, PINCTRL_FUNCTION_GPIO); 344 imx233_pinctrl_set_function(1, 30, PINCTRL_FUNCTION_GPIO);
345 imx233_enable_gpio_output(1, 30, false); 345 imx233_pinctrl_enable_gpio(1, 30, false);
346} 346}
347 347
348int touchpad_read_device(void) 348int touchpad_read_device(void)
@@ -355,7 +355,7 @@ int touchpad_read_device(void)
355int button_read_device(void) 355int button_read_device(void)
356{ 356{
357 int res = 0; 357 int res = 0;
358 if(!imx233_get_gpio_input_mask(1, 0x40000000)) 358 if(!imx233_pinctrl_get_gpio_mask(1, 0x40000000))
359 res |= BUTTON_VOL_DOWN; 359 res |= BUTTON_VOL_DOWN;
360 /* The imx233 uses the voltage on the PSWITCH pin to detect power up/down 360 /* The imx233 uses the voltage on the PSWITCH pin to detect power up/down
361 * events as well as recovery mode. Since the power button is the power button 361 * events as well as recovery mode. Since the power button is the power button
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c
index 7988c4cb28..80c9d9149a 100644
--- a/firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/fmradio-i2c-fuzeplus.c
@@ -38,32 +38,32 @@ static int fmradio_i2c_bus = -1;
38 38
39static void i2c_scl_dir(bool out) 39static void i2c_scl_dir(bool out)
40{ 40{
41 imx233_enable_gpio_output(1, 22, out); 41 imx233_pinctrl_enable_gpio(1, 22, out);
42} 42}
43 43
44static void i2c_sda_dir(bool out) 44static void i2c_sda_dir(bool out)
45{ 45{
46 imx233_enable_gpio_output(1, 24, out); 46 imx233_pinctrl_enable_gpio(1, 24, out);
47} 47}
48 48
49static void i2c_scl_out(bool high) 49static void i2c_scl_out(bool high)
50{ 50{
51 imx233_set_gpio_output(1, 22, high); 51 imx233_pinctrl_set_gpio(1, 22, high);
52} 52}
53 53
54static void i2c_sda_out(bool high) 54static void i2c_sda_out(bool high)
55{ 55{
56 imx233_set_gpio_output(1, 24, high); 56 imx233_pinctrl_set_gpio(1, 24, high);
57} 57}
58 58
59static bool i2c_scl_in(void) 59static bool i2c_scl_in(void)
60{ 60{
61 return imx233_get_gpio_input_mask(1, 1 << 22); 61 return imx233_pinctrl_get_gpio_mask(1, 1 << 22);
62} 62}
63 63
64static bool i2c_sda_in(void) 64static bool i2c_sda_in(void)
65{ 65{
66 return imx233_get_gpio_input_mask(1, 1 << 24); 66 return imx233_pinctrl_get_gpio_mask(1, 1 << 24);
67} 67}
68 68
69static void i2c_delay(int d) 69static void i2c_delay(int d)
@@ -90,10 +90,10 @@ struct i2c_interface fmradio_i2c =
90 90
91void fmradio_i2c_init(void) 91void fmradio_i2c_init(void)
92{ 92{
93 imx233_pinctrl_acquire_pin(1, 24, "fmradio i2c"); 93 imx233_pinctrl_acquire(1, 24, "fmradio i2c");
94 imx233_pinctrl_acquire_pin(1, 22, "fmradio i2c"); 94 imx233_pinctrl_acquire(1, 22, "fmradio i2c");
95 imx233_set_pin_function(1, 24, PINCTRL_FUNCTION_GPIO); 95 imx233_pinctrl_set_function(1, 24, PINCTRL_FUNCTION_GPIO);
96 imx233_set_pin_function(1, 22, PINCTRL_FUNCTION_GPIO); 96 imx233_pinctrl_set_function(1, 22, PINCTRL_FUNCTION_GPIO);
97 fmradio_i2c_bus = i2c_add_node(&fmradio_i2c); 97 fmradio_i2c_bus = i2c_add_node(&fmradio_i2c);
98} 98}
99 99
@@ -132,7 +132,7 @@ static void NORETURN_ATTR rds_thread(void)
132 if(si4700_rds_read_raw(rds_data) && rds_process(rds_data)) 132 if(si4700_rds_read_raw(rds_data) && rds_process(rds_data))
133 si4700_rds_set_event(); 133 si4700_rds_set_event();
134 /* renable callback */ 134 /* renable callback */
135 imx233_setup_pin_irq(2, 27, true, true, false, &stc_rds_callback); 135 imx233_pinctrl_setup_irq(2, 27, true, true, false, &stc_rds_callback);
136 } 136 }
137} 137}
138 138
@@ -141,16 +141,16 @@ void si4700_rds_powerup(bool on)
141{ 141{
142 if(on) 142 if(on)
143 { 143 {
144 imx233_pinctrl_acquire_pin(2, 27, "tuner stc/rds"); 144 imx233_pinctrl_acquire(2, 27, "tuner stc/rds");
145 imx233_set_pin_function(2, 27, PINCTRL_FUNCTION_GPIO); 145 imx233_pinctrl_set_function(2, 27, PINCTRL_FUNCTION_GPIO);
146 imx233_enable_gpio_output(2, 27, false); 146 imx233_pinctrl_enable_gpio(2, 27, false);
147 /* pin is set to 0 when an RDS packet has arrived */ 147 /* pin is set to 0 when an RDS packet has arrived */
148 imx233_setup_pin_irq(2, 27, true, true, false, &stc_rds_callback); 148 imx233_pinctrl_setup_irq(2, 27, true, true, false, &stc_rds_callback);
149 } 149 }
150 else 150 else
151 { 151 {
152 imx233_setup_pin_irq(2, 27, false, false, false, NULL); 152 imx233_pinctrl_setup_irq(2, 27, false, false, false, NULL);
153 imx233_pinctrl_release_pin(2, 27, "tuner stc/rds"); 153 imx233_pinctrl_release(2, 27, "tuner stc/rds");
154 } 154 }
155} 155}
156 156
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}
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c
index 89dbfd3cb7..5d0377f77c 100644
--- a/firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c
@@ -33,11 +33,11 @@ bool tuner_power(bool enable)
33 if(enable != tuner_enable) 33 if(enable != tuner_enable)
34 { 34 {
35 /* CE is B029 (active high) */ 35 /* CE is B029 (active high) */
36 imx233_pinctrl_acquire_pin(0, 29, "tuner power"); 36 imx233_pinctrl_acquire(0, 29, "tuner power");
37 imx233_set_pin_function(0, 29, PINCTRL_FUNCTION_GPIO); 37 imx233_pinctrl_set_function(0, 29, PINCTRL_FUNCTION_GPIO);
38 imx233_set_pin_drive_strength(0, 29, PINCTRL_DRIVE_4mA); 38 imx233_pinctrl_set_drive(0, 29, PINCTRL_DRIVE_4mA);
39 imx233_enable_gpio_output(0, 29, enable); 39 imx233_pinctrl_enable_gpio(0, 29, enable);
40 imx233_set_gpio_output(0, 29, enable); 40 imx233_pinctrl_set_gpio(0, 29, enable);
41 tuner_enable = enable; 41 tuner_enable = enable;
42 /* give time to power up */ 42 /* give time to power up */
43 udelay(5); 43 udelay(5);
diff --git a/firmware/target/arm/imx233/sdmmc-imx233.c b/firmware/target/arm/imx233/sdmmc-imx233.c
index bff5c98969..ed362a7bc0 100644
--- a/firmware/target/arm/imx233/sdmmc-imx233.c
+++ b/firmware/target/arm/imx233/sdmmc-imx233.c
@@ -200,13 +200,13 @@ static void sdmmc_power(int drive, bool on)
200 { 200 {
201 int bank = PIN2BANK(SDMMC_CONF(drive).power_pin); 201 int bank = PIN2BANK(SDMMC_CONF(drive).power_pin);
202 int pin = PIN2PIN(SDMMC_CONF(drive).power_pin); 202 int pin = PIN2PIN(SDMMC_CONF(drive).power_pin);
203 imx233_pinctrl_acquire_pin(bank, pin, "sd/mmc power"); 203 imx233_pinctrl_acquire(bank, pin, "sd/mmc power");
204 imx233_set_pin_function(bank, pin, PINCTRL_FUNCTION_GPIO); 204 imx233_pinctrl_set_function(bank, pin, PINCTRL_FUNCTION_GPIO);
205 imx233_enable_gpio_output(bank, pin, true); 205 imx233_pinctrl_enable_gpio(bank, pin, true);
206 if(SDMMC_FLAGS(drive) & POWER_INVERTED) 206 if(SDMMC_FLAGS(drive) & POWER_INVERTED)
207 imx233_set_gpio_output(bank, pin, !on); 207 imx233_pinctrl_set_gpio(bank, pin, !on);
208 else 208 else
209 imx233_set_gpio_output(bank, pin, on); 209 imx233_pinctrl_set_gpio(bank, pin, on);
210 } 210 }
211 if(SDMMC_FLAGS(drive) & POWER_DELAY) 211 if(SDMMC_FLAGS(drive) & POWER_DELAY)
212 sleep(SDMMC_CONF(drive).power_delay); 212 sleep(SDMMC_CONF(drive).power_delay);
diff --git a/firmware/target/arm/imx233/ssp-imx233.c b/firmware/target/arm/imx233/ssp-imx233.c
index a6c3028d98..a3f4083aeb 100644
--- a/firmware/target/arm/imx233/ssp-imx233.c
+++ b/firmware/target/arm/imx233/ssp-imx233.c
@@ -168,20 +168,20 @@ void imx233_ssp_setup_ssp1_sd_mmc_pins(bool enable_pullups, unsigned bus_width,
168 unsigned drive_strength, bool use_alt) 168 unsigned drive_strength, bool use_alt)
169{ 169{
170 /* SSP_{CMD,SCK} */ 170 /* SSP_{CMD,SCK} */
171 imx233_set_pin_drive_strength(2, 0, drive_strength); 171 imx233_pinctrl_set_drive(2, 0, drive_strength);
172 imx233_set_pin_drive_strength(2, 6, drive_strength); 172 imx233_pinctrl_set_drive(2, 6, drive_strength);
173 imx233_pinctrl_acquire_pin(2, 0, "ssp1 cmd"); 173 imx233_pinctrl_acquire(2, 0, "ssp1 cmd");
174 imx233_pinctrl_acquire_pin(2, 6, "ssp1 sck"); 174 imx233_pinctrl_acquire(2, 6, "ssp1 sck");
175 imx233_set_pin_function(2, 0, PINCTRL_FUNCTION_MAIN); 175 imx233_pinctrl_set_function(2, 0, PINCTRL_FUNCTION_MAIN);
176 imx233_set_pin_function(2, 6, PINCTRL_FUNCTION_MAIN); 176 imx233_pinctrl_set_function(2, 6, PINCTRL_FUNCTION_MAIN);
177 imx233_enable_pin_pullup(2, 0, enable_pullups); 177 imx233_pinctrl_enable_pullup(2, 0, enable_pullups);
178 /* SSP_DATA{0-3} */ 178 /* SSP_DATA{0-3} */
179 for(unsigned i = 0; i < MIN(bus_width, 4); i++) 179 for(unsigned i = 0; i < MIN(bus_width, 4); i++)
180 { 180 {
181 imx233_pinctrl_acquire_pin(2, 2 + i, "ssp1 data"); 181 imx233_pinctrl_acquire(2, 2 + i, "ssp1 data");
182 imx233_set_pin_drive_strength(2, 2 + i, drive_strength); 182 imx233_pinctrl_set_drive(2, 2 + i, drive_strength);
183 imx233_set_pin_function(2, 2 + i, PINCTRL_FUNCTION_MAIN); 183 imx233_pinctrl_set_function(2, 2 + i, PINCTRL_FUNCTION_MAIN);
184 imx233_enable_pin_pullup(2, 2 + i, enable_pullups); 184 imx233_pinctrl_enable_pullup(2, 2 + i, enable_pullups);
185 } 185 }
186 186
187 /* SSP_DATA{4-7} */ 187 /* SSP_DATA{4-7} */
@@ -189,17 +189,17 @@ void imx233_ssp_setup_ssp1_sd_mmc_pins(bool enable_pullups, unsigned bus_width,
189 { 189 {
190 if(use_alt) 190 if(use_alt)
191 { 191 {
192 imx233_pinctrl_acquire_pin(0, 22 + i, "ssp1 data"); 192 imx233_pinctrl_acquire(0, 22 + i, "ssp1 data");
193 imx233_set_pin_drive_strength(0, 22 + i, drive_strength); 193 imx233_pinctrl_set_drive(0, 22 + i, drive_strength);
194 imx233_set_pin_function(0, 22 + i, PINCTRL_FUNCTION_ALT2); 194 imx233_pinctrl_set_function(0, 22 + i, PINCTRL_FUNCTION_ALT2);
195 imx233_enable_pin_pullup(0, 22 + i, enable_pullups); 195 imx233_pinctrl_enable_pullup(0, 22 + i, enable_pullups);
196 } 196 }
197 else 197 else
198 { 198 {
199 imx233_pinctrl_acquire_pin(0, 4 + i, "ssp1 data"); 199 imx233_pinctrl_acquire(0, 4 + i, "ssp1 data");
200 imx233_set_pin_drive_strength(0, 4 + i, drive_strength); 200 imx233_pinctrl_set_drive(0, 4 + i, drive_strength);
201 imx233_set_pin_function(0, 4 + i, PINCTRL_FUNCTION_ALT2); 201 imx233_pinctrl_set_function(0, 4 + i, PINCTRL_FUNCTION_ALT2);
202 imx233_enable_pin_pullup(0, 4 + i, enable_pullups); 202 imx233_pinctrl_enable_pullup(0, 4 + i, enable_pullups);
203 } 203 }
204 } 204 }
205} 205}
@@ -208,22 +208,22 @@ void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width,
208 unsigned drive_strength) 208 unsigned drive_strength)
209{ 209{
210 /* SSP_{CMD,SCK} */ 210 /* SSP_{CMD,SCK} */
211 imx233_pinctrl_acquire_pin(0, 20, "ssp2 cmd"); 211 imx233_pinctrl_acquire(0, 20, "ssp2 cmd");
212 imx233_pinctrl_acquire_pin(0, 24, "ssp2 sck"); 212 imx233_pinctrl_acquire(0, 24, "ssp2 sck");
213 imx233_set_pin_drive_strength(0, 20, drive_strength); 213 imx233_pinctrl_set_drive(0, 20, drive_strength);
214 imx233_set_pin_drive_strength(0, 24, drive_strength); 214 imx233_pinctrl_set_drive(0, 24, drive_strength);
215 imx233_set_pin_function(0, 20, PINCTRL_FUNCTION_ALT2); 215 imx233_pinctrl_set_function(0, 20, PINCTRL_FUNCTION_ALT2);
216 imx233_set_pin_function(0, 24, PINCTRL_FUNCTION_ALT2); 216 imx233_pinctrl_set_function(0, 24, PINCTRL_FUNCTION_ALT2);
217 imx233_enable_pin_pullup(0, 20, enable_pullups); 217 imx233_pinctrl_enable_pullup(0, 20, enable_pullups);
218 /* SSP_DATA{0-7}*/ 218 /* SSP_DATA{0-7}*/
219 for(unsigned i = 0; i < bus_width; i++) 219 for(unsigned i = 0; i < bus_width; i++)
220 { 220 {
221 imx233_pinctrl_acquire_pin(0, i, "ssp2 data"); 221 imx233_pinctrl_acquire(0, i, "ssp2 data");
222 imx233_set_pin_drive_strength(0, i, drive_strength); 222 imx233_pinctrl_set_drive(0, i, drive_strength);
223 imx233_set_pin_function(0, i, PINCTRL_FUNCTION_ALT2); 223 imx233_pinctrl_set_function(0, i, PINCTRL_FUNCTION_ALT2);
224 imx233_enable_pin_pullup(0, i, enable_pullups); 224 imx233_pinctrl_enable_pullup(0, i, enable_pullups);
225 imx233_enable_gpio_output(0, i, false); 225 imx233_pinctrl_enable_gpio(0, i, false);
226 imx233_set_gpio_output(0, i, false); 226 imx233_pinctrl_set_gpio(0, i, false);
227 } 227 }
228} 228}
229 229
@@ -376,13 +376,13 @@ void imx233_ssp_sdmmc_setup_detect(int ssp, bool enable, ssp_detect_cb_t fn,
376 ssp_detect_invert[ssp - 1] = invert; 376 ssp_detect_invert[ssp - 1] = invert;
377 if(enable) 377 if(enable)
378 { 378 {
379 imx233_pinctrl_acquire_pin(bank, pin, ssp == 1 ? "ssp1 detect" : "ssp2 detect"); 379 imx233_pinctrl_acquire(bank, pin, ssp == 1 ? "ssp1 detect" : "ssp2 detect");
380 imx233_set_pin_function(bank, pin, PINCTRL_FUNCTION_GPIO); 380 imx233_pinctrl_set_function(bank, pin, PINCTRL_FUNCTION_GPIO);
381 imx233_enable_gpio_output(bank, pin, false); 381 imx233_pinctrl_enable_gpio(bank, pin, false);
382 } 382 }
383 if(first_time && imx233_ssp_sdmmc_detect(ssp)) 383 if(first_time && imx233_ssp_sdmmc_detect(ssp))
384 detect_irq(bank, pin); 384 detect_irq(bank, pin);
385 imx233_setup_pin_irq(bank, pin, enable, true, !imx233_ssp_sdmmc_detect_raw(ssp), detect_irq); 385 imx233_pinctrl_setup_irq(bank, pin, enable, true, !imx233_ssp_sdmmc_detect_raw(ssp), detect_irq);
386} 386}
387 387
388bool imx233_ssp_sdmmc_is_detect_inverted(int ssp) 388bool imx233_ssp_sdmmc_is_detect_inverted(int ssp)