summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/ssp-imx233.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx233/ssp-imx233.h')
-rw-r--r--firmware/target/arm/imx233/ssp-imx233.h13
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);
147void imx233_ssp_stop(int ssp); 147void 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 ! */
149void imx233_ssp_softreset(int ssp); 149void imx233_ssp_softreset(int ssp);
150void imx233_ssp_set_timings(int ssp, int divide, int rate); 150void imx233_ssp_set_timings(int ssp, int divide, int rate, int timeout);
151void imx233_ssp_set_timeout(int ssp, int timeout);
152void imx233_ssp_set_mode(int ssp, unsigned mode); 151void imx233_ssp_set_mode(int ssp, unsigned mode);
152void 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 */
154void imx233_ssp_set_block_size(int ssp, unsigned log_block_size);
153/* SD/MMC facilities */ 155/* SD/MMC facilities */
154enum imx233_ssp_error_t imx233_ssp_sd_mmc_transfer(int ssp, uint8_t cmd, uint32_t cmd_arg, 156enum 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);
156void imx233_ssp_setup_ssp2_sd_mmc_pins(bool enable_pullups, unsigned bus_width, 159void 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