cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpu-imx25.c (944B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * MX25 CPU type detection
      4 *
      5 * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de>
      6 * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved
      7 */
      8#include <linux/module.h>
      9#include <linux/io.h>
     10#include <linux/of.h>
     11#include <linux/of_address.h>
     12
     13#include "iim.h"
     14#include "hardware.h"
     15
     16static int mx25_cpu_rev = -1;
     17
     18static int mx25_read_cpu_rev(void)
     19{
     20	u32 rev;
     21	void __iomem *iim_base;
     22	struct device_node *np;
     23
     24	np = of_find_compatible_node(NULL, NULL, "fsl,imx25-iim");
     25	iim_base = of_iomap(np, 0);
     26	BUG_ON(!iim_base);
     27	rev = readl(iim_base + MXC_IIMSREV);
     28	iounmap(iim_base);
     29
     30	switch (rev) {
     31	case 0x00:
     32		return IMX_CHIP_REVISION_1_0;
     33	case 0x01:
     34		return IMX_CHIP_REVISION_1_1;
     35	default:
     36		return IMX_CHIP_REVISION_UNKNOWN;
     37	}
     38}
     39
     40int mx25_revision(void)
     41{
     42	if (mx25_cpu_rev == -1)
     43		mx25_cpu_rev = mx25_read_cpu_rev();
     44
     45	return mx25_cpu_rev;
     46}
     47EXPORT_SYMBOL(mx25_revision);