Author: ian
Date: Wed May 14 20:11:20 2014
New Revision: 266085
URL: http://svnweb.freebsd.org/changeset/base/266085

Log:
  MFC  r256839, r256948, r256950, r257299, r257414, r258057, r259090
  
    Add configuration for the Freescale i.MX53 Quick Start Board.
  
    Add the Raspberry Pi BSC (I2C compliant) controller driver.
  
    Add Radxa Rock board (by radxa.com) support.
  
    Digi-CCWMX53: enable ffec and uart, USB.
  
    Add support for Freescale Vybrid Family VF600
  
    Move and rename dwc otg driver to more generic one as it appears to work
    for rk3188 SoC based board too.

Added:
  stable/10/sys/arm/conf/COSMIC
     - copied unchanged from r258057, head/sys/arm/conf/COSMIC
  stable/10/sys/arm/conf/RADXA
     - copied unchanged from r256950, head/sys/arm/conf/RADXA
  stable/10/sys/arm/freescale/vybrid/
     - copied from r258057, head/sys/arm/freescale/vybrid/
  stable/10/sys/boot/fdt/dts/rk3188-radxa.dts
     - copied unchanged from r256948, head/sys/boot/fdt/dts/rk3188-radxa.dts
  stable/10/sys/boot/fdt/dts/rk3188.dtsi
     - copied unchanged from r256948, head/sys/boot/fdt/dts/rk3188.dtsi
  stable/10/sys/boot/fdt/dts/vybrid-cosmic.dts
     - copied unchanged from r258057, head/sys/boot/fdt/dts/vybrid-cosmic.dts
  stable/10/sys/boot/fdt/dts/vybrid.dtsi
     - copied unchanged from r258057, head/sys/boot/fdt/dts/vybrid.dtsi
  stable/10/sys/dev/usb/controller/dwc_otg_fdt.c
     - copied unchanged from r256839, head/sys/dev/usb/controller/dwc_otg_fdt.c
Deleted:
  stable/10/sys/arm/broadcom/bcm2835/dwc_otg_brcm.c
Modified:
  stable/10/sys/arm/broadcom/bcm2835/files.bcm2835
  stable/10/sys/arm/conf/DIGI-CCWMX53
  stable/10/sys/boot/fdt/dts/digi-ccwmx53.dts
  stable/10/sys/dev/uart/uart.h
  stable/10/sys/dev/uart/uart_bus_fdt.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/arm/broadcom/bcm2835/files.bcm2835
==============================================================================
--- stable/10/sys/arm/broadcom/bcm2835/files.bcm2835    Wed May 14 19:18:58 
2014        (r266084)
+++ stable/10/sys/arm/broadcom/bcm2835/files.bcm2835    Wed May 14 20:11:20 
2014        (r266085)
@@ -14,7 +14,7 @@ arm/broadcom/bcm2835/bcm2835_systimer.c       
 arm/broadcom/bcm2835/bcm2835_wdog.c            standard
 arm/broadcom/bcm2835/bus_space.c               optional fdt
 arm/broadcom/bcm2835/common.c                  optional fdt
-arm/broadcom/bcm2835/dwc_otg_brcm.c            optional dwcotg
+dev/usb/controller/dwc_otg_fdt.c               optional dwcotg
 
 arm/arm/bus_space_generic.c                     standard
 arm/arm/bus_space_asm_generic.S                 standard

