Merge pull request from jepler/sdcardio-failures

Sdcardio failures
This commit is contained in:
Jeff Epler 2022-11-29 15:13:53 -06:00 committed by GitHub
commit 49ac82564c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions
ports/atmel-samd
Makefile
common-hal/sdioio

@ -79,7 +79,7 @@ endif
ifeq ($(CHIP_FAMILY), same54) ifeq ($(CHIP_FAMILY), same54)
PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x PERIPHERALS_CHIP_FAMILY=sam_d5x_e5x
OPTIMIZATION_FLAGS ?= -O2 OPTIMIZATION_FLAGS ?= -Os
# TinyUSB defines # TinyUSB defines
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAME5X -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024 CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_SAME5X -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_CDC_RX_BUFSIZE=256 -DCFG_TUD_MIDI_TX_BUFSIZE=128 -DCFG_TUD_CDC_TX_BUFSIZE=256 -DCFG_TUD_MSC_BUFSIZE=1024
endif endif

@ -114,8 +114,6 @@ CLK PA21 PCC_D? (D32) BROWN
gpio_set_pin_pull_mode(functions[i]->pin, gpio_set_pin_pull_mode(functions[i]->pin,
(i == 1 || i == 5) ? GPIO_PULL_OFF : GPIO_PULL_UP); (i == 1 || i == 5) ? GPIO_PULL_OFF : GPIO_PULL_UP);
gpio_set_pin_function(functions[i]->pin, GPIO_PIN_FUNCTION_SDIO); gpio_set_pin_function(functions[i]->pin, GPIO_PIN_FUNCTION_SDIO);
common_hal_never_reset_pin(functions[i]->obj);
} }
self->num_data = num_data; self->num_data = num_data;
@ -145,6 +143,12 @@ CLK PA21 PCC_D? (D32) BROWN
} }
if (result != SD_MMC_OK) { if (result != SD_MMC_OK) {
for (size_t i = 0; i < MP_ARRAY_SIZE(functions); i++) {
if (!functions[i]->obj) {
break;
}
reset_pin_number(functions[i]->obj->number);
}
mp_raise_OSError_msg_varg(translate("%q failure: %d"), MP_QSTR_sd_mmc_check, (int)result); mp_raise_OSError_msg_varg(translate("%q failure: %d"), MP_QSTR_sd_mmc_check, (int)result);
} }
// sd_mmc_get_capacity() is in KiB, but our "capacity" is in 512-byte blocks // sd_mmc_get_capacity() is in KiB, but our "capacity" is in 512-byte blocks