diff options
-rw-r--r-- | mk/kernel-ver.mk | 6 | ||||
-rw-r--r-- | package/u-boot/files/boot.script.imx6 | 4 | ||||
-rw-r--r-- | target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch (renamed from target/arm/bcm28xx/patches/4.1.24/0001-raspberry-pi-github.patch) | 0 | ||||
-rw-r--r-- | target/arm/kernel/solidrun-imx6 | 1 | ||||
-rw-r--r-- | target/arm/solidrun-imx6/patches/3.14.69/0001-cec-hdmi.patch | 133 | ||||
-rw-r--r-- | target/arm/solidrun-imx6/patches/3.14.72/0001-solidrun-imx6.patch | 696919 | ||||
-rw-r--r-- | target/arm/solidrun-imx6/patches/4.1.26/0001-xbian.patch (renamed from target/arm/solidrun-imx6/patches/4.1.24/0001-xbian.patch) | 0 | ||||
-rw-r--r-- | target/arm/solidrun-imx6/patches/4.1.26/0002-rt.patch (renamed from target/arm/solidrun-imx6/patches/4.1.24/0002-rt.patch) | 0 | ||||
-rw-r--r-- | target/avr32/atmel-ngw100/patches/4.1.26/0001-net-macb-improve-big-endian-CPU-support.patch (renamed from target/avr32/atmel-ngw100/patches/4.1.24/0001-net-macb-improve-big-endian-CPU-support.patch) | 0 | ||||
-rw-r--r-- | target/config/Config.in.kernelversion | 8 | ||||
-rw-r--r-- | target/cris/qemu-cris/patches/4.1.26/crisv32_ethernet_driver.patch (renamed from target/cris/qemu-cris/patches/4.1.24/crisv32_ethernet_driver.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/bsd-compatibility.patch (renamed from target/linux/patches/3.14.69/bsd-compatibility.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/cleankernel.patch (renamed from target/linux/patches/3.14.69/cleankernel.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/defaults.patch (renamed from target/linux/patches/3.14.69/defaults.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/disable-netfilter.patch (renamed from target/linux/patches/3.14.69/disable-netfilter.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/export-symbol-for-exmap.patch (renamed from target/linux/patches/3.14.69/export-symbol-for-exmap.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/fblogo.patch (renamed from target/linux/patches/3.14.69/fblogo.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/gemalto.patch (renamed from target/linux/patches/3.14.69/gemalto.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/initramfs-nosizelimit.patch (renamed from target/linux/patches/3.14.69/initramfs-nosizelimit.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/lemote-rfkill.patch (renamed from target/linux/patches/3.14.69/lemote-rfkill.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/microblaze-axi.patch (renamed from target/linux/patches/3.14.69/microblaze-axi.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/microblaze-ethernet.patch (renamed from target/linux/patches/3.14.69/microblaze-ethernet.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/mips-fpu.patch (renamed from target/linux/patches/3.14.69/mips-fpu.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/mkpiggy.patch (renamed from target/linux/patches/3.14.69/mkpiggy.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/mtd-rootfs.patch (renamed from target/linux/patches/3.14.69/mtd-rootfs.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/nfsv3-tcp.patch (renamed from target/linux/patches/3.14.69/nfsv3-tcp.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/non-static.patch (renamed from target/linux/patches/3.14.69/non-static.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/ppc64-missing-zlib.patch (renamed from target/linux/patches/3.14.69/ppc64-missing-zlib.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/regmap-boolean.patch (renamed from target/linux/patches/3.14.69/regmap-boolean.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/relocs.patch (renamed from target/linux/patches/3.14.69/relocs.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/sgidefs.patch (renamed from target/linux/patches/3.14.69/sgidefs.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/sortext.patch (renamed from target/linux/patches/3.14.69/sortext.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/startup.patch (renamed from target/linux/patches/3.14.69/startup.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/wlan-cf.patch (renamed from target/linux/patches/3.14.69/wlan-cf.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/xargs.patch (renamed from target/linux/patches/3.14.69/xargs.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/yaffs2.patch (renamed from target/linux/patches/3.14.69/yaffs2.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/3.14.72/zlib-inflate.patch (renamed from target/linux/patches/3.14.69/zlib-inflate.patch) | 0 | ||||
-rw-r--r-- | target/m68k/qemu-m68k-mcf5208/patches/3.14.72/m68k-coldfire-fec.patch (renamed from target/m68k/qemu-m68k-mcf5208/patches/3.14.69/m68k-coldfire-fec.patch) | 0 | ||||
-rw-r--r-- | target/m68k/qemu-m68k-mcf5208/patches/4.1.26/m68k-coldfire-fec.patch (renamed from target/m68k/qemu-m68k-mcf5208/patches/4.1.24/m68k-coldfire-fec.patch) | 0 | ||||
-rw-r--r-- | target/mips/ath79/patches/4.1.26/0001-openwrt-ath79.patch (renamed from target/mips/ath79/patches/4.1.24/0001-openwrt-ath79.patch) | 0 | ||||
-rw-r--r-- | target/mips/mikrotik-rb532/patches/3.14.72/rb532-cfgfs.patch (renamed from target/mips/mikrotik-rb532/patches/3.14.69/rb532-cfgfs.patch) | 0 | ||||
-rw-r--r-- | target/mips/mikrotik-rb532/patches/3.14.72/rb532-pci.patch (renamed from target/mips/mikrotik-rb532/patches/3.14.69/rb532-pci.patch) | 0 | ||||
-rw-r--r-- | target/or1k/patches/4.1.26/ld-or1k.patch (renamed from target/or1k/patches/4.1.24/ld-or1k.patch) | 0 |
43 files changed, 696932 insertions, 139 deletions
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index f8b073ef1..9dcee0a1b 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -49,11 +49,11 @@ KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) KERNEL_HASH:= 33f2a5d10769c05f6ed6a9eff24429ffd4fbaeb492320e3f9da318d56afdaa30 endif -ifeq ($(ADK_TARGET_KERNEL_VERSION_3_14_69),y) -KERNEL_FILE_VER:= 3.14.69 +ifeq ($(ADK_TARGET_KERNEL_VERSION_3_14_72),y) +KERNEL_FILE_VER:= 3.14.72 KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= 0effaa7f1036eeb4a71d64e42619b1b4fffe0901e7df51446cc14e799154fd69 +KERNEL_HASH:= 0c64e38255e591dc06d57881ce08e29009c2d31fcdaab2b1a4b736bc873f4724 endif ifeq ($(ADK_TARGET_KERNEL_VERSION_3_12_59),y) KERNEL_FILE_VER:= 3.12.59 diff --git a/package/u-boot/files/boot.script.imx6 b/package/u-boot/files/boot.script.imx6 new file mode 100644 index 000000000..855f0bc8f --- /dev/null +++ b/package/u-boot/files/boot.script.imx6 @@ -0,0 +1,4 @@ +setenv bootargs console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 +ext4load mmc 0:1 0x42000000 boot/${fdtfile} +ext4load mmc 0:1 0x10800000 boot/kernel +bootz 0x10800000 - 0x42000000 diff --git a/target/arm/bcm28xx/patches/4.1.24/0001-raspberry-pi-github.patch b/target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch index 6f9089b88..6f9089b88 100644 --- a/target/arm/bcm28xx/patches/4.1.24/0001-raspberry-pi-github.patch +++ b/target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch diff --git a/target/arm/kernel/solidrun-imx6 b/target/arm/kernel/solidrun-imx6 index 874ed9183..093090111 100644 --- a/target/arm/kernel/solidrun-imx6 +++ b/target/arm/kernel/solidrun-imx6 @@ -9,5 +9,6 @@ CONFIG_LOCAL_TIMERS=y CONFIG_MXC_DEBUG_BOARD=y CONFIG_KUSER_HELPERS=y CONFIG_PCI_IMX6=y +CONFIG_PM_SLEEP=y CONFIG_ATAGS=y CONFIG_CMDLINE_FORCE=y diff --git a/target/arm/solidrun-imx6/patches/3.14.69/0001-cec-hdmi.patch b/target/arm/solidrun-imx6/patches/3.14.69/0001-cec-hdmi.patch deleted file mode 100644 index 6fbc80b00..000000000 --- a/target/arm/solidrun-imx6/patches/3.14.69/0001-cec-hdmi.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff -Nur linux-3.14.45.orig/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c linux-3.14.45/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c ---- linux-3.14.45.orig/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c 2015-07-16 01:45:57.033999867 -0500 -+++ linux-3.14.45/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c 2015-07-16 01:44:12.826000821 -0500 -@@ -67,7 +67,6 @@ - u8 msg_len; - int tx_answer; - u16 latest_cec_stat; -- u8 link_status; - spinlock_t irq_lock; - struct delayed_work hdmi_cec_work; - struct mutex lock; -@@ -83,8 +82,6 @@ - - static LIST_HEAD(head); - --static int hdmi_cec_ready = 0; --static int hdmi_cec_started; - static int hdmi_cec_major; - static struct class *hdmi_cec_class; - static struct hdmi_cec_priv hdmi_cec_data; -@@ -98,7 +95,6 @@ - struct hdmi_cec_priv *hdmi_cec = data; - u16 cec_stat = 0; - unsigned long flags; -- u8 phy_stat0; - irqreturn_t ret = IRQ_HANDLED; - - spin_lock_irqsave(&hdmi_cec->irq_lock, flags); -@@ -107,7 +103,6 @@ - - cec_stat = hdmi_readb(HDMI_IH_CEC_STAT0); - hdmi_writeb(cec_stat, HDMI_IH_CEC_STAT0); -- phy_stat0 = hdmi_readb(HDMI_PHY_STAT0) & 0x02; - - if ((cec_stat & (HDMI_IH_CEC_STAT0_ERROR_INIT | \ - HDMI_IH_CEC_STAT0_NACK | HDMI_IH_CEC_STAT0_EOM | \ -@@ -115,14 +110,7 @@ - ret = IRQ_NONE; - cec_stat = 0; - } -- if (hdmi_cec->link_status ^ phy_stat0) { -- /* HPD value changed */ -- hdmi_cec->link_status = phy_stat0; -- if (hdmi_cec->link_status) -- cec_stat |= 0x80; /* Connected */ -- else -- cec_stat |= 0x100; /* Disconnected */ -- } -+ - pr_debug("HDMI CEC interrupt received\n"); - hdmi_cec->latest_cec_stat = cec_stat ; - -@@ -315,7 +303,7 @@ - mutex_unlock(&hdmi_cec_data.lock); - return -EACCES; - } -- /* Ensure that there is only one writer who is the only listener of tx_cec_queue */ -+ /* Ensure that there is only one writer who is the unique listener of tx_cec_queue */ - if (hdmi_cec_data.tx_answer != CEC_TX_AVAIL) { - mutex_unlock(&hdmi_cec_data.lock); - return -EBUSY; -@@ -363,9 +351,6 @@ - { - u8 val; - -- if (!hdmi_cec_ready || hdmi_cec_started) -- return; -- - val = hdmi_readb(HDMI_MC_CLKDIS); - val &= ~HDMI_MC_CLKDIS_CECCLK_DISABLE; - hdmi_writeb(val, HDMI_MC_CLKDIS); -@@ -377,12 +362,7 @@ - val = HDMI_IH_CEC_STAT0_WAKEUP | HDMI_IH_CEC_STAT0_ERROR_FOLL | HDMI_IH_CEC_STAT0_ARB_LOST; - hdmi_writeb(val, HDMI_CEC_MASK); - hdmi_writeb(val, HDMI_IH_MUTE_CEC_STAT0); -- hdmi_cec_data.link_status = hdmi_readb(HDMI_PHY_STAT0) & 0x02; -- mutex_lock(&hdmi_cec_data.lock); - hdmi_cec_data.cec_state = true; -- mutex_unlock(&hdmi_cec_data.lock); -- -- hdmi_cec_started = 1; - } - EXPORT_SYMBOL(hdmi_cec_start_device); - -@@ -390,9 +370,6 @@ - { - u8 val; - -- if (!hdmi_cec_ready || !hdmi_cec_started) -- return; -- - hdmi_writeb(0x10, HDMI_CEC_CTRL); - val = HDMI_IH_CEC_STAT0_WAKEUP | HDMI_IH_CEC_STAT0_ERROR_FOLL | HDMI_IH_CEC_STAT0_ERROR_INIT | HDMI_IH_CEC_STAT0_ARB_LOST | \ - HDMI_IH_CEC_STAT0_NACK | HDMI_IH_CEC_STAT0_EOM | HDMI_IH_CEC_STAT0_DONE; -@@ -402,11 +379,7 @@ - val = hdmi_readb(HDMI_MC_CLKDIS); - val |= HDMI_MC_CLKDIS_CECCLK_DISABLE; - hdmi_writeb(val, HDMI_MC_CLKDIS); -- mutex_lock(&hdmi_cec_data.lock); - hdmi_cec_data.cec_state = false; -- mutex_unlock(&hdmi_cec_data.lock); -- -- hdmi_cec_started = 0; - } - EXPORT_SYMBOL(hdmi_cec_stop_device); - -@@ -481,11 +454,18 @@ - */ - static int hdmi_cec_release(struct inode *inode, struct file *filp) - { -+ struct hdmi_cec_event *event, *tmp_event; - mutex_lock(&hdmi_cec_data.lock); - if (open_count) { - open_count = 0; - hdmi_cec_data.cec_state = false; - hdmi_cec_data.Logical_address = 15; -+ -+ /* Flush eventual events which have not been read by user space */ -+ list_for_each_entry_safe(event, tmp_event, &head, list) { -+ list_del(&event->list); -+ vfree(event); -+ } - } - mutex_unlock(&hdmi_cec_data.lock); - -@@ -580,7 +560,6 @@ - INIT_DELAYED_WORK(&hdmi_cec_data.hdmi_cec_work, mxc_hdmi_cec_worker); - - dev_info(&pdev->dev, "HDMI CEC initialized\n"); -- hdmi_cec_ready = 1; - goto out; - - err_out_class: diff --git a/target/arm/solidrun-imx6/patches/3.14.72/0001-solidrun-imx6.patch b/target/arm/solidrun-imx6/patches/3.14.72/0001-solidrun-imx6.patch new file mode 100644 index 000000000..3e6393cb2 --- /dev/null +++ b/target/arm/solidrun-imx6/patches/3.14.72/0001-solidrun-imx6.patch @@ -0,0 +1,696919 @@ +diff -Nur linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-cm-fx6.dts linux-3.14.72/arch/arm/boot/dts/imx6dl-cm-fx6.dts +--- linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-cm-fx6.dts 1970-01-01 01:00:00.000000000 +0100 ++++ linux-3.14.72/arch/arm/boot/dts/imx6dl-cm-fx6.dts 2016-06-19 22:11:55.009158180 +0200 +@@ -0,0 +1,21 @@ ++/* ++ * Copyright 2015 CompuLab Ltd. ++ * ++ * Author: Valentin Raevsky <valentin@compulab.co.il> ++ * ++ * The code contained herein is licensed under the GNU General Public ++ * License. You may obtain a copy of the GNU General Public License ++ * Version 2 or later at the following locations: ++ * ++ * http://www.opensource.org/licenses/gpl-license.html ++ * http://www.gnu.org/copyleft/gpl.html ++ */ ++ ++/dts-v1/; ++#include "imx6dl.dtsi" ++#include "imx6qdl-cm-fx6.dtsi" ++ ++/ { ++ model = "CompuLab CM-FX6"; ++ compatible = "compulab,cm-fx6", "fsl,imx6dl"; ++}; +diff -Nur linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-cubox-i.dts linux-3.14.72/arch/arm/boot/dts/imx6dl-cubox-i.dts +--- linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-cubox-i.dts 2016-06-08 02:22:20.000000000 +0200 ++++ linux-3.14.72/arch/arm/boot/dts/imx6dl-cubox-i.dts 2016-06-19 22:11:55.009158180 +0200 +@@ -1,5 +1,43 @@ + /* + * Copyright (C) 2014 Russell King ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License. ++ * ++ * This file is distributed in the hope that it will be useful ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. + */ + /dts-v1/; + +diff -Nur linux-3.14.72.orig/arch/arm/boot/dts/imx6dl.dtsi linux-3.14.72/arch/arm/boot/dts/imx6dl.dtsi +--- linux-3.14.72.orig/arch/arm/boot/dts/imx6dl.dtsi 2016-06-08 02:22:20.000000000 +0200 ++++ linux-3.14.72/arch/arm/boot/dts/imx6dl.dtsi 2016-06-19 22:11:55.009158180 +0200 +@@ -8,6 +8,7 @@ + * + */ + ++#include <dt-bindings/interrupt-controller/irq.h> + #include "imx6dl-pinfunc.h" + #include "imx6qdl.dtsi" + +@@ -16,11 +17,37 @@ + #address-cells = <1>; + #size-cells = <0>; + +- cpu@0 { ++ cpu0: cpu@0 { + compatible = "arm,cortex-a9"; + device_type = "cpu"; + reg = <0>; + next-level-cache = <&L2>; ++ operating-points = < ++ /* kHz uV */ ++ 996000 1275000 ++ 792000 1175000 ++ 396000 1175000 ++ >; ++ fsl,soc-operating-points = < ++ /* ARM kHz SOC-PU uV */ ++ 996000 1175000 ++ 792000 1175000 ++ 396000 1175000 ++ >; ++ clock-latency = <61036>; /* two CLK32 periods */ ++ clocks = <&clks IMX6QDL_CLK_ARM>, ++ <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, ++ <&clks IMX6QDL_CLK_STEP>, ++ <&clks IMX6QDL_CLK_PLL1_SW>, ++ <&clks IMX6QDL_CLK_PLL1_SYS>, ++ <&clks IMX6QDL_PLL1_BYPASS>, ++ <&clks IMX6QDL_CLK_PLL1>, ++ <&clks IMX6QDL_PLL1_BYPASS_SRC> ; ++ clock-names = "arm", "pll2_pfd2_396m", "step", ++ "pll1_sw", "pll1_sys", "pll1_bypass", "pll1", "pll1_bypass_src"; ++ arm-supply = <®_arm>; ++ pu-supply = <®_pu>; ++ soc-supply = <®_soc>; + }; + + cpu@1 { +@@ -32,40 +59,117 @@ + }; + + soc { +- ocram: sram@00900000 { ++ busfreq { ++ compatible = "fsl,imx6_busfreq"; ++ clocks = <&clks IMX6QDL_CLK_PLL2_BUS>, <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, ++ <&clks IMX6QDL_CLK_PLL2_198M>, <&clks IMX6QDL_CLK_ARM>, ++ <&clks IMX6QDL_CLK_PLL3_USB_OTG>, <&clks IMX6QDL_CLK_PERIPH>, ++ <&clks IMX6QDL_CLK_PERIPH_PRE>, <&clks IMX6QDL_CLK_PERIPH_CLK2>, ++ <&clks IMX6QDL_CLK_PERIPH_CLK2_SEL>, <&clks IMX6QDL_CLK_OSC>, ++ <&clks IMX6QDL_CLK_AXI_ALT_SEL>, <&clks IMX6QDL_CLK_AXI_SEL> , ++ <&clks IMX6QDL_CLK_PLL3_PFD1_540M>; ++ clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph", ++ "periph_pre", "periph_clk2", "periph_clk2_sel", "osc", "axi_alt_sel", "axi_sel", "pll3_pfd1_540m"; ++ interrupts = <0 107 0x04>, <0 112 0x4>; ++ interrupt-names = "irq_busfreq_0", "irq_busfreq_1"; ++ fsl,max_ddr_freq = <400000000>; ++ }; ++ ++ gpu@00130000 { ++ compatible = "fsl,imx6dl-gpu", "fsl,imx6q-gpu"; ++ reg = <0x00130000 0x4000>, <0x00134000 0x4000>, ++ <0x0 0x0>; ++ reg-names = "iobase_3d", "iobase_2d", ++ "phys_baseaddr"; ++ interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>, ++ <0 10 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "irq_3d", "irq_2d"; ++ clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>, <&clks IMX6QDL_CLK_GPU3D_AXI>, ++ <&clks IMX6QDL_CLK_GPU2D_CORE>, <&clks IMX6QDL_CLK_GPU3D_CORE>, ++ <&clks IMX6QDL_CLK_DUMMY>; ++ clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk", ++ "gpu2d_clk", "gpu3d_clk", ++ "gpu3d_shader_clk"; ++ resets = <&src 0>, <&src 3>; ++ reset-names = "gpu3d", "gpu2d"; ++ power-domains = <&gpc 1>; ++ }; ++ ++ ocrams: sram@00900000 { ++ compatible = "fsl,lpm-sram"; ++ reg = <0x00900000 0x4000>; ++ clocks = <&clks IMX6QDL_CLK_OCRAM>; ++ }; ++ ++ ocrams_ddr: sram@00904000 { ++ compatible = "fsl,ddr-lpm-sram"; ++ reg = <0x00904000 0x1000>; ++ clocks = <&clks IMX6QDL_CLK_OCRAM>; ++ }; ++ ++ ocram: sram@00905000 { + compatible = "mmio-sram"; +- reg = <0x00900000 0x20000>; +- clocks = <&clks 142>; ++ reg = <0x00905000 0x1B000>; ++ clocks = <&clks IMX6QDL_CLK_OCRAM>; + }; + + aips1: aips-bus@02000000 { ++ vpu@02040000 { ++ iramsize = <0>; ++ }; ++ + iomuxc: iomuxc@020e0000 { + compatible = "fsl,imx6dl-iomuxc"; + }; + ++ dcic2: dcic@020e8000 { ++ clocks = <&clks IMX6QDL_CLK_DCIC1 >, ++ <&clks IMX6QDL_CLK_DCIC2>; /* DCIC2 depend on DCIC1 clock in imx6dl*/ ++ clock-names = "dcic", "disp-axi"; ++ }; ++ + pxp: pxp@020f0000 { ++ compatible = "fsl,imx6dl-pxp-dma"; + reg = <0x020f0000 0x4000>; +- interrupts = <0 98 0x04>; ++ interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; ++ clocks = <&clks IMX6QDL_CLK_IPU2>, <&clks IMX6QDL_CLK_DUMMY>; ++ clock-names = "pxp-axi", "disp-axi"; ++ status = "disabled"; + }; + + epdc: epdc@020f4000 { ++ compatible = "fsl,imx6dl-epdc"; + reg = <0x020f4000 0x4000>; +- interrupts = <0 97 0x04>; ++ interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>; ++ clocks = <&clks IMX6QDL_CLK_IPU2>, <&clks IMX6QDL_CLK_IPU2_DI1>; ++ clock-names = "epdc_axi", "epdc_pix"; ++ status = "disabled"; + }; + + lcdif: lcdif@020f8000 { + reg = <0x020f8000 0x4000>; +- interrupts = <0 39 0x04>; ++ interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; + }; + }; + + aips2: aips-bus@02100000 { ++ mipi_dsi: mipi@021e0000 { ++ compatible = "fsl,imx6dl-mipi-dsi"; ++ reg = <0x021e0000 0x4000>; ++ interrupts = <0 102 0x04>; ++ gpr = <&gpr>; ++ clocks = <&clks IMX6QDL_CLK_HSI_TX>, <&clks IMX6QDL_CLK_VIDEO_27M>; ++ clock-names = "mipi_pllref_clk", "mipi_cfg_clk"; ++ status = "disabled"; ++ }; ++ + i2c4: i2c@021f8000 { + #address-cells = <1>; + #size-cells = <0>; +- compatible = "fsl,imx1-i2c"; ++ compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; + reg = <0x021f8000 0x4000>; +- interrupts = <0 35 0x04>; ++ interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; ++ clocks = <&clks IMX6DL_CLK_I2C4>; + status = "disabled"; + }; + }; +@@ -73,18 +177,18 @@ + }; + + &ldb { +- clocks = <&clks 33>, <&clks 34>, +- <&clks 39>, <&clks 40>, +- <&clks 135>, <&clks 136>; +- clock-names = "di0_pll", "di1_pll", +- "di0_sel", "di1_sel", +- "di0", "di1"; +- +- lvds-channel@0 { +- crtcs = <&ipu1 0>, <&ipu1 1>; +- }; ++ compatible = "fsl,imx6dl-ldb", "fsl,imx53-ldb"; + +- lvds-channel@1 { +- crtcs = <&ipu1 0>, <&ipu1 1>; +- }; ++ clocks = <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>, ++ <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>, ++ <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, ++ <&clks IMX6QDL_CLK_LDB_DI0_DIV_3_5>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_3_5>, ++ <&clks IMX6QDL_CLK_LDB_DI0_DIV_7>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_7>, ++ <&clks IMX6QDL_CLK_LDB_DI0_DIV_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_SEL>; ++ clock-names = "ldb_di0", "ldb_di1", ++ "di0_sel", "di1_sel", ++ "di2_sel", ++ "ldb_di0_div_3_5", "ldb_di1_div_3_5", ++ "ldb_di0_div_7", "ldb_di1_div_7", ++ "ldb_di0_div_sel", "ldb_di1_div_sel"; + }; +diff -Nur linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-hummingboard2.dts linux-3.14.72/arch/arm/boot/dts/imx6dl-hummingboard2.dts +--- linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-hummingboard2.dts 1970-01-01 01:00:00.000000000 +0100 ++++ linux-3.14.72/arch/arm/boot/dts/imx6dl-hummingboard2.dts 2016-06-19 22:11:55.009158180 +0200 +@@ -0,0 +1,52 @@ ++/* ++ * Device Tree file for SolidRun HummingBoard2 ++ * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com> ++ * Based on work by Russell King ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License. ++ * ++ * This file is distributed in the hope that it will be useful ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++/dts-v1/; ++ ++#include "imx6dl.dtsi" ++#include "imx6qdl-hummingboard2.dtsi" ++ ++/ { ++ model = "SolidRun HummingBoard2 Solo/DualLite"; ++ compatible = "solidrun,hummingboard2/dl", "fsl,imx6dl"; ++}; +diff -Nur linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-hummingboard.dts linux-3.14.72/arch/arm/boot/dts/imx6dl-hummingboard.dts +--- linux-3.14.72.orig/arch/arm/boot/dts/imx6dl-hummingboard.dts 2016-06-08 02:22:20.000000000 +0200 ++++ linux-3.14.72/arch/arm/boot/dts/imx6dl-hummingboard.dts 2016-06-19 22:11:55.013158022 +0200 +@@ -1,163 +1,51 @@ + /* +- * Copyright (C) 2013,2014 Russell King ++ * Copyright (C) 2014 Rabeeh Khoury (rabeeh@solid-run.com) ++ * Based on dt work by Russell King ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License. ++ * ++ * This file is distributed in the hope that it will be useful ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. + */ + /dts-v1/; + + #include "imx6dl.dtsi" +-#include "imx6qdl-microsom.dtsi" +-#include "imx6qdl-microsom-ar8035.dtsi" ++#include "imx6qdl-hummingboard.dtsi" + + / { +- model = "SolidRun HummingBoard DL/Solo"; +- compatible = "solidrun,hummingboard", "fsl,imx6dl"; +- +- ir_recv: ir-receiver { +- compatible = "gpio-ir-receiver"; +- gpios = <&gpio1 2 1>; +- pinctrl-names = "default"; +- pinctrl-0 = <&pinctrl_hummingboard_gpio1_2>; +- }; +- +- regulators { +- compatible = "simple-bus"; +- +- reg_3p3v: 3p3v { +- compatible = "regulator-fixed"; +- regulator-name = "3P3V"; +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- regulator-always-on; +- }; +- +- reg_usbh1_vbus: usb-h1-vbus { +- compatible = "regulator-fixed"; +- enable-active-high; +- gpio = <&gpio1 0 0>; +- pinctrl-names = "default"; +- pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>; +- regulator-name = "usb_h1_vbus"; +- regulator-min-microvolt = <5000000>; +- regulator-max-microvolt = <5000000>; +- }; +- +- reg_usbotg_vbus: usb-otg-vbus { +- compatible = "regulator-fixed"; +- enable-active-high; +- gpio = <&gpio3 22 0>; +- pinctrl-names = "default"; +- pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>; +- regulator-name = "usb_otg_vbus"; +- regulator-min-microvolt = <5000000>; +- regulator-max-microvolt = <5000000>; +- }; +- }; +- +- sound-spdif { +- compatible = "fsl,imx-audio-spdif"; +- model = "imx-spdif"; +- /* IMX6 doesn't implement t |