Copied: stable/10/sys/arm/conf/COSMIC (from r258057, head/sys/arm/conf/COSMIC)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/arm/conf/COSMIC       Wed May 14 20:11:20 2014        
(r266085, copy of r258057, head/sys/arm/conf/COSMIC)
@@ -0,0 +1,139 @@
+# Kernel configuration for Cosmic Board (Freescale Vybrid Family development 
board).
+#
+# 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          COSMIC
+
+include                "../freescale/vybrid/std.vybrid"
+
+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                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               NANDFS                  #NAND Filesystem
+options                TMPFS
+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=ffec0
+
+device         mmc                     # mmc/sd bus
+device         mmcsd                   # mmc/sd flash cards
+device         sdhci                   # generic sdhci
+
+#options               ROOTDEVNAME=\"nfs:10.5.0.1:/tftpboot/cosmic\"
+#options               ROOTDEVNAME=\"nandfs:/dev/gnand0s.root\"
+options                ROOTDEVNAME=\"ufs:/dev/da0\"
+
+#options       SMP
+
+# Pseudo devices
+
+device         loop
+device         random
+device         pty
+device         md
+device         gpio
+
+# USB support
+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
+
+device         nand
+
+# Serial ports
+device         uart
+
+# I2C (TWSI)
+#device                iic
+#device                iicbus
+
+# Ethernet
+device         ether
+device         ffec
+
+# USB ethernet support, requires miibus
+device         miibus
+device         axe                     # ASIX Electronics USB Ethernet
+device         bpf                     # Berkeley packet filter
+
+#FDT
+options                FDT
+options                FDT_DTB_STATIC
+makeoptions    FDT_DTS_FILE=vybrid-cosmic.dts

Modified: stable/10/sys/arm/conf/DIGI-CCWMX53
==============================================================================
--- stable/10/sys/arm/conf/DIGI-CCWMX53 Wed May 14 19:18:58 2014        
(r266084)
+++ stable/10/sys/arm/conf/DIGI-CCWMX53 Wed May 14 20:11:20 2014        
(r266085)
@@ -65,7 +65,7 @@ options       VFP                     # vfp/neon
 #options       BOOTP_COMPAT
 #options       BOOTP_NFSROOT
 #options       BOOTP_NFSV3
-#options       BOOTP_WIRED_TO=ue0
+#options       BOOTP_WIRED_TO=ffec0
 
 #options       ROOTDEVNAME=\"ufs:ada0s2a\"
 
@@ -105,8 +105,12 @@ device             ether           # Ethernet support
 #device                faith           # IPv6-to-IPv4 relaying (translation)
 #device                firmware        # firmware assist module
 
+# Ethernet
+device         ffec            # Freescale Fast Ethernet Controller
+device         miibus          # Standard mii bus
+
 # Serial (COM) ports
-#device                uart            # Multi-uart driver
+device         uart            # Multi-uart driver
 options        ALT_BREAK_TO_DEBUGGER
 
 device         ata
@@ -130,13 +134,13 @@ device            cd              # CD
 device         pass            # Passthrough device (direct SCSI access)
 
 # USB support
-#options       USB_DEBUG       # enable debug msgs
-#device                ehci            # OHCI USB interface
-#device                usb             # USB Bus (required)
-#device                umass           # Disks/Mass storage - Requires scbus 
and da
-#device                uhid            # "Human Interface Devices"
+options        USB_DEBUG       # enable debug msgs
+device         ehci            # OHCI USB interface
+device         usb             # USB Bus (required)
+device         umass           # Disks/Mass storage - Requires scbus and da
+device         uhid            # "Human Interface Devices"
 #device                ukbd            # Allow keyboard like HIDs to control 
console
-#device                ums
+device         ums
 
 # USB Ethernet, requires miibus
 #device                miibus

