diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-07-24 18:27:42 -0500 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-07-24 18:27:57 -0500 |
commit | a2a885ed6083aaa39da31f80da2dadecc60f0a73 (patch) | |
tree | 058dda26d25248f30a70c08a2bb8ba46cdb5de16 | |
parent | 4380a203beb6172d0953c865a9efe791a3852cea (diff) |
add experimental kernel for solidrun devices, to check kodi audio
-rw-r--r-- | mk/kernel-ver.mk | 6 | ||||
-rw-r--r-- | target/arm/solidrun-imx6/patches/3.14.36/0001-solidrun-openelec.patch | 429704 | ||||
-rw-r--r-- | target/config/Config.in.kernelversion.choice | 9 | ||||
-rw-r--r-- | target/config/Config.in.kernelversion.default | 1 |
4 files changed, 429720 insertions, 0 deletions
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index df4bd85de..7a06e4cf9 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -22,6 +22,12 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 KERNEL_HASH:= 8c745b47b3ae0631b2e59423dc255dccbc64d599f9183b390b442dd500e5cb49 endif +ifeq ($(ADK_KERNEL_VERSION_3_14_36),y) +KERNEL_VERSION:= 3.14.36 +KERNEL_MOD_VERSION:= $(KERNEL_VERSION) +KERNEL_RELEASE:= 1 +KERNEL_HASH:= 19d0e157ae36fb6f0789fe4cd7b0b6c67856cfc1995605076b74eff10718f40e +endif ifeq ($(ADK_KERNEL_VERSION_3_12_44),y) KERNEL_VERSION:= 3.12.44 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) diff --git a/target/arm/solidrun-imx6/patches/3.14.36/0001-solidrun-openelec.patch b/target/arm/solidrun-imx6/patches/3.14.36/0001-solidrun-openelec.patch new file mode 100644 index 000000000..ef2c8ed0c --- /dev/null +++ b/target/arm/solidrun-imx6/patches/3.14.36/0001-solidrun-openelec.patch @@ -0,0 +1,429704 @@ +diff -Nur linux-3.14.36/arch/arm/boot/dts/clcd-panels.dtsi linux-openelec/arch/arm/boot/dts/clcd-panels.dtsi +--- linux-3.14.36/arch/arm/boot/dts/clcd-panels.dtsi 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/clcd-panels.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -0,0 +1,52 @@ ++/* ++ * ARM Ltd. Versatile Express ++ * ++ */ ++ ++/ { ++ panels { ++ panel@0 { ++ compatible = "panel"; ++ mode = "VGA"; ++ refresh = <60>; ++ xres = <640>; ++ yres = <480>; ++ pixclock = <39721>; ++ left_margin = <40>; ++ right_margin = <24>; ++ upper_margin = <32>; ++ lower_margin = <11>; ++ hsync_len = <96>; ++ vsync_len = <2>; ++ sync = <0>; ++ vmode = "FB_VMODE_NONINTERLACED"; ++ ++ tim2 = "TIM2_BCD", "TIM2_IPC"; ++ cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)"; ++ caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888"; ++ bpp = <16>; ++ }; ++ ++ panel@1 { ++ compatible = "panel"; ++ mode = "XVGA"; ++ refresh = <60>; ++ xres = <1024>; ++ yres = <768>; ++ pixclock = <15748>; ++ left_margin = <152>; ++ right_margin = <48>; ++ upper_margin = <23>; ++ lower_margin = <3>; ++ hsync_len = <104>; ++ vsync_len = <4>; ++ sync = <0>; ++ vmode = "FB_VMODE_NONINTERLACED"; ++ ++ tim2 = "TIM2_BCD", "TIM2_IPC"; ++ cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)"; ++ caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888"; ++ bpp = <16>; ++ }; ++ }; ++}; +diff -Nur linux-3.14.36/arch/arm/boot/dts/efm32gg-dk3750.dts linux-openelec/arch/arm/boot/dts/efm32gg-dk3750.dts +--- linux-3.14.36/arch/arm/boot/dts/efm32gg-dk3750.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/efm32gg-dk3750.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -26,7 +26,7 @@ + }; + + i2c@4000a000 { +- location = <3>; ++ efm32,location = <3>; + status = "ok"; + + temp@48 { +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx23.dtsi linux-openelec/arch/arm/boot/dts/imx23.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx23.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx23.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -363,7 +363,8 @@ + compatible = "fsl,imx23-lcdif"; + reg = <0x80030000 2000>; + interrupts = <46 45>; +- clocks = <&clks 38>; ++ clocks = <&clks 38>, <&clks 38>; ++ clock-names = "pix", "axi"; + status = "disabled"; + }; + +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx25.dtsi linux-openelec/arch/arm/boot/dts/imx25.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx25.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx25.dtsi 2015-07-24 18:03:29.476842002 -0500 +@@ -13,6 +13,7 @@ + + / { + aliases { ++ ethernet0 = &fec; + gpio0 = &gpio1; + gpio1 = &gpio2; + gpio2 = &gpio3; +@@ -56,6 +57,7 @@ + + osc { + compatible = "fsl,imx-osc", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <24000000>; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx25.dtsi.orig linux-openelec/arch/arm/boot/dts/imx25.dtsi.orig +--- linux-3.14.36/arch/arm/boot/dts/imx25.dtsi.orig 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/imx25.dtsi.orig 2015-07-24 18:03:29.376842002 -0500 +@@ -0,0 +1,543 @@ ++/* ++ * Copyright 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de> ++ * ++ * 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 ++ */ ++ ++#include "skeleton.dtsi" ++ ++/ { ++ aliases { ++ ethernet0 = &fec; ++ gpio0 = &gpio1; ++ gpio1 = &gpio2; ++ gpio2 = &gpio3; ++ gpio3 = &gpio4; ++ i2c0 = &i2c1; ++ i2c1 = &i2c2; ++ i2c2 = &i2c3; ++ serial0 = &uart1; ++ serial1 = &uart2; ++ serial2 = &uart3; ++ serial3 = &uart4; ++ serial4 = &uart5; ++ spi0 = &spi1; ++ spi1 = &spi2; ++ spi2 = &spi3; ++ usb0 = &usbotg; ++ usb1 = &usbhost1; ++ ethernet0 = &fec; ++ }; ++ ++ cpus { ++ #address-cells = <0>; ++ #size-cells = <0>; ++ ++ cpu { ++ compatible = "arm,arm926ej-s"; ++ device_type = "cpu"; ++ }; ++ }; ++ ++ asic: asic-interrupt-controller@68000000 { ++ compatible = "fsl,imx25-asic", "fsl,avic"; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ reg = <0x68000000 0x8000000>; ++ }; ++ ++ clocks { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ osc { ++ compatible = "fsl,imx-osc", "fixed-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <24000000>; ++ }; ++ }; ++ ++ soc { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "simple-bus"; ++ interrupt-parent = <&asic>; ++ ranges; ++ ++ aips@43f00000 { /* AIPS1 */ ++ compatible = "fsl,aips-bus", "simple-bus"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x43f00000 0x100000>; ++ ranges; ++ ++ i2c1: i2c@43f80000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; ++ reg = <0x43f80000 0x4000>; ++ clocks = <&clks 48>; ++ clock-names = ""; ++ interrupts = <3>; ++ status = "disabled"; ++ }; ++ ++ i2c3: i2c@43f84000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; ++ reg = <0x43f84000 0x4000>; ++ clocks = <&clks 48>; ++ clock-names = ""; ++ interrupts = <10>; ++ status = "disabled"; ++ }; ++ ++ can1: can@43f88000 { ++ compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan"; ++ reg = <0x43f88000 0x4000>; ++ interrupts = <43>; ++ clocks = <&clks 75>, <&clks 75>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ can2: can@43f8c000 { ++ compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan"; ++ reg = <0x43f8c000 0x4000>; ++ interrupts = <44>; ++ clocks = <&clks 76>, <&clks 76>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ uart1: serial@43f90000 { ++ compatible = "fsl,imx25-uart", "fsl,imx21-uart"; ++ reg = <0x43f90000 0x4000>; ++ interrupts = <45>; ++ clocks = <&clks 120>, <&clks 57>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ uart2: serial@43f94000 { ++ compatible = "fsl,imx25-uart", "fsl,imx21-uart"; ++ reg = <0x43f94000 0x4000>; ++ interrupts = <32>; ++ clocks = <&clks 121>, <&clks 57>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ i2c2: i2c@43f98000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; ++ reg = <0x43f98000 0x4000>; ++ clocks = <&clks 48>; ++ clock-names = ""; ++ interrupts = <4>; ++ status = "disabled"; ++ }; ++ ++ owire@43f9c000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0x43f9c000 0x4000>; ++ clocks = <&clks 51>; ++ clock-names = ""; ++ interrupts = <2>; ++ status = "disabled"; ++ }; ++ ++ spi1: cspi@43fa4000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; ++ reg = <0x43fa4000 0x4000>; ++ clocks = <&clks 78>, <&clks 78>; ++ clock-names = "ipg", "per"; ++ interrupts = <14>; ++ status = "disabled"; ++ }; ++ ++ kpp@43fa8000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0x43fa8000 0x4000>; ++ clocks = <&clks 102>; ++ clock-names = ""; ++ interrupts = <24>; ++ status = "disabled"; ++ }; ++ ++ iomuxc@43fac000{ ++ compatible = "fsl,imx25-iomuxc"; ++ reg = <0x43fac000 0x4000>; ++ }; ++ ++ audmux@43fb0000 { ++ compatible = "fsl,imx25-audmux", "fsl,imx31-audmux"; ++ reg = <0x43fb0000 0x4000>; ++ status = "disabled"; ++ }; ++ }; ++ ++ spba@50000000 { ++ compatible = "fsl,spba-bus", "simple-bus"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x50000000 0x40000>; ++ ranges; ++ ++ spi3: cspi@50004000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; ++ reg = <0x50004000 0x4000>; ++ interrupts = <0>; ++ clocks = <&clks 80>, <&clks 80>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ uart4: serial@50008000 { ++ compatible = "fsl,imx25-uart", "fsl,imx21-uart"; ++ reg = <0x50008000 0x4000>; ++ interrupts = <5>; ++ clocks = <&clks 123>, <&clks 57>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ uart3: serial@5000c000 { ++ compatible = "fsl,imx25-uart", "fsl,imx21-uart"; ++ reg = <0x5000c000 0x4000>; ++ interrupts = <18>; ++ clocks = <&clks 122>, <&clks 57>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ spi2: cspi@50010000 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; ++ reg = <0x50010000 0x4000>; ++ clocks = <&clks 79>, <&clks 79>; ++ clock-names = "ipg", "per"; ++ interrupts = <13>; ++ status = "disabled"; ++ }; ++ ++ ssi2: ssi@50014000 { ++ compatible = "fsl,imx25-ssi", "fsl,imx21-ssi"; ++ reg = <0x50014000 0x4000>; ++ interrupts = <11>; ++ status = "disabled"; ++ }; ++ ++ esai@50018000 { ++ reg = <0x50018000 0x4000>; ++ interrupts = <7>; ++ }; ++ ++ uart5: serial@5002c000 { ++ compatible = "fsl,imx25-uart", "fsl,imx21-uart"; ++ reg = <0x5002c000 0x4000>; ++ interrupts = <40>; ++ clocks = <&clks 124>, <&clks 57>; ++ clock-names = "ipg", "per"; ++ status = "disabled"; ++ }; ++ ++ tsc: tsc@50030000 { ++ compatible = "fsl,imx25-adc", "fsl,imx21-tsc"; ++ reg = <0x50030000 0x4000>; ++ interrupts = <46>; ++ clocks = <&clks 119>; ++ clock-names = "ipg"; ++ status = "disabled"; ++ }; ++ ++ ssi1: ssi@50034000 { ++ compatible = "fsl,imx25-ssi", "fsl,imx21-ssi"; ++ reg = <0x50034000 0x4000>; ++ interrupts = <12>; ++ status = "disabled"; ++ }; ++ ++ fec: ethernet@50038000 { ++ compatible = "fsl,imx25-fec"; ++ reg = <0x50038000 0x4000>; ++ interrupts = <57>; ++ clocks = <&clks 88>, <&clks 65>; ++ clock-names = "ipg", "ahb"; ++ status = "disabled"; ++ }; ++ }; ++ ++ aips@53f00000 { /* AIPS2 */ ++ compatible = "fsl,aips-bus", "simple-bus"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x53f00000 0x100000>; ++ ranges; ++ ++ clks: ccm@53f80000 { ++ compatible = "fsl,imx25-ccm"; ++ reg = <0x53f80000 0x4000>; ++ interrupts = <31>; ++ #clock-cells = <1>; ++ }; ++ ++ gpt4: timer@53f84000 { ++ compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; ++ reg = <0x53f84000 0x4000>; ++ clocks = <&clks 9>, <&clks 45>; ++ clock-names = "ipg", "per"; ++ interrupts = <1>; ++ }; ++ ++ gpt3: timer@53f88000 { ++ compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; ++ reg = <0x53f88000 0x4000>; ++ clocks = <&clks 9>, <&clks 47>; ++ clock-names = "ipg", "per"; ++ interrupts = <29>; ++ }; ++ ++ gpt2: timer@53f8c000 { ++ compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; ++ reg = <0x53f8c000 0x4000>; ++ clocks = <&clks 9>, <&clks 47>; ++ clock-names = "ipg", "per"; ++ interrupts = <53>; ++ }; ++ ++ gpt1: timer@53f90000 { ++ compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; ++ reg = <0x53f90000 0x4000>; ++ clocks = <&clks 9>, <&clks 47>; ++ clock-names = "ipg", "per"; ++ interrupts = <54>; ++ }; ++ ++ epit1: timer@53f94000 { ++ compatible = "fsl,imx25-epit"; ++ reg = <0x53f94000 0x4000>; ++ interrupts = <28>; ++ }; ++ ++ epit2: timer@53f98000 { ++ compatible = "fsl,imx25-epit"; ++ reg = <0x53f98000 0x4000>; ++ interrupts = <27>; ++ }; ++ ++ gpio4: gpio@53f9c000 { ++ compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; ++ reg = <0x53f9c000 0x4000>; ++ interrupts = <23>; ++ gpio-controller; ++ #gpio-cells = <2>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ }; ++ ++ pwm2: pwm@53fa0000 { ++ compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; ++ #pwm-cells = <2>; ++ reg = <0x53fa0000 0x4000>; ++ clocks = <&clks 106>, <&clks 36>; ++ clock-names = "ipg", "per"; ++ interrupts = <36>; ++ }; ++ ++ gpio3: gpio@53fa4000 { ++ compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; ++ reg = <0x53fa4000 0x4000>; ++ interrupts = <16>; ++ gpio-controller; ++ #gpio-cells = <2>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ }; ++ ++ pwm3: pwm@53fa8000 { ++ compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; ++ #pwm-cells = <2>; ++ reg = <0x53fa8000 0x4000>; ++ clocks = <&clks 107>, <&clks 36>; ++ clock-names = "ipg", "per"; ++ interrupts = <41>; ++ }; ++ ++ esdhc1: esdhc@53fb4000 { ++ compatible = "fsl,imx25-esdhc"; ++ reg = <0x53fb4000 0x4000>; ++ interrupts = <9>; ++ clocks = <&clks 86>, <&clks 63>, <&clks 45>; ++ clock-names = "ipg", "ahb", "per"; ++ status = "disabled"; ++ }; ++ ++ esdhc2: esdhc@53fb8000 { ++ compatible = "fsl,imx25-esdhc"; ++ reg = <0x53fb8000 0x4000>; ++ interrupts = <8>; ++ clocks = <&clks 87>, <&clks 64>, <&clks 46>; ++ clock-names = "ipg", "ahb", "per"; ++ status = "disabled"; ++ }; ++ ++ lcdc: lcdc@53fbc000 { ++ compatible = "fsl,imx25-fb", "fsl,imx21-fb"; ++ reg = <0x53fbc000 0x4000>; ++ interrupts = <39>; ++ clocks = <&clks 103>, <&clks 66>, <&clks 49>; ++ clock-names = "ipg", "ahb", "per"; ++ status = "disabled"; ++ }; ++ ++ slcdc@53fc0000 { ++ reg = <0x53fc0000 0x4000>; ++ interrupts = <38>; ++ status = "disabled"; ++ }; ++ ++ pwm4: pwm@53fc8000 { ++ compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; ++ reg = <0x53fc8000 0x4000>; ++ clocks = <&clks 108>, <&clks 36>; ++ clock-names = "ipg", "per"; ++ interrupts = <42>; ++ }; ++ ++ gpio1: gpio@53fcc000 { ++ compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; ++ reg = <0x53fcc000 0x4000>; ++ interrupts = <52>; ++ gpio-controller; ++ #gpio-cells = <2>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ }; ++ ++ gpio2: gpio@53fd0000 { ++ compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; ++ reg = <0x53fd0000 0x4000>; ++ interrupts = <51>; ++ gpio-controller; ++ #gpio-cells = <2>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ }; ++ ++ sdma@53fd4000 { ++ compatible = "fsl,imx25-sdma", "fsl,imx35-sdma"; ++ reg = <0x53fd4000 0x4000>; ++ clocks = <&clks 112>, <&clks 68>; ++ clock-names = "ipg", "ahb"; ++ #dma-cells = <3>; ++ interrupts = <34>; ++ }; ++ ++ wdog@53fdc000 { ++ compatible = "fsl,imx25-wdt", "fsl,imx21-wdt"; ++ reg = <0x53fdc000 0x4000>; ++ clocks = <&clks 126>; ++ clock-names = ""; ++ interrupts = <55>; ++ }; ++ ++ pwm1: pwm@53fe0000 { ++ compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; ++ #pwm-cells = <2>; ++ reg = <0x53fe0000 0x4000>; ++ clocks = <&clks 105>, <&clks 36>; ++ clock-names = "ipg", "per"; ++ interrupts = <26>; ++ }; ++ ++ iim: iim@53ff0000 { ++ compatible = "fsl,imx25-iim", "fsl,imx27-iim"; ++ reg = <0x53ff0000 0x4000>; ++ interrupts = <19>; ++ clocks = <&clks 99>; ++ }; ++ ++ usbphy1: usbphy@1 { ++ compatible = "nop-usbphy"; ++ status = "disabled"; ++ }; ++ ++ usbphy2: usbphy@2 { ++ compatible = "nop-usbphy"; ++ status = "disabled"; ++ }; ++ ++ usbotg: usb@53ff4000 { ++ compatible = "fsl,imx25-usb", "fsl,imx27-usb"; ++ reg = <0x53ff4000 0x0200>; ++ interrupts = <37>; ++ clocks = <&clks 9>, <&clks 70>, <&clks 8>; ++ clock-names = "ipg", "ahb", "per"; ++ fsl,usbmisc = <&usbmisc 0>; ++ status = "disabled"; ++ }; ++ ++ usbhost1: usb@53ff4400 { ++ compatible = "fsl,imx25-usb", "fsl,imx27-usb"; ++ reg = <0x53ff4400 0x0200>; ++ interrupts = <35>; ++ clocks = <&clks 9>, <&clks 70>, <&clks 8>; ++ clock-names = "ipg", "ahb", "per"; ++ fsl,usbmisc = <&usbmisc 1>; ++ status = "disabled"; ++ }; ++ ++ usbmisc: usbmisc@53ff4600 { ++ #index-cells = <1>; ++ compatible = "fsl,imx25-usbmisc"; ++ clocks = <&clks 9>, <&clks 70>, <&clks 8>; ++ clock-names = "ipg", "ahb", "per"; ++ reg = <0x53ff4600 0x00f>; ++ status = "disabled"; ++ }; ++ ++ dryice@53ffc000 { ++ compatible = "fsl,imx25-dryice", "fsl,imx25-rtc"; ++ reg = <0x53ffc000 0x4000>; ++ clocks = <&clks 81>; ++ clock-names = "ipg"; ++ interrupts = <25>; ++ }; ++ }; ++ ++ emi@80000000 { ++ compatible = "fsl,emi-bus", "simple-bus"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0x80000000 0x3b002000>; ++ ranges; ++ ++ nfc: nand@bb000000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ compatible = "fsl,imx25-nand"; ++ reg = <0xbb000000 0x2000>; ++ clocks = <&clks 50>; ++ clock-names = ""; ++ interrupts = <33>; ++ status = "disabled"; ++ }; ++ }; ++ }; ++}; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx25-karo-tx25.dts linux-openelec/arch/arm/boot/dts/imx25-karo-tx25.dts +--- linux-3.14.36/arch/arm/boot/dts/imx25-karo-tx25.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx25-karo-tx25.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -16,6 +16,10 @@ + model = "Ka-Ro TX25"; + compatible = "karo,imx25-tx25", "fsl,imx25"; + ++ chosen { ++ stdout-path = &uart1; ++ }; ++ + memory { + reg = <0x80000000 0x02000000 0x90000000 0x02000000>; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx27-apf27.dts linux-openelec/arch/arm/boot/dts/imx27-apf27.dts +--- linux-3.14.36/arch/arm/boot/dts/imx27-apf27.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx27-apf27.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -29,6 +29,7 @@ + + osc26m { + compatible = "fsl,imx-osc26m", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <0>; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx27.dtsi linux-openelec/arch/arm/boot/dts/imx27.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx27.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx27.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -13,6 +13,7 @@ + + / { + aliases { ++ ethernet0 = &fec; + gpio0 = &gpio1; + gpio1 = &gpio2; + gpio2 = &gpio3; +@@ -46,6 +47,7 @@ + + osc26m { + compatible = "fsl,imx-osc26m", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <26000000>; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dts linux-openelec/arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dts +--- linux-3.14.36/arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -15,6 +15,10 @@ + model = "Phytec pca100 rapid development kit"; + compatible = "phytec,imx27-pca100-rdk", "phytec,imx27-pca100", "fsl,imx27"; + ++ chosen { ++ stdout-path = &uart1; ++ }; ++ + display: display { + model = "Primeview-PD050VL1"; + native-mode = <&timing0>; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx28.dtsi linux-openelec/arch/arm/boot/dts/imx28.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx28.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx28.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -840,7 +840,8 @@ + compatible = "fsl,imx28-lcdif"; + reg = <0x80030000 0x2000>; + interrupts = <38>; +- clocks = <&clks 55>; ++ clocks = <&clks 55>, <&clks 55>; ++ clock-names = "pix", "axi"; + dmas = <&dma_apbh 13>; + dma-names = "rx"; + status = "disabled"; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx51-babbage.dts linux-openelec/arch/arm/boot/dts/imx51-babbage.dts +--- linux-3.14.36/arch/arm/boot/dts/imx51-babbage.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx51-babbage.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -17,6 +17,10 @@ + model = "Freescale i.MX51 Babbage Board"; + compatible = "fsl,imx51-babbage", "fsl,imx51"; + ++ chosen { ++ stdout-path = &uart1; ++ }; ++ + memory { + reg = <0x90000000 0x20000000>; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx51.dtsi linux-openelec/arch/arm/boot/dts/imx51.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx51.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx51.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -15,6 +15,7 @@ + + / { + aliases { ++ ethernet0 = &fec; + gpio0 = &gpio1; + gpio1 = &gpio2; + gpio2 = &gpio3; +@@ -43,21 +44,25 @@ + + ckil { + compatible = "fsl,imx-ckil", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <32768>; + }; + + ckih1 { + compatible = "fsl,imx-ckih1", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <0>; + }; + + ckih2 { + compatible = "fsl,imx-ckih2", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <0>; + }; + + osc { + compatible = "fsl,imx-osc", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <24000000>; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx53.dtsi linux-openelec/arch/arm/boot/dts/imx53.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx53.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx53.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -15,6 +15,7 @@ + + / { + aliases { ++ ethernet0 = &fec; + gpio0 = &gpio1; + gpio1 = &gpio2; + gpio2 = &gpio3; +@@ -59,21 +60,25 @@ + + ckil { + compatible = "fsl,imx-ckil", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <32768>; + }; + + ckih1 { + compatible = "fsl,imx-ckih1", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <22579200>; + }; + + ckih2 { + compatible = "fsl,imx-ckih2", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <0>; + }; + + osc { + compatible = "fsl,imx-osc", "fixed-clock"; ++ #clock-cells = <0>; + clock-frequency = <24000000>; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx53-mba53.dts linux-openelec/arch/arm/boot/dts/imx53-mba53.dts +--- linux-3.14.36/arch/arm/boot/dts/imx53-mba53.dts 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx53-mba53.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -25,6 +25,10 @@ + enable-active-low; + }; + ++ chosen { ++ stdout-path = &uart2; ++ }; ++ + backlight { + compatible = "pwm-backlight"; + pwms = <&pwm2 0 50000>; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts linux-openelec/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts +--- linux-3.14.36/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -0,0 +1,23 @@ ++/* ++ * Copyright 2013 Sascha Hauer <s.hauer@pengutronix.de> ++ * ++ * 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 ++ */ ++ ++#ifndef __DTS_V1__ ++#define __DTS_V1__ ++/dts-v1/; ++#endif ++ ++#include "imx6dl.dtsi" ++#include "imx6qdl-dfi-fs700-m60.dtsi" ++ ++/ { ++ model = "DFI FS700-M60-6DL i.MX6dl Q7 Board"; ++ compatible = "dfi,fs700-m60-6dl", "dfi,fs700e-m60", "fsl,imx6dl"; ++}; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx6dl.dtsi linux-openelec/arch/arm/boot/dts/imx6dl.dtsi +--- linux-3.14.36/arch/arm/boot/dts/imx6dl.dtsi 2015-03-18 07:31:43.000000000 -0500 ++++ linux-openelec/arch/arm/boot/dts/imx6dl.dtsi 2015-05-06 12:05:43.000000000 -0500 +@@ -8,6 +8,7 @@ + * + */ + ++#include <dt-bindings/interrupt-controller/irq.h> + #include "imx6dl-pinfunc.h" + #include "imx6qdl.dtsi" + +@@ -21,6 +22,26 @@ + device_type = "cpu"; + reg = <0>; + next-level-cache = <&L2>; ++ operating-points = < ++ /* kHz uV */ ++ 996000 1275000 ++ 792000 1175000 ++ 396000 1075000 ++ >; ++ fsl,soc-operating-points = < ++ /* ARM kHz SOC-PU uV */ ++ 996000 1175000 ++ 792000 1175000 ++ 396000 1175000 ++ >; ++ clock-latency = <61036>; /* two CLK32 periods */ ++ clocks = <&clks 104>, <&clks 6>, <&clks 16>, ++ <&clks 17>, <&clks 170>; ++ clock-names = "arm", "pll2_pfd2_396m", "step", ++ "pll1_sw", "pll1_sys"; ++ arm-supply = <®_arm>; ++ pu-supply = <®_pu>; ++ soc-supply = <®_soc>; + }; + + cpu@1 { +@@ -32,40 +53,124 @@ + }; + + soc { ++ ++ busfreq { /* BUSFREQ */ ++ compatible = "fsl,imx6_busfreq"; ++ clocks = <&clks 171>, <&clks 6>, <&clks 11>, <&clks 104>, <&clks 172>, <&clks 58>, ++ <&clks 18>, <&clks 60>, <&clks 20>, <&clks 3>, <&clks 22> , <&clks 8>; ++ clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph", ++ "periph_pre", "periph_clk2", "periph_clk2_sel", "osc", "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 0x04>, <0 10 0x04>; ++ interrupt-names = "irq_3d", "irq_2d"; ++ clocks = <&clks 143>, <&clks 27>, ++ <&clks 121>, <&clks 122>, ++ <&clks 0>; ++ clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk", ++ "gpu2d_clk", "gpu3d_clk", ++ "gpu3d_shader_clk"; ++ resets = <&src 0>, <&src 3>; ++ reset-names = "gpu3d", "gpu2d"; ++ pu-supply = <®_pu>; ++ }; ++ + ocram: sram@00900000 { + compatible = "mmio-sram"; + reg = <0x00900000 0x20000>; + clocks = <&clks 142>; + }; + ++ hdmi_core: hdmi_core@00120000 { ++ compatible = "fsl,imx6dl-hdmi-core"; ++ reg = <0x00120000 0x9000>; ++ clocks = <&clks 124>, <&clks 123>; ++ clock-names = "hdmi_isfr", "hdmi_iahb"; ++ status = "disabled"; ++ }; ++ ++ hdmi_video: hdmi_video@020e0000 { ++ compatible = "fsl,imx6dl-hdmi-video"; ++ reg = <0x020e0000 0x1000>; ++ reg-names = "hdmi_gpr"; ++ interrupts = <0 115 0x04>; ++ clocks = <&clks 124>, <&clks 123>; ++ clock-names = "hdmi_isfr", "hdmi_iahb"; ++ status = "disabled"; ++ }; ++ ++ hdmi_audio: hdmi_audio@00120000 { ++ compatible = "fsl,imx6dl-hdmi-audio"; ++ clocks = <&clks 124>, <&clks 123>; ++ clock-names = "hdmi_isfr", "hdmi_iahb"; ++ dmas = <&sdma 2 23 0>; ++ dma-names = "tx"; ++ status = "disabled"; ++ }; ++ ++ hdmi_cec: hdmi_cec@00120000 { ++ compatible = "fsl,imx6dl-hdmi-cec"; ++ interrupts = <0 115 0x04>; ++ status = "disabled"; ++ }; ++ + aips1: aips-bus@02000000 { ++ vpu@02040000 { ++ iramsize = <0>; ++ status = "okay"; ++ }; ++ + iomuxc: iomuxc@020e0000 { + compatible = "fsl,imx6dl-iomuxc"; + }; + + pxp: pxp@020f0000 { ++ compatible = "fsl,imx6dl-pxp-dma"; + reg = <0x020f0000 0x4000>; +- interrupts = <0 98 0x04>; ++ interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; ++ clocks = <&clks 133>; ++ clock-names = "pxp-axi"; ++ status = "disabled"; + }; + + epdc: epdc@020f4000 { + reg = <0x020f4000 0x4000>; +- interrupts = <0 97 0x04>; ++ interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>; + }; + + 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 138>, <&clks 209>; ++ 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 116>; + status = "disabled"; + }; + }; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx6dl-gw51xx.dts linux-openelec/arch/arm/boot/dts/imx6dl-gw51xx.dts +--- linux-3.14.36/arch/arm/boot/dts/imx6dl-gw51xx.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/imx6dl-gw51xx.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -0,0 +1,19 @@ ++/* ++ * Copyright 2013 Gateworks Corporation ++ * ++ * 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-gw51xx.dtsi" ++ ++/ { ++ model = "Gateworks Ventana i.MX6 DualLite GW51XX"; ++ compatible = "gw,imx6dl-gw51xx", "gw,ventana", "fsl,imx6dl"; ++}; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx6dl-gw52xx.dts linux-openelec/arch/arm/boot/dts/imx6dl-gw52xx.dts +--- linux-3.14.36/arch/arm/boot/dts/imx6dl-gw52xx.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/imx6dl-gw52xx.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -0,0 +1,19 @@ ++/* ++ * Copyright 2013 Gateworks Corporation ++ * ++ * 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-gw52xx.dtsi" ++ ++/ { ++ model = "Gateworks Ventana i.MX6 DualLite GW52XX"; ++ compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl"; ++}; +diff -Nur linux-3.14.36/arch/arm/boot/dts/imx6dl-gw53xx.dts linux-openelec/arch/arm/boot/dts/imx6dl-gw53xx.dts +--- linux-3.14.36/arch/arm/boot/dts/imx6dl-gw53xx.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-openelec/arch/arm/boot/dts/imx6dl-gw53xx.dts 2015-05-06 12:05:43.000000000 -0500 +@@ -0,0 +1,19 @@ ++/* ++ * Copyright 2013 Gateworks Corporation + |