Skip to content

Commit

Permalink
MIPS: SEAD3: Implement OF support.
Browse files Browse the repository at this point in the history
Activate USE_OF for SEAD-3 platform. Add basic DTS file and convert memory
detection and reservations to use OF.

[ralf@linux-mips.org: Remove unnecessary #ifdef wrapper in generic.h.  Make
<asm/mips-boards/generic.h> inclusion work even without prior
<linux/of_fdt.h> inclusion.]

Signed-off-by: Steven J. Hill <sjhill@mips.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4809/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Steven J. Hill authored and Ralf Baechle committed Feb 1, 2013
1 parent 8fba1e5 commit 9b73100
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 141 deletions.
1 change: 1 addition & 0 deletions arch/mips/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@ config MIPS_SEAD3
select USB_ARCH_HAS_EHCI
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
select USE_OF
help
This enables support for the MIPS Technologies SEAD3 evaluation
board.
Expand Down
4 changes: 4 additions & 0 deletions arch/mips/include/asm/mips-boards/generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@

extern int mips_revision_sconid;

#ifdef CONFIG_OF
extern struct boot_param_header __dtb_start;
#endif

#ifdef CONFIG_PCI
extern void mips_pcibios_init(void);
#else
Expand Down
10 changes: 8 additions & 2 deletions arch/mips/mti-sead3/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
# Copyright (C) 2008 Wind River Systems, Inc.
# written by Ralf Baechle <ralf@linux-mips.org>
#
# Copyright (C) 2012 MIPS Technoligies, Inc. All rights reserved.
# Steven J. Hill <sjhill@mips.com>
#
obj-y := sead3-lcd.o sead3-cmdline.o \
sead3-display.o sead3-init.o sead3-int.o \
sead3-mtd.o sead3-net.o \
sead3-memory.o sead3-platform.o \
sead3-mtd.o sead3-net.o sead3-platform.o \
sead3-reset.o sead3-setup.o sead3-time.o

obj-y += sead3-i2c-dev.o sead3-i2c.o \
Expand All @@ -17,3 +19,7 @@ obj-y += sead3-i2c-dev.o sead3-i2c.o \

obj-$(CONFIG_EARLY_PRINTK) += sead3-console.o
obj-$(CONFIG_USB_EHCI_HCD) += sead3-ehci.o
obj-$(CONFIG_OF) += sead3.dtb.o

$(obj)/%.dtb: $(obj)/%.dts
$(call if_changed,dtc)
5 changes: 4 additions & 1 deletion arch/mips/mti-sead3/sead3-init.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ void __init prom_init(void)
board_ejtag_handler_setup = mips_ejtag_setup;

prom_init_cmdline();
prom_meminit();
#ifdef CONFIG_EARLY_PRINTK
if ((strstr(prom_getcmdline(), "console=ttyS0")) != NULL)
prom_init_early_console(0);
Expand All @@ -89,3 +88,7 @@ void __init prom_init(void)
strcat(prom_getcmdline(), " console=ttyS0,38400n8r");
#endif
}

void prom_free_prom_memory(void)
{
}
138 changes: 0 additions & 138 deletions arch/mips/mti-sead3/sead3-memory.c

This file was deleted.

27 changes: 27 additions & 0 deletions arch/mips/mti-sead3/sead3-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
* Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
*/
#include <linux/init.h>
#include <linux/of_platform.h>
#include <linux/of_fdt.h>
#include <linux/bootmem.h>

#include <asm/mips-boards/generic.h>
#include <asm/prom.h>

int coherentio; /* 0 => no DMA cache coherency (may be set by user) */
int hw_coherentio; /* 0 => no HW DMA cache coherency (reflects real HW) */
Expand All @@ -17,4 +23,25 @@ const char *get_system_type(void)

void __init plat_mem_setup(void)
{
/*
* Load the builtin devicetree. This causes the chosen node to be
* parsed resulting in our memory appearing
*/
__dt_setup_arch(&__dtb_start);
}

void __init device_tree_init(void)
{
unsigned long base, size;

if (!initial_boot_params)
return;

base = virt_to_phys((void *)initial_boot_params);
size = be32_to_cpu(initial_boot_params->totalsize);

/* Before we do anything, lets reserve the dt blob */
reserve_bootmem(base, size, BOOTMEM_DEFAULT);

unflatten_device_tree();
}
26 changes: 26 additions & 0 deletions arch/mips/mti-sead3/sead3.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/dts-v1/;

/memreserve/ 0x00000000 0x00001000; // reserved
/memreserve/ 0x00001000 0x000ef000; // ROM data
/memreserve/ 0x000f0000 0x004cc000; // reserved

/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mti,sead-3";

cpus {
cpu@0 {
compatible = "mti,mips14KEc", "mti,mips14Kc";
};
};

chosen {
bootargs = "console=ttyS1,38400 rootdelay=10 root=/dev/sda3";
};

memory {
device_type = "memory";
reg = <0x0 0x08000000>;
};
};

0 comments on commit 9b73100

Please sign in to comment.