MFC r266943, r266950, r267390:

Add support for Exynos 5420 Octa - 8-core (big.LITTLE) ARM machine
  Enable SMP for both Exynos5 models we support.
This commit is contained in:
ian 2015-02-11 22:35:32 +00:00
parent 0a3cb57fd7
commit fc47f4b0ff
13 changed files with 627 additions and 227 deletions

View File

@ -19,7 +19,7 @@
#NO_UNIVERSE
include "EXYNOS5250.common"
include "EXYNOS5250"
ident ARNDALE
#FDT

28
sys/arm/conf/ARNDALE-OCTA Normal file
View File

@ -0,0 +1,28 @@
# Kernel configuration for Arndale Octa Board (Exynos 5420)
#
# 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$
#NO_UNIVERSE
include "EXYNOS5420"
ident ARNDALE-OCTA
#FDT
options FDT
options FDT_DTB_STATIC
makeoptions FDT_DTS_FILE=exynos5420-arndale-octa.dts

View File

@ -17,7 +17,7 @@
#
# $FreeBSD$
include "EXYNOS5250.common"
include "EXYNOS5250"
ident CHROMEBOOK
hints "CHROMEBOOK.hints"

131
sys/arm/conf/EXYNOS5.common Normal file
View File

@ -0,0 +1,131 @@
# Kernel configuration for Samsung Exynos 5 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$
makeoptions MODULES_OVERRIDE=""
makeoptions WITHOUT_MODULES="ahc"
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WERROR="-Werror"
options HZ=100
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options GEOM_PART_GPT # GUID partition tables
options TMPFS # Efficient memory filesystem
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B real-time extensions
options KBD_INSTALL_CDEV
options PREEMPTION
options FREEBSD_BOOT_LOADER
options VFP # vfp/neon
options SMP
# Debugging
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options BREAK_TO_DEBUGGER
#options VERBOSE_SYSINIT # Enable verbose sysinit messages
options KDB
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 support
options NFSCL # Network Filesystem Client
options NFSLOCKD # Network Lock Manager
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
# Uncomment this for NFS root
#options NFS_ROOT # NFS usable as /, requires NFSCL
#options BOOTP_NFSROOT
#options BOOTP_COMPAT
#options BOOTP
#options BOOTP_NFSV3
#options BOOTP_WIRED_TO=ue0
device mmc # mmc/sd bus
device mmcsd # mmc/sd flash cards
device sdhci # generic sdhci
options ROOTDEVNAME=\"ufs:/dev/da0\"
# Pseudo devices
device loop
device random
device pty
device md
device gpio
# 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 musb
device ehci
#device ohci
device umass
device scbus # SCSI bus (required for SCSI)
device da # Direct Access (disks)
device pass
# SATA
#device ata
#device atadisk
#device mvs
# Serial ports
device uart
# I2C (TWSI)
device iic
device iicbus
# Ethernet
device ether
device mii
device smsc
device smscphy
# USB ethernet support, requires miibus
device miibus
device axe # ASIX Electronics USB Ethernet
device bpf # Berkeley packet filter

25
sys/arm/conf/EXYNOS5250 Normal file
View File

@ -0,0 +1,25 @@
# Kernel configuration for Samsung Exynos 5250 boards.
#
# 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$
ident EXYNOS5250
include "EXYNOS5.common"
include "../samsung/exynos/std.exynos5250"
#FDT
options FDT

25
sys/arm/conf/EXYNOS5420 Normal file
View File

@ -0,0 +1,25 @@
# Kernel configuration for Samsung Exynos 5420 boards.
#
# 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$
ident EXYNOS5420
include "EXYNOS5.common"
include "../samsung/exynos/std.exynos5420"
#FDT
options FDT

View File

@ -0,0 +1,21 @@
# $FreeBSD$
makeoption ARM_LITTLE_ENDIAN
cpu CPU_CORTEXA
machine arm armv6
options PHYSADDR=0x20000000
makeoptions KERNPHYSADDR=0x20f00000
options KERNPHYSADDR=0x20f00000
makeoptions KERNVIRTADDR=0xc0f00000
options KERNVIRTADDR=0xc0f00000
options ARM_L2_PIPT
options IPI_IRQ_START=0
options IPI_IRQ_END=15
files "../samsung/exynos/files.exynos5"

