FIX: fix vcu118 sd card frequency

This commit is contained in:
-T.K.-
2023-12-04 18:14:50 -08:00
parent 5405b4caa3
commit e78756704b

View File

@@ -22,7 +22,7 @@
#error Must define TL_CLK
#endif
#define F_CLK TL_CLK
#define F_CLK (TL_CLK)
static volatile uint32_t * const spi = (void *)(SPI_CTRL_ADDR);
@@ -79,7 +79,9 @@ static inline void sd_cmd_end(void)
static void sd_poweron(void)
{
long i;
REG32(spi, SPI_REG_SCKDIV) = (F_CLK / 300000UL);
// HACK: frequency change
// REG32(spi, SPI_REG_SCKDIV) = (F_CLK / 300000UL);
REG32(spi, SPI_REG_SCKDIV) = (F_CLK * 2.5);
REG32(spi, SPI_REG_CSMODE) = SPI_CSMODE_OFF;
for (i = 10; i > 0; i--) {
sd_dummy();
@@ -176,7 +178,9 @@ static int copy(void)
// TODO: Speed up SPI freq. (breaks between these two values)
//REG32(spi, SPI_REG_SCKDIV) = (F_CLK / 16666666UL);
REG32(spi, SPI_REG_SCKDIV) = (F_CLK / 5000000UL);
// HACK: frequency change
// REG32(spi, SPI_REG_SCKDIV) = (F_CLK / 5000000UL);
REG32(spi, SPI_REG_SCKDIV) = (F_CLK * 2); // / 0.5
if (sd_cmd(0x52, BBL_PARTITION_START_SECTOR, 0xE1) != 0x00) {
sd_cmd_end();
return 1;