Page MenuHomeFreeBSD

D5580.id14162.diff
No OneTemporary

D5580.id14162.diff

Index: sys/arm/allwinner/a10_padconf.c
===================================================================
--- sys/arm/allwinner/a10_padconf.c
+++ sys/arm/allwinner/a10_padconf.c
@@ -35,6 +35,8 @@
#include <arm/allwinner/allwinner_pinctrl.h>
+#ifdef SOC_ALLWINNER_A10
+
const static struct allwinner_pins a10_pins[] = {
{"PA0", 0, 0, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}},
{"PA1", 0, 1, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}},
@@ -225,3 +227,5 @@
.npins = sizeof(a10_pins) / sizeof(struct allwinner_pins),
.pins = a10_pins,
};
+
+#endif /* SOC_ALLWINNER_A10 */
Index: sys/arm/allwinner/a20/a20_padconf.c
===================================================================
--- sys/arm/allwinner/a20/a20_padconf.c
+++ sys/arm/allwinner/a20/a20_padconf.c
@@ -35,6 +35,8 @@
#include <arm/allwinner/allwinner_pinctrl.h>
+#ifdef SOC_ALLWINNER_A20
+
const static struct allwinner_pins a20_pins[] = {
{"PA0", 0, 0, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", "gmac", NULL, NULL}},
{"PA1", 0, 1, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", "gmac", NULL, NULL}},
@@ -225,3 +227,5 @@
.npins = sizeof(a20_pins) / sizeof(struct allwinner_pins),
.pins = a20_pins,
};
+
+#endif /* SOC_ALLWINNER_A20 */
Index: sys/arm/allwinner/a20/files.a20
===================================================================
--- sys/arm/allwinner/a20/files.a20
+++ sys/arm/allwinner/a20/files.a20
@@ -1,5 +1,3 @@
# $FreeBSD$
arm/allwinner/a20/a20_padconf.c standard
-arm/allwinner/aw_mp.c optional smp
-arm/allwinner/a20/a20_if_dwc.c optional dwc
Index: sys/arm/allwinner/a31/a31_padconf.c
===================================================================
--- sys/arm/allwinner/a31/a31_padconf.c
+++ sys/arm/allwinner/a31/a31_padconf.c
@@ -35,6 +35,8 @@
#include <arm/allwinner/allwinner_pinctrl.h>
+#ifdef SOC_ALLWINNER_A31
+
const static struct allwinner_pins a31_pins[] = {
{"PA0", 0, 0, {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, NULL, NULL}},
{"PA1", 0, 1, {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, NULL, NULL}},
@@ -214,3 +216,5 @@
.npins = nitems(a31_pins),
.pins = a31_pins,
};
+
+#endif /* SOC_ALLWINNER_A31 */
Index: sys/arm/allwinner/a31/a31s_padconf.c
===================================================================
--- sys/arm/allwinner/a31/a31s_padconf.c
+++ sys/arm/allwinner/a31/a31s_padconf.c
@@ -35,6 +35,8 @@
#include <arm/allwinner/allwinner_pinctrl.h>
+#ifdef SOC_ALLWINNER_A31S
+
const static struct allwinner_pins a31s_pins[] = {
{"PA0", 0, 0, {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, NULL, NULL}},
{"PA1", 0, 1, {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, NULL, NULL}},
@@ -194,3 +196,5 @@
.npins = nitems(a31s_pins),
.pins = a31s_pins,
};
+
+#endif /* SOC_ALLWINNER_A31S */
Index: sys/arm/allwinner/a31/files.a31
===================================================================
--- /dev/null
+++ sys/arm/allwinner/a31/files.a31
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+arm/allwinner/a31/a31_clk.c standard
+arm/allwinner/a31/a31_padconf.c standard
+arm/allwinner/a31/a31s_padconf.c standard
Index: sys/arm/allwinner/a31/std.a31
===================================================================
--- /dev/null
+++ sys/arm/allwinner/a31/std.a31
@@ -0,0 +1,15 @@
+# Allwinner A31 common options
+#$FreeBSD$
+
+cpu CPU_CORTEXA
+machine arm armv6
+makeoptions CONF_CFLAGS="-march=armv7a"
+
+makeoptions KERNVIRTADDR=0xc0200000
+options KERNVIRTADDR=0xc0200000
+
+options IPI_IRQ_START=0
+options IPI_IRQ_END=15
+
+files "../allwinner/files.allwinner"
+files "../allwinner/a31/files.a31"
Index: sys/arm/allwinner/files.allwinner
===================================================================
--- sys/arm/allwinner/files.allwinner
+++ sys/arm/allwinner/files.allwinner
@@ -15,8 +15,10 @@
arm/allwinner/aw_wdog.c standard
arm/allwinner/a20/a20_cpu_cfg.c standard
arm/allwinner/allwinner_machdep.c standard
+arm/allwinner/aw_mp.c optional smp
arm/allwinner/axp209.c optional axp209
arm/allwinner/if_emac.c optional emac
+arm/allwinner/if_gmac.c optional dwc
arm/allwinner/sunxi_dma_if.m standard
dev/iicbus/twsi/a10_twsi.c optional twsi
#arm/allwinner/console.c standard
Index: sys/arm/allwinner/if_gmac.c
===================================================================
--- sys/arm/allwinner/if_gmac.c
+++ sys/arm/allwinner/if_gmac.c
@@ -66,9 +66,7 @@
/* Activate GMAC clock and set the pin mux to rgmii. */
switch (allwinner_soc_type()) {
-#if defined(SOC_ALLWINNER_A10) || defined(SOC_ALLWINNER_A20)
- case ALLWINNERSOC_A10:
- case ALLWINNERSOC_A10S:
+#ifdef SOC_ALLWINNER_A20
case ALLWINNERSOC_A20:
clk = a10_clk_gmac_activate(ofw_bus_get_node(dev));
break;
Index: sys/arm/allwinner/std.allwinner
===================================================================
--- /dev/null
+++ sys/arm/allwinner/std.allwinner
@@ -0,0 +1,16 @@
+# Allwinner common options
+#$FreeBSD$
+
+cpu CPU_CORTEXA
+machine arm armv6
+makeoptions CONF_CFLAGS="-march=armv7a"
+
+makeoptions KERNVIRTADDR=0xc0200000
+options KERNVIRTADDR=0xc0200000
+
+options IPI_IRQ_START=0
+options IPI_IRQ_END=15
+
+files "../allwinner/files.allwinner"
+files "../allwinner/a20/files.a20"
+files "../allwinner/a31/files.a31"
Index: sys/arm/conf/A20
===================================================================
--- sys/arm/conf/A20
+++ sys/arm/conf/A20
@@ -18,117 +18,7 @@
#
# $FreeBSD$
+include "ALLWINNER"
ident A20
-include "std.armv6"
-include "../allwinner/a20/std.a20"
-
-options ARM_INTRNG
-
-options SOC_ALLWINNER_A20
-
-options HZ=100
-options SCHED_ULE # ULE scheduler
-options SMP # Enable multiple cores
-options PLATFORM
-options PLATFORM_SMP
-
-# Debugging for use in -current
-makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
-options ALT_BREAK_TO_DEBUGGER
-#options VERBOSE_SYSINIT # Enable verbose sysinit messages
-options KDB # Enable kernel debugger support
-# For minimum debugger support (stable branch) use:
-#options KDB_TRACE # Print a stack trace for a panic
-# For full debugger support use this instead:
-options DDB # Enable the kernel debugger
-options INVARIANTS # Enable calls of extra sanity checking
-options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
-options WITNESS # Enable checks to detect deadlocks and cycles
-options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
-#options DIAGNOSTIC
-
-# NFS root from boopt/dhcp
-#options BOOTP
-#options BOOTP_NFSROOT
-#options BOOTP_COMPAT
-#options BOOTP_NFSV3
-#options BOOTP_WIRED_TO=dwc0
-
-# Interrupt controller
-device gic
-
-# ARM Generic Timer
-device generic_timer
-
-# MMC/SD/SDIO Card slot support
-device mmc # mmc/sd bus
-device mmcsd # mmc/sd flash cards
-
-# ATA controllers
-device ahci # AHCI-compatible SATA controllers
-#device ata # Legacy ATA/SATA controllers
-
-# Console and misc
-device uart
-device uart_ns8250
-device pty
-device snp
-device md
-device random # Entropy device
-
-# I2C support
-device iicbus
-device iic
-device twsi
-device axp209 # AXP209 Power Management Unit
-
-# GPIO
-device gpio
-device gpioled
-
-device scbus # SCSI bus (required for ATA/SCSI)
-device da # Direct Access (disks)
-device pass # Passthrough device (direct ATA/SCSI access)
-
-# USB support
-options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
-device usb
-options USB_DEBUG
-#options USB_REQ_DEBUG
-#options USB_VERBOSE
-#device uhci
-#device ohci
-device ehci
-
-device umass
-
-# Ethernet
-device loop
-device ether
-device mii
-device bpf
-
-#device emac # 10/100 integrated EMAC controller
-device dwc # 10/100/1000 integrated GMAC controller
-
-# USB ethernet support, requires miibus
-device miibus
-
-# Sound support
-device sound
-
-# Pinmux
-device fdt_pinctrl
-
-# Framebuffer support
-device vt
-device kbdmux
-device ums
-device ukbd
-device videomode
-device hdmi
-
-# Flattened Device Tree
-options FDT # Configure using FDT/DTB data
-makeoptions MODULES_EXTRA=dtb/allwinner
+nooptions SOC_ALLWINNER_A31
Index: sys/arm/conf/A31
===================================================================
--- /dev/null
+++ sys/arm/conf/A31
@@ -0,0 +1,32 @@
+#
+# A31 -- Custom configuration for the Allwinner A31 ARM SoC
+#
+# For more information on this file, please read the config(5) manual page,
+# and/or the handbook section on Kernel Configuration Files:
+#
+# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files.
+# If you are in doubt as to the purpose or necessity of a line, check first
+# in NOTES.
+#
+# $FreeBSD$
+
+include "ALLWINNER"
+ident A31
+
+nooptions SOC_ALLWINNER_A20
+
+# Framebuffer support
+nodevice vt
+nodevice kbdmux
+nodevice ums
+nodevice ukbd
+nodevice videomode
+nodevice hdmi
Index: sys/arm/conf/ALLWINNER
===================================================================
--- sys/arm/conf/ALLWINNER
+++ sys/arm/conf/ALLWINNER
@@ -1,5 +1,5 @@
#
-# A20 -- Custom configuration for the Allwinner A20 ARM SoC
+# ALLWINNER -- Custom configuration for the Allwinner A20 and A31 ARM SoC
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
@@ -18,20 +18,21 @@
#
# $FreeBSD$
-ident A20
+ident ALLWINNER
include "std.armv6"
-include "../allwinner/a20/std.a20"
+include "../allwinner/std.allwinner"
options ARM_INTRNG
options SOC_ALLWINNER_A20
+options SOC_ALLWINNER_A31
options HZ=100
options SCHED_ULE # ULE scheduler
options SMP # Enable multiple cores
options PLATFORM
-options PLATFORM_SMP
+options PLATFORM_SMP
# Debugging for use in -current
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
@@ -118,9 +119,6 @@
# Sound support
device sound
-# Pinmux
-device fdt_pinctrl
-
# Framebuffer support
device vt
device kbdmux
@@ -129,6 +127,9 @@
device videomode
device hdmi
+# Pinmux
+device fdt_pinctrl
+
# Flattened Device Tree
options FDT # Configure using FDT/DTB data
makeoptions MODULES_EXTRA=dtb/allwinner
Index: sys/boot/fdt/dts/arm/bananapim2.dts
===================================================================
--- /dev/null
+++ sys/boot/fdt/dts/arm/bananapim2.dts
@@ -0,0 +1,44 @@
+/*-
+ * Copyright (c) 2016 Emmanuel Vadot <manu@bidouilliste.com>
+ * All rights reserved.
+ *
+ * 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$
+ */
+
+#include "sun6i-a31s-sinovoip-bpi-m2.dts"
+
+/ {
+ soc@01c00000 {
+ ccm@01c20000 {
+ compatible = "allwinner,sun6i-a31-ccm";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = < 0x01c20000 0x400 >;
+ };
+ };
+};
+
+&mmc2 {
+ status = "disabled";
+};

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 12, 3:04 PM (5 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17121547
Default Alt Text
D5580.id14162.diff (12 KB)

Event Timeline