View File

@ -0,0 +1,284 @@
/*-
* Copyright (c) 2013-2014 Ruslan Bukin <br@bsdpad.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$
*/
/ {
compatible = "samsung,exynos5";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&GIC>;
aliases {
soc = &SOC;
serial0 = &serial0;
serial1 = &serial1;
serial2 = &serial2;
serial3 = &serial3;
clk0 = &clk0;
dp0 = &dp0;
fimd0 = &fimd0;
};
SOC: Exynos5@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
bus-frequency = <0>;
GIC: interrupt-controller@10481000 {
compatible = "arm,gic";
reg = < 0x10481000 0x1000 >, /* Distributor Registers */
< 0x10482000 0x2000 >; /* CPU Interface Registers */
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <1>;
};
combiner: interrupt-controller@10440000 {
compatible = "exynos,combiner";
reg = <0x10440000 0x1000>;
interrupts = < 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 >;
interrupt-parent = <&GIC>;
};
clk0: clk@10010000 {
compatible = "exynos,clk";
reg = < 0x10020000 0x20000 >;
};
mct {
compatible = "exynos,mct";
reg = < 0x101C0000 0x1000 >;
clock-frequency = <24000000>;
};
generic_timer {
compatible = "arm,armv7-timer";
clock-frequency = <24000000>;
interrupts = < 29 30 27 26 >;
interrupt-parent = <&GIC>;
};
pwm {
compatible = "samsung,s3c24x0-timer";
reg = <0x12DD0000 0x1000>;
interrupts = < 71 >;
interrupt-parent = <&GIC>;
clock-frequency = <24000000>;
};
pad0: pad@11400000 {
compatible = "exynos,pad";
status = "disabled";
reg = <0x11400000 0x1000>, /* gpio left */
<0x13400000 0x1000>, /* gpio right */
<0x10D10000 0x1000>, /* gpio c2c */
<0x03860000 0x1000>;
interrupts = < 78 77 82 79 >;
interrupt-parent = <&GIC>;
};
usb@12110000 {
compatible = "exynos,usb-ehci", "usb-ehci";
reg = <0x12110000 0x1000>, /* EHCI */
<0x12130000 0x1000>, /* EHCI host ctrl */
<0x10040000 0x1000>, /* Power */
<0x10050230 0x10>; /* Sysreg */
interrupts = < 103 >;
interrupt-parent = <&GIC>;
};
usb@12120000 {
compatible = "exynos,usb-ohci", "usb-ohci";
status = "disabled";
reg = <0x12120000 0x10000>;
interrupts = < 103 >;
interrupt-parent = <&GIC>;
};
sdhci@12200000 {
compatible = "sdhci_generic";
status = "disabled";
reg = <0x12200000 0x1000>;
interrupts = <107>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>; /* TODO: verify freq */
};
sdhci@12210000 {
compatible = "sdhci_generic";
status = "disabled";
reg = <0x12210000 0x1000>;
interrupts = <108>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
sdhci@12220000 {
compatible = "sdhci_generic";
status = "disabled";
reg = <0x12220000 0x1000>;
interrupts = <109>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
sdhci@12230000 {
compatible = "sdhci_generic";
status = "disabled";
reg = <0x12230000 0x1000>;
interrupts = <110>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
serial0: serial@12C00000 {
compatible = "exynos";
status = "disabled";
reg = <0x12C00000 0x100>;
interrupts = < 83 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial1: serial@12C10000 {
compatible = "exynos";
status = "disabled";
reg = <0x12C10000 0x100>;
interrupts = < 84 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial2: serial@12C20000 {
compatible = "exynos";
status = "disabled";
reg = <0x12C20000 0x100>;
interrupts = < 85 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial3: serial@12C30000 {
compatible = "exynos";
status = "disabled";
reg = <0x12C30000 0x100>;
interrupts = < 86 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
i2c0: i2c@12C60000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C60000 0x10000>;
interrupts = < 88 >;
interrupt-parent = <&GIC>;
};
i2c1: i2c@12C70000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C70000 0x10000>;
interrupts = < 89 >;
interrupt-parent = <&GIC>;
};
i2c2: i2c@12C80000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C80000 0x10000>;
interrupts = < 90 >;
interrupt-parent = <&GIC>;
};
i2c3: i2c@12C90000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C90000 0x10000>;
interrupts = < 91 >;
interrupt-parent = <&GIC>;
};
i2c4: i2c@12CA0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CA0000 0x10000>;
interrupts = < 92 >;
interrupt-parent = <&GIC>;
};
i2c5: i2c@12CB0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CB0000 0x10000>;
interrupts = < 93 >;
interrupt-parent = <&GIC>;
};
i2c6: i2c@12CC0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CC0000 0x10000>;
interrupts = < 94 >;
interrupt-parent = <&GIC>;
};
i2c7: i2c@12CD0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CD0000 0x10000>;
interrupts = < 95 >;
interrupt-parent = <&GIC>;
};
fimd0: fimd@14400000 {
compatible = "exynos,fimd";
status = "disabled";
reg = < 0x14400000 0x10000 >, /* fimd */
< 0x14420000 0x10000 >, /* disp */
< 0x10050000 0x220 >; /* sysreg */
interrupt-parent = <&GIC>;
};
dp0: dp@145B0000 {
compatible = "exynos,dp";
status = "disabled";
reg = < 0x145B0000 0x10000 >,
< 0x10040720 0x10 >; /* PHY */
interrupt-parent = <&GIC>;
};
};
};

