svn commit: r275861 - in head/sys: boot/fdt/dts/mips mips/beri mips/conf
Ruslan Bukin
br at FreeBSD.org
Wed Dec 17 11:36:33 UTC 2014
Author: br
Date: Wed Dec 17 11:36:31 2014
New Revision: 275861
URL: https://svnweb.freebsd.org/changeset/base/275861
Log:
Add configuration files for BERI soft-core synthesized on
Terasic SoCKit board (Altera FPGA).
Use virtio block as root filesystem device.
Sponsored by: DARPA, AFRL
Added:
head/sys/boot/fdt/dts/mips/beripad-sockit.dts (contents, props changed)
head/sys/mips/conf/BERI_SOCKIT (contents, props changed)
Modified:
head/sys/mips/beri/files.beri
Added: head/sys/boot/fdt/dts/mips/beripad-sockit.dts
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/boot/fdt/dts/mips/beripad-sockit.dts Wed Dec 17 11:36:31 2014 (r275861)
@@ -0,0 +1,219 @@
+/*-
+ * Copyright (c) 2012-2013 Robert N. M. Watson
+ * Copyright (c) 2013-2014 SRI International
+ * Copyright (c) 2014 Ruslan Bukin <br at bsdpad.com>
+ * All rights reserved.
+ *
+ * This software was developed by SRI International and the University of
+ * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
+ * ("CTSRD"), as part of the DARPA CRASH research programme.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/dts-v1/;
+
+/*
+ * Device names here have been largely made up on the spot, especially for the
+ * "compatible" strings, and might want to be revised.
+ */
+
+/ {
+ model = "SRI/Cambridge BeriPad (SoCKit)";
+ compatible = "sri-cambridge,beripad-sockit";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /*
+ * Secondary CPUs all start disabled and use the
+ * spin-table enable method. cpu-release-addr must be
+ * specified for each cpu other than cpu at 0. Values of
+ * cpu-release-addr grow down from 0x100000 (kernel).
+ */
+ status = "disabled";
+ enable-method = "spin-table";
+
+ cpu at 0 {
+ device-type = "cpu";
+ compatible = "sri-cambridge,beri";
+
+ reg = <0 1>;
+ status = "okay";
+ };
+
+/*
+ cpu at 1 {
+ device-type = "cpu";
+ compatible = "sri-cambridge,beri";
+
+ reg = <1 1>;
+ // XXX: should we need cached prefix?
+ cpu-release-addr = <0xffffffff 0x800fffe0>;
+ };
+*/
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x10000000>; /* 256MB at 0x0 */
+ };
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+
+ /*
+ * Declare mips,mips4k since BERI doesn't (yet) have a PIC, so
+ * we use mips4k coprocessor 0 interrupt management directly.
+ */
+ compatible = "simple-bus", "mips,mips4k";
+ /* ranges = <>; */
+
+ beripic0: beripic at 7f804000 {
+ compatible = "sri-cambridge,beri-pic";
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ reg = <0x0 0x7f804000 0x0 0x400
+ 0x0 0x7f806000 0x0 0x10
+ 0x0 0x7f806080 0x0 0x10
+ 0x0 0x7f806100 0x0 0x10>;
+ interrupts = <0 1 2 3 4>;
+ hard-interrupt-sources = <64>;
+ soft-interrupt-sources = <64>;
+ };
+
+ pio0: pio at 7f020000 {
+ compatible = "altr,pio";
+ reg = <0x0 0x7f020000 0x0 0x1000>; /* send */
+ interrupts = <4>; /* not used */
+ interrupt-parent = <&beripic0>;
+ };
+
+ pio1: pio at 7f021000 {
+ compatible = "altr,pio";
+ reg = <0x0 0x7f021000 0x0 0x1000>; /* recv */
+ interrupts = <10>;
+ interrupt-parent = <&beripic0>;
+ };
+
+ pio2: pio at 7f022000 {
+ compatible = "altr,pio";
+ reg = <0x0 0x7f022000 0x0 0x1000>; /* send */
+ interrupts = <5>; /* not used */
+ interrupt-parent = <&beripic0>;
+ };
+
+ pio3: pio at 7f023000 {
+ compatible = "altr,pio";
+ reg = <0x0 0x7f023000 0x0 0x1000>; /* recv */
+ interrupts = <11>;
+ interrupt-parent = <&beripic0>;
+ };
+
+ virtio_mmio_platform0: virtio_mmio_platform at 0 {
+ compatible = "beri,virtio_mmio_platform";
+ pio-send = <&pio0>;
+ pio-recv = <&pio1>;
+ };
+
+ virtio_mmio_platform1: virtio_mmio_platform at 1 {
+ compatible = "beri,virtio_mmio_platform";
+ pio-send = <&pio2>;
+ pio-recv = <&pio3>;
+ };
+
+ virtio_block at 200001000 {
+ compatible = "virtio,mmio";
+ reg = <0x2 0x1000 0x0 0x1000>;
+ platform = <&virtio_mmio_platform0>;
+ status = "okay";
+ };
+
+ virtio_net at 200002000 {
+ compatible = "virtio,mmio";
+ reg = <0x2 0x2000 0x0 0x1000>;
+ platform = <&virtio_mmio_platform1>;
+ status = "okay";
+ };
+
+ serial at 7f000000 {
+ compatible = "altera,jtag_uart-11_0";
+ reg = <0x0 0x7f000000 0x0 0x40>;
+ interrupts = <0>;
+ interrupt-parent = <&beripic0>;
+ };
+
+/*
+ serial at 7f001000 {
+ compatible = "altera,jtag_uart-11_0";
+ reg = <0x7f001000 0x40>;
+ };
+
+ serial at 7f002000 {
+ compatible = "altera,jtag_uart-11_0";
+ reg = <0x7f002000 0x40>;
+ };
+*/
+
+/*
+ led at 7f006000 {
+ compatible = "sri-cambridge,de4led";
+ reg = <0x7f006000 0x1>;
+ };
+*/
+
+/*
+ avgen at 0x7f009000 {
+ compatible = "sri-cambridge,avgen";
+ reg = <0x7f009000 0x2>;
+ sri-cambridge,width = <1>;
+ sri-cambridge,fileio = "r";
+ sri-cambridge,devname = "de4bsw";
+ };
+*/
+
+/*
+ berirom at 0x7f00a000 {
+ compatible = "sri-cambridge,berirom";
+ reg = <0x7f00a000 0x1000>;
+ };
+*/
+
+/*
+ avgen at 0x7f00c000 {
+ compatible = "sri-cambridge,avgen";
+ reg = <0x7f00c000 0x8>;
+ sri-cambridge,width = <4>;
+ sri-cambridge,fileio = "rw";
+ sri-cambridge,devname = "de4tempfan";
+ };
+*/
+ };
+};
Modified: head/sys/mips/beri/files.beri
==============================================================================
--- head/sys/mips/beri/files.beri Wed Dec 17 11:05:44 2014 (r275860)
+++ head/sys/mips/beri/files.beri Wed Dec 17 11:36:31 2014 (r275861)
@@ -6,6 +6,7 @@ dev/altera/jtag_uart/altera_jtag_uart_co
dev/altera/jtag_uart/altera_jtag_uart_tty.c optional altera_jtag_uart
dev/altera/jtag_uart/altera_jtag_uart_fdt.c optional altera_jtag_uart fdt
dev/altera/jtag_uart/altera_jtag_uart_nexus.c optional altera_jtag_uart
+dev/beri/virtio/virtio_mmio_platform.c optional virtio_mmio
dev/netfpga10g/nf10bmac/if_nf10bmac_fdt.c optional netfpga10g_nf10bmac fdt
dev/netfpga10g/nf10bmac/if_nf10bmac.c optional netfpga10g_nf10bmac
dev/terasic/de4led/terasic_de4led.c optional terasic_de4led
Added: head/sys/mips/conf/BERI_SOCKIT
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/mips/conf/BERI_SOCKIT Wed Dec 17 11:36:31 2014 (r275861)
@@ -0,0 +1,26 @@
+#
+# BERI_SOCKIT -- Kernel for the SRI/Cambridge "BERI" (Bluespec Extensible
+# RISC Implementation) FPGA soft core, as configured in its Terasic SoCKit
+# reference configuration. This kernel configration must be further
+# specialized to to include a root filesystem specification.
+#
+# $FreeBSD$
+#
+
+include "BERI_TEMPLATE"
+
+ident BERI_SOCKIT
+
+options ROOTDEVNAME=\"ufs:vtbd0\"
+
+device altera_pio
+device altera_jtag_uart
+
+device virtio
+device virtio_blk
+device vtnet
+device virtio_mmio
+
+options FDT
+options FDT_DTB_STATIC
+makeoptions FDT_DTS_FILE=beripad-sockit.dts
More information about the svn-src-head
mailing list