linux/drivers/soc/imx/soc-imx8m.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2019 NXP.
 */

#include <linux/init.h>
#include <linux/io.h>
#include <linux/of_address.h>
#include <linux/slab.h>
#include <linux/sys_soc.h>
#include <linux/platform_device.h>
#include <linux/arm-smccc.h>
#include <linux/of.h>
#include <linux/clk.h>

#define REV_B1

#define IMX8MQ_SW_INFO_B1
#define IMX8MQ_SW_MAGIC_B1

#define IMX_SIP_GET_SOC_INFO

#define OCOTP_UID_LOW
#define OCOTP_UID_HIGH

#define IMX8MP_OCOTP_UID_OFFSET

/* Same as ANADIG_DIGPROG_IMX7D */
#define ANADIG_DIGPROG_IMX8MM

struct imx8_soc_data {};

static u64 soc_uid;

#ifdef CONFIG_HAVE_ARM_SMCCC
static u32 imx8mq_soc_revision_from_atf(void)
{
	struct arm_smccc_res res;

	arm_smccc_smc(IMX_SIP_GET_SOC_INFO, 0, 0, 0, 0, 0, 0, 0, &res);

	if (res.a0 == SMCCC_RET_NOT_SUPPORTED)
		return 0;
	else
		return res.a0 & 0xff;
}
#else
static inline u32 imx8mq_soc_revision_from_atf(void) { return 0; };
#endif

static u32 __init imx8mq_soc_revision(void)
{}

static void __init imx8mm_soc_uid(void)
{}

static u32 __init imx8mm_soc_revision(void)
{}

static const struct imx8_soc_data imx8mq_soc_data =;

static const struct imx8_soc_data imx8mm_soc_data =;

static const struct imx8_soc_data imx8mn_soc_data =;

static const struct imx8_soc_data imx8mp_soc_data =;

static __maybe_unused const struct of_device_id imx8_soc_match[] =;

#define imx8_revision(soc_rev)

static int __init imx8_soc_init(void)
{}
device_initcall(imx8_soc_init);
MODULE_DESCRIPTION();
MODULE_LICENSE();