Copied: stable/10/sys/arm/conf/RADXA (from r256950, head/sys/arm/conf/RADXA)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/arm/conf/RADXA        Wed May 14 20:11:20 2014        
(r266085, copy of r256950, head/sys/arm/conf/RADXA)
@@ -0,0 +1,119 @@
+# RADXA -- Custom configuration for the RADXA ARM development
+# platform, check out http://www.radxa.com
+#
+# For more information on this file, please read 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          RADXA
+
+include                "../rockchip/std.rk30xx"
+
+makeoptions    MODULES_OVERRIDE=""
+makeoptions    WITHOUT_MODULES="ahc"
+
+options                HZ=100
+options                SCHED_4BSD              #4BSD scheduler
+options                INET                    #InterNETworking
+options                INET6                   #IPv6 communications protocols
+options                FFS                     #Berkeley Fast Filesystem
+options                SOFTUPDATES             #Enable FFS soft updates support
+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                  #ktrace(1) support
+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        # install a CDEV entry in /dev
+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
+#options       NFSSERVER               #Network Filesystem Server
+#options       NFSCLIENT               #Network Filesystem Client
+
+# MMC/SD/SDIO card slot support
+#device                mmc                     # mmc/sd bus
+#device                mmcsd                   # mmc/sd flash cards
+
+# Boot device is 2nd slice on MMC/SD card
+options                ROOTDEVNAME=\"ufs:/dev/da0s2\"
+
+# Console and misc
+device         uart
+device         uart_ns8250
+device         pty
+device         snp
+device         md
+device         random                  # Entropy device
+
+# I2C support
+#device                iicbus
+#device                iic
+
+# GPIO
+device         gpio
+
+device         scbus                   # SCSI bus (required for SCSI)
+device         da                      # Direct Access (disks)
+device         pass
+
+# USB support
+device         usb
+options                USB_DEBUG
+#options       USB_REQ_DEBUG
+#options       USB_VERBOSE
+device         dwcotg                  #DWC OTG controller
+
+device         umass
+
+# Ethernet
+device         loop
+device         ether
+device         mii
+device         smscphy
+device         bpf
+
+# USB ethernet support, requires miibus
+device         miibus
+device         udav
+
+# Flattened Device Tree
+options                FDT
+options                FDT_DTB_STATIC
+makeoptions    FDT_DTS_FILE=rk3188-radxa.dts
+

Modified: stable/10/sys/boot/fdt/dts/digi-ccwmx53.dts
==============================================================================
--- stable/10/sys/boot/fdt/dts/digi-ccwmx53.dts Wed May 14 19:18:58 2014        
(r266084)
+++ stable/10/sys/boot/fdt/dts/digi-ccwmx53.dts Wed May 14 20:11:20 2014        
(r266085)
@@ -101,6 +101,10 @@
                        };
                };
                aips@60000000 {
+                       ethernet@63fec000 {
+                               status = "okay";
+                               phy-mode = "rmii";
+                       };
                        i2c@63fc4000 {
                                status = "okay";
                        };

Copied: stable/10/sys/boot/fdt/dts/rk3188-radxa.dts (from r256948, 
head/sys/boot/fdt/dts/rk3188-radxa.dts)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/boot/fdt/dts/rk3188-radxa.dts Wed May 14 20:11:20 2014        
(r266085, copy of r256948, head/sys/boot/fdt/dts/rk3188-radxa.dts)
@@ -0,0 +1,59 @@
+/*-
+ * Copyright (c) 2013 Ganbold Tsagaankhuu <ganb...@gmail.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/ "rk3188.dtsi"
+
+/ {
+       model = "Radxa RadxaRock";
+
+       memory {
+               device_type = "memory";
+               reg = < 0x60000000 0x80000000 >;        /* 2GB RAM */
+       };
+
+       aliases {
+               soc = &SOC;
+       };
+
+       SOC: rk3188 {
+
+               uart2: serial@20064000 {
+                       status = "okay";
+               };
+
+       };
+
+       chosen {
+               bootargs = "-v";
+               stdin = &uart2;
+               stdout = &uart2;
+       };
+};
+

