diff mbox

[U-Boot,V2] imx-common: consider mux_ctrl_ofs when setting mux_mode

Message ID 1442978008-12306-1-git-send-email-Peng.Fan@freescale.com
State Awaiting Upstream
Delegated to: Stefano Babic
Headers show

Commit Message

Peng Fan Sept. 23, 2015, 3:13 a.m. UTC
Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch
only take i.MX6/7 into consideration.

"c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings"

Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when
setting mux_mode.

In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid
build break for "is_soc_type" for vf610 and mx25.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
---

Changes v2:
 refine commit msg, "add mx25".
 use cleaner way to for setting mux code, following Benoît's suggestion.

 arch/arm/imx-common/iomux-v3.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Stefano Babic Sept. 23, 2015, 7:51 a.m. UTC | #1
Hi Peng,

On 23/09/2015 05:13, Peng Fan wrote:
> Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch
> only take i.MX6/7 into consideration.
> 
> "c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings"
> 
> Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when
> setting mux_mode.
> 
> In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid
> build break for "is_soc_type" for vf610 and mx25.
> 
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> 
> Changes v2:
>  refine commit msg, "add mx25".
>  use cleaner way to for setting mux code, following Benoît's suggestion.
> 
>  arch/arm/imx-common/iomux-v3.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c
> index 9b9cf58..228d5f8 100644
> --- a/arch/arm/imx-common/iomux-v3.c
> +++ b/arch/arm/imx-common/iomux-v3.c
> @@ -11,10 +11,8 @@
>  #include <common.h>
>  #include <asm/io.h>
>  #include <asm/arch/imx-regs.h>
> -#if !defined(CONFIG_MX25) && !defined(CONFIG_VF610)
> -#include <asm/arch/sys_proto.h>
> -#endif
>  #include <asm/imx-common/iomux-v3.h>
> +#include <asm/imx-common/sys_proto.h>
>  
>  static void *base = (void *)IOMUXC_BASE_ADDR;
>  
> @@ -53,7 +51,8 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
>  	}
>  #endif
>  
> -	__raw_writel(mux_mode, base + mux_ctrl_ofs);
> +	if (is_soc_type(MXC_SOC_MX7) || mux_ctrl_ofs)
> +		__raw_writel(mux_mode, base + mux_ctrl_ofs);
>  
>  	if (sel_input_ofs)
>  		__raw_writel(sel_input, base + sel_input_ofs);
> 

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
Benoît Thébaudeau Sept. 23, 2015, 8:48 p.m. UTC | #2
Hi Peng,

On Wed, Sep 23, 2015 at 5:13 AM, Peng Fan <Peng.Fan@freescale.com> wrote:
> Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch
> only take i.MX6/7 into consideration.

Small typo that I missed to report in v1: "takes". This can probably
be fixed when applying.

>
> "c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings"
>
> Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when
> setting mux_mode.
>
> In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid
> build break for "is_soc_type" for vf610 and mx25.
>
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>
> Changes v2:
>  refine commit msg, "add mx25".
>  use cleaner way to for setting mux code, following Benoît's suggestion.
>
>  arch/arm/imx-common/iomux-v3.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c
> index 9b9cf58..228d5f8 100644
> --- a/arch/arm/imx-common/iomux-v3.c
> +++ b/arch/arm/imx-common/iomux-v3.c
> @@ -11,10 +11,8 @@
>  #include <common.h>
>  #include <asm/io.h>
>  #include <asm/arch/imx-regs.h>
> -#if !defined(CONFIG_MX25) && !defined(CONFIG_VF610)
> -#include <asm/arch/sys_proto.h>
> -#endif
>  #include <asm/imx-common/iomux-v3.h>
> +#include <asm/imx-common/sys_proto.h>
>
>  static void *base = (void *)IOMUXC_BASE_ADDR;
>
> @@ -53,7 +51,8 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
>         }
>  #endif
>
> -       __raw_writel(mux_mode, base + mux_ctrl_ofs);
> +       if (is_soc_type(MXC_SOC_MX7) || mux_ctrl_ofs)
> +               __raw_writel(mux_mode, base + mux_ctrl_ofs);
>
>         if (sel_input_ofs)
>                 __raw_writel(sel_input, base + sel_input_ofs);
> --
> 1.8.4


Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>

Best regards,
Benoît
Stefano Babic Sept. 24, 2015, 9:28 a.m. UTC | #3
On 23/09/2015 05:13, Peng Fan wrote:
> Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch
> only take i.MX6/7 into consideration.
> 
> "c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings"
> 
> Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when
> setting mux_mode.
> 
> In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid
> build break for "is_soc_type" for vf610 and mx25.
> 
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> 


Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c
index 9b9cf58..228d5f8 100644
--- a/arch/arm/imx-common/iomux-v3.c
+++ b/arch/arm/imx-common/iomux-v3.c
@@ -11,10 +11,8 @@ 
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/imx-regs.h>
-#if !defined(CONFIG_MX25) && !defined(CONFIG_VF610)
-#include <asm/arch/sys_proto.h>
-#endif
 #include <asm/imx-common/iomux-v3.h>
+#include <asm/imx-common/sys_proto.h>
 
 static void *base = (void *)IOMUXC_BASE_ADDR;
 
@@ -53,7 +51,8 @@  void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
 	}
 #endif
 
-	__raw_writel(mux_mode, base + mux_ctrl_ofs);
+	if (is_soc_type(MXC_SOC_MX7) || mux_ctrl_ofs)
+		__raw_writel(mux_mode, base + mux_ctrl_ofs);
 
 	if (sel_input_ofs)
 		__raw_writel(sel_input, base + sel_input_ofs);