svn commit: r266943 - in head/sys: arm/conf arm/samsung/exynos boot/fdt/dts/arm
Ruslan Bukin
br at FreeBSD.org
Sun Jun 1 08:15:37 UTC 2014
Author: br
Date: Sun Jun 1 08:15:34 2014
New Revision: 266943
URL: http://svnweb.freebsd.org/changeset/base/266943
Log:
Add support for Exynos 5420 Octa - 8-core
heterogeneous (big.LITTLE) ARM machine
(4 x Cortex-A15 @ 1.8Ghz, 4 x Cortex-A7 @ 1Ghz)
Add configuration for Arndale Octa development board
Added:
head/sys/arm/conf/ARNDALE-OCTA (contents, props changed)
head/sys/arm/conf/EXYNOS5.common (contents, props changed)
head/sys/arm/conf/EXYNOS5250
- copied, changed from r266941, head/sys/arm/conf/EXYNOS5250.common
head/sys/arm/conf/EXYNOS5420 (contents, props changed)
head/sys/arm/samsung/exynos/std.exynos5250
- copied unchanged from r266941, head/sys/arm/samsung/exynos/std.exynos5
head/sys/arm/samsung/exynos/std.exynos5420 (contents, props changed)
head/sys/boot/fdt/dts/arm/exynos5.dtsi (contents, props changed)
head/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts (contents, props changed)
head/sys/boot/fdt/dts/arm/exynos5420.dtsi (contents, props changed)
Deleted:
head/sys/arm/conf/EXYNOS5250.common
head/sys/arm/samsung/exynos/std.exynos5
Modified:
head/sys/arm/conf/ARNDALE
head/sys/arm/conf/CHROMEBOOK
head/sys/boot/fdt/dts/arm/exynos5250-arndale.dts
head/sys/boot/fdt/dts/arm/exynos5250.dtsi
Modified: head/sys/arm/conf/ARNDALE
==============================================================================
--- head/sys/arm/conf/ARNDALE Sun Jun 1 07:34:54 2014 (r266942)
+++ head/sys/arm/conf/ARNDALE Sun Jun 1 08:15:34 2014 (r266943)
@@ -19,7 +19,7 @@
#NO_UNIVERSE
-include "EXYNOS5250.common"
+include "EXYNOS5250"
ident ARNDALE
#FDT
Added: head/sys/arm/conf/ARNDALE-OCTA
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/arm/conf/ARNDALE-OCTA Sun Jun 1 08:15:34 2014 (r266943)
@@ -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
Modified: head/sys/arm/conf/CHROMEBOOK
==============================================================================
--- head/sys/arm/conf/CHROMEBOOK Sun Jun 1 07:34:54 2014 (r266942)
+++ head/sys/arm/conf/CHROMEBOOK Sun Jun 1 08:15:34 2014 (r266943)
@@ -17,7 +17,7 @@
#
# $FreeBSD$
-include "EXYNOS5250.common"
+include "EXYNOS5250"
ident CHROMEBOOK
hints "CHROMEBOOK.hints"
Added: head/sys/arm/conf/EXYNOS5.common
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/arm/conf/EXYNOS5.common Sun Jun 1 08:15:34 2014 (r266943)
@@ -0,0 +1,129 @@
+# 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
+
+# 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
Copied and modified: head/sys/arm/conf/EXYNOS5250 (from r266941, head/sys/arm/conf/EXYNOS5250.common)
==============================================================================
--- head/sys/arm/conf/EXYNOS5250.common Sun Jun 1 07:28:24 2014 (r266941, copy source)
+++ head/sys/arm/conf/EXYNOS5250 Sun Jun 1 08:15:34 2014 (r266943)
@@ -17,117 +17,10 @@
#
# $FreeBSD$
-include "../samsung/exynos/std.exynos5"
-
-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
-
-# 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\"
+include "EXYNOS5.common"
+include "../samsung/exynos/std.exynos5250"
options SMP
-# 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
+#FDT
+options FDT
Added: head/sys/arm/conf/EXYNOS5420
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/arm/conf/EXYNOS5420 Sun Jun 1 08:15:34 2014 (r266943)
@@ -0,0 +1,24 @@
+# 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$
+
+include "EXYNOS5.common"
+include "../samsung/exynos/std.exynos5420"
+
+#FDT
+options FDT
Copied: head/sys/arm/samsung/exynos/std.exynos5250 (from r266941, head/sys/arm/samsung/exynos/std.exynos5)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/arm/samsung/exynos/std.exynos5250 Sun Jun 1 08:15:34 2014 (r266943, copy of r266941, head/sys/arm/samsung/exynos/std.exynos5)
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+makeoption ARM_LITTLE_ENDIAN
+
+cpu CPU_CORTEXA
+machine arm armv6
+
+options PHYSADDR=0x40000000
+
+makeoptions KERNPHYSADDR=0x40f00000
+options KERNPHYSADDR=0x40f00000
+
+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"
Added: head/sys/arm/samsung/exynos/std.exynos5420
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/arm/samsung/exynos/std.exynos5420 Sun Jun 1 08:15:34 2014 (r266943)
@@ -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"
Added: head/sys/boot/fdt/dts/arm/exynos5.dtsi
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/boot/fdt/dts/arm/exynos5.dtsi Sun Jun 1 08:15:34 2014 (r266943)
@@ -0,0 +1,284 @@
+/*-
+ * Copyright (c) 2013-2014 Ruslan Bukin <br at 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 at 0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ ranges;
+ bus-frequency = <0>;
+
+ GIC: interrupt-controller at 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 at 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 at 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 at 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 at 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 at 12120000 {
+ compatible = "exynos,usb-ohci", "usb-ohci";
+ status = "disabled";
+ reg = <0x12120000 0x10000>;
+ interrupts = < 103 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ sdhci at 12200000 {
+ compatible = "sdhci_generic";
+ status = "disabled";
+ reg = <0x12200000 0x1000>;
+ interrupts = <107>;
+ interrupt-parent = <&GIC>;
+ max-frequency = <24000000>; /* TODO: verify freq */
+ };
+
+ sdhci at 12210000 {
+ compatible = "sdhci_generic";
+ status = "disabled";
+ reg = <0x12210000 0x1000>;
+ interrupts = <108>;
+ interrupt-parent = <&GIC>;
+ max-frequency = <24000000>;
+ };
+
+ sdhci at 12220000 {
+ compatible = "sdhci_generic";
+ status = "disabled";
+ reg = <0x12220000 0x1000>;
+ interrupts = <109>;
+ interrupt-parent = <&GIC>;
+ max-frequency = <24000000>;
+ };
+
+ sdhci at 12230000 {
+ compatible = "sdhci_generic";
+ status = "disabled";
+ reg = <0x12230000 0x1000>;
+ interrupts = <110>;
+ interrupt-parent = <&GIC>;
+ max-frequency = <24000000>;
+ };
+
+ serial0: serial at 12C00000 {
+ compatible = "exynos";
+ status = "disabled";
+ reg = <0x12C00000 0x100>;
+ interrupts = < 83 >;
+ interrupt-parent = <&GIC>;
+ clock-frequency = < 100000000 >;
+ current-speed = <115200>;
+ };
+
+ serial1: serial at 12C10000 {
+ compatible = "exynos";
+ status = "disabled";
+ reg = <0x12C10000 0x100>;
+ interrupts = < 84 >;
+ interrupt-parent = <&GIC>;
+ clock-frequency = < 100000000 >;
+ current-speed = <115200>;
+ };
+
+ serial2: serial at 12C20000 {
+ compatible = "exynos";
+ status = "disabled";
+ reg = <0x12C20000 0x100>;
+ interrupts = < 85 >;
+ interrupt-parent = <&GIC>;
+ clock-frequency = < 100000000 >;
+ current-speed = <115200>;
+ };
+
+ serial3: serial at 12C30000 {
+ compatible = "exynos";
+ status = "disabled";
+ reg = <0x12C30000 0x100>;
+ interrupts = < 86 >;
+ interrupt-parent = <&GIC>;
+ clock-frequency = < 100000000 >;
+ current-speed = <115200>;
+ };
+
+ i2c0: i2c at 12C60000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12C60000 0x10000>;
+ interrupts = < 88 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c1: i2c at 12C70000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12C70000 0x10000>;
+ interrupts = < 89 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c2: i2c at 12C80000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12C80000 0x10000>;
+ interrupts = < 90 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c3: i2c at 12C90000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12C90000 0x10000>;
+ interrupts = < 91 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c4: i2c at 12CA0000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12CA0000 0x10000>;
+ interrupts = < 92 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c5: i2c at 12CB0000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12CB0000 0x10000>;
+ interrupts = < 93 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c6: i2c at 12CC0000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12CC0000 0x10000>;
+ interrupts = < 94 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ i2c7: i2c at 12CD0000 {
+ compatible = "exynos,i2c";
+ status = "disabled";
+ reg = <0x12CD0000 0x10000>;
+ interrupts = < 95 >;
+ interrupt-parent = <&GIC>;
+ };
+
+ fimd0: fimd at 14400000 {
+ compatible = "exynos,fimd";
+ status = "disabled";
+ reg = < 0x14400000 0x10000 >, /* fimd */
+ < 0x14420000 0x10000 >, /* disp */
+ < 0x10050000 0x220 >; /* sysreg */
+ interrupt-parent = <&GIC>;
+ };
+
+ dp0: dp at 145B0000 {
+ compatible = "exynos,dp";
+ status = "disabled";
+ reg = < 0x145B0000 0x10000 >,
+ < 0x10040720 0x10 >; /* PHY */
+ interrupt-parent = <&GIC>;
+ };
+ };
+};
Modified: head/sys/boot/fdt/dts/arm/exynos5250-arndale.dts
==============================================================================
--- head/sys/boot/fdt/dts/arm/exynos5250-arndale.dts Sun Jun 1 07:34:54 2014 (r266942)
+++ head/sys/boot/fdt/dts/arm/exynos5250-arndale.dts Sun Jun 1 08:15:34 2014 (r266943)
@@ -44,6 +44,10 @@
status = "okay";
};
+ serial2: serial at 12C20000 {
+ status = "okay";
+ };
+
};
chosen {
Modified: head/sys/boot/fdt/dts/arm/exynos5250.dtsi
==============================================================================
--- head/sys/boot/fdt/dts/arm/exynos5250.dtsi Sun Jun 1 07:34:54 2014 (r266942)
+++ head/sys/boot/fdt/dts/arm/exynos5250.dtsi Sun Jun 1 08:15:34 2014 (r266943)
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2013 Ruslan Bukin <br at bsdpad.com>
+ * Copyright (c) 2013-2014 Ruslan Bukin <br at 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 at 0 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "simple-bus";
- ranges;
- bus-frequency = <0>;
-
- GIC: interrupt-controller at 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 at 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 at 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 at 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 at 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 at 12120000 {
- compatible = "exynos,usb-ohci", "usb-ohci";
- reg = <0x12120000 0x10000>;
- interrupts = < 103 >;
- interrupt-parent = <&GIC>;
- };
-
- sdhci at 12200000 {
- compatible = "sdhci_generic";
- reg = <0x12200000 0x1000>;
- interrupts = <107>;
- interrupt-parent = <&GIC>;
- max-frequency = <24000000>; /* TODO: verify freq */
- };
-
- sdhci at 12210000 {
- compatible = "sdhci_generic";
- reg = <0x12210000 0x1000>;
- interrupts = <108>;
- interrupt-parent = <&GIC>;
- max-frequency = <24000000>;
- };
-
- sdhci at 12220000 {
- compatible = "sdhci_generic";
- reg = <0x12220000 0x1000>;
- interrupts = <109>;
- interrupt-parent = <&GIC>;
- max-frequency = <24000000>;
- };
-
- sdhci at 12230000 {
- compatible = "sdhci_generic";
- reg = <0x12230000 0x1000>;
- interrupts = <110>;
- interrupt-parent = <&GIC>;
- max-frequency = <24000000>;
- };
serial0: serial at 12C00000 {
- compatible = "exynos";
- reg = <0x12C00000 0x100>;
- interrupts = < 83 >;
- interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
- current-speed = <115200>;
};
serial1: serial at 12C10000 {
- compatible = "exynos";
- reg = <0x12C10000 0x100>;
- interrupts = < 84 >;
- interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
- current-speed = <115200>;
};
serial2: serial at 12C20000 {
- compatible = "exynos";
- reg = <0x12C20000 0x100>;
- interrupts = < 85 >;
- interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
- current-speed = <115200>;
};
serial3: serial at 12C30000 {
- compatible = "exynos";
- reg = <0x12C30000 0x100>;
- interrupts = < 86 >;
- interrupt-parent = <&GIC>;
clock-frequency = < 100000000 >;
- current-speed = <115200>;
- };
-
- i2c0: i2c at 12C60000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12C60000 0x10000>;
- interrupts = < 88 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c1: i2c at 12C70000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12C70000 0x10000>;
- interrupts = < 89 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c2: i2c at 12C80000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12C80000 0x10000>;
- interrupts = < 90 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c3: i2c at 12C90000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12C90000 0x10000>;
- interrupts = < 91 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c4: i2c at 12CA0000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12CA0000 0x10000>;
- interrupts = < 92 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c5: i2c at 12CB0000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12CB0000 0x10000>;
- interrupts = < 93 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c6: i2c at 12CC0000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12CC0000 0x10000>;
- interrupts = < 94 >;
- interrupt-parent = <&GIC>;
- };
-
- i2c7: i2c at 12CD0000 {
- compatible = "exynos,i2c";
- status = "disabled";
- reg = <0x12CD0000 0x10000>;
- interrupts = < 95 >;
- interrupt-parent = <&GIC>;
- };
-
- fimd0: fimd at 14400000 {
- compatible = "exynos,fimd";
- status = "disabled";
- reg = < 0x14400000 0x10000 >, /* fimd */
- < 0x14420000 0x10000 >, /* disp */
- < 0x10050000 0x220 >; /* sysreg */
- interrupt-parent = <&GIC>;
- };
-
- dp0: dp at 145B0000 {
- compatible = "exynos,dp";
- status = "disabled";
- reg = < 0x145B0000 0x10000 >,
- < 0x10040720 0x10 >; /* PHY */
- interrupt-parent = <&GIC>;
};
};
};
Added: head/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts Sun Jun 1 08:15:34 2014 (r266943)
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2014 Ruslan Bukin <br at 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 at 0 {
+ serial3: serial at 12C30000 {
+ status = "okay";
+ };
+ };
+
+ chosen {
+ stdin = &serial3;
+ stdout = &serial3;
+ };
+};
Added: head/sys/boot/fdt/dts/arm/exynos5420.dtsi
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list