Copied: stable/10/sys/boot/fdt/dts/rk3188.dtsi (from r256948, 
head/sys/boot/fdt/dts/rk3188.dtsi)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/boot/fdt/dts/rk3188.dtsi      Wed May 14 20:11:20 2014        
(r266085, copy of r256948, head/sys/boot/fdt/dts/rk3188.dtsi)
@@ -0,0 +1,251 @@
+/*-
+ * Copyright (c) 2013 Ganbold Tsagaankhuu <ganb...@gmail.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 = "rockchip,rk3188";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       aliases {
+               soc = &SOC;
+       };
+
+       SOC: rk3188 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges;
+               bus-frequency = <0>;
+
+               GIC: interrupt-controller@1013d000 {
+                       compatible = "arm,gic";
+                       reg =   <0x1013d000 0x1000>,    /* Distributor 
Registers */
+                               <0x1013c100 0x0100>;    /* CPU Interface 
Registers */
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               pmu@20004000 {
+                       compatible = "rockchip,rk30xx-pmu";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x20004000 0x100>;
+               };
+
+               grf@20008000 {
+                       compatible = "rockchip,rk30xx-grf";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = < 0x20008000 0x2000 >;
+               };
+
+               mp_tmr@1013c600 {
+                       compatible = "arm,mpcore-timers";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clock-frequency = < 148500000 >;
+                       reg =   <0x1013c200 0x100>,     /* Global Timer Regs */
+                               <0x1013c600 0x20>;      /* Private Timer Regs */
+                       interrupts = < 27 29 >;
+                       interrupt-parent = <&GIC>;
+               };
+
+               timer@20038000 {
+                       compatible = "rockchip,rk30xx-timer";
+                       compatible = "rockchip,rk3188-dw-apb-timer-osc";
+                       reg = <0x20038000 0x20>;
+                       interrupts = <76>;
+                       clocks = <24000000>;
+                       status = "disabled";
+               };
+
+               timer@20038020 {
+                       compatible = "rockchip,rk30xx-timer";
+                       reg = <0x20038020 0x20>;
+                       interrupts = <77>;
+                       clocks = <24000000>;
+                       status = "disabled";
+               };
+
+               timer@20038060 {
+                       compatible = "rockchip,rk30xx-timer";
+                       reg = <0x20038060 0x20>;
+                       interrupts = <91>;
+                       clocks = <24000000>;
+                       status = "disabled";
+               };
+
+               timer@20038080 {
+                       compatible = "rockchip,rk30xx-timer";
+                       reg = <0x20038080 0x20>;
+                       interrupts = <92>;
+                       clocks = <24000000>;
+                       status = "disabled";
+               };
+
+               timer@200380a0 {
+                       compatible = "rockchip,rk30xx-timer";
+                       reg = <0x200380a0 0x20>;
+                       interrupts = <96>;
+                       clocks = <24000000>;
+                       status = "disabled";
+               };
+
+               watchdog@2004c000 {
+                       compatible = "rockchip,rk30xx-wdt";
+                       reg = <0x2004c000 0x100>;
+               };
+
+               gpio0: gpio@2000a000 {
+                       compatible = "rockchip,rk30xx-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       reg = <0x2000a000 0x100>;
+                       interrupts = <86>;
+                       interrupt-parent = <&GIC>;
+               };
+
+               gpio1: gpio@2003c000 {
+                       compatible = "rockchip,rk30xx-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       reg = <0x2003c000 0x100>;
+                       interrupts = <87>;
+                       interrupt-parent = <&GIC>;
+               };
+
+               gpio2: gpio@2003e000 {
+                       compatible = "rockchip,rk30xx-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       reg = <0x2003e000 0x100>;
+                       interrupts = <88>;
+                       interrupt-parent = <&GIC>;
+               };
+
+               gpio3: gpio@20080000 {
+                       compatible = "rockchip,rk30xx-gpio";
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       reg = <0x20080000 0x100>;
+                       interrupts = <89>;
+                       interrupt-parent = <&GIC>;
+               };
+
+               usb0: usb@10180000 {
+                       compatible = "synopsys,designware-hs-otg2";
+                       reg = <0x10180000 0x40000>;
+                       interrupts = <48>;
+                       interrupt-parent = <&GIC>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               usb1: usb@101c0000 {
+                       compatible = "synopsys,designware-hs-otg2";
+                       reg = <0x101c0000 0x40000>;
+                       interrupts = < 49 >;
+                       interrupt-parent = <&GIC>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               uart0: serial@10124000 {
+                       compatible = "ns16550";
+                       reg = <0x10124000 0x400>;
+                       reg-shift = <2>;
+                       interrupts = <66>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+                       busy-detect = <1>;
+                       broken-txfifo = <1>;
+                       status = "disabled";
+               };
+
+               uart1: serial@10126000 {
+                       compatible = "ns16550";
+                       reg = <0x10126000 0x400>;
+                       reg-shift = <2>;
+                       interrupts = <67>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+                       busy-detect = <1>;
+                       broken-txfifo = <1>;
+                       status = "disabled";
+               };
+
+               uart2: serial@20064000 {
+                       compatible = "ns16550";
+                       reg = <0x20064000 0x400>;
+                       reg-shift = <2>;
+                       interrupts = <68>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+                       busy-detect = <1>;
+                       broken-txfifo = <1>;
+                       status = "disabled";
+               };
+
+               uart3: serial@20068000 {
+                       compatible = "ns16550";
+                       reg = <0x20068000 0x400>;
+                       reg-shift = <2>;
+                       interrupts = <69>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+                       busy-detect = <1>;
+                       broken-txfifo = <1>;
+                       status = "disabled";
+               };
+
+               mmc@10214000 {
+                       compatible = "rockchip,rk30xx-mmc";
+                       reg = <0x10214000 0x1000>;
+                       interrupts = <55>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <24000000>;    /* TODO: verify freq */
+                       status = "disabled";
+               };
+
+               mmc@10218000 {
+                       compatible = "rockchip,rk30xx-mmc";
+                       reg = <0x10218000 0x1000>;
+                       interrupts = <56>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <24000000>;    /* TODO: verify freq */
+                       status = "disabled";
+               };
+       };
+};
+

