xref: /linux/arch/mips/loongson2ef/Platform (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
1*71e2f4ddSJiaxun Yang#
2*71e2f4ddSJiaxun Yang# Loongson Processors' Support
3*71e2f4ddSJiaxun Yang#
4*71e2f4ddSJiaxun Yang
5*71e2f4ddSJiaxun Yang# Only gcc >= 4.4 have Loongson specific support
6*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2EF)	+= -Wa,--trap
7*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2E) += \
8*71e2f4ddSJiaxun Yang	$(call cc-option,-march=loongson2e,-march=r4600)
9*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2F) += \
10*71e2f4ddSJiaxun Yang	$(call cc-option,-march=loongson2f,-march=r4600)
11*71e2f4ddSJiaxun Yang# Enable the workarounds for Loongson2f
12*71e2f4ddSJiaxun Yangifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
13*71e2f4ddSJiaxun Yang  ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),)
14*71e2f4ddSJiaxun Yang    $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop)
15*71e2f4ddSJiaxun Yang  else
16*71e2f4ddSJiaxun Yang    cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop
17*71e2f4ddSJiaxun Yang  endif
18*71e2f4ddSJiaxun Yang  ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),)
19*71e2f4ddSJiaxun Yang    $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump)
20*71e2f4ddSJiaxun Yang  else
21*71e2f4ddSJiaxun Yang    cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump
22*71e2f4ddSJiaxun Yang  endif
23*71e2f4ddSJiaxun Yangendif
24*71e2f4ddSJiaxun Yang
25*71e2f4ddSJiaxun Yang#
26*71e2f4ddSJiaxun Yang# Loongson Machines' Support
27*71e2f4ddSJiaxun Yang#
28*71e2f4ddSJiaxun Yang
29*71e2f4ddSJiaxun Yangplatform-$(CONFIG_MACH_LOONGSON2EF) += loongson2ef/
30*71e2f4ddSJiaxun Yangcflags-$(CONFIG_MACH_LOONGSON2EF) += -I$(srctree)/arch/mips/include/asm/mach-loongson2ef -mno-branch-likely
31*71e2f4ddSJiaxun Yangload-$(CONFIG_LEMOTE_FULOONG2E) += 0xffffffff80100000
32*71e2f4ddSJiaxun Yangload-$(CONFIG_LEMOTE_MACH2F) += 0xffffffff80200000
33