diff mbox

[U-Boot] OMAP5432: do not apply 5430 non-essential pad-confs to 5432

Message ID 1338825877-12414-1-git-send-email-s-jan@ti.com
State Rejected, archived
Delegated to: Tom Rini
Headers show

Commit Message

Sebastien Jan June 4, 2012, 4:04 p.m. UTC
Some of the non-essential 5432 pads have a different purpose compared
to 5430, so do not apply the 5430 non-essential pads configuration to 5432.
Essential pad confs are common and can/shall be shared.

Signed-off-by: Sebastien Jan <s-jan@ti.com>
---
 board/ti/omap5_evm/evm.c |   18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

Comments

Tom Rini June 4, 2012, 10:46 p.m. UTC | #1
On Mon, Jun 04, 2012 at 06:04:37PM +0200, Sebastien Jan wrote:
> Some of the non-essential 5432 pads have a different purpose compared
> to 5430, so do not apply the 5430 non-essential pads configuration to 5432.
> Essential pad confs are common and can/shall be shared.
> 
> Signed-off-by: Sebastien Jan <s-jan@ti.com>

One of the things that's been discussed before is that enabling
"non-essential" things can lead to PM problems later in the kernel, so
should we be enabling anything U-Boot doesn't really need, ever, in
these cases?
SRICHARAN R June 5, 2012, 5:26 a.m. UTC | #2
Hi,
> > Signed-off-by: Sebastien Jan <s-jan@ti.com>
>
> One of the things that's been discussed before is that enabling
> "non-essential" things can lead to PM problems later in the kernel, so
> should we be enabling anything U-Boot doesn't really need, ever, in
> these cases?
>
 Yes, in fact non- essential muxes/clocks/dplls should never be enabled
 in the bootloader. But today the kernel up to OMAP5430 based boards are
dependent
 upon these settings. But atleast for 5432 by removing this, we can force
 things to be fixed in the kernel. Also we should remove these non
essential
 stuff for all. I will send a patch to remove this for OMAP4/5 as well.

Thanks,
 Sricharan
diff mbox

Patch

diff --git a/board/ti/omap5_evm/evm.c b/board/ti/omap5_evm/evm.c
index c8dfdf8..e488fa5 100644
--- a/board/ti/omap5_evm/evm.c
+++ b/board/ti/omap5_evm/evm.c
@@ -82,13 +82,19 @@  void set_muxconf_regs_essential(void)
 
 void set_muxconf_regs_non_essential(void)
 {
-	do_set_mux(CONTROL_PADCONF_CORE, core_padconf_array_non_essential,
-		   sizeof(core_padconf_array_non_essential) /
-		   sizeof(struct pad_conf_entry));
+	u32 omap_rev = omap_revision();
 
-	do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_non_essential,
-		   sizeof(wkup_padconf_array_non_essential) /
-		   sizeof(struct pad_conf_entry));
+	if (omap_rev == OMAP5430_ES1_0) {
+		do_set_mux(CONTROL_PADCONF_CORE,
+			   core_padconf_array_non_essential,
+			   sizeof(core_padconf_array_non_essential) /
+			   sizeof(struct pad_conf_entry));
+
+		do_set_mux(CONTROL_PADCONF_WKUP,
+			   wkup_padconf_array_non_essential,
+			   sizeof(wkup_padconf_array_non_essential) /
+			   sizeof(struct pad_conf_entry));
+	}
 }
 
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC)