diff mbox series

[v1] ARM: imx: mach-imx6q: correctly identify i.MX6QP SoCs

Message ID 20201104165418.4903-1-TheSven73@gmail.com
State New
Headers show
Series [v1] ARM: imx: mach-imx6q: correctly identify i.MX6QP SoCs | expand

Commit Message

Sven Van Asbroeck Nov. 4, 2020, 4:54 p.m. UTC
The i.MX6QP rev 1.1 SoC on my board is mis-identified by Linux:
the log (incorrectly) shows "i.MX6Q rev 2.1".

Correct this by assuming that every SoC that identifies as
i.MX6Q with rev >= 2.0 is really an i.MX6QP.

Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
---

Tree: v5.10-rc2

To: Shawn Guo <shawnguo@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Anson Huang <Anson.Huang@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

 arch/arm/mach-imx/mach-imx6q.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Fabio Estevam Nov. 5, 2020, 1:04 a.m. UTC | #1
On Wed, Nov 4, 2020 at 1:54 PM Sven Van Asbroeck <thesven73@gmail.com> wrote:
>
> The i.MX6QP rev 1.1 SoC on my board is mis-identified by Linux:
> the log (incorrectly) shows "i.MX6Q rev 2.1".
>
> Correct this by assuming that every SoC that identifies as
> i.MX6Q with rev >= 2.0 is really an i.MX6QP.
>
> Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Shawn Guo Nov. 10, 2020, 2:21 a.m. UTC | #2
On Wed, Nov 04, 2020 at 11:54:18AM -0500, Sven Van Asbroeck wrote:
> The i.MX6QP rev 1.1 SoC on my board is mis-identified by Linux:
> the log (incorrectly) shows "i.MX6Q rev 2.1".
> 
> Correct this by assuming that every SoC that identifies as
> i.MX6Q with rev >= 2.0 is really an i.MX6QP.
> 
> Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>

Applied, thanks.
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index 85c084a716ab..703998ebb52e 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -245,8 +245,13 @@  static void __init imx6q_axi_init(void)
 
 static void __init imx6q_init_machine(void)
 {
-	if (cpu_is_imx6q() && imx_get_soc_revision() == IMX_CHIP_REVISION_2_0)
-		imx_print_silicon_rev("i.MX6QP", IMX_CHIP_REVISION_1_0);
+	if (cpu_is_imx6q() && imx_get_soc_revision() >= IMX_CHIP_REVISION_2_0)
+		/*
+		 * SoCs that identify as i.MX6Q >= rev 2.0 are really i.MX6QP.
+		 * Quirk: i.MX6QP revision = i.MX6Q revision - (1, 0),
+		 * e.g. i.MX6QP rev 1.1 identifies as i.MX6Q rev 2.1.
+		 */
+		imx_print_silicon_rev("i.MX6QP", imx_get_soc_revision() - 0x10);
 	else
 		imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q",
 				imx_get_soc_revision());