Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F112016520
D5580.id14162.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
12 KB
Referenced Files
None
Subscribers
None
D5580.id14162.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D5580: ALLWINNER generic config file and A31 kernel config
Attached
Detach File
Event Timeline
Log In to Comment