Page MenuHomeFreeBSD

D5059.diff
No OneTemporary

D5059.diff

Index: head/sys/arm/allwinner/a10_common.c
===================================================================
--- head/sys/arm/allwinner/a10_common.c
+++ head/sys/arm/allwinner/a10_common.c
@@ -42,6 +42,8 @@
{ NULL, NULL }
};
+#ifndef ARM_INTRNG
+
static int
fdt_aintc_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
int *pol)
@@ -66,3 +68,5 @@
&fdt_aintc_decode_ic,
NULL
};
+
+#endif /* ARM_INTRNG */
Index: head/sys/arm/allwinner/a10_machdep.c
===================================================================
--- head/sys/arm/allwinner/a10_machdep.c
+++ head/sys/arm/allwinner/a10_machdep.c
@@ -1,113 +0,0 @@
-/*-
- * Copyright (c) 2012 Ganbold Tsagaankhuu <ganbold@freebsd.org>
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * 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.
- *
- * from: FreeBSD: //depot/projects/arm/src/sys/arm/ti/ti_machdep.c
- */
-
-#include "opt_ddb.h"
-#include "opt_platform.h"
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#define _ARM32_BUS_DMA_PRIVATE
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/bus.h>
-
-#include <vm/vm.h>
-#include <vm/pmap.h>
-
-#include <machine/bus.h>
-#include <machine/devmap.h>
-#include <machine/machdep.h>
-#include <machine/platform.h>
-
-#include <dev/fdt/fdt_common.h>
-
-#include <arm/allwinner/a10_wdog.h>
-
-vm_offset_t
-platform_lastaddr(void)
-{
-
- return (arm_devmap_lastaddr());
-}
-
-void
-platform_probe_and_attach(void)
-{
-}
-
-void
-platform_gpio_init(void)
-{
-}
-
-void
-platform_late_init(void)
-{
-}
-
-/*
- * Set up static device mappings.
- *
- * This covers all the on-chip device with 1MB section mappings, which is good
- * for performance (uses fewer TLB entries for device access).
- *
- * XXX It also covers a block of SRAM and some GPU (mali400) stuff that maybe
- * shouldn't be device-mapped. The original code mapped a 4MB block, but
- * perhaps a 1MB block would be more appropriate.
- */
-int
-platform_devmap_init(void)
-{
-
- arm_devmap_add_entry(0x01C00000, 0x00400000); /* 4MB */
-
- return (0);
-}
-
-struct arm32_dma_range *
-bus_dma_get_range(void)
-{
- return (NULL);
-}
-
-int
-bus_dma_get_range_nb(void)
-{
- return (0);
-}
-
-void
-cpu_reset()
-{
- a10wd_watchdog_reset();
- printf("Reset failed!\n");
- while (1);
-}
Index: head/sys/arm/allwinner/allwinner_machdep.c
===================================================================
--- head/sys/arm/allwinner/allwinner_machdep.c
+++ head/sys/arm/allwinner/allwinner_machdep.c
@@ -0,0 +1,154 @@
+/*-
+ * Copyright (c) 2012 Ganbold Tsagaankhuu <ganbold@freebsd.org>
+ * Copyright (c) 2015-2016 Emmanuel Vadot <manu@bidouilliste.com>
+ * All rights reserved.
+ *
+ * This code is derived from software written for Brini by Mark Brinicombe
+ *
+ * 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.
+ *
+ * from: FreeBSD: //depot/projects/arm/src/sys/arm/ti/ti_machdep.c
+ */
+
+#include "opt_ddb.h"
+#include "opt_platform.h"
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#define _ARM32_BUS_DMA_PRIVATE
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+
+#include <vm/vm.h>
+#include <vm/pmap.h>
+
+#include <machine/bus.h>
+#include <machine/devmap.h>
+#include <machine/machdep.h>
+#include <machine/platformvar.h>
+
+#include <dev/fdt/fdt_common.h>
+
+#include <arm/allwinner/a10_wdog.h>
+#include <arm/allwinner/allwinner_machdep.h>
+
+#include "platform_if.h"
+
+static u_int soc_type;
+static u_int soc_family;
+
+static int
+a10_attach(platform_t plat)
+{
+ soc_type = ALLWINNERSOC_A10;
+ soc_family = ALLWINNERSOC_SUN4I;
+ return (0);
+}
+
+static int
+a20_attach(platform_t plat)
+{
+ soc_type = ALLWINNERSOC_A20;
+ soc_family = ALLWINNERSOC_SUN7I;
+
+ return (0);
+}
+
+
+static vm_offset_t
+allwinner_lastaddr(platform_t plat)
+{
+
+ return (arm_devmap_lastaddr());
+}
+
+/*
+ * Set up static device mappings.
+ *
+ * This covers all the on-chip device with 1MB section mappings, which is good
+ * for performance (uses fewer TLB entries for device access).
+ *
+ * XXX It also covers a block of SRAM and some GPU (mali400) stuff that maybe
+ * shouldn't be device-mapped. The original code mapped a 4MB block, but
+ * perhaps a 1MB block would be more appropriate.
+ */
+static int
+allwinner_devmap_init(platform_t plat)
+{
+
+ arm_devmap_add_entry(0x01C00000, 0x00400000); /* 4MB */
+
+ return (0);
+}
+
+struct arm32_dma_range *
+bus_dma_get_range(void)
+{
+ return (NULL);
+}
+
+int
+bus_dma_get_range_nb(void)
+{
+ return (0);
+}
+
+void
+cpu_reset()
+{
+ a10wd_watchdog_reset();
+ printf("Reset failed!\n");
+ while (1);
+}
+
+static platform_method_t a10_methods[] = {
+ PLATFORMMETHOD(platform_attach, a10_attach),
+ PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
+ PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init),
+
+ PLATFORMMETHOD_END,
+};
+
+static platform_method_t a20_methods[] = {
+ PLATFORMMETHOD(platform_attach, a20_attach),
+ PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr),
+ PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init),
+
+ PLATFORMMETHOD_END,
+};
+
+u_int
+allwinner_soc_type(void)
+{
+ return (soc_type);
+}
+
+u_int
+allwinner_soc_family(void)
+{
+ return (soc_family);
+}
+
+FDT_PLATFORM_DEF(a10, "a10", 0, "allwinner,sun4i-a10");
+FDT_PLATFORM_DEF(a20, "a20", 0, "allwinner,sun7i-a20");
Index: head/sys/arm/allwinner/files.allwinner
===================================================================
--- head/sys/arm/allwinner/files.allwinner
+++ head/sys/arm/allwinner/files.allwinner
@@ -6,11 +6,11 @@
arm/allwinner/a10_common.c standard
arm/allwinner/a10_ehci.c optional ehci
arm/allwinner/a10_gpio.c optional gpio
-arm/allwinner/a10_machdep.c standard
arm/allwinner/a10_mmc.c optional mmc
arm/allwinner/a10_sramc.c standard
arm/allwinner/a10_wdog.c standard
arm/allwinner/a20/a20_cpu_cfg.c standard
+arm/allwinner/allwinner_machdep.c standard
arm/allwinner/if_emac.c optional emac
arm/allwinner/timer.c standard
#arm/allwinner/console.c standard
Index: head/sys/arm/conf/A20
===================================================================
--- head/sys/arm/conf/A20
+++ head/sys/arm/conf/A20
@@ -23,9 +23,12 @@
include "std.armv6"
include "../allwinner/a20/std.a20"
+options ARM_INTRNG
+
options HZ=100
options SCHED_ULE # ULE scheduler
options SMP # Enable multiple cores
+options PLATFORM
# Debugging for use in -current
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Index: head/sys/arm/conf/CUBIEBOARD
===================================================================
--- head/sys/arm/conf/CUBIEBOARD
+++ head/sys/arm/conf/CUBIEBOARD
@@ -26,6 +26,7 @@
options HZ=100
options SCHED_4BSD # 4BSD scheduler
+options PLATFORM
# Debugging for use in -current
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 21, 11:37 AM (17 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15540922
Default Alt Text
D5059.diff (9 KB)

Event Timeline