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

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.
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 --- arch/arm/imx-common/iomux-v3.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c index 9b9cf58..81ec1d3 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,11 @@ 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)) + __raw_writel(mux_mode, base + mux_ctrl_ofs); + else + if (mux_ctrl_ofs) + __raw_writel(mux_mode, base + mux_ctrl_ofs);
if (sel_input_ofs) __raw_writel(sel_input, base + sel_input_ofs);

Hi Peng,
On Mon, Sep 21, 2015 at 11:08 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.
"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 probably for i.MX25 too.
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
arch/arm/imx-common/iomux-v3.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c index 9b9cf58..81ec1d3 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,11 @@ 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))
__raw_writel(mux_mode, base + mux_ctrl_ofs);
else
if (mux_ctrl_ofs)
__raw_writel(mux_mode, base + mux_ctrl_ofs);
Or, in order to avoid duplicating the line: + 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
Best regards, Benoît

Hi Benoît,
On Tue, Sep 22, 2015 at 09:06:06PM +0200, Benoît Thébaudeau wrote:
Hi Peng,
On Mon, Sep 21, 2015 at 11:08 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.
"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 probably for i.MX25 too.
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
arch/arm/imx-common/iomux-v3.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c index 9b9cf58..81ec1d3 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,11 @@ 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))
__raw_writel(mux_mode, base + mux_ctrl_ofs);
else
if (mux_ctrl_ofs)
__raw_writel(mux_mode, base + mux_ctrl_ofs);
Or, in order to avoid duplicating the line:
if (is_soc_type(MXC_SOC_MX7) || mux_ctrl_ofs)
__raw_writel(mux_mode, base + mux_ctrl_ofs);
Good. Will use this way in V2.
Thanks, Peng.
if (sel_input_ofs) __raw_writel(sel_input, base + sel_input_ofs);
-- 1.8.4
Best regards, Benoît
--
participants (3)
-
Benoît Thébaudeau
-
Peng Fan
-
Peng Fan