|
1 | 1 | ### Warning: This version has major internal changes. |
2 | 2 |
|
3 | | -SdFat version 2.3.0 has major changes to implement RP2040/RP2350 SDIO. |
| 3 | +SdFat version 2.3.1 has major changes. In addition there a number of bug fixes. |
4 | 4 |
|
5 | | -In addition there a number of bug fixes. |
| 5 | +Please post an issue if you find a bug. |
6 | 6 |
|
7 | | -Begin by running the Rp2040SdioSetup example to try RP2040/RP2350 SDIO. |
| 7 | +Support has been added for the SDIO on RP2350B QFN-80 with 48 GPIO pins. |
| 8 | +Each PIO block is still limited to 32 GPIOs at a time, but GPIOBASE |
| 9 | +selects which 32. |
8 | 10 |
|
9 | | -This example requires a SDIO Card socket with the following six lines. |
| 11 | +GPIOBASE can only have value of zero or 16 so all SDIO pins must be in the |
| 12 | +range 0-31 or 16-47. |
| 13 | + |
| 14 | +Run the Rp2040SdioSetup example to try RP2040/RP2350 SDIO. |
10 | 15 |
|
11 | | -CLK - A clock signal sent to the card by the MCU. |
12 | | -CMD - A bidirectional line for for commands and responses. |
13 | | -DAT[0:3] - Four bidirectional lines for data transfer. |
| 16 | +This example requires a SDIO Card socket with the following six lines. |
14 | 17 |
|
| 18 | +* CLK - A clock signal sent to the card by the MCU. |
| 19 | +* CMD - A bidirectional line for for commands and responses. |
| 20 | +* DAT[0:3] - Four bidirectional lines for data transfer. |
15 | 21 | CLK and CMD can be connected to any GPIO pins. DAT[0:3] can be connected |
16 | 22 | to any four consecutive GPIO pins in the order DAT0, DAT1, DAT2, DAT3. |
17 | 23 |
|
18 | | -The release version of SdFat Version 2 is here: |
| 24 | +Here is an example of SDIO for Pico using an Adafruit socket, PiCowbell |
| 25 | +Proto and PiCowbell Proto Doubler. |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +This Socket supports SDIO with: |
| 30 | +``` |
| 31 | +#define RP_CLK_GPIO 10 |
| 32 | +#define RP_CMD_GPIO 11 |
| 33 | +#define RP_DAT0_GPIO 12 // DAT1: GPIO13 DAT2: GPIO14, DAT3: GPIO15. |
| 34 | +``` |
| 35 | +It also can be used on SPI1 with: |
| 36 | +``` |
| 37 | +const uint8_t SD_CS_PIN = 15; |
| 38 | +#define SD_CONFIG SdSpiConfig(SD_CS_PIN, DEDICATED_SPI, SPI_CLOCK, &SPI1) |
| 39 | +
|
| 40 | + // In setup |
| 41 | + SPI1.setSCK(10); |
| 42 | + SPI1.setTX(11); |
| 43 | + SPI1.setRX(12); |
| 44 | +``` |
| 45 | +### The release version of SdFat Version 2 is here: |
19 | 46 |
|
20 | 47 | https://github.com/greiman/SdFat |
21 | 48 |
|
@@ -117,4 +144,4 @@ documentation for the classes SdFat32, SdExFat, SdFs, File32, ExFile, FsFile. |
117 | 144 | The SdFat and File classes are defined in terms of the above classes by |
118 | 145 | typedefs. Edit SdFatConfig.h to select class options. |
119 | 146 |
|
120 | | -Please continue by reading the html documentation in the SdFat/doc folder. |
| 147 | +Please continue by reading the html documentation in the SdFat/doc folder. |
0 commit comments