Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead

From: Abel Vesa
Date: Thu Dec 13 2018 - 09:51:58 EST


On 18-12-13 15:35:27, Lucas Stach wrote:
> Am Donnerstag, den 13.12.2018, 13:17 +0000 schrieb Abel Vesa:
> > To keep aligned with arm64, remove the unnecessary SOC_IMX8MQ and use
> > ARCH_MXC instead.
> >
> > Signed-off-by: Abel Vesa <abel.vesa@xxxxxxx>
> > ---
> >  arch/arm64/Kconfig.platforms           | 8 --------
> >  arch/arm64/boot/dts/freescale/Makefile | 2 +-
> >  drivers/clk/imx/Makefile               | 3 ++-
> >  drivers/phy/freescale/Kconfig          | 2 +-
> >  drivers/pinctrl/freescale/Kconfig      | 2 +-
> >  drivers/soc/imx/Kconfig                | 2 +-
> >  6 files changed, 6 insertions(+), 13 deletions(-)
> >
> > diff --git a/arch/arm64/Kconfig.platforms
> > b/arch/arm64/Kconfig.platforms
> > index 7e1545a..318dbb9 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -148,14 +148,6 @@ config ARCH_MXC
> >     This enables support for the ARMv8 based SoCs in the
> >     NXP i.MX family.
> >  
> > -config SOC_IMX8MQ
> > - bool "i.MX8MQ support"
> > - depends on ARCH_MXC
> > - select ARM64_ERRATUM_843419
> > - select ARM64_ERRATUM_845719
> > - help
> > -   This enables support for the i.MX8MQ SoC.
> > -
>
> NACK on this one. Having a single place where stuff that is absolutely
> critical for proper SoC operation can be selected is very useful and
> avoids hard to debug issues due to slightly wrong configs in the long
> run.

As mentioned in the cover letter, please ignore this patch set entirely.
The ARCH_MXC is actually used on arm32 too, so it won't work.

I'm working on a patchset that will add the Kconfig into
drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
fix the clock dependency since the CLK_IMX8MQ will depend on
ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
the same pattern.

As for the SOC_IMX8MQ, all the other vendors have one single
config for all the arm64 platforms. TBH, to control every SoC
independently it's a little bit of an overkill.

But maybe I'm the only one who thinks so.

>
> Regards,
> Lucas
>
> >  config ARCH_QCOM
> >   bool "Qualcomm Platforms"
> >   select GPIOLIB
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile
> > b/arch/arm64/boot/dts/freescale/Makefile
> > index 0001361..f9be242 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -19,4 +19,4 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-
> > rdb.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
> >  
> > -dtb-$(CONFIG_SOC_IMX8MQ) += imx8mq-evk.dtb
> > +dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
> > diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
> > index 5c0b11e..62a1882 100644
> > --- a/drivers/clk/imx/Makefile
> > +++ b/drivers/clk/imx/Makefile
> > @@ -34,5 +34,6 @@ obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o
> >  obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o
> >  obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
> >  obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
> > -obj-$(CONFIG_SOC_IMX8MQ) += clk-imx8mq.o
> >  obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
> > +
> > +obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
> > diff --git a/drivers/phy/freescale/Kconfig
> > b/drivers/phy/freescale/Kconfig
> > index f050bd4..923c0ef 100644
> > --- a/drivers/phy/freescale/Kconfig
> > +++ b/drivers/phy/freescale/Kconfig
> > @@ -2,4 +2,4 @@ config PHY_FSL_IMX8MQ_USB
> >   tristate "Freescale i.MX8M USB3 PHY"
> >   depends on OF && HAS_IOMEM
> >   select GENERIC_PHY
> > - default SOC_IMX8MQ
> > + default ARCH_MXC
> > diff --git a/drivers/pinctrl/freescale/Kconfig
> > b/drivers/pinctrl/freescale/Kconfig
> > index 2d6db43..9874a16 100644
> > --- a/drivers/pinctrl/freescale/Kconfig
> > +++ b/drivers/pinctrl/freescale/Kconfig
> > @@ -123,7 +123,7 @@ config PINCTRL_IMX7ULP
> >  
> >  config PINCTRL_IMX8MQ
> >   bool "IMX8MQ pinctrl driver"
> > - depends on SOC_IMX8MQ
> > + depends on ARCH_MXC
> >   select PINCTRL_IMX
> >   help
> >     Say Y here to enable the imx8mq pinctrl driver
> > diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
> > index 2112d18..7ffbb6b 100644
> > --- a/drivers/soc/imx/Kconfig
> > +++ b/drivers/soc/imx/Kconfig
> > @@ -2,7 +2,7 @@ menu "i.MX SoC drivers"
> >  
> >  config IMX_GPCV2_PM_DOMAINS
> >   bool "i.MX GPCv2 PM domains"
> > - depends on SOC_IMX7D || SOC_IMX8MQ || (COMPILE_TEST && OF)
> > + depends on SOC_IMX7D || ARCH_MXC || (COMPILE_TEST && OF)
> >   depends on PM
> >   select PM_GENERIC_DOMAINS
> >   default y if SOC_IMX7D