···206206 imx233_ssp_sdmmc_is_detect_inverted(ssp));
207207}
208208209209+static void sdmmc_enable_pullups(int drive, bool pullup)
210210+{
211211+ /* setup pins, never use alternatives pin on SSP1 because no device use it
212212+ * but this could be made a flag */
213213+ int bus_width = SDMMC_MODE(drive) == MMC_MODE ? 8 : 4;
214214+ if(SDMMC_SSP(drive) == 1)
215215+ imx233_ssp_setup_ssp1_sd_mmc_pins(pullup, bus_width, false);
216216+ else
217217+ imx233_ssp_setup_ssp2_sd_mmc_pins(pullup, bus_width);
218218+}
219219+209220static void sdmmc_power(int drive, bool on)
210221{
211222 /* power chip if needed */
···223234 }
224235 if(SDMMC_FLAGS(drive) & POWER_DELAY)
225236 sleep(SDMMC_CONF(drive).power_delay);
226226- /* setup pins, never use alternatives pin on SSP1 because no device use it
227227- * but this could be made a flag */
228228- int bus_width = SDMMC_MODE(drive) == MMC_MODE ? 8 : 4;
229229- if(SDMMC_SSP(drive) == 1)
230230- imx233_ssp_setup_ssp1_sd_mmc_pins(on, bus_width, PINCTRL_DRIVE_4mA, false);
231231- else
232232- imx233_ssp_setup_ssp2_sd_mmc_pins(on, bus_width, PINCTRL_DRIVE_4mA);
237237+ /* enable pullups for identification */
238238+ sdmmc_enable_pullups(drive, true);
233239}
234240235241#define MCI_NO_RESP 0
···9898 uint32_t cmd_arg, enum imx233_ssp_resp_t resp, void *buffer, unsigned block_count,
9999 bool wait4irq, bool read, uint32_t *resp_ptr);
100100/* pullups/alternative are ignored on targets which don't support it */
101101-void imx233_ssp_setup_ssp1_sd_mmc_pins(bool enable_pullups, unsigned bus_width,
102102- unsigned drive_strength, bool use_alt);
103103-void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width,
104104- unsigned drive_strength);
101101+void imx233_ssp_setup_ssp1_sd_mmc_pins(bool enable_pullups, unsigned bus_width, bool use_alt);
102102+void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width);
105103/* after callback is fired, imx233_ssp_sdmmc_setup_detect needs to be called
106104 * to enable detection again. If first_time is true, the callback will
107105 * be called if the sd card is inserted when the function is called, otherwise