ARM: zynq: Enable big-endian
Enable ARCH_SUPPORTS_BIG_ENDIAN in Kconfig. zynq_secondary_trampoline is the first function that is called on secondary CPU. Reference: "ARM: mcpm: fix big endian issue in mcpm startup code" (sha1:519ceb9fd1
) Fix early printk support. Based on: "ARM: pl01x debug code endian fix" (sha1:76e3faf156
) Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
90a6695a2a
commit
eb28d0bb85
|
@ -43,12 +43,14 @@
|
||||||
|
|
||||||
.macro waituart,rd,rx
|
.macro waituart,rd,rx
|
||||||
1001: ldr \rd, [\rx, #UART_SR_OFFSET]
|
1001: ldr \rd, [\rx, #UART_SR_OFFSET]
|
||||||
|
ARM_BE8( rev \rd, \rd )
|
||||||
tst \rd, #UART_SR_TXEMPTY
|
tst \rd, #UART_SR_TXEMPTY
|
||||||
beq 1001b
|
beq 1001b
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro busyuart,rd,rx
|
.macro busyuart,rd,rx
|
||||||
1002: ldr \rd, [\rx, #UART_SR_OFFSET] @ get status register
|
1002: ldr \rd, [\rx, #UART_SR_OFFSET] @ get status register
|
||||||
|
ARM_BE8( rev \rd, \rd )
|
||||||
tst \rd, #UART_SR_TXFULL @
|
tst \rd, #UART_SR_TXFULL @
|
||||||
bne 1002b @ wait if FIFO is full
|
bne 1002b @ wait if FIFO is full
|
||||||
.endm
|
.endm
|
||||||
|
|
|
@ -2,6 +2,7 @@ config ARCH_ZYNQ
|
||||||
bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
|
bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
|
||||||
select ARCH_HAS_CPUFREQ
|
select ARCH_HAS_CPUFREQ
|
||||||
select ARCH_HAS_OPP
|
select ARCH_HAS_OPP
|
||||||
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
select ARM_GLOBAL_TIMER if !CPU_FREQ
|
select ARM_GLOBAL_TIMER if !CPU_FREQ
|
||||||
|
|
|
@ -8,9 +8,12 @@
|
||||||
*/
|
*/
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
#include <asm/assembler.h>
|
||||||
|
|
||||||
ENTRY(zynq_secondary_trampoline)
|
ENTRY(zynq_secondary_trampoline)
|
||||||
ldr r0, [pc]
|
ARM_BE8(setend be) @ ensure we are in BE8 mode
|
||||||
|
ldr r0, zynq_secondary_trampoline_jump
|
||||||
|
ARM_BE8(rev r0, r0)
|
||||||
bx r0
|
bx r0
|
||||||
.globl zynq_secondary_trampoline_jump
|
.globl zynq_secondary_trampoline_jump
|
||||||
zynq_secondary_trampoline_jump:
|
zynq_secondary_trampoline_jump:
|
||||||
|
|
Loading…
Reference in New Issue