Skip to contentSkip to conversation

mx6: Remove lowlevel_init.S

PATCH Superseded Fabio Estevam 3 participants 11 messages Sep 22, 2012 – Sep 30, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

From: Fabio Estevam <[email protected]>

lowlevel_init.S is not used on mx6, so remove the file and the associated calls.

---
Changes since v1:
- Also remove SOBJS

 arch/arm/cpu/armv7/mx6/Makefile        |    5 ++---
 arch/arm/cpu/armv7/mx6/lowlevel_init.S |   25 -------------------------
 arch/arm/cpu/armv7/start.S             |   24 ------------------------
 3 files changed, 2 insertions(+), 52 deletions(-)
 delete mode 100644 arch/arm/cpu/armv7/mx6/lowlevel_init.S
arch/arm/cpu/armv7/mx6/Makefile +2 -3
index cbce411..10f512f 100644
@@ -28,10 +28,9 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 COBJS	= soc.o clock.o
-SOBJS   = lowlevel_init.o
 
-SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj), $(COBJS))
 
 all:	$(obj).depend $(LIB)
 
arch/arm/cpu/armv7/mx6/lowlevel_init.S deleted +0 -25
deleted file mode 100644
index acadef2..0000000
@@ -1,25 +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>
-
-ENTRY(lowlevel_init)
-	mov pc, lr
-ENDPROC(lowlevel_init)
arch/arm/cpu/armv7/start.S +0 -24
index 32658eb..4c7c385 100644
@@ -152,7 +152,6 @@ reset:
 	/* the mask ROM code should have PLL and others stable */
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
 	bl	cpu_init_cp15
-	bl	cpu_init_crit
 #endif
 
 /* Set stackpointer in internal RAM to call board_init_f */
@@ -353,29 +352,6 @@ ENTRY(cpu_init_cp15)
 	mov	pc, lr			@ back to my caller
 ENDPROC(cpu_init_cp15)
 
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
-/*************************************************************************
- *
- * CPU_init_critical registers
- *
- * setup important registers
- * setup memory timing
- *
- *************************************************************************/
-ENTRY(cpu_init_crit)
-	/*
-	 * Jump to board specific initialization...
-	 * The Mask ROM will have already initialized
-	 * basic memory. Go here to bump up clock rate and handle
-	 * wake up conditions.
-	 */
-	mov	ip, lr			@ persevere link reg across call
-	bl	lowlevel_init		@ go setup pll,mux,memory
-	mov	lr, ip			@ restore link
-	mov	pc, lr			@ back to my caller
-ENDPROC(cpu_init_crit)
-#endif
-
 #ifndef CONFIG_SPL_BUILD
 /*
  *************************************************************************
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Quoted 6 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

lowlevel_init.S is not used on mx6, so remove the file and the associated calls.

---

Applied to u-boot-imx, next branch, thanks.

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#2 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

In reply to Fabio Estevam
Quoted 6 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

lowlevel_init.S is not used on mx6, so remove the file and the associated calls.

---

Hi Fabio,

I am testing the -next branch. MX5 does not boot anymore - I have tested on MX53. In fact:

Quoted 62 lines

Changes since v1:
- Also remove SOBJS

 arch/arm/cpu/armv7/mx6/Makefile        |    5 ++---
 arch/arm/cpu/armv7/mx6/lowlevel_init.S |   25 -------------------------
 arch/arm/cpu/armv7/start.S             |   24 ------------------------
 3 files changed, 2 insertions(+), 52 deletions(-)
 delete mode 100644 arch/arm/cpu/armv7/mx6/lowlevel_init.S
arch/arm/cpu/armv7/mx6/Makefile +2 -3
index cbce411..10f512f 100644
@@ -28,10 +28,9 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 COBJS	= soc.o clock.o
-SOBJS   = lowlevel_init.o
 
-SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj), $(COBJS))
 
 all:	$(obj).depend $(LIB)
 
arch/arm/cpu/armv7/mx6/lowlevel_init.S deleted +0 -25
deleted file mode 100644
index acadef2..0000000
@@ -1,25 +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>
-
-ENTRY(lowlevel_init)
-	mov pc, lr
-ENDPROC(lowlevel_init)
arch/arm/cpu/armv7/start.S +0 -0
index 32658eb..4c7c385 100644

arch/arm/cpu/armv7/start.S reset: · line 155

Quoted 4 lines
arch/arm/cpu/armv7/start.S +0 -1
@@ -152,7 +152,6 @@ reset:
 	/* the mask ROM code should have PLL and others stable */
 #ifndef CONFIG_SKIP_LOWLEVEL_INIT
 	bl	cpu_init_cp15
-	bl	cpu_init_crit

What does happen now to the poor MX5 ? lowlevel_init is not called anymore, I presume...

Maybe it is better to add a weak function in MX6 cpu code. This let Eric to add a custom lowlevel_init, as he asked.

Do you agree ?

Best regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#3 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Hi Stefano,

Quoted 2 lines · Stefano Babic

What does happen now to the poor MX5 ? lowlevel_init is not called anymore, I presume...

Which board did you test this with, please?

Regards,

Fabio Estevam

#4 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Hi Fabio,

Quoted 9 lines · Fabio Estevam

Hi Stefano,

Quoted 2 lines · Stefano Babic

What does happen now to the poor MX5 ? lowlevel_init is not called anymore, I presume...

Which board did you test this with, please?

I have the same issue with a custom i.MX51 board. I guess all i.MX5 boards are affected because armv7 start.S should not have been altered by this patch.

