linux/arch/arm/mach-imx/cpu-imx35.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-or-later
   2/*
   3 * MX35 CPU type detection
   4 *
   5 * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de>
   6 */
   7#include <linux/module.h>
   8#include <linux/io.h>
   9
  10#include "hardware.h"
  11#include "iim.h"
  12
  13static int mx35_cpu_rev = -1;
  14
  15static int mx35_read_cpu_rev(void)
  16{
  17        u32 rev;
  18
  19        rev = imx_readl(MX35_IO_ADDRESS(MX35_IIM_BASE_ADDR + MXC_IIMSREV));
  20        switch (rev) {
  21        case 0x00:
  22                return IMX_CHIP_REVISION_1_0;
  23        case 0x10:
  24                return IMX_CHIP_REVISION_2_0;
  25        case 0x11:
  26                return IMX_CHIP_REVISION_2_1;
  27        default:
  28                return IMX_CHIP_REVISION_UNKNOWN;
  29        }
  30}
  31
  32int mx35_revision(void)
  33{
  34        if (mx35_cpu_rev == -1)
  35                mx35_cpu_rev = mx35_read_cpu_rev();
  36
  37        return mx35_cpu_rev;
  38}
  39EXPORT_SYMBOL(mx35_revision);
  40