All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set
@ 2017-08-14 10:09 Peng Fan
  2017-08-14 10:09 ` [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1 Peng Fan
  2017-08-23  8:47 ` [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Stefano Babic
  0 siblings, 2 replies; 4+ messages in thread
From: Peng Fan @ 2017-08-14 10:09 UTC (permalink / raw)
  To: u-boot

when using SHARE_MUX_CONF_REG, wrong mask is used for
writing config value, which causes mux value is cleared.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
---
 drivers/pinctrl/nxp/pinctrl-imx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c
index 1b6107f..32cbac9 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx.c
@@ -158,7 +158,7 @@ static int imx_pinctrl_set_state(struct udevice *dev, struct udevice *config)
 		if (!(config_val & IMX_NO_PAD_CTL)) {
 			if (info->flags & SHARE_MUX_CONF_REG) {
 				clrsetbits_le32(info->base + conf_reg,
-						info->mux_mask, config_val);
+						~info->mux_mask, config_val);
 			} else {
 				writel(config_val, info->base + conf_reg);
 			}
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1
  2017-08-14 10:09 [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Peng Fan
@ 2017-08-14 10:09 ` Peng Fan
  2017-08-23  8:48   ` Stefano Babic
  2017-08-23  8:47 ` [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Stefano Babic
  1 sibling, 1 reply; 4+ messages in thread
From: Peng Fan @ 2017-08-14 10:09 UTC (permalink / raw)
  To: u-boot

To i.MX7ULP, we need to create two info instances for
iomux0 and iomux1 respectively, otherwise iomuxc0/1 will
share one info instance and use one base, because imx_pinctrl_probe
will use info to store base address and etc. But iomuxc0/1
actually have different base address.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
---
 drivers/pinctrl/nxp/pinctrl-imx7ulp.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
index 4a893e5..618ce6a 100644
--- a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
+++ b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
@@ -12,7 +12,11 @@
 
 #include "pinctrl-imx.h"
 
-static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info = {
+static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info0 = {
+	.flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
+};
+
+static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info1 = {
 	.flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
 };
 
@@ -25,8 +29,8 @@ static int imx7ulp_pinctrl_probe(struct udevice *dev)
 }
 
 static const struct udevice_id imx7ulp_pinctrl_match[] = {
-	{ .compatible = "fsl,imx7ulp-iomuxc-0", .data = (ulong)&imx7ulp_pinctrl_soc_info },
-	{ .compatible = "fsl,imx7ulp-iomuxc-1", .data = (ulong)&imx7ulp_pinctrl_soc_info },
+	{ .compatible = "fsl,imx7ulp-iomuxc-0", .data = (ulong)&imx7ulp_pinctrl_soc_info0 },
+	{ .compatible = "fsl,imx7ulp-iomuxc-1", .data = (ulong)&imx7ulp_pinctrl_soc_info1 },
 	{ /* sentinel */ }
 };
 
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set
  2017-08-14 10:09 [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Peng Fan
  2017-08-14 10:09 ` [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1 Peng Fan
@ 2017-08-23  8:47 ` Stefano Babic
  1 sibling, 0 replies; 4+ messages in thread
From: Stefano Babic @ 2017-08-23  8:47 UTC (permalink / raw)
  To: u-boot

On 14/08/2017 12:09, Peng Fan wrote:
> when using SHARE_MUX_CONF_REG, wrong mask is used for
> writing config value, which causes mux value is cleared.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
>  drivers/pinctrl/nxp/pinctrl-imx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/nxp/pinctrl-imx.c b/drivers/pinctrl/nxp/pinctrl-imx.c
> index 1b6107f..32cbac9 100644
> --- a/drivers/pinctrl/nxp/pinctrl-imx.c
> +++ b/drivers/pinctrl/nxp/pinctrl-imx.c
> @@ -158,7 +158,7 @@ static int imx_pinctrl_set_state(struct udevice *dev, struct udevice *config)
>  		if (!(config_val & IMX_NO_PAD_CTL)) {
>  			if (info->flags & SHARE_MUX_CONF_REG) {
>  				clrsetbits_le32(info->base + conf_reg,
> -						info->mux_mask, config_val);
> +						~info->mux_mask, config_val);
>  			} else {
>  				writel(config_val, info->base + conf_reg);
>  			}
> 

Applied to u-boot-imx, -master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
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
=====================================================================

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1
  2017-08-14 10:09 ` [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1 Peng Fan
@ 2017-08-23  8:48   ` Stefano Babic
  0 siblings, 0 replies; 4+ messages in thread
From: Stefano Babic @ 2017-08-23  8:48 UTC (permalink / raw)
  To: u-boot

On 14/08/2017 12:09, Peng Fan wrote:
> To i.MX7ULP, we need to create two info instances for
> iomux0 and iomux1 respectively, otherwise iomuxc0/1 will
> share one info instance and use one base, because imx_pinctrl_probe
> will use info to store base address and etc. But iomuxc0/1
> actually have different base address.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
>  drivers/pinctrl/nxp/pinctrl-imx7ulp.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
> index 4a893e5..618ce6a 100644
> --- a/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
> +++ b/drivers/pinctrl/nxp/pinctrl-imx7ulp.c
> @@ -12,7 +12,11 @@
>  
>  #include "pinctrl-imx.h"
>  
> -static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info = {
> +static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info0 = {
> +	.flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
> +};
> +
> +static struct imx_pinctrl_soc_info imx7ulp_pinctrl_soc_info1 = {
>  	.flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE,
>  };
>  
> @@ -25,8 +29,8 @@ static int imx7ulp_pinctrl_probe(struct udevice *dev)
>  }
>  
>  static const struct udevice_id imx7ulp_pinctrl_match[] = {
> -	{ .compatible = "fsl,imx7ulp-iomuxc-0", .data = (ulong)&imx7ulp_pinctrl_soc_info },
> -	{ .compatible = "fsl,imx7ulp-iomuxc-1", .data = (ulong)&imx7ulp_pinctrl_soc_info },
> +	{ .compatible = "fsl,imx7ulp-iomuxc-0", .data = (ulong)&imx7ulp_pinctrl_soc_info0 },
> +	{ .compatible = "fsl,imx7ulp-iomuxc-1", .data = (ulong)&imx7ulp_pinctrl_soc_info1 },
>  	{ /* sentinel */ }
>  };
>  
> 
Applied to u-boot-imx, -master, thanks !

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
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
=====================================================================

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-23  8:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-14 10:09 [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Peng Fan
2017-08-14 10:09 ` [U-Boot] [PATCH 2/2] pinctrl: imx7ulp: Add new info instance for iomuxc1 Peng Fan
2017-08-23  8:48   ` Stefano Babic
2017-08-23  8:47 ` [U-Boot] [PATCH 1/2] pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is set Stefano Babic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.