From: Michael Trimarchi <michael@amarulasolutions.com> To: Fabio Estevam <festevam@gmail.com> Cc: "Fabio Estevam" <fabio.estevam@nxp.com>, "Peter Chen" <peter.chen@nxp.com>, U-Boot-Denx <u-boot@lists.denx.de>, "USB list" <linux-usb@vger.kernel.org>, "Benoît Thébaudeau" <benoit@wsystem.com> Subject: imx: mx25: Remove SION bit in all pin-mux Date: Wed, 24 Jan 2018 17:31:46 +0100 [thread overview] Message-ID: <CAOf5uw=1mgNsatRsR-C-shLEefERG42NKp7L4kmLjNtwb5mHGw@mail.gmail.com> (raw) Hi Fabio On Wed, Jan 24, 2018 at 4:26 PM, Michael Nazzareno Trimarchi <michael@amarulasolutions.com> wrote: > Hi Fabio > > On Wed, Jan 24, 2018 at 4:14 PM, Fabio Estevam <festevam@gmail.com> wrote: >> Hi Michael, >> Can you check where SION bit is mandatory for mx25? I have on IMX51 some PINMUX where sion is enabled. I can clean up a bit the patch to just minimize the change. We have for example: arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_CMD__SD1_CMD = IOMUX_PAD(0x79c, 0x394, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_CLK__SD1_CLK = IOMUX_PAD(0x7a0, 0x398, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA0__SD1_DATA0 = IOMUX_PAD(0x7a4, 0x39c, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA1__SD1_DATA1 = IOMUX_PAD(0x7a8, 0x3a0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA2__SD1_DATA2 = IOMUX_PAD(0x7ac, 0x3a4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA3__SD1_DATA3 = IOMUX_PAD(0x7b0, 0x3a8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_CMD__SD2_CMD = IOMUX_PAD(0x7bc, 0x3b4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_CLK__SD2_CLK = IOMUX_PAD(0x7c0, 0x3b8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA0__SD2_DATA0 = IOMUX_PAD(0x7c4, 0x3bc, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA1__SD2_DATA1 = IOMUX_PAD(0x7c8, 0x3c0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA2__SD2_DATA2 = IOMUX_PAD(0x7cc, 0x3c4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA3__SD2_DATA3 = IOMUX_PAD(0x7d0, 0x3c8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), In this way we can be sure that we have done in proper way Michael >> On Wed, Jan 24, 2018 at 12:56 PM, Michael Trimarchi >> <michael@amarulasolutions.com> wrote: >>> SION bit should be used in the situation that we need >>> to read back the value of a pin and should be set by >>> default. This can generate any kind of random malfunction >>> as described in this thread. >>> >>> According to this thread: >>> https://www.spinics.net/lists/linux-usb/msg162574.html >>> >>> We consider this an early bug so all the boards running imx25 >>> with a minimimal set of functionalities can be affected. >>> >>> As reported by this application note: >>> https://www.nxp.com/docs/en/application-note/AN5078.pdf >>> >>> The software input on (SION) bit is an option to force an input >>> path to be active regardless of the value driven by the >>> corresponding module. It is used when the nature direction >>> of a pin depending on selected alternative function is an output, >>> but it is needed to read the real logic value on a pin. >>> >>> The SION bit can be used in: >>> • Loopback: the module of a selected alternative function drives >>> the pad and also receives the pad value as an input >>> • GPIO capture: the module of a selected alternative function >>> drives the pin and the value is captured by the GPIO >>> >>> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> >>> --- >>> Refer-to: >>> MX25 USB timeout on ID 0951:1665 Kingston Technology Digital >>> DataTraveler SE9 64GB >> >> Glad you found a fix for the issue! >> > > The idea was to align to the other freescale architecture. I can > create two patches on it > > Michael > >> >>> --- >>> arch/arm/include/asm/arch-mx25/iomux-mx25.h | 680 ++++++++++++++-------------- >>> 1 file changed, 340 insertions(+), 340 deletions(-) >>> >>> diff --git a/arch/arm/include/asm/arch-mx25/iomux-mx25.h b/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> index 5b2863e..2fcaf60 100644 >>> --- a/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> +++ b/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> @@ -30,481 +30,481 @@ >>> >>> /* PAD MUX ALT INPSE PATH PADCTRL */ >>> enum { >>> - MX25_PAD_A10__A10 = IOMUX_PAD(0x000, 0x008, 0x00, 0, 0, NO_PAD_CTRL), >>> - MX25_PAD_A10__GPIO_4_0 = IOMUX_PAD(0x000, 0x008, 0x05, 0, 0, NO_PAD_CTRL), >>> + MX25_PAD_A10__A10 = IOMUX_PAD(0x000, 0x008, 0, 0, 0, NO_PAD_CTRL), >>> + MX25_PAD_A10__GPIO_4_0 = IOMUX_PAD(0x000, 0x008, 5, 0, 0, NO_PAD_CTRL), >> >> In many places in this patch you are only changing things like 0x00 >> --> 0 or 0x05--> 5, which just makes it harder to review. >> >> Please send a new version that only removes the SION bit. > > > > -- > | Michael Nazzareno Trimarchi Amarula Solutions BV | > | COO - Founder Cruquiuskade 47 | > | +31(0)851119172 Amsterdam 1018 AM NL | > | [`as] http://www.amarulasolutions.com |
WARNING: multiple messages have this Message-ID (diff)
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com> To: u-boot@lists.denx.de Subject: [U-Boot] [PATCH] imx: mx25: Remove SION bit in all pin-mux Date: Wed, 24 Jan 2018 17:31:46 +0100 [thread overview] Message-ID: <CAOf5uw=1mgNsatRsR-C-shLEefERG42NKp7L4kmLjNtwb5mHGw@mail.gmail.com> (raw) In-Reply-To: <CAOf5uwkigLkNc_B4X2Kz=6WLypdU9LveCs7rw7ZGCTMR2AiqSw@mail.gmail.com> Hi Fabio On Wed, Jan 24, 2018 at 4:26 PM, Michael Nazzareno Trimarchi <michael@amarulasolutions.com> wrote: > Hi Fabio > > On Wed, Jan 24, 2018 at 4:14 PM, Fabio Estevam <festevam@gmail.com> wrote: >> Hi Michael, >> Can you check where SION bit is mandatory for mx25? I have on IMX51 some PINMUX where sion is enabled. I can clean up a bit the patch to just minimize the change. We have for example: arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_CMD__SD1_CMD = IOMUX_PAD(0x79c, 0x394, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_CLK__SD1_CLK = IOMUX_PAD(0x7a0, 0x398, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA0__SD1_DATA0 = IOMUX_PAD(0x7a4, 0x39c, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA1__SD1_DATA1 = IOMUX_PAD(0x7a8, 0x3a0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA2__SD1_DATA2 = IOMUX_PAD(0x7ac, 0x3a4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD1_DATA3__SD1_DATA3 = IOMUX_PAD(0x7b0, 0x3a8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_CMD__SD2_CMD = IOMUX_PAD(0x7bc, 0x3b4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_CLK__SD2_CLK = IOMUX_PAD(0x7c0, 0x3b8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA0__SD2_DATA0 = IOMUX_PAD(0x7c4, 0x3bc, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA1__SD2_DATA1 = IOMUX_PAD(0x7c8, 0x3c0, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA2__SD2_DATA2 = IOMUX_PAD(0x7cc, 0x3c4, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), arch/arm/include/asm/arch-mx5/iomux-mx51.h: MX51_PAD_SD2_DATA3__SD2_DATA3 = IOMUX_PAD(0x7d0, 0x3c8, 0x10, __NA_, 0, MX51_SDHCI_PAD_CTRL), In this way we can be sure that we have done in proper way Michael >> On Wed, Jan 24, 2018 at 12:56 PM, Michael Trimarchi >> <michael@amarulasolutions.com> wrote: >>> SION bit should be used in the situation that we need >>> to read back the value of a pin and should be set by >>> default. This can generate any kind of random malfunction >>> as described in this thread. >>> >>> According to this thread: >>> https://www.spinics.net/lists/linux-usb/msg162574.html >>> >>> We consider this an early bug so all the boards running imx25 >>> with a minimimal set of functionalities can be affected. >>> >>> As reported by this application note: >>> https://www.nxp.com/docs/en/application-note/AN5078.pdf >>> >>> The software input on (SION) bit is an option to force an input >>> path to be active regardless of the value driven by the >>> corresponding module. It is used when the nature direction >>> of a pin depending on selected alternative function is an output, >>> but it is needed to read the real logic value on a pin. >>> >>> The SION bit can be used in: >>> • Loopback: the module of a selected alternative function drives >>> the pad and also receives the pad value as an input >>> • GPIO capture: the module of a selected alternative function >>> drives the pin and the value is captured by the GPIO >>> >>> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> >>> --- >>> Refer-to: >>> MX25 USB timeout on ID 0951:1665 Kingston Technology Digital >>> DataTraveler SE9 64GB >> >> Glad you found a fix for the issue! >> > > The idea was to align to the other freescale architecture. I can > create two patches on it > > Michael > >> >>> --- >>> arch/arm/include/asm/arch-mx25/iomux-mx25.h | 680 ++++++++++++++-------------- >>> 1 file changed, 340 insertions(+), 340 deletions(-) >>> >>> diff --git a/arch/arm/include/asm/arch-mx25/iomux-mx25.h b/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> index 5b2863e..2fcaf60 100644 >>> --- a/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> +++ b/arch/arm/include/asm/arch-mx25/iomux-mx25.h >>> @@ -30,481 +30,481 @@ >>> >>> /* PAD MUX ALT INPSE PATH PADCTRL */ >>> enum { >>> - MX25_PAD_A10__A10 = IOMUX_PAD(0x000, 0x008, 0x00, 0, 0, NO_PAD_CTRL), >>> - MX25_PAD_A10__GPIO_4_0 = IOMUX_PAD(0x000, 0x008, 0x05, 0, 0, NO_PAD_CTRL), >>> + MX25_PAD_A10__A10 = IOMUX_PAD(0x000, 0x008, 0, 0, 0, NO_PAD_CTRL), >>> + MX25_PAD_A10__GPIO_4_0 = IOMUX_PAD(0x000, 0x008, 5, 0, 0, NO_PAD_CTRL), >> >> In many places in this patch you are only changing things like 0x00 >> --> 0 or 0x05--> 5, which just makes it harder to review. >> >> Please send a new version that only removes the SION bit. > > > > -- > | Michael Nazzareno Trimarchi Amarula Solutions BV | > | COO - Founder Cruquiuskade 47 | > | +31(0)851119172 Amsterdam 1018 AM NL | > | [`as] http://www.amarulasolutions.com | -- | Michael Nazzareno Trimarchi Amarula Solutions BV | | COO - Founder Cruquiuskade 47 | | +31(0)851119172 Amsterdam 1018 AM NL | | [`as] http://www.amarulasolutions.com |
next prev reply other threads:[~2018-01-24 16:31 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-01-24 14:56 imx: mx25: Remove SION bit in all pin-mux Michael Trimarchi 2018-01-24 14:56 ` [U-Boot] [PATCH] " Michael Trimarchi 2018-01-24 15:14 ` Fabio Estevam 2018-01-24 15:14 ` [U-Boot] [PATCH] " Fabio Estevam 2018-01-24 15:26 ` Michael Trimarchi 2018-01-24 15:26 ` [U-Boot] [PATCH] " Michael Nazzareno Trimarchi 2018-01-24 16:31 ` Michael Trimarchi [this message] 2018-01-24 16:31 ` Michael Nazzareno Trimarchi 2018-01-24 16:38 ` Fabio Estevam 2018-01-24 16:46 ` Michael Nazzareno Trimarchi 2018-01-24 17:05 ` Benoît Thébaudeau 2018-01-24 17:12 ` Michael Nazzareno Trimarchi 2018-01-24 17:19 ` Benoît Thébaudeau 2018-01-24 17:21 ` Fabio Estevam 2018-01-24 17:29 ` Benoît Thébaudeau 2018-01-24 17:33 ` Michael Nazzareno Trimarchi 2018-01-24 17:36 ` Fabio Estevam 2018-01-24 17:46 ` Michael Nazzareno Trimarchi 2018-01-24 23:07 ` Fabio Estevam 2018-01-25 5:47 ` Michael Nazzareno Trimarchi 2018-01-25 10:02 ` Benoît Thébaudeau 2018-01-25 10:17 ` Michael Nazzareno Trimarchi 2018-01-25 10:36 ` Benoît Thébaudeau 2018-01-24 15:34 Benoît Thébaudeau 2018-01-24 15:34 ` [U-Boot] [PATCH] " Benoît Thébaudeau 2018-01-24 15:39 Benoît Thébaudeau 2018-01-24 15:39 ` [U-Boot] [PATCH] " Benoît Thébaudeau 2018-01-24 15:43 Michael Trimarchi 2018-01-24 15:43 ` [U-Boot] [PATCH] " Michael Nazzareno Trimarchi 2018-01-24 16:03 Benoît Thébaudeau 2018-01-24 16:03 ` [U-Boot] [PATCH] " Benoît Thébaudeau 2018-01-24 16:17 Michael Trimarchi 2018-01-24 16:17 ` [U-Boot] [PATCH] " Michael Nazzareno Trimarchi 2018-01-24 16:37 Benoît Thébaudeau 2018-01-24 16:37 ` [U-Boot] [PATCH] " Benoît Thébaudeau
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAOf5uw=1mgNsatRsR-C-shLEefERG42NKp7L4kmLjNtwb5mHGw@mail.gmail.com' \ --to=michael@amarulasolutions.com \ --cc=benoit@wsystem.com \ --cc=fabio.estevam@nxp.com \ --cc=festevam@gmail.com \ --cc=linux-usb@vger.kernel.org \ --cc=peter.chen@nxp.com \ --cc=u-boot@lists.denx.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.