kernel: update kernel 4.4 to version 4.4.30
[openwrt/openwrt.git] / target / linux / layerscape / patches-4.4 / 3007-armv8-aarch32-Run-32-bit-Linux-in-AArch32-execution-.patch
1 From 3a827762e11670ca815bd4ee305f5faf5f02acb9 Mon Sep 17 00:00:00 2001
2 From: Alison Wang <b18965@freescale.com>
3 Date: Tue, 17 May 2016 17:23:51 +0800
4 Subject: [PATCH 07/70] armv8: aarch32: Run 32-bit Linux in AArch32 execution
5 state
6
7 This patch adds AArch32 execution state support for LS1043A. Verified
8 32-bit Linux kernel can run on LS1043ARDB board.
9
10 Signed-off-by: Ebony Zhu <ebony.zhu@nxp.com>
11 Signed-off-by: Alison Wang <alison.wang@nxp.com>
12 ---
13 arch/arm/mach-imx/Kconfig | 10 ++++++++++
14 arch/arm/mach-imx/Makefile | 4 +++-
15 arch/arm/mach-imx/mach-ls1043a.c | 21 +++++++++++++++++++++
16 3 files changed, 34 insertions(+), 1 deletion(-)
17 create mode 100644 arch/arm/mach-imx/mach-ls1043a.c
18
19 --- a/arch/arm/mach-imx/Kconfig
20 +++ b/arch/arm/mach-imx/Kconfig
21 @@ -612,6 +612,16 @@ endchoice
22
23 endif
24
25 +config ARCH_LAYERSCAPE
26 + bool "Freescale Layerscape SoC support"
27 + select ARM_GIC
28 + select HAVE_ARM_ARCH_TIMER
29 + select PCI_LAYERSCAPE if PCI
30 + select LS1_MSI if PCI_MSI
31 +
32 + help
33 + This enables support for Freescale Layerscape SoC family.
34 +
35 source "arch/arm/mach-imx/devices/Kconfig"
36
37 endif
38 --- a/arch/arm/mach-imx/Makefile
39 +++ b/arch/arm/mach-imx/Makefile
40 @@ -75,7 +75,7 @@ obj-$(CONFIG_HAVE_IMX_ANATOP) += anatop.
41 obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o
42 obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o
43 obj-$(CONFIG_HAVE_IMX_SRC) += src.o
44 -ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A),)
45 +ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A)$(CONFIG_ARCH_LAYERSCAPE),)
46 AFLAGS_headsmp.o :=-Wa,-march=armv7-a
47 obj-$(CONFIG_SMP) += headsmp.o platsmp.o
48 obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
49 @@ -101,4 +101,6 @@ obj-$(CONFIG_SOC_VF610) += mach-vf610.o
50
51 obj-$(CONFIG_SOC_LS1021A) += mach-ls1021a.o
52
53 +obj-$(CONFIG_ARCH_LAYERSCAPE) += mach-ls1043a.o
54 +
55 obj-y += devices/
56 --- /dev/null
57 +++ b/arch/arm/mach-imx/mach-ls1043a.c
58 @@ -0,0 +1,21 @@
59 +/*
60 + * Copyright 2015-2016 Freescale Semiconductor, Inc.
61 + *
62 + * This program is free software; you can redistribute it and/or modify
63 + * it under the terms of the GNU General Public License as published by
64 + * the Free Software Foundation; either version 2 of the License, or
65 + * (at your option) any later version.
66 + */
67 +
68 +#include <asm/mach/arch.h>
69 +
70 +#include "common.h"
71 +
72 +static const char * const ls1043a_dt_compat[] __initconst = {
73 + "fsl,ls1043a",
74 + NULL,
75 +};
76 +
77 +DT_MACHINE_START(LS1043A, "Freescale LS1043A")
78 + .dt_compat = ls1043a_dt_compat,
79 +MACHINE_END