@@ -177,6 +177,12 @@ static mp_obj_t machine_sdcard_make_new(const mp_obj_type_t *type, size_t n_args
177
177
ARG_mosi ,
178
178
ARG_sck ,
179
179
ARG_cs ,
180
+ ARG_clk ,
181
+ ARG_cmd ,
182
+ ARG_d0 ,
183
+ ARG_d1 ,
184
+ ARG_d2 ,
185
+ ARG_d3 ,
180
186
ARG_freq ,
181
187
};
182
188
static const mp_arg_t allowed_args [] = {
@@ -189,6 +195,13 @@ static mp_obj_t machine_sdcard_make_new(const mp_obj_type_t *type, size_t n_args
189
195
{ MP_QSTR_mosi , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
190
196
{ MP_QSTR_sck , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
191
197
{ MP_QSTR_cs , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
198
+ // These are only needed if using SDMMC mode
199
+ { MP_QSTR_clk , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
200
+ { MP_QSTR_cmd , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
201
+ { MP_QSTR_d0 , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
202
+ { MP_QSTR_d1 , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
203
+ { MP_QSTR_d2 , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
204
+ { MP_QSTR_d3 , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
192
205
// freq is valid for both SPI and SDMMC interfaces
193
206
{ MP_QSTR_freq , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 20000000 } },
194
207
};
@@ -300,6 +313,15 @@ static mp_obj_t machine_sdcard_make_new(const mp_obj_type_t *type, size_t n_args
300
313
SET_CONFIG_PIN (slot_config , gpio_cd , ARG_cd );
301
314
SET_CONFIG_PIN (slot_config , gpio_wp , ARG_wp );
302
315
316
+ #if SOC_SDMMC_USE_GPIO_MATRIX
317
+ SET_CONFIG_PIN (slot_config , clk , ARG_clk );
318
+ SET_CONFIG_PIN (slot_config , cmd , ARG_cmd );
319
+ SET_CONFIG_PIN (slot_config , d0 , ARG_d0 );
320
+ SET_CONFIG_PIN (slot_config , d1 , ARG_d1 );
321
+ SET_CONFIG_PIN (slot_config , d2 , ARG_d2 );
322
+ SET_CONFIG_PIN (slot_config , d3 , ARG_d3 );
323
+ #endif
324
+
303
325
int width = arg_vals [ARG_width ].u_int ;
304
326
if (width == 1 || width == 4 || (width == 8 && slot_num == 0 )) {
305
327
slot_config .width = width ;
0 commit comments