ARM: mx6: use common CPU errata config options
Now that U-Boot has common CONFIG_ options to work around some ARM CPU errata, enable the relevant options on MX6, and remove the custom lowlevel_init.S, since it's just duplicated code now. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Jason Liu <r64343@freescale.com>
This commit is contained in:
parent
1b097cff51
commit
8f3937761b
@ -32,7 +32,7 @@ COBJS += cache_v7.o
|
|||||||
COBJS += cpu.o
|
COBJS += cpu.o
|
||||||
COBJS += syslib.o
|
COBJS += syslib.o
|
||||||
|
|
||||||
ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA),)
|
ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6),)
|
||||||
SOBJS += lowlevel_init.o
|
SOBJS += lowlevel_init.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@ include $(TOPDIR)/config.mk
|
|||||||
LIB = $(obj)lib$(SOC).o
|
LIB = $(obj)lib$(SOC).o
|
||||||
|
|
||||||
COBJS = soc.o clock.o
|
COBJS = soc.o clock.o
|
||||||
SOBJS = lowlevel_init.o
|
|
||||||
|
|
||||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2010-2011 Freescale Semiconductor, Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of
|
|
||||||
* the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
||||||
* MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
.section ".text.init", "x"
|
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
|
||||||
|
|
||||||
.macro init_arm_errata
|
|
||||||
/* ARM erratum ID #743622 */
|
|
||||||
mrc p15, 0, r10, c15, c0, 1 /* read diagnostic register */
|
|
||||||
orr r10, r10, #1 << 6 /* set bit #6 */
|
|
||||||
/* ARM erratum ID #751472 */
|
|
||||||
orr r10, r10, #1 << 11 /* set bit #11 */
|
|
||||||
mcr p15, 0, r10, c15, c0, 1 /* write diagnostic register */
|
|
||||||
.endm
|
|
||||||
|
|
||||||
ENTRY(lowlevel_init)
|
|
||||||
init_arm_errata
|
|
||||||
mov pc, lr
|
|
||||||
ENDPROC(lowlevel_init)
|
|
@ -205,3 +205,7 @@ const struct boot_mode soc_boot_modes[] = {
|
|||||||
{"esdhc4", MAKE_CFGVAL(0x40, 0x38, 0x00, 0x00)},
|
{"esdhc4", MAKE_CFGVAL(0x40, 0x38, 0x00, 0x00)},
|
||||||
{NULL, 0},
|
{NULL, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void s_init(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
23
include/configs/mx6_common.h
Normal file
23
include/configs/mx6_common.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
* version 2, as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __MX6_COMMON_H
|
||||||
|
#define __MX6_COMMON_H
|
||||||
|
|
||||||
|
#define CONFIG_ARM_ERRATA_743622
|
||||||
|
#define CONFIG_ARM_ERRATA_751472
|
||||||
|
|
||||||
|
#endif
|
@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
#define CONFIG_MX6
|
#define CONFIG_MX6
|
||||||
#define CONFIG_MX6Q
|
#define CONFIG_MX6Q
|
||||||
|
|
||||||
|
#include "mx6_common.h"
|
||||||
|
|
||||||
#define CONFIG_DISPLAY_CPUINFO
|
#define CONFIG_DISPLAY_CPUINFO
|
||||||
#define CONFIG_DISPLAY_BOARDINFO
|
#define CONFIG_DISPLAY_BOARDINFO
|
||||||
|
|
||||||
|
@ -19,6 +19,9 @@
|
|||||||
|
|
||||||
#define CONFIG_MX6
|
#define CONFIG_MX6
|
||||||
#define CONFIG_MX6Q
|
#define CONFIG_MX6Q
|
||||||
|
|
||||||
|
#include "mx6_common.h"
|
||||||
|
|
||||||
#define CONFIG_DISPLAY_CPUINFO
|
#define CONFIG_DISPLAY_CPUINFO
|
||||||
#define CONFIG_DISPLAY_BOARDINFO
|
#define CONFIG_DISPLAY_BOARDINFO
|
||||||
|
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
#define CONFIG_MX6
|
#define CONFIG_MX6
|
||||||
#define CONFIG_MX6Q
|
#define CONFIG_MX6Q
|
||||||
|
|
||||||
|
#include "mx6_common.h"
|
||||||
|
|
||||||
#define CONFIG_DISPLAY_CPUINFO
|
#define CONFIG_DISPLAY_CPUINFO
|
||||||
#define CONFIG_DISPLAY_BOARDINFO
|
#define CONFIG_DISPLAY_BOARDINFO
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user