static __init char *ingenic_get_system_type(unsignedlong machtype)
{ switch (machtype) { case MACH_INGENIC_X2100: return"X2100"; case MACH_INGENIC_X2000H: return"X2000H"; case MACH_INGENIC_X2000E: return"X2000E"; case MACH_INGENIC_X2000: return"X2000"; case MACH_INGENIC_X1830: return"X1830"; case MACH_INGENIC_X1000E: return"X1000E"; case MACH_INGENIC_X1000: return"X1000"; case MACH_INGENIC_JZ4780: return"JZ4780"; case MACH_INGENIC_JZ4775: return"JZ4775"; case MACH_INGENIC_JZ4770: return"JZ4770"; case MACH_INGENIC_JZ4760B: return"JZ4760B"; case MACH_INGENIC_JZ4760: return"JZ4760"; case MACH_INGENIC_JZ4755: return"JZ4755"; case MACH_INGENIC_JZ4750: return"JZ4750"; case MACH_INGENIC_JZ4725B: return"JZ4725B"; case MACH_INGENIC_JZ4730: return"JZ4730"; default: return"JZ4740";
}
}
offset = fdt_path_offset(fdt, "/ext"); if (offset < 0) return;
prop = fdt_getprop(fdt, offset, "clock-frequency", NULL); if (!prop) return;
/* * If the external oscillator is 24 MHz, enable the /2 divider to * drive it down to 12 MHz, since this is what the hardware can work * with. * The 16 MHz cutoff value is arbitrary; setting it to 12 MHz would not * work as the crystal frequency (as reported in the Device Tree) might * be slightly above this value.
*/
use_div = be32_to_cpup(prop) >= 16000000;
cgu = ioremap(INGENIC_CGU_BASE, 0x4); if (!cgu) return;
static __init constvoid *ingenic_fixup_fdt(constvoid *fdt, constvoid *match_data)
{ /* * Old devicetree files for the qi,lb60 board did not have a /memory * node. Hardcode the memory info here.
*/ if (!fdt_node_check_compatible(fdt, 0, "qi,lb60") &&
fdt_path_offset(fdt, "/memory") < 0)
early_init_dt_add_memory_arch(0, SZ_32M);
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.