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