// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. * * This file contains the CPU initialization code.
*/
/* * 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;
}
/* * This enables the DBGEN bit in ARM_GPC register, which is * required for accessing some performance counter features. * Technically it is only required while perf is used, but to * keep the source code simple we just enable it all the time * when the kernel configuration allows using the feature.
*/ void __init imx5_pmu_init(void)
{ void __iomem *tigerp_base; struct device_node *np;
u32 gpc;
if (!IS_ENABLED(CONFIG_ARM_PMU)) return;
np = of_find_compatible_node(NULL, NULL, "arm,cortex-a8-pmu"); if (!np) return;
if (!of_property_read_bool(np, "secure-reg-access")) gotoexit;
of_node_put(np);
np = of_find_compatible_node(NULL, NULL, "fsl,imx51-tigerp"); if (!np) return;
tigerp_base = of_iomap(np, 0); if (!tigerp_base) gotoexit;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.