Messages in this thread | | | From | Arnd Bergmann <> | Date | Mon, 9 Mar 2020 14:50:17 +0100 | Subject | Re: [PATCH] soc: imx: Makefile: only build soc-imx8 when CONFIG_ARM64 |
| |
On Mon, Mar 9, 2020 at 2:28 PM Peng Fan <peng.fan@nxp.com> wrote: > > Subject: Re: [PATCH] soc: imx: Makefile: only build soc-imx8 when > > CONFIG_ARM64 > > > > On Mon, Jan 27, 2020 at 6:05 AM Peng Fan <peng.fan@nxp.com> wrote: > > > > Subject: Re: [PATCH] soc: imx: Makefile: only build soc-imx8 when > > > > Does anyone have any suggestions on where I might find some generic > > > > stuff for either iMX8M or generic ARMv8 docs for doing something like > > this? > > > > > > We did a porting for one customer, but code is not public available. > > > > > > First let uboot switch to AARCH32 mode when booting Linux, this is > > > already supported by uboot mailine. > > > > > > Second, create a mach-imx8m.c under arch/arm/mach-imx to handle > > i.MX8M > > > just like other i.mx arm32 socs. This is not preferred by Linux community. > > > > > > 3rd, build i.MX8M drivers when using imx_v7_defconfig( or > > > imx_v6_v7_defconfig in upstream) > > > > I think the third part is something we can clearly do once it actually boots. > > > > Can you post the patch for the second part for reference? In theory nothing > > should be necessary there, so I wonder what I'm missing (as we need no code > > for arch/arm64) and what we can do differently to make it work out of the > > box. > > > > Is the problem that the SMP bringup using PSCI for arm64 doesn't work with > > the 32-bit kernel for some reason? > > Sorry for long time delay. I forgot your mail. I did some try again, seems only need > the following piece code to make it boot, also select GIC_V3 and drop some ARM64 > dependencies in Kconfig for some i.MX drivers. > Need some addition work in ATF/U-Boot > to make smp work, that is not Linux related.
Ah, nice!
> +static const char *const imx8mm_dt_compat[] __initconst = { > + "fsl,imx8mm", > + NULL, > +}; > + > +#include <asm/mach/arch.h> > +DT_MACHINE_START(IMX7D, "Freescale i.MX8MM (Device Tree)") > + .dt_compat = imx8mm_dt_compat, > +MACHINE_END > > > Are you ok we add such piece code in drivers/soc/imx/soc-imx8.c to support > aarch32 linux?
I don't think that code does anything other than set the machine name. Are you sure it doesn't work without that?
If it's indeed required, I'd prefer to add a file for in arch/arm/mach-imx than in drivers/soc/.
Arnd
| |