Copied: stable/10/sys/boot/fdt/dts/vybrid-cosmic.dts (from r258057, 
head/sys/boot/fdt/dts/vybrid-cosmic.dts)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/boot/fdt/dts/vybrid-cosmic.dts        Wed May 14 20:11:20 
2014        (r266085, copy of r258057, head/sys/boot/fdt/dts/vybrid-cosmic.dts)
@@ -0,0 +1,56 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <b...@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/ "vybrid.dtsi"
+
+/ {
+       model = "Cosmic Board";
+
+       memory {
+               device_type = "memory";
+               reg = < 0x80000000 0x10000000 >;        /* 256MB RAM */
+       };
+
+       SOC: vybrid {
+               serial0: serial@40027000 {
+                       status = "disabled";
+               };
+
+               fec0: ethernet@400D0000 {
+                       status = "disabled";
+               };
+       };
+
+       chosen {
+               bootargs = "-v";
+               stdin = "serial1";
+               stdout = "serial1";
+       };
+};

Copied: stable/10/sys/boot/fdt/dts/vybrid.dtsi (from r258057, 
head/sys/boot/fdt/dts/vybrid.dtsi)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/boot/fdt/dts/vybrid.dtsi      Wed May 14 20:11:20 2014        
(r266085, copy of r258057, head/sys/boot/fdt/dts/vybrid.dtsi)
@@ -0,0 +1,223 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <b...@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$
+ */
+
+/ {
+       model = "Freescale Vybrid Family";
+       compatible = "freescale,vybrid", "fsl,vf";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       interrupt-parent = <&GIC>;
+
+       aliases {
+               soc = &SOC;
+               serial0 = &serial0;
+               serial1 = &serial1;
+               src = &SRC;
+       };
+
+       SOC: vybrid {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               ranges;
+               bus-frequency = <0>;
+
+               SRC: src@4006E000 {
+                       compatible = "fsl,mvf600-src";
+                       reg = <0x4006E000 0x100>;
+               };
+
+               mscm@40001000 {
+                       compatible = "fsl,mvf600-mscm";
+                       reg = <0x40001000 0x1000>;
+               };
+
+               GIC: interrupt-controller@01c81000 {
+                       compatible = "arm,gic";
+                       reg =   <0x40003000 0x1000>,    /* Distributor 
Registers */
+                               <0x40002100 0x100>;     /* CPU Interface 
Registers */
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               anadig@40050000 {
+                       compatible = "fsl,mvf600-anadig";
+                       reg = <0x40050000 0x300>;
+               };
+
+               ccm@4006b000 {
+                       compatible = "fsl,mvf600-ccm";
+                       reg = <0x4006b000 0x1000>;
+               };
+
+               mp_tmr@40002100 {
+                       compatible = "arm,mpcore-timers";
+                       clock-frequency = <133000000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = < 0x40002200 0x100 >, /* Global Timer Registers */
+                             < 0x40002600 0x100 >; /* Private Timer Registers 
*/
+                       interrupts = < 27 29 >;
+                       interrupt-parent = < &GIC >;
+               };
+
+               pit@40037000 {
+                       compatible = "fsl,mvf600-pit";
+                       reg = <0x40037000 0x1000>;
+                       interrupts = < 71 >;
+                       interrupt-parent = <&GIC>;
+                       clock-frequency = < 24000000 >;
+               };
+
+               lptmr@40040000 {
+                       compatible = "fsl,mvf600-lptmr";
+                       reg = <0x40040000 0x1000>;
+                       interrupts = < 72 >;
+                       interrupt-parent = <&GIC>;
+                       clock-frequency = < 24000000 >;
+               };
+
+               iomuxc@40048000 {
+                       compatible = "fsl,mvf600-iomuxc";
+                       reg = <0x40048000 0x1000>;
+               };
+
+               gpio@400FF000 {
+                       compatible = "fsl,mvf600-gpio";
+                       reg = <0x400FF000 0x200>;
+                       #gpio-cells = <3>;
+                       gpio-controller;
+                       interrupts = < 139 140 141 142 143 >;
+                       interrupt-parent = <&GIC>;
+
+               };
+
+               nand@400E0000 {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "fsl,mvf600-nand";
+                       reg = <0x400E0000 0x10000>;
+                       interrupts = < 115 >;
+                       interrupt-parent = <&GIC>;
+
+                       partition@40000 {
+                               reg = <0x40000 0x200000>; /* 2MB */
+                               label = "u-boot";
+                               read-only;
+                       };
+
+                       partition@240000 {
+                               reg = <0x240000 0x200000>; /* 2MB */
+                               label = "test";
+                       };
+
+                       partition@440000 {
+                               reg = <0x440000 0xa00000>; /* 10MB */
+                               label = "kernel";
+                       };
+
+                       partition@e40000 {
+                               reg = <0xe40000 0x1e000000>; /* 480MB */
+                               label = "root";
+                       };
+
+               };
+
+               sdhci0: sdhci@400B1000 {
+                       compatible = "fsl,mvf600-sdhci";
+                       reg = <0x400B1000 0x1000>;
+                       interrupts = < 59 >;
+                       interrupt-parent = <&GIC>;
+                       clock-frequency = <50000000>;
+               };
+
+               sdhci1: sdhci@400B2000 {
+                       compatible = "fsl,mvf600-sdhci";
+                       reg = <0x400B2000 0x1000>;
+                       interrupts = < 60 >;
+                       interrupt-parent = <&GIC>;
+                       clock-frequency = <50000000>;
+               };
+
+               serial0: serial@40027000 {
+                       compatible = "fsl,mvf600-uart";
+                       reg = <0x40027000 0x1000>;
+                       interrupts = <93>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+               };
+
+               serial1: serial@40028000 {
+                       compatible = "fsl,mvf600-uart";
+                       reg = <0x40028000 0x1000>;
+                       interrupts = <94>;
+                       interrupt-parent = <&GIC>;
+                       current-speed = <115200>;
+                       clock-frequency = < 24000000 >;
+               };
+
+               usb@40034000 {
+                       compatible = "fsl,mvf600-usb-ehci", "usb-ehci";
+                       reg = < 0x40034000 0x1000 >, /* ehci */
+                             < 0x40035000 0x1000 >, /* usbc */
+                             < 0x40050800 0x100 >; /* phy */
+                       interrupts = < 107 >;
+                       interrupt-parent = <&GIC>;
+               };
+
+               usb@400b4000 {
+                       compatible = "fsl,mvf600-usb-ehci", "usb-ehci";
+                       reg = < 0x400b4000 0x1000 >, /* ehci */
+                             < 0x400b5000 0x1000 >, /* usbc */
+                             < 0x40050C00 0x100 >; /* phy */
+                       interrupts = < 108 >;
+                       interrupt-parent = <&GIC>;
+               };
+
+               fec0: ethernet@400D0000 {
+                       compatible = "fsl,mvf600-fec";
+                       reg = <0x400D0000 0x1000>;
+                       interrupts = < 110 >;
+                       interrupt-parent = <&GIC>;
+                       phy-mode = "rmii";
+                       phy-disable-preamble;
+               };
+
+               fec1: ethernet@400D1000 {
+                       compatible = "fsl,mvf600-fec";
+                       reg = <0x400D1000 0x1000>;
+                       interrupts = < 111 >;
+                       interrupt-parent = <&GIC>;
+                       phy-mode = "rmii";
+                       phy-disable-preamble;
+               };
+
+       };
+};

Modified: stable/10/sys/dev/uart/uart.h
==============================================================================
--- stable/10/sys/dev/uart/uart.h       Wed May 14 19:18:58 2014        
(r266084)
+++ stable/10/sys/dev/uart/uart.h       Wed May 14 20:11:20 2014        
(r266085)
@@ -75,6 +75,7 @@ extern struct uart_class uart_lpc_class 
 extern struct uart_class uart_pl011_class __attribute__((weak));
 extern struct uart_class uart_cdnc_class __attribute__((weak));
 extern struct uart_class uart_ti8250_class __attribute__((weak));
+extern struct uart_class uart_vybrid_class __attribute__((weak));
 
 #ifdef FDT
 struct ofw_compat_data;

Modified: stable/10/sys/dev/uart/uart_bus_fdt.c
==============================================================================
--- stable/10/sys/dev/uart/uart_bus_fdt.c       Wed May 14 19:18:58 2014        
(r266084)
+++ stable/10/sys/dev/uart/uart_bus_fdt.c       Wed May 14 20:11:20 2014        
(r266085)
@@ -80,6 +80,7 @@ static struct ofw_compat_data compat_dat
        {"fsl,imx27-uart",      (uintptr_t)&uart_imx_class},
        {"fsl,imx25-uart",      (uintptr_t)&uart_imx_class},
        {"fsl,imx21-uart",      (uintptr_t)&uart_imx_class},
+       {"fsl,mvf600-uart",     (uintptr_t)&uart_vybrid_class},
        {"lpc,uart",            (uintptr_t)&uart_lpc_class},
        {"ti,ns16550",          (uintptr_t)&uart_ti8250_class},
        {"ns16550",             (uintptr_t)&uart_ns8250_class},

Copied: stable/10/sys/dev/usb/controller/dwc_otg_fdt.c (from r256839, 
head/sys/dev/usb/controller/dwc_otg_fdt.c)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/10/sys/dev/usb/controller/dwc_otg_fdt.c      Wed May 14 20:11:20 
2014        (r266085, copy of r256839, 
head/sys/dev/usb/controller/dwc_otg_fdt.c)
@@ -0,0 +1,211 @@
+/*-
+ * Copyright (c) 2012 Hans Petter Selasky. 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/stdint.h>
+#include <sys/stddef.h>
+#include <sys/param.h>
+#include <sys/queue.h>
+#include <sys/types.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/bus.h>
+#include <sys/module.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+#include <sys/condvar.h>
+#include <sys/sysctl.h>
+#include <sys/sx.h>
+#include <sys/unistd.h>

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to