Please use an empty weak default implementation for i.MX6 as Stefano suggested.

Best regards,
Beno?t

#5 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Quoted 14 lines · Beno?t Th?baudeau

Hi Fabio,

Quoted 10 lines · Fabio Estevam

Hi Stefano,

Quoted 3 lines · Stefano Babic

What does happen now to the poor MX5 ? lowlevel_init is not called
anymore, I presume...

Which board did you test this with, please?

Quoted 7 lines

I have the same issue with a custom i.MX51 board. I guess all i.MX5 boards are
affected because armv7 start.S should not have been altered by this patch.

Please use an empty weak default implementation for i.MX6 as Stefano suggested.

Note that this default implementation can be put in start.S like what was done for save_boot_params().

Best regards,
Beno?t

#6 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

In reply to Fabio Estevam
Quoted 8 lines · Fabio Estevam

Hi Stefano,

Quoted 2 lines · Stefano Babic

What does happen now to the poor MX5 ? lowlevel_init is not called anymore, I presume...

Which board did you test this with, please?

I tested on a mx53qsb, but I think it affects all MX5 boards.

Regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#7 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

In reply to Stefano Babic

Hi Stefano/Beno?t,

Quoted 3 lines · Stefano Babic

I am testing the -next branch. MX5 does not boot anymore - I have tested on MX53. In fact:

Sorry for the breakage, the correct patch would be:

---
 arch/arm/cpu/armv7/mx6/Makefile        |    3 +--
 arch/arm/cpu/armv7/mx6/lowlevel_init.S |   25 -------------------------
 2 files changed, 1 insertion(+), 27 deletions(-)
 delete mode 100644 arch/arm/cpu/armv7/mx6/lowlevel_init.S
arch/arm/cpu/armv7/mx6/Makefile +1 -2
index cbce411..deddcc3 100644
@@ -28,10 +28,9 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 COBJS	= soc.o clock.o
-SOBJS   = lowlevel_init.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
+OBJS	:= $(addprefix $(obj),$(COBJS))
 
 all:	$(obj).depend $(LIB)
 
(quoted diff) +0 -0

b/arch/arm/cpu/armv7/mx6/lowlevel_init.S
deleted file mode 100644
index acadef2..0000000

arch/arm/cpu/armv7/mx6/lowlevel_init.S deleted +0 -25
@@ -1,25 +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>
-
-ENTRY(lowlevel_init)
-	mov pc, lr
-ENDPROC(lowlevel_init)
Signature · 8 lines
1.7.9.5

Please drop my original patch from your next tree and then I can send
this modified version.

Thanks,

Fabio Estevam
#8 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Hi Fabio,

Quoted 25 lines · Fabio Estevam

Hi Stefano/Beno?t,

Quoted 4 lines · Stefano Babic

I am testing the -next branch. MX5 does not boot anymore - I have tested
on MX53. In fact:

Sorry for the breakage, the correct patch would be:

---
 arch/arm/cpu/armv7/mx6/Makefile        |    3 +--
 arch/arm/cpu/armv7/mx6/lowlevel_init.S |   25
 -------------------------
 2 files changed, 1 insertion(+), 27 deletions(-)
 delete mode 100644 arch/arm/cpu/armv7/mx6/lowlevel_init.S
arch/arm/cpu/armv7/mx6/Makefile +0 -0
index cbce411..deddcc3 100644

arch/arm/cpu/armv7/mx6/Makefile include $(TOPDIR)/config.mk · line 32

Quoted 6 lines
arch/arm/cpu/armv7/mx6/Makefile +0 -1
@@ -28,10 +28,9 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 COBJS	= soc.o clock.o
-SOBJS   = lowlevel_init.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)

You forgot the following lines from your v2:
-SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+SRCS := $(COBJS:.o=.c)

Quoted 40 lines
arch/arm/cpu/armv7/mx6/Makefile +1 -1
-OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
+OBJS	:= $(addprefix $(obj),$(COBJS))
 
 all:	$(obj).depend $(LIB)
 
arch/arm/cpu/armv7/mx6/lowlevel_init.S deleted +0 -26
deleted file mode 100644
index acadef2..0000000
@@ -1,25 +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>
-
-ENTRY(lowlevel_init)
-	mov pc, lr
-ENDPROC(lowlevel_init)
--

1.7.9.5

Quoted 2 lines

Please drop my original patch from your next tree and then I can send this modified version.

Also, can link succeed for i.MX6 with this patch? Isn't there something missing? I mean: lowlevel_init() is still called but no longer defined, so shouldn't the following be added to armv7's start.S?

ENTRY(lowlevel_init)
bx lr @ back to my caller
ENDPROC(lowlevel_init)
.weak lowlevel_init

Best regards,
Beno?t

#9 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Hi Beno?t,

Quoted 2 lines · Beno?t Th?baudeau

Also, can link succeed for i.MX6 with this patch? Isn't there something missing? I mean: lowlevel_init() is still called but no longer defined, so shouldn't the

Yes, you are right, thanks.

I suggest Stefano just drop my original patch.

Regards,

Fabio Estevam

#10 lore raw

PATCH v2 1/1 mx6: Remove lowlevel_init.S

Quoted 11 lines · Fabio Estevam

Hi Beno?t,

Quoted 2 lines · Beno?t Th?baudeau

Also, can link succeed for i.MX6 with this patch? Isn't there something missing? I mean: lowlevel_init() is still called but no longer defined, so shouldn't the

Yes, you are right, thanks.

I suggest Stefano just drop my original patch.

Yes, I already did.

Regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================