Messages in this thread Patch in this message | | | Date | Wed, 22 Jan 2014 10:13:55 +0800 | From | Chris Ruehl <> | Subject | Re: [PATCH] imx27: pinctrl: fix wrong offset to ICONFB |
| |
Hi Markus,
On Tuesday, January 21, 2014 06:24 PM, Markus Pargmann wrote: > Hi, > > On Thu, Jan 16, 2014 at 09:18:23AM +0800, Chris Ruehl wrote: >> The offset to ICONFB was incorrect, this patch set the correct value 0x14. >> dev_dbg in function imx1_write_2bit print the wrong address and had been >> moved after address calculation. >> >> Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk> > > Reviewed-by: Markus Pargmann <mpa@pengutronix.de> > > Perhaps this should go to the stable tree too for 3.13 and 3.14?
Yes of cause, and I have one more, the offset in
@@ -139,7 +139,7 @@ static int imx1_read_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id, u32 reg_offset) { void __iomem *reg = imx1_mem(ipctl, pin_id) + reg_offset; - int offset = pin_id % 16; + int offset = (pin_id % 16) * 2;
/* Use the next register if the pin's port pin number is >=16 */ if (pin_id % 32 >= 16)
should fixed, otherwise the printout of /sys/kernel/debug/pinctrl/10015000.iomuxc/pins show prints the wrong confo / iconfa / iconfb
I prepare a patch.
With kind regards, Chris
> > Regards, > > Markus > >> --- >> drivers/pinctrl/pinctrl-imx1-core.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/pinctrl/pinctrl-imx1-core.c b/drivers/pinctrl/pinctrl-imx1-core.c >> index f77914a..8dfc3dc 100644 >> --- a/drivers/pinctrl/pinctrl-imx1-core.c >> +++ b/drivers/pinctrl/pinctrl-imx1-core.c >> @@ -45,7 +45,7 @@ struct imx1_pinctrl { >> #define MX1_DDIR 0x00 >> #define MX1_OCR 0x04 >> #define MX1_ICONFA 0x0c >> -#define MX1_ICONFB 0x10 >> +#define MX1_ICONFB 0x14 >> #define MX1_GIUS 0x20 >> #define MX1_GPR 0x38 >> #define MX1_PUEN 0x40 >> @@ -97,13 +97,13 @@ static void imx1_write_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id, >> u32 old_val; >> u32 new_val; >> >> - dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n", >> - reg, offset, value); >> - >> /* Use the next register if the pin's port pin number is >=16 */ >> if (pin_id % 32 >= 16) >> reg += 0x04; >> >> + dev_dbg(ipctl->dev, "write: register 0x%p offset %d value 0x%x\n", >> + reg, offset, value); >> + >> /* Get current state of pins */ >> old_val = readl(reg); >> old_val &= mask; >> -- >> 1.7.10.4 >> >> >
-- GTSYS Limited RFID Technology A01 24/F Gold King Industrial Bld 35-41 Tai Lin Pai Road, Kwai Chung, Hong Kong Fax (852) 8167 4060 - Tel (852) 3598 9488
Disclaimer: http://www.gtsys.com.hk/email/classified.html
| |