MIPS: Malta: Basic DT plumbing
Build a DT for the Malta platform into the kernel, load it & probe devices from it. The DT is essentially empty at this point, devices will be added in further patches. [ralf@linux-mips.org: Fixed conflicts.] Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Cc: devicetree@vger.kernel.org Cc: Rob Herring <robh+dt@kernel.org> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org> Cc: Andrew Bresticker <abrestic@chromium.org> Cc: linux-kernel@vger.kernel.org Cc: Markos Chandras <markos.chandras@imgtec.com> Patchwork: http://patchwork.linux-mips.org/patch/10119/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
56d4c99b84
commit
e8823d26b4
|
@ -404,6 +404,7 @@ config MIPS_MALTA
|
|||
select ARCH_MAY_HAVE_PC_FDC
|
||||
select BOOT_ELF32
|
||||
select BOOT_RAW
|
||||
select BUILTIN_DTB
|
||||
select CEVT_R4K
|
||||
select CSRC_R4K
|
||||
select CLKSRC_MIPS_GIC
|
||||
|
@ -443,6 +444,7 @@ config MIPS_MALTA
|
|||
select SYS_SUPPORTS_MULTITHREADING
|
||||
select SYS_SUPPORTS_SMARTMIPS
|
||||
select SYS_SUPPORTS_ZBOOT
|
||||
select USE_OF
|
||||
select ZONE_DMA32 if 64BIT
|
||||
help
|
||||
This enables support for the MIPS Technologies Malta evaluation
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
dtb-$(CONFIG_MIPS_MALTA) += malta.dtb
|
||||
dtb-$(CONFIG_MIPS_SEAD3) += sead3.dtb
|
||||
|
||||
obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "mti,malta";
|
||||
};
|
|
@ -5,7 +5,7 @@
|
|||
# Copyright (C) 2008 Wind River Systems, Inc.
|
||||
# written by Ralf Baechle <ralf@linux-mips.org>
|
||||
#
|
||||
obj-y := malta-display.o malta-init.o \
|
||||
obj-y := malta-display.o malta-dt.o malta-init.o \
|
||||
malta-int.o malta-memory.o malta-platform.o \
|
||||
malta-reset.o malta-setup.o malta-time.o
|
||||
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Imagination Technologies
|
||||
* Author: Paul Burton <paul.burton@imgtec.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/of_fdt.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
void __init device_tree_init(void)
|
||||
{
|
||||
unflatten_and_copy_device_tree();
|
||||
}
|
||||
|
||||
static const struct of_device_id bus_ids[] __initconst = {
|
||||
{ .compatible = "simple-bus", },
|
||||
{ .compatible = "isa", },
|
||||
{},
|
||||
};
|
||||
|
||||
static int __init publish_devices(void)
|
||||
{
|
||||
if (!of_have_populated_dt())
|
||||
return 0;
|
||||
|
||||
return of_platform_bus_probe(NULL, bus_ids, NULL);
|
||||
}
|
||||
device_initcall(publish_devices);
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/sched.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/of_fdt.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/screen_info.h>
|
||||
#include <linux/time.h>
|
||||
|
@ -31,6 +32,7 @@
|
|||
#include <asm/mips-boards/malta.h>
|
||||
#include <asm/mips-boards/maltaint.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/prom.h>
|
||||
#include <asm/traps.h>
|
||||
#ifdef CONFIG_VT
|
||||
#include <linux/console.h>
|
||||
|
@ -249,6 +251,8 @@ void __init plat_mem_setup(void)
|
|||
{
|
||||
unsigned int i;
|
||||
|
||||
__dt_setup_arch(__dtb_start);
|
||||
|
||||
if (config_enabled(CONFIG_EVA))
|
||||
/* EVA has already been configured in mach-malta/kernel-init.h */
|
||||
pr_info("Enhanced Virtual Addressing (EVA) activated\n");
|
||||
|
|
Loading…
Reference in New Issue