/* * Xilfpga platform setup * * Copyright (C) 2015 Imagination Technologies * Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. */ #include <linux/of_fdt.h> #include <linux/of_platform.h> #include <asm/prom.h> #define XILFPGA_UART_BASE 0xb0401000 const char *get_system_type(void) { return "MIPSfpga"; } void __init plat_mem_setup(void) { __dt_setup_arch(__dtb_start); strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE); } void __init prom_init(void) { setup_8250_early_printk_port(XILFPGA_UART_BASE, 2, 50000); } void __init prom_free_prom_memory(void) { } void __init device_tree_init(void) { if (!initial_boot_params) return; unflatten_and_copy_device_tree(); } static int __init plat_of_setup(void) { if (!of_have_populated_dt()) panic("Device tree not present"); if (of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL)) panic("Failed to populate DT"); return 0; } arch_initcall(plat_of_setup);