summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/ssp-imx233.c
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2011-07-03 15:18:41 +0000
committerAmaury Pouly <pamaury@rockbox.org>2011-07-03 15:18:41 +0000
commite36b20c4a1709ae9fd3020b9f08875c8c03a0912 (patch)
treed17371221234fc16da4e9175fdd0890b7eb58b62 /firmware/target/arm/imx233/ssp-imx233.c
parent22b6def065ab7c2ca030f405577e34104ad20011 (diff)
downloadrockbox-e36b20c4a1709ae9fd3020b9f08875c8c03a0912.tar.gz
rockbox-e36b20c4a1709ae9fd3020b9f08875c8c03a0912.zip
imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30120 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx233/ssp-imx233.c')
-rw-r--r--firmware/target/arm/imx233/ssp-imx233.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/ssp-imx233.c b/firmware/target/arm/imx233/ssp-imx233.c
index ef137fcfbf..59405bbdc2 100644
--- a/firmware/target/arm/imx233/ssp-imx233.c
+++ b/firmware/target/arm/imx233/ssp-imx233.c
@@ -258,6 +258,7 @@ enum imx233_ssp_error_t imx233_ssp_sd_mmc_transfer(int ssp, uint8_t cmd,
258 (3 << HW_APB_CHx_CMD__CMDWORDS_BP) | 258 (3 << HW_APB_CHx_CMD__CMDWORDS_BP) |
259 (xfer_size << HW_APB_CHx_CMD__XFER_COUNT_BP); 259 (xfer_size << HW_APB_CHx_CMD__XFER_COUNT_BP);
260 260
261 __REG_CLR(HW_SSP_CTRL1(ssp)) = HW_SSP_CTRL1__ALL_IRQ;
261 imx233_dma_reset_channel(APB_SSP(ssp)); 262 imx233_dma_reset_channel(APB_SSP(ssp));
262 imx233_dma_start_command(APB_SSP(ssp), &ssp_dma_cmd[ssp - 1].dma); 263 imx233_dma_start_command(APB_SSP(ssp), &ssp_dma_cmd[ssp - 1].dma);
263 264
@@ -266,7 +267,10 @@ enum imx233_ssp_error_t imx233_ssp_sd_mmc_transfer(int ssp, uint8_t cmd,
266 enum imx233_ssp_error_t ret; 267 enum imx233_ssp_error_t ret;
267 268
268 if(semaphore_wait(&ssp_sema[ssp - 1], HZ) == OBJ_WAIT_TIMEDOUT) 269 if(semaphore_wait(&ssp_sema[ssp - 1], HZ) == OBJ_WAIT_TIMEDOUT)
270 {
271 imx233_dma_reset_channel(APB_SSP(ssp));
269 ret = SSP_TIMEOUT; 272 ret = SSP_TIMEOUT;
273 }
270 else if((HW_SSP_CTRL1(ssp) & HW_SSP_CTRL1__ALL_IRQ) == 0) 274 else if((HW_SSP_CTRL1(ssp) & HW_SSP_CTRL1__ALL_IRQ) == 0)
271 ret = SSP_SUCCESS; 275 ret = SSP_SUCCESS;
272 else if(HW_SSP_CTRL1(ssp) & (HW_SSP_CTRL1__RESP_TIMEOUT_IRQ | 276 else if(HW_SSP_CTRL1(ssp) & (HW_SSP_CTRL1__RESP_TIMEOUT_IRQ |