View File

@ -44,6 +44,10 @@
status = "okay";
};
serial2: serial@12C20000 {
status = "okay";
};
};
chosen {

View File

@ -1,5 +1,5 @@
/*-
* Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
* Copyright (c) 2013-2014 Ruslan Bukin <br@bsdpad.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -26,248 +26,27 @@
* $FreeBSD$
*/
/ {
compatible = "samsung,exynos5250";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&GIC>;
/include/ "exynos5.dtsi"
aliases {
soc = &SOC;
serial0 = &serial0;
serial1 = &serial1;
clk0 = &clk0;
dp0 = &dp0;
fimd0 = &fimd0;
};
/ {
compatible = "samsung,exynos5250", "samsung,exynos5";
SOC: Exynos5@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
bus-frequency = <0>;
GIC: interrupt-controller@10481000 {
compatible = "arm,gic";
reg = < 0x10481000 0x1000 >, /* Distributor Registers */
< 0x10482000 0x2000 >; /* CPU Interface Registers */
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <1>;
};
combiner: interrupt-controller@10440000 {
compatible = "exynos,combiner";
reg = <0x10440000 0x1000>;
interrupts = < 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 >;
interrupt-parent = <&GIC>;
};
clk0: clk@10010000 {
compatible = "exynos,clk";
reg = < 0x10020000 0x20000 >;
};
mct {
compatible = "exynos,mct";
reg = < 0x101C0000 0x1000 >;
clock-frequency = <24000000>;
};
generic_timer {
compatible = "arm,armv7-timer";
clock-frequency = <24000000>;
interrupts = < 29 30 27 26 >;
interrupt-parent = <&GIC>;
};
pwm {
compatible = "samsung,s3c24x0-timer";
reg = <0x12DD0000 0x1000>;
interrupts = < 71 >;
interrupt-parent = <&GIC>;
clock-frequency = <24000000>;
};
pad0: pad@11400000 {
compatible = "exynos,pad";
status = "disabled";
reg = <0x11400000 0x1000>, /* gpio left */
<0x13400000 0x1000>, /* gpio right */
<0x10D10000 0x1000>, /* gpio c2c */
<0x03860000 0x1000>;
interrupts = < 78 77 82 79 >;
interrupt-parent = <&GIC>;
};
usb@12110000 {
compatible = "exynos,usb-ehci", "usb-ehci";
reg = <0x12110000 0x1000>, /* EHCI */
<0x12130000 0x1000>, /* EHCI host ctrl */
<0x10040000 0x1000>, /* Power */
<0x10050230 0x10>; /* Sysreg */
interrupts = < 103 >;
interrupt-parent = <&GIC>;
};
usb@12120000 {
compatible = "exynos,usb-ohci", "usb-ohci";
reg = <0x12120000 0x10000>;
interrupts = < 103 >;
interrupt-parent = <&GIC>;
};
sdhci@12200000 {
compatible = "sdhci_generic";
reg = <0x12200000 0x1000>;
interrupts = <107>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>; /* TODO: verify freq */
};
sdhci@12210000 {
compatible = "sdhci_generic";
reg = <0x12210000 0x1000>;
interrupts = <108>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
sdhci@12220000 {
compatible = "sdhci_generic";
reg = <0x12220000 0x1000>;
interrupts = <109>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
sdhci@12230000 {
compatible = "sdhci_generic";
reg = <0x12230000 0x1000>;
interrupts = <110>;
interrupt-parent = <&GIC>;
max-frequency = <24000000>;
};
serial0: serial@12C00000 {
compatible = "exynos";
reg = <0x12C00000 0x100>;
interrupts = < 83 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial1: serial@12C10000 {
compatible = "exynos";
reg = <0x12C10000 0x100>;
interrupts = < 84 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial2: serial@12C20000 {
compatible = "exynos";
reg = <0x12C20000 0x100>;
interrupts = < 85 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
serial3: serial@12C30000 {
compatible = "exynos";
reg = <0x12C30000 0x100>;
interrupts = < 86 >;
interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
current-speed = <115200>;
};
i2c0: i2c@12C60000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C60000 0x10000>;
interrupts = < 88 >;
interrupt-parent = <&GIC>;
};
i2c1: i2c@12C70000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C70000 0x10000>;
interrupts = < 89 >;
interrupt-parent = <&GIC>;
};
i2c2: i2c@12C80000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C80000 0x10000>;
interrupts = < 90 >;
interrupt-parent = <&GIC>;
};
i2c3: i2c@12C90000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12C90000 0x10000>;
interrupts = < 91 >;
interrupt-parent = <&GIC>;
};
i2c4: i2c@12CA0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CA0000 0x10000>;
interrupts = < 92 >;
interrupt-parent = <&GIC>;
};
i2c5: i2c@12CB0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CB0000 0x10000>;
interrupts = < 93 >;
interrupt-parent = <&GIC>;
};
i2c6: i2c@12CC0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CC0000 0x10000>;
interrupts = < 94 >;
interrupt-parent = <&GIC>;
};
i2c7: i2c@12CD0000 {
compatible = "exynos,i2c";
status = "disabled";
reg = <0x12CD0000 0x10000>;
interrupts = < 95 >;
interrupt-parent = <&GIC>;
};
fimd0: fimd@14400000 {
compatible = "exynos,fimd";
status = "disabled";
reg = < 0x14400000 0x10000 >, /* fimd */
< 0x14420000 0x10000 >, /* disp */
< 0x10050000 0x220 >; /* sysreg */
interrupt-parent = <&GIC>;
};
dp0: dp@145B0000 {
compatible = "exynos,dp";
status = "disabled";
reg = < 0x145B0000 0x10000 >,
< 0x10040720 0x10 >; /* PHY */
interrupt-parent = <&GIC>;
};
};
};

View File

@ -0,0 +1,51 @@
/*-
* Copyright (c) 2014 Ruslan Bukin <br@bsdpad.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$
*/
/dts-v1/;
/include/ "exynos5420.dtsi"
/ {
model = "Arndale Octa Board";
memory {
device_type = "memory";
reg = < 0x20000000 0x40000000 >; /* 1G */
};
SOC: Exynos5@0 {
serial3: serial@12C30000 {
status = "okay";
};
};
chosen {
stdin = &serial3;
stdout = &serial3;
};
};

View File

@ -0,0 +1,52 @@
/*-
* Copyright (c) 2014 Ruslan Bukin <br@bsdpad.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/ "exynos5.dtsi"
/ {
compatible = "samsung,exynos5420", "samsung,exynos5";
SOC: Exynos5@0 {
serial0: serial@12C00000 {
clock-frequency = < 50000000 >;
};
serial1: serial@12C10000 {
clock-frequency = < 50000000 >;
};
serial2: serial@12C20000 {
clock-frequency = < 50000000 >;
};
serial3: serial@12C30000 {
clock-frequency = < 50000000 >;
};
};
};