diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-09-13 19:48:07 +0800 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-10-15 10:02:19 +0800 |
commit | 3995eb82050a81e11217a0b88b2a5eddd53eb4d6 (patch) | |
tree | b1c04b25317c9dade08d911e8077c8745df8a954 /arch/arm/plat-mxc/ssi-fiq.S | |
parent | e0557c0d1a3a9c38af6777d308f98da12c94e137 (diff) | |
download | linux-3995eb82050a81e11217a0b88b2a5eddd53eb4d6.tar.gz |
ARM: imx: merge plat-mxc into mach-imx
It's really unnecessary to have plat-mxc, and let's merge it into
mach-imx. It's pretty much just a bunch of file renaming and
Kconfig/Makefile merge.
To make the change less invasive, we keep using Kconfig symbol
CONFIG_ARCH_MXC for mach-imx sub-architecture.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/plat-mxc/ssi-fiq.S')
-rw-r--r-- | arch/arm/plat-mxc/ssi-fiq.S | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/arch/arm/plat-mxc/ssi-fiq.S b/arch/arm/plat-mxc/ssi-fiq.S deleted file mode 100644 index a8b93c5f29b5..000000000000 --- a/arch/arm/plat-mxc/ssi-fiq.S +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (C) 2009 Sascha Hauer <s.hauer@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <linux/linkage.h> -#include <asm/assembler.h> - -/* - * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size - * r9 = bit 0-15: rx offset, bit 16-31: rx buffer size - */ - -#define SSI_STX0 0x00 -#define SSI_SRX0 0x08 -#define SSI_SISR 0x14 -#define SSI_SIER 0x18 -#define SSI_SACNT 0x38 - -#define SSI_SACNT_AC97EN (1 << 0) - -#define SSI_SIER_TFE0_EN (1 << 0) -#define SSI_SISR_TFE0 (1 << 0) -#define SSI_SISR_RFF0 (1 << 2) -#define SSI_SIER_RFF0_EN (1 << 2) - - .text - .global imx_ssi_fiq_start - .global imx_ssi_fiq_end - .global imx_ssi_fiq_base - .global imx_ssi_fiq_rx_buffer - .global imx_ssi_fiq_tx_buffer - -/* - * imx_ssi_fiq_start is _intentionally_ not marked as a function symbol - * using ENDPROC(). imx_ssi_fiq_start and imx_ssi_fiq_end are used to - * mark the function body so that it can be copied to the FIQ vector in - * the vectors page. imx_ssi_fiq_start should only be called as the result - * of an FIQ: calling it directly will not work. - */ -imx_ssi_fiq_start: - ldr r12, .L_imx_ssi_fiq_base - - /* TX */ - ldr r13, .L_imx_ssi_fiq_tx_buffer - - /* shall we send? */ - ldr r11, [r12, #SSI_SIER] - tst r11, #SSI_SIER_TFE0_EN - beq 1f - - /* TX FIFO empty? */ - ldr r11, [r12, #SSI_SISR] - tst r11, #SSI_SISR_TFE0 - beq 1f - - mov r10, #0x10000 - sub r10, #1 - and r10, r10, r8 /* r10: current buffer offset */ - - add r13, r13, r10 - - ldrh r11, [r13] - strh r11, [r12, #SSI_STX0] - - ldrh r11, [r13, #2] - strh r11, [r12, #SSI_STX0] - - ldrh r11, [r13, #4] - strh r11, [r12, #SSI_STX0] - - ldrh r11, [r13, #6] - strh r11, [r12, #SSI_STX0] - - add r10, #8 - lsr r11, r8, #16 /* r11: buffer size */ - cmp r10, r11 - lslgt r8, r11, #16 - addle r8, #8 -1: - /* RX */ - - /* shall we receive? */ - ldr r11, [r12, #SSI_SIER] - tst r11, #SSI_SIER_RFF0_EN - beq 1f - - /* RX FIFO full? */ - ldr r11, [r12, #SSI_SISR] - tst r11, #SSI_SISR_RFF0 - beq 1f - - ldr r13, .L_imx_ssi_fiq_rx_buffer - - mov r10, #0x10000 - sub r10, #1 - and r10, r10, r9 /* r10: current buffer offset */ - - add r13, r13, r10 - - ldr r11, [r12, #SSI_SACNT] - tst r11, #SSI_SACNT_AC97EN - - ldr r11, [r12, #SSI_SRX0] - strh r11, [r13] - - ldr r11, [r12, #SSI_SRX0] - strh r11, [r13, #2] - - /* dummy read to skip slot 12 */ - ldrne r11, [r12, #SSI_SRX0] - - ldr r11, [r12, #SSI_SRX0] - strh r11, [r13, #4] - - ldr r11, [r12, #SSI_SRX0] - strh r11, [r13, #6] - - /* dummy read to skip slot 12 */ - ldrne r11, [r12, #SSI_SRX0] - - add r10, #8 - lsr r11, r9, #16 /* r11: buffer size */ - cmp r10, r11 - lslgt r9, r11, #16 - addle r9, #8 - -1: - @ return from FIQ - subs pc, lr, #4 - - .align -.L_imx_ssi_fiq_base: -imx_ssi_fiq_base: - .word 0x0 -.L_imx_ssi_fiq_rx_buffer: -imx_ssi_fiq_rx_buffer: - .word 0x0 -.L_imx_ssi_fiq_tx_buffer: -imx_ssi_fiq_tx_buffer: - .word 0x0 -.L_imx_ssi_fiq_end: -imx_ssi_fiq_end: - |