diff options
Diffstat (limited to 'firmware/target/arm/imx233/ssp-imx233.h')
-rw-r--r-- | firmware/target/arm/imx233/ssp-imx233.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/firmware/target/arm/imx233/ssp-imx233.h b/firmware/target/arm/imx233/ssp-imx233.h index e9bdf62b27..c7c891ec0b 100644 --- a/firmware/target/arm/imx233/ssp-imx233.h +++ b/firmware/target/arm/imx233/ssp-imx233.h | |||
@@ -67,7 +67,7 @@ | |||
67 | #define HW_SSP_CMD0__BLOCK_SIZE_BM (0xf << 16) | 67 | #define HW_SSP_CMD0__BLOCK_SIZE_BM (0xf << 16) |
68 | #define HW_SSP_CMD0__BLOCK_SIZE_BP 16 | 68 | #define HW_SSP_CMD0__BLOCK_SIZE_BP 16 |
69 | #define HW_SSP_CMD0__BLOCK_COUNT_BM (0xff << 8) | 69 | #define HW_SSP_CMD0__BLOCK_COUNT_BM (0xff << 8) |
70 | #define HW_SSP_CMD0__BLOCK_COUNT_BP 16 | 70 | #define HW_SSP_CMD0__BLOCK_COUNT_BP 8 |
71 | #define HW_SSP_CMD0__CMD_BM 0xff | 71 | #define HW_SSP_CMD0__CMD_BM 0xff |
72 | 72 | ||
73 | #define HW_SSP_CMD1(ssp) (*(volatile uint32_t *)(HW_SSP_BASE(ssp) + 0x20)) | 73 | #define HW_SSP_CMD1(ssp) (*(volatile uint32_t *)(HW_SSP_BASE(ssp) + 0x20)) |
@@ -147,12 +147,15 @@ void imx233_ssp_start(int ssp); | |||
147 | void imx233_ssp_stop(int ssp); | 147 | void imx233_ssp_stop(int ssp); |
148 | /* only softreset between start and stop or it might hang ! */ | 148 | /* only softreset between start and stop or it might hang ! */ |
149 | void imx233_ssp_softreset(int ssp); | 149 | void imx233_ssp_softreset(int ssp); |
150 | void imx233_ssp_set_timings(int ssp, int divide, int rate); | 150 | void imx233_ssp_set_timings(int ssp, int divide, int rate, int timeout); |
151 | void imx233_ssp_set_timeout(int ssp, int timeout); | ||
152 | void imx233_ssp_set_mode(int ssp, unsigned mode); | 151 | void imx233_ssp_set_mode(int ssp, unsigned mode); |
152 | void imx233_ssp_set_bus_width(int ssp, unsigned width); | ||
153 | /* block_size uses the SSP format so it's actually the log_2 of the block_size */ | ||
154 | void imx233_ssp_set_block_size(int ssp, unsigned log_block_size); | ||
153 | /* SD/MMC facilities */ | 155 | /* SD/MMC facilities */ |
154 | enum imx233_ssp_error_t imx233_ssp_sd_mmc_transfer(int ssp, uint8_t cmd, uint32_t cmd_arg, | 156 | enum imx233_ssp_error_t imx233_ssp_sd_mmc_transfer(int ssp, uint8_t cmd, |
155 | enum imx233_ssp_resp_t resp, void *buffer, int xfer_size, bool read, uint32_t *resp_ptr); | 157 | uint32_t cmd_arg, enum imx233_ssp_resp_t resp, void *buffer, unsigned block_count, |
158 | bool wait4irq, bool read, uint32_t *resp_ptr); | ||
156 | void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width, | 159 | void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width, |
157 | unsigned drive_strength); | 160 | unsigned drive_strength); |
158 | /* SD/MMC requires that the card be provided the clock during an init sequence of | 161 | /* SD/MMC requires that the card be provided the clock during an init sequence of |