Skip to content

Commit 3e82bed

Browse files
nesosdpgeorge
authored andcommitted
stmhal/sdcard: Allow a board to customise the SDIO pins.
1 parent fbd252b commit 3e82bed

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

stmhal/sdcard.c

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,18 @@
9696

9797
#endif
9898

99+
// If no custom SDIO pins defined, use the default ones
100+
#ifndef MICROPY_HW_SDMMC_CK
101+
102+
#define MICROPY_HW_SDMMC_D0 (pin_C8)
103+
#define MICROPY_HW_SDMMC_D1 (pin_C9)
104+
#define MICROPY_HW_SDMMC_D2 (pin_C10)
105+
#define MICROPY_HW_SDMMC_D3 (pin_C11)
106+
#define MICROPY_HW_SDMMC_CK (pin_C12)
107+
#define MICROPY_HW_SDMMC_CMD (pin_D2)
108+
109+
#endif
110+
99111
// TODO: Since SDIO is fundamentally half-duplex, we really only need to
100112
// tie up one DMA channel. However, the HAL DMA API doesn't
101113
// seem to provide a convenient way to change the direction. I believe that
@@ -128,12 +140,12 @@ void sdcard_init(void) {
128140
mp_hal_pin_config_alt(&MICROPY_HW_SDMMC2_D3, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, AF_FN_SDMMC, 2);
129141
#else
130142
// Default SDIO/SDMMC1 config
131-
mp_hal_pin_config(&pin_C8, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
132-
mp_hal_pin_config(&pin_C9, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
133-
mp_hal_pin_config(&pin_C10, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
134-
mp_hal_pin_config(&pin_C11, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
135-
mp_hal_pin_config(&pin_C12, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
136-
mp_hal_pin_config(&pin_D2, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
143+
mp_hal_pin_config(&MICROPY_HW_SDMMC_D0, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
144+
mp_hal_pin_config(&MICROPY_HW_SDMMC_D1, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
145+
mp_hal_pin_config(&MICROPY_HW_SDMMC_D2, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
146+
mp_hal_pin_config(&MICROPY_HW_SDMMC_D3, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
147+
mp_hal_pin_config(&MICROPY_HW_SDMMC_CK, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
148+
mp_hal_pin_config(&MICROPY_HW_SDMMC_CMD, MP_HAL_PIN_MODE_ALT, MP_HAL_PIN_PULL_UP, GPIO_AF12_SDIO);
137149
#endif
138150

139151
// configure the SD card detect pin

0 commit comments

Comments
 (0)