Commit 57d459e2 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'imx-soc-5.14' of...

Merge tag 'imx-soc-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc

i.MX SoC changes for 5.14:

- Add SMP support for i.MX7D, as there are i.MX7D devices running in
  field with U-Boot that doesn't support PSCI.
- Fix imx5_cpu_suspend_info reference in i.MX5 PM code comments.
- Add SoC ID initialization for i.MX50.
- Drop unnecessary of_platform_default_populate() call from i.MX6Q
  .init_machine hook.
- A series from Oleksij Rempel to remove most of the i.MX6/7 board
  specific PHY fixups.

* tag 'imx-soc-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: add smp support for imx7d
  ARM: imx6q: drop of_platform_default_populate() from init_machine
  ARM: imx7d: remove Atheros AR8031 PHY fixup
  ARM: imx6sx: remove Atheros AR8031 PHY fixup
  ARM: imx6q: remove Atheros AR8035 SmartEEE fixup
  ARM: imx6q: remove clk-out fixup for the Atheros AR8031 and AR8035 PHYs
  ARM: imx6q: remove BMCR_PDOWN handler in ar8035_phy_fixup()
  ARM: imx6q: remove part of ar8031_phy_fixup()
  ARM: imx6q: remove PHY fixup for KSZ9031
  ARM: imx: Initialize SoC ID on i.MX50
  ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info

Link: https://lore.kernel.org/r/20210613082544.16067-2-shawnguo@kernel.org


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 2f80e8b4 e34645f4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ obj-$(CONFIG_HAVE_IMX_ANATOP) += anatop.o
obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o
obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o
obj-$(CONFIG_HAVE_IMX_SRC) += src.o
ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A),)
ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_IMX7D_CA7)$(CONFIG_SOC_LS1021A),)
AFLAGS_headsmp.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SMP) += headsmp.o platsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
+3 −0
Original line number Diff line number Diff line
@@ -68,11 +68,13 @@ void imx_set_cpu_arg(int cpu, u32 arg);
void v7_secondary_startup(void);
void imx_scu_map_io(void);
void imx_smp_prepare(void);
void imx_gpcv2_set_core1_pdn_pup_by_software(bool pdn);
#else
static inline void imx_scu_map_io(void) {}
static inline void imx_smp_prepare(void) {}
#endif
void imx_src_init(void);
void imx7_src_init(void);
void imx_gpc_pre_suspend(bool arm_power_off);
void imx_gpc_post_resume(void);
void imx_gpc_mask_all(void);
@@ -131,6 +133,7 @@ static inline void imx_init_l2cache(void) {}
#endif

extern const struct smp_operations imx_smp_ops;
extern const struct smp_operations imx7_smp_ops;
extern const struct smp_operations ls1021a_smp_ops;

#endif
+9 −0
Original line number Diff line number Diff line
@@ -21,6 +21,15 @@ diag_reg_offset:

ENTRY(v7_secondary_startup)
ARM_BE8(setend be)			@ go BE8 if entered LE
	mrc	p15, 0, r0, c0, c0, 0
	lsl	r0, r0, #16
	lsr	r0, r0, #20
	/* 0xc07 is cortex A7's ID */
	mov	r1, #0xc00
	orr	r1, #0x7
	cmp	r0, r1
	beq	secondary_startup

	set_diag_reg
	b	secondary_startup
ENDPROC(v7_secondary_startup)
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <asm/proc-fns.h>

#include "common.h"
#include "hardware.h"

/*
 * platform-specific code to shutdown a CPU
@@ -40,5 +41,7 @@ int imx_cpu_kill(unsigned int cpu)
			return 0;
	imx_enable_cpu(cpu, false);
	imx_set_cpu_arg(cpu, 0);
	if (cpu_is_imx7d())
		imx_gpcv2_set_core1_pdn_pup_by_software(true);
	return 1;
}
+7 −0
Original line number Diff line number Diff line
@@ -9,6 +9,12 @@
#include <asm/mach/arch.h>

#include "common.h"
#include "hardware.h"

static void __init imx50_init_early(void)
{
	mxc_set_cpu_type(MXC_CPU_MX50);
}

static const char * const imx50_dt_board_compat[] __initconst = {
	"fsl,imx50",
@@ -16,5 +22,6 @@ static const char * const imx50_dt_board_compat[] __initconst = {
};

DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)")
	.init_early	= imx50_init_early,
	.dt_compat	= imx50_dt_board_compat,
MACHINE_END
Loading