cregit-Linux how code gets into the kernel

Release 4.17 arch/arm/mach-imx/cpu-imx5.c

/*
 * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 *
 * This file contains the CPU initialization code.
 */

#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_address.h>

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


static int mx5_cpu_rev = -1;


#define IIM_SREV 0x24


static u32 imx5_read_srev_reg(const char *compat) { void __iomem *iim_base; struct device_node *np; u32 srev; np = of_find_compatible_node(NULL, NULL, compat); iim_base = of_iomap(np, 0); WARN_ON(!iim_base); srev = readl(iim_base + IIM_SREV) & 0xff; iounmap(iim_base); return srev; }

Contributors

PersonTokensPropCommitsCommitProp
Shawn Guo5173.91%133.33%
Sascha Hauer1318.84%133.33%
Dinh Nguyen57.25%133.33%
Total69100.00%3100.00%


static int get_mx51_srev(void) { u32 rev = imx5_read_srev_reg("fsl,imx51-iim"); switch (rev) { case 0x0: return IMX_CHIP_REVISION_2_0; case 0x10: return IMX_CHIP_REVISION_3_0; default: return IMX_CHIP_REVISION_UNKNOWN; } }

Contributors

PersonTokensPropCommitsCommitProp
Shawn Guo1436.84%125.00%
Jason Liu1026.32%125.00%
Dinh Nguyen923.68%125.00%
Sascha Hauer513.16%125.00%
Total38100.00%4100.00%

/* * Returns: * the silicon revision of the cpu */
int mx51_revision(void) { if (mx5_cpu_rev == -1) mx5_cpu_rev = get_mx51_srev(); return mx5_cpu_rev; }

Contributors

PersonTokensPropCommitsCommitProp
Sascha Hauer1777.27%133.33%
Jason Liu313.64%133.33%
Dinh Nguyen29.09%133.33%
Total22100.00%3100.00%

EXPORT_SYMBOL(mx51_revision); #ifdef CONFIG_NEON /* * All versions of the silicon before Rev. 3 have broken NEON implementations. * Dependent on link order - so the assumption is that vfp_init is called * before us. */
int __init mx51_neon_fixup(void) { if (mx51_revision() < IMX_CHIP_REVISION_3_0 && (elf_hwcap & HWCAP_NEON)) { elf_hwcap &= ~HWCAP_NEON; pr_info("Turning off NEON support, detected broken NEON implementation\n"); } return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Amit Kucheria3597.22%150.00%
Dinh Nguyen12.78%150.00%
Total36100.00%2100.00%

#endif
static int get_mx53_srev(void) { u32 rev = imx5_read_srev_reg("fsl,imx53-iim"); switch (rev) { case 0x0: return IMX_CHIP_REVISION_1_0; case 0x2: return IMX_CHIP_REVISION_2_0; case 0x3: return IMX_CHIP_REVISION_2_1; default: return IMX_CHIP_REVISION_UNKNOWN; } }

Contributors

PersonTokensPropCommitsCommitProp
Dinh Nguyen2556.82%133.33%
Richard Zhao1738.64%133.33%
Shawn Guo24.55%133.33%
Total44100.00%3100.00%

/* * Returns: * the silicon revision of the cpu */
int mx53_revision(void) { if (mx5_cpu_rev == -1) mx5_cpu_rev = get_mx53_srev(); return mx5_cpu_rev; }

Contributors

PersonTokensPropCommitsCommitProp
Dinh Nguyen1986.36%266.67%
Jason Liu313.64%133.33%
Total22100.00%3100.00%

EXPORT_SYMBOL(mx53_revision);

Overall Contributors

PersonTokensPropCommitsCommitProp
Shawn Guo7526.04%218.18%
Dinh Nguyen6923.96%218.18%
Amit Kucheria5418.75%218.18%
Sascha Hauer5117.71%19.09%
Jason Liu175.90%19.09%
Richard Zhao175.90%19.09%
Fabio Estevam31.04%19.09%
Arnd Bergmann20.69%19.09%
Total288100.00%11100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.