Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 16:54:39 +0000 (09:54 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 16:54:39 +0000 (09:54 -0700)
Pull ARM Device-tree updates from Olof Johansson:
 "Device-tree continues to see lots of updates. The majority of patches
  here are smaller changes for new hardware on existing platforms, and
  there are a few larger changes worth pointing out.

  Major new platforms:

   - Gemini has been ported to DT, so a handful of "new" platforms moved
     over from board files

   - Rockchip RK3288 support for Tinkerboard and Phytec phyCORE-RK3288
     SoM and RDK

   - A bunch of embedded platforms, several Linksys platforms, Synology
     DS116,

   - Motorola Droid4 (really old OMAP-based phone) support is added.

  Some refactorings, i.e. Allwinner H3/H5 support is commonalized.

  And lots of smaller changes, cleanups, etc. See shortlog for more
  description

  We're adding ability to cross-include DT files between arm and arm64,
  by creating appropriate links in the dt-include directory, and using
  arm/ and arm64/ as include prefixes. This will avoid other local hacks
  such as per-file links between the two arch trees (this broke for
  external mirroring of DT contents). Now they can just provide their
  own appropriate dt-include hierarcy per platform"

* tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (349 commits)
  ARM: dts: exynos: Use - instead of @ for DT OPP entries
  arm: spear6xx: add DT description of the ADC on SPEAr600
  arm: spear6xx: remove unneeded pinctrl properties in spear600-evb
  arm: spear6xx: switch spear600-evb to the new flash partition DT binding
  arm: spear6xx: fix spaces in spear600-evb.dts
  arm: spear6xx: use node labels in spear600-evb.dts
  arm: spear6xx: add labels to various nodes in spear600.dtsi
  ARM: dts: vexpress: fix few unit address format warnings
  ARM: dts: at91: sama5d3_xplained: not all ADC channels are available
  ARM: dts: at91: sama5d3_xplained: fix ADC vref
  ARM: dts: at91: add envelope detector mux to the Axentia TSE-850
  ARM: dts: armada-38x: label USB and SATA nodes
  ARM: dts: imx6q-utilite-pro: add hpd gpio
  ARM: dts: imx6qp-sabresd: Set reg_arm regulator supply
  ARM: dts: imx6qdl-sabresd: Set LDO regulator supply
  ARM: dts: imx: add Gateworks Ventana GW5903 support
  ARM: dts: i.MX25: add AIPS control registers
  ARM: dts: imx7-colibri: add Carrier Board 3.3V/5V regulators
  ARM: dts: imx7-colibri: remove 1.8V fixed regulator
  ARM: dts: imx7-colibri: allow to disable Ethernet rail
  ...

21 files changed:
1  2 
arch/arm/boot/dts/am57xx-idk-common.dtsi
arch/arm/boot/dts/aspeed-g4.dtsi
arch/arm/boot/dts/aspeed-g5.dtsi
arch/arm/boot/dts/bcm958522er.dts
arch/arm/boot/dts/bcm958525er.dts
arch/arm/boot/dts/bcm958525xmc.dts
arch/arm/boot/dts/bcm958622hr.dts
arch/arm/boot/dts/bcm958623hr.dts
arch/arm/boot/dts/bcm958625hr.dts
arch/arm/boot/dts/bcm988312hr.dts
arch/arm/boot/dts/dra7.dtsi
arch/arm/boot/dts/r7s72100.dtsi
arch/arm/boot/dts/rk3188.dtsi
arch/arm/boot/dts/rk322x.dtsi
arch/arm/boot/dts/sama5d2.dtsi
arch/arm/boot/dts/stih407-family.dtsi
arch/arm/boot/dts/stm32746g-eval.dts
arch/arm/boot/dts/stm32f746.dtsi
arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
arch/arm/boot/dts/sun8i-a23-a33.dtsi
arch/arm/boot/dts/sun8i-a33.dtsi

index e5ac1d81d15c9e482ab06b41830e5230a0187e69,22cdaabc4a8684e5ae389dc293152158d315854c..c536b2f5389f2786930a48eb0f7446311c622121
        };
  };
  
+ &dra7_pmx_core {
+       dcan1_pins_default: dcan1_pins_default {
+               pinctrl-single,pins = <
+                       DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0)        /* dcan1_tx */
+                       DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0)         /* dcan1_rx */
+               >;
+       };
+       dcan1_pins_sleep: dcan1_pins_sleep {
+               pinctrl-single,pins = <
+                       DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
+                       DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
+               >;
+       };
+ };
  &i2c1 {
        status = "okay";
        clock-frequency = <400000>;
                        /* ID & VBUS GPIOs provided in board dts */
                };
        };
 +
 +      tpic2810: tpic2810@60 {
 +              compatible = "ti,tpic2810";
 +              reg = <0x60>;
 +              gpio-controller;
 +              #gpio-cells = <2>;
 +      };
  };
  
  &mcspi3 {
                spi-max-frequency = <1000000>;
                spi-cpol;
        };
 -
 -      tpic2810: tpic2810@60 {
 -              compatible = "ti,tpic2810";
 -              reg = <0x60>;
 -              gpio-controller;
 -              #gpio-cells = <2>;
 -      };
  };
  
  &uart3 {
        bus-width = <8>;
        ti,non-removable;
        max-frequency = <96000000>;
+ };
+ &dcan1 {
+       status = "okay";
+       pinctrl-names = "default", "sleep", "active";
+       pinctrl-0 = <&dcan1_pins_sleep>;
+       pinctrl-1 = <&dcan1_pins_sleep>;
+       pinctrl-2 = <&dcan1_pins_default>;
  };
  
  &qspi {
index c79c937b0a8aab92f2227deb8bf2d756542b57e8,914f6e7354a914b52d80c6693f4bb139b175c209..8c6bc29eb7f695e0c43a1e6a242c20ea11ea177e
                };
        };
  
-       clocks {
-               clk_clkin: clk_clkin {
-                       #clock-cells = <0>;
-                       compatible = "fixed-clock";
-                       clock-frequency = <48000000>;
-               };
-       };
        ahb {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
  
+               fmc: flash-controller@1e620000 {
+                       reg = < 0x1e620000 0x94
+                               0x20000000 0x02000000 >;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "aspeed,ast2400-fmc";
+                       status = "disabled";
+                       interrupts = <19>;
+                       flash@0 {
+                               reg = < 0 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+               };
+               spi: flash-controller@1e630000 {
+                       reg = < 0x1e630000 0x18
+                               0x30000000 0x02000000 >;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "aspeed,ast2400-spi";
+                       status = "disabled";
+                       flash@0 {
+                               reg = < 0 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+               };
                vic: interrupt-controller@1e6c0080 {
                        compatible = "aspeed,ast2400-vic";
                        interrupt-controller;
                };
  
                mac0: ethernet@1e660000 {
 -                      compatible = "faraday,ftgmac100";
 +                      compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
                        reg = <0x1e660000 0x180>;
                        interrupts = <2>;
 -                      no-hw-checksum;
                        status = "disabled";
                };
  
                mac1: ethernet@1e680000 {
 -                      compatible = "faraday,ftgmac100";
 +                      compatible = "aspeed,ast2400-mac", "faraday,ftgmac100";
                        reg = <0x1e680000 0x180>;
                        interrupts = <3>;
 -                      no-hw-checksum;
                        status = "disabled";
                };
  
                        #size-cells = <1>;
                        ranges;
  
-                       clk_hpll: clk_hpll@1e6e2070 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g4-hpll-clock";
-                               reg = <0x1e6e2070 0x4>;
-                               clocks = <&clk_clkin>;
-                       };
                        syscon: syscon@1e6e2000 {
                                compatible = "aspeed,g4-scu", "syscon", "simple-mfd";
                                reg = <0x1e6e2000 0x1a8>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                                 clk_clkin: clk_clkin {
+                                         #clock-cells = <0>;
+                                         compatible = "fixed-clock";
+                                         clock-frequency = <48000000>;
+                                 };
+                                 clk_hpll: clk_hpll@70 {
+                                         #clock-cells = <0>;
+                                         compatible = "aspeed,g4-hpll-clock", "fixed-clock";
+                                         reg = <0x70>;
+                                         clocks = <&clk_clkin>;
+                                         clock-frequency = <384000000>;
+                                 };
+                                 clk_ahb: clk_ahb@70 {
+                                         #clock-cells = <0>;
+                                         compatible = "aspeed,g4-ahb-clock", "fixed-clock";
+                                         reg = <0x70>;
+                                         clocks = <&clk_hpll>;
+                                         clock-frequency = <192000000>;
+                                 };
+                                 clk_apb: clk_apb@08 {
+                                         #clock-cells = <0>;
+                                         compatible = "aspeed,g4-apb-clock", "fixed-clock";
+                                         reg = <0x08>;
+                                         clocks = <&clk_hpll>;
+                                         clock-frequency = <48000000>;
+                                 };
+                                 clk_uart: clk_uart@2c{
+                                         #clock-cells = <0>;
+                                         compatible = "aspeed,g4-uart-clock", "fixed-clock";
+                                         reg = <0x2c>;
+                                         clock-frequency = <24000000>;
+                                 };
  
                                pinctrl: pinctrl {
                                        compatible = "aspeed,g4-pinctrl";
                                };
                        };
  
-                       clk_apb: clk_apb@1e6e2008 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g4-apb-clock";
-                               reg = <0x1e6e2008 0x4>;
-                               clocks = <&clk_hpll>;
-                       };
-                       clk_uart: clk_uart@1e6e2008 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,uart-clock";
-                               reg = <0x1e6e202c 0x4>;
-                       };
                        sram@1e720000 {
                                compatible = "mmio-sram";
                                reg = <0x1e720000 0x8000>;      // 32K
                        };
  
                        wdt1: wdt@1e785000 {
-                               compatible = "aspeed,wdt";
+                               compatible = "aspeed,ast2400-wdt";
                                reg = <0x1e785000 0x1c>;
                                interrupts = <27>;
                        };
  
                        wdt2: wdt@1e785020 {
-                               compatible = "aspeed,wdt";
+                               compatible = "aspeed,ast2400-wdt";
                                reg = <0x1e785020 0x1c>;
                                interrupts = <27>;
                                clocks = <&clk_apb>;
                                no-loopback-test;
                                status = "disabled";
                        };
+                       adc: adc@1e6e9000 {
+                               compatible = "aspeed,ast2400-adc";
+                               reg = <0x1e6e9000 0xb0>;
+                               clocks = <&clk_apb>;
+                               #io-channel-cells = <1>;
+                               status = "disabled";
+                       };
                };
        };
  };
index b6596633036cd3a66c29e0c4c28663980fa7c200,20e2af0ce9c1c724c754d576a892f06063390e1f..a0bea4a6ec7764141e1a62cb8716a1cba5ad6e2e
                #size-cells = <1>;
                ranges;
  
+               fmc: flash-controller@1e620000 {
+                       reg = < 0x1e620000 0xc4
+                               0x20000000 0x10000000 >;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "aspeed,ast2500-fmc";
+                       status = "disabled";
+                       interrupts = <19>;
+                       flash@0 {
+                               reg = < 0 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+                       flash@1 {
+                               reg = < 1 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+                       flash@2 {
+                               reg = < 2 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+               };
+               spi1: flash-controller@1e630000 {
+                       reg = < 0x1e630000 0xc4
+                               0x30000000 0x08000000 >;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "aspeed,ast2500-spi";
+                       status = "disabled";
+                       flash@0 {
+                               reg = < 0 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+                       flash@1 {
+                               reg = < 1 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+               };
+               spi2: flash-controller@1e631000 {
+                       reg = < 0x1e631000 0xc4
+                               0x38000000 0x08000000 >;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "aspeed,ast2500-spi";
+                       status = "disabled";
+                       flash@0 {
+                               reg = < 0 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+                       flash@1 {
+                               reg = < 1 >;
+                               compatible = "jedec,spi-nor";
+                               status = "disabled";
+                       };
+               };
                vic: interrupt-controller@1e6c0080 {
                        compatible = "aspeed,ast2400-vic";
                        interrupt-controller;
                };
  
                mac0: ethernet@1e660000 {
 -                      compatible = "faraday,ftgmac100";
 +                      compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
                        reg = <0x1e660000 0x180>;
                        interrupts = <2>;
 -                      no-hw-checksum;
                        status = "disabled";
                };
  
                mac1: ethernet@1e680000 {
 -                      compatible = "faraday,ftgmac100";
 +                      compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
                        reg = <0x1e680000 0x180>;
                        interrupts = <3>;
 -                      no-hw-checksum;
                        status = "disabled";
                };
  
                        #size-cells = <1>;
                        ranges;
  
-                       clk_clkin: clk_clkin@1e6e2070 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g5-clkin-clock";
-                               reg = <0x1e6e2070 0x04>;
-                       };
                        syscon: syscon@1e6e2000 {
                                compatible = "aspeed,g5-scu", "syscon", "simple-mfd";
                                reg = <0x1e6e2000 0x1a8>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               clk_clkin: clk_clkin@70 {
+                                       #clock-cells = <0>;
+                                       compatible = "aspeed,g5-clkin-clock", "fixed-clock";
+                                       reg = <0x70>;
+                                       clock-frequency = <24000000>;
+                               };
+                               clk_hpll: clk_hpll@24 {
+                                       #clock-cells = <0>;
+                                       compatible = "aspeed,g5-hpll-clock", "fixed-clock";
+                                       reg = <0x24>;
+                                       clocks = <&clk_clkin>;
+                                       clock-frequency = <792000000>;
+                               };
+                               clk_ahb: clk_ahb@70 {
+                                       #clock-cells = <0>;
+                                       compatible = "aspeed,g5-ahb-clock", "fixed-clock";
+                                       reg = <0x70>;
+                                       clocks = <&clk_hpll>;
+                                       clock-frequency = <198000000>;
+                               };
+                               clk_apb: clk_apb@08 {
+                                       #clock-cells = <0>;
+                                       compatible = "aspeed,g5-apb-clock", "fixed-clock";
+                                       reg = <0x08>;
+                                       clocks = <&clk_hpll>;
+                                       clock-frequency = <24750000>;
+                               };
+                               clk_uart: clk_uart@2c {
+                                       #clock-cells = <0>;
+                                       compatible = "aspeed,uart-clock", "fixed-clock";
+                                       reg = <0x2c>;
+                                       clock-frequency = <24000000>;
+                               };
  
                                pinctrl: pinctrl {
                                        compatible = "aspeed,g5-pinctrl";
                                                function = "LAD0";
                                                groups = "LAD0";
                                        };
                                        pinctrl_lad1_default: lad1_default {
                                                function = "LAD1";
                                                groups = "LAD1";
                                        };
  
                                };
-                       };
-                       clk_hpll: clk_hpll@1e6e2024 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g5-hpll-clock";
-                               reg = <0x1e6e2024 0x4>;
-                               clocks = <&clk_clkin>;
-                       };
-                       clk_ahb: clk_ahb@1e6e2070 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g5-ahb-clock";
-                               reg = <0x1e6e2070 0x4>;
-                               clocks = <&clk_hpll>;
-                       };
  
-                       clk_apb: clk_apb@1e6e2008 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,g5-apb-clock";
-                               reg = <0x1e6e2008 0x4>;
-                               clocks = <&clk_hpll>;
-                       };
-                       clk_uart: clk_uart@1e6e2008 {
-                               #clock-cells = <0>;
-                               compatible = "aspeed,uart-clock";
-                               reg = <0x1e6e202c 0x4>;
                        };
  
                        gfx: display@1e6e6000 {
  
  
                        wdt1: wdt@1e785000 {
-                               compatible = "aspeed,wdt";
-                               reg = <0x1e785000 0x1c>;
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785000 0x20>;
                                interrupts = <27>;
                        };
  
                        wdt2: wdt@1e785020 {
-                               compatible = "aspeed,wdt";
-                               reg = <0x1e785020 0x1c>;
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785020 0x20>;
                                interrupts = <27>;
                                status = "disabled";
                        };
  
                        wdt3: wdt@1e785040 {
-                               compatible = "aspeed,wdt";
-                               reg = <0x1e785074 0x1c>;
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785040 0x20>;
                                status = "disabled";
                        };
  
                                no-loopback-test;
                                status = "disabled";
                        };
+                       adc: adc@1e6e9000 {
+                               compatible = "aspeed,ast2500-adc";
+                               reg = <0x1e6e9000 0xb0>;
+                               clocks = <&clk_apb>;
+                               #io-channel-cells = <1>;
+                               status = "disabled";
+                       };
                };
        };
  };
index df05e7f568af3e36bb2aa703d39fdbec37a6cece,3c423840472f6cd98462c761291943bf0a29cd52..f5c42962c20131dcb1c3bdeef6614c5a36456c36
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
  
- /* USB 2/3 support needed to be complete */
+ /* USB 3 support needed to be complete */
  
  &amac0 {
        status = "okay";
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index 4a3ab19c62819fb8c57d9ccf406100b64b15c598,9030771a1347b07c35757bdbc9621103e20d52c2..efcb1f67bdadf7abcb71f625ec7a12aec56e4d9d
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
  
- /* USB 2/3 support needed to be complete */
+ /* USB 3 support needed to be complete */
  
  &amac0 {
        status = "okay";
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index 81f78435d8c76cca38cb777d86e139c7d3751151,75a88324ccae639273a2facf13efaef14cedc918..b335ce02e32f9cdda5282cd5180121daa33ea457
@@@ -55,7 -55,6 +55,7 @@@
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 31 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &i2c0 {
+       status = "okay";
        temperature-sensor@4c {
                compatible = "adi,adt7461a";
                reg = <0x4c>;
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index c88b8fefcb2f13e3c9bd98321948c8988d8e428d,98839a3d99696571fb9b07fce803f695661c611c..16ab2d82a14ba63bf98577786b844795e8a02ed9
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
  
- /* USB 2/3 and SLIC support needed to be complete */
+ /* USB 3 and SLIC support needed to be complete */
  
  &amac0 {
        status = "okay";
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index d503fa0dde310ff7597aeb7d3bfc757bcca32291,54ddb6973c86b6e18ed7205d363c81db06300076..9b921c6aa8f8de19807c9a29d8f72eb404af6a49
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
  
- /* USB 2/3 and SLIC support needed to be complete */
+ /* USB 3 and SLIC support needed to be complete */
  
  &amac0 {
        status = "okay";
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index cc0363b843c1a0ae777efa40a6f2e25b34cf1f4c,9673710861fffeef18a65859120c372dac9a6494..006b08e41a3ba0187412c99108e707df11380dd5
@@@ -55,7 -55,6 +55,7 @@@
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index 74e15a3cd9f8efb6a65238054824ba7e22df0bc2,5dea5657e76259456ca4e0ccd3cda1244e935b9a..bce251a6859163ed13745992f8b4607c1cb24a5e
        gpio-restart {
                compatible = "gpio-restart";
                gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
 +              open-source;
                priority = <200>;
        };
  };
  
- /* USB 2/3 support needed to be complete */
+ /* USB 3 support needed to be complete */
  
  &amac0 {
        status = "okay";
        status = "okay";
  };
  
+ &ehci0 {
+       status = "okay";
+ };
  &nand {
        nandcs@0 {
                compatible = "brcm,nandcs";
        };
  };
  
+ &ohci0 {
+       status = "okay";
+ };
  &pcie0 {
        status = "okay";
  };
index bbfb9d5a70a98116d303844a91c6a65dd42cfb39,093eff94ee80054e8fc0e99d5444e78400a58dce..57892f264ceaee19ac08e4650a01ccd3f1c9866f
                        compatible = "arm,cortex-a15";
                        reg = <0>;
  
-                       operating-points = <
-                               /* kHz    uV */
-                               1000000 1060000
-                               1176000 1160000
-                               >;
+                       operating-points-v2 = <&cpu0_opp_table>;
  
                        clocks = <&dpll_mpu_ck>;
                        clock-names = "cpu";
                };
        };
  
+       cpu0_opp_table: opp-table {
+               compatible = "operating-points-v2-ti-cpu";
+               syscon = <&scm_wkup>;
+               opp_nom@1000000000 {
+                       opp-hz = /bits/ 64 <1000000000>;
+                       opp-microvolt = <1060000 850000 1150000>;
+                       opp-supported-hw = <0xFF 0x01>;
+                       opp-suspend;
+               };
+               opp_od@1176000000 {
+                       opp-hz = /bits/ 64 <1176000000>;
+                       opp-microvolt = <1160000 885000 1160000>;
+                       opp-supported-hw = <0xFF 0x02>;
+               };
+       };
        /*
         * The soc node represents the soc top level view. It is used for IPs
         * that are not memory mapped in the MPU view or for the MPU itself.
                                device_type = "pci";
                                ranges = <0x81000000 0 0          0x03000 0 0x00010000
                                          0x82000000 0 0x20013000 0x13000 0 0xffed000>;
 +                              bus-range = <0x00 0xff>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                linux,pci-domain = <0>;
                                device_type = "pci";
                                ranges = <0x81000000 0 0          0x03000 0 0x00010000
                                          0x82000000 0 0x30013000 0x13000 0 0xffed000>;
 +                              bus-range = <0x00 0xff>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                linux,pci-domain = <1>;
  
  &cpu_thermal {
        polling-delay = <500>; /* milliseconds */
+       coefficients = <0 2000>;
+ };
+ &gpu_thermal {
+       coefficients = <0 2000>;
+ };
+ &core_thermal {
+       coefficients = <0 2000>;
+ };
+ &dspeve_thermal {
+       coefficients = <0 2000>;
+ };
+ &iva_thermal {
+       coefficients = <0 2000>;
  };
  
  /include/ "dra7xx-clocks.dtsi"
index 1cf2bd0380901d1d6f8ec05cfc38e693defaddfe,ab9ced45311891c5e881727ef0a93f0c92c8d18d..0423996e4dccf612a0521546699d17df3ae9c360
                        clock-frequency = <0>;
                };
  
+               rtc_x1_clk: rtc_x1 {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       /* If clk present, value must be set by board to 32678 */
+                       clock-frequency = <0>;
+               };
+               rtc_x3_clk: rtc_x3 {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       /* If clk present, value must be set by board to 4000000 */
+                       clock-frequency = <0>;
+               };
                /* Fixed factor clocks */
                b_clk: b {
                        #clock-cells = <0>;
                        clock-output-names = "ostm0", "ostm1";
                };
  
+               mstp6_clks: mstp6_clks@fcfe042c {
+                       #clock-cells = <1>;
+                       compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
+                       reg = <0xfcfe042c 4>;
+                       clocks = <&p0_clk>;
+                       clock-indices = <R7S72100_CLK_RTC>;
+                       clock-output-names = "rtc";
+               };
                mstp7_clks: mstp7_clks@fcfe0430 {
                        #clock-cells = <1>;
                        compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0xfcfe0430 4>;
-                       clocks = <&p0_clk>;
+                       clocks = <&b_clk>;
                        clock-indices = <R7S72100_CLK_ETHER>;
                        clock-output-names = "ether";
                };
                        #clock-cells = <1>;
                        compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0xfcfe0444 4>;
-                       clocks = <&p1_clk>, <&p1_clk>;
-                       clock-indices = <R7S72100_CLK_SDHI1 R7S72100_CLK_SDHI0>;
-                       clock-output-names = "sdhi1", "sdhi0";
+                       clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>;
+                       clock-indices = <
+                               R7S72100_CLK_SDHI00 R7S72100_CLK_SDHI01
+                               R7S72100_CLK_SDHI10 R7S72100_CLK_SDHI11
+                       >;
+                       clock-output-names = "sdhi00", "sdhi01", "sdhi10", "sdhi11";
                };
        };
  
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        clock-frequency = <400000000>;
 +                      next-level-cache = <&L2>;
                };
        };
  
                        <0xe8202000 0x1000>;
        };
  
 +      L2: cache-controller@3ffff000 {
 +              compatible = "arm,pl310-cache";
 +              reg = <0x3ffff000 0x1000>;
 +              interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
 +              arm,early-bresp-disable;
 +              arm,full-line-zero-disable;
 +              cache-unified;
 +              cache-level = <2>;
 +      };
 +
+       wdt: watchdog@fcfe0000 {
+               compatible = "renesas,r7s72100-wdt", "renesas,rza-wdt";
+               reg = <0xfcfe0000 0x6>;
+               interrupts = <GIC_SPI 106 IRQ_TYPE_EDGE_RISING>;
+               clocks = <&p0_clk>;
+       };
        i2c0: i2c@fcfee000 {
                #address-cells = <1>;
                #size-cells = <0>;
                              GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
  
-               clocks = <&mstp12_clks R7S72100_CLK_SDHI0>;
+               clocks = <&mstp12_clks R7S72100_CLK_SDHI00>,
+                        <&mstp12_clks R7S72100_CLK_SDHI01>;
+               clock-names = "core", "cd";
+               power-domains = <&cpg_clocks>;
                cap-sd-highspeed;
                cap-sdio-irq;
                status = "disabled";
                              GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>;
  
-               clocks = <&mstp12_clks R7S72100_CLK_SDHI1>;
+               clocks = <&mstp12_clks R7S72100_CLK_SDHI10>,
+                        <&mstp12_clks R7S72100_CLK_SDHI11>;
+               clock-names = "core", "cd";
+               power-domains = <&cpg_clocks>;
                cap-sd-highspeed;
                cap-sdio-irq;
                status = "disabled";
                power-domains = <&cpg_clocks>;
                status = "disabled";
        };
+       rtc: rtc@fcff1000 {
+               compatible = "renesas,r7s72100-rtc", "renesas,sh-rtc";
+               reg = <0xfcff1000 0x2e>;
+               interrupts = <GIC_SPI 276 IRQ_TYPE_EDGE_RISING
+                             GIC_SPI 277 IRQ_TYPE_EDGE_RISING
+                             GIC_SPI 278 IRQ_TYPE_EDGE_RISING>;
+               interrupt-names = "alarm", "period", "carry";
+               clocks = <&mstp6_clks R7S72100_CLK_RTC>, <&rtc_x1_clk>,
+                        <&rtc_x3_clk>, <&extal_clk>;
+               clock-names = "fck", "rtc_x1", "rtc_x3", "extal";
+               power-domains = <&cpg_clocks>;
+               status = "disabled";
+       };
  };
index 1aff4ad22fc41260f446ef54e1811d2f5828ec49,fa1bdb8875aeaec5517458ed0473fbc20cfc5544..1399bc04ea77fe17fd10472c0ba37ba7d80c8a1a
                };
        };
  
 +      timer3: timer@2000e000 {
 +              compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer";
 +              reg = <0x2000e000 0x20>;
 +              interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 +              clocks = <&cru SCLK_TIMER3>, <&cru PCLK_TIMER3>;
 +              clock-names = "timer", "pclk";
 +      };
 +
 +      timer6: timer@200380a0 {
 +              compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer";
 +              reg = <0x200380a0 0x20>;
 +              interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
 +              clocks = <&cru SCLK_TIMER6>, <&cru PCLK_TIMER0>;
 +              clock-names = "timer", "pclk";
 +      };
 +
        i2s0: i2s@1011a000 {
                compatible = "rockchip,rk3188-i2s", "rockchip,rk3066-i2s";
                reg = <0x1011a000 0x2000>;
  };
  
  &global_timer {
-       interrupts = <GIC_PPI 11 0xf04>;
+       interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
 +      status = "disabled";
  };
  
  &local_timer {
-       interrupts = <GIC_PPI 13 0xf04>;
+       interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
  };
  
  &i2c0 {
index 641607d9ad296156761836ba28a7858b313d7394,7cc344684f71b6c81b74b2fadae0eeedb3c8ad48..48a0c1cf430127bd8e8324cd791661cd1aef43fe
        };
  
        timer: timer@110c0000 {
 -              compatible = "rockchip,rk3288-timer";
 +              compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer";
                reg = <0x110c0000 0x20>;
                interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&xin24m>, <&cru PCLK_TIMER>;
                fifo-depth = <0x100>;
                pinctrl-names = "default";
                pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+               resets = <&cru SRST_EMMC>;
+               reset-names = "reset";
                status = "disabled";
        };
  
index 528b4e9c6d3d30928d363ffc6cf1d8d2275a8ce7,468ef9ceb2e338e008e0a477078fe42dd5bd0a34..8067c71c3a38a956d93ccaaaf53e724715243328
                };
  
                usb1: ohci@00400000 {
 -                      compatible = "atmel,sama5d2-ohci", "usb-ohci";
 +                      compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00400000 0x100000>;
                        interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
                        clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
                                status = "okay";
                        };
  
+                       sfrbu: sfr@fc05c000 {
+                               compatible = "atmel,sama5d2-sfrbu", "syscon";
+                               reg = <0xfc05c000 0x20>;
+                       };
                        chipid@fc069000 {
                                compatible = "atmel,sama5d2-chipid";
                                reg = <0xfc069000 0x8>;
index 044184580326cab47928977e11232c6d61f38247,081367afdd85276fcbd26ead14be5d4f144d1e46..12c0757594d7fc305a1aea564419e69bf508c0da
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi1_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi2_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi3_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi4_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi10_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi11_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-names = "ssc";
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_spi12_default>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
  
                        status = "disabled";
                };
                                 <&clk_s_c0_flexgen CLK_ETH_PHY>;
                };
  
 -              cec: sti-cec@094a087c {
 -                      compatible = "st,stih-cec";
 -                      reg = <0x94a087c 0x64>;
 -                      clocks = <&clk_sysin>;
 -                      clock-names = "cec-clk";
 -                      interrupts = <GIC_SPI 140 IRQ_TYPE_NONE>;
 -                      interrupt-names = "cec-irq";
 -                      pinctrl-names = "default";
 -                      pinctrl-0 = <&pinctrl_cec0_default>;
 -                      resets = <&softreset STIH407_LPM_SOFTRESET>;
 -              };
 -
                rng10: rng@08a89000 {
                        compatible      = "st,rng";
                        reg             = <0x08a89000 0x1000>;
                        status          = "okay";
                };
  
-               st231_gp0: remote-processor {
+               st231_gp0: st231-gp0@0 {
                        compatible      = "st,st231-rproc";
                        memory-region   = <&gp0_reserved>;
                        resets          = <&softreset STIH407_ST231_GP0_SOFTRESET>;
                        mboxes = <&mailbox0 0 2>, <&mailbox2 0 1>, <&mailbox0 0 3>, <&mailbox2 0 0>;
                };
  
-               st231_delta: remote-processor {
+               st231_delta: st231-delta@0 {
                        compatible      = "st,st231-rproc";
                        memory-region   = <&delta_reserved>;
                        resets          = <&softreset STIH407_ST231_DMU_SOFTRESET>;
index 0dc18a0f0940e143c1a299103cf58469c00a32af,b5207588bdcb8994587a25caf0b56a8530738049..69a957963fa8c96d1586bdd2a8d7df2732d42904
        clock-frequency = <25000000>;
  };
  
 +&crc {
 +      status = "okay";
 +};
 +
+ &rtc {
+       status = "okay";
+ };
  &usart1 {
        pinctrl-0 = <&usart1_pins_a>;
        pinctrl-names = "default";
index 755fb923c07baec50b555f9ebad962c0db2efa01,bd8406b02a57b821844d0c19eeb26841efbb93db..c2765ce12e2e0292c64a77380657ae1756e94520
@@@ -43,6 -43,8 +43,8 @@@
  #include "skeleton.dtsi"
  #include "armv7-m.dtsi"
  #include <dt-bindings/pinctrl/stm32f746-pinfunc.h>
+ #include <dt-bindings/clock/stm32fx-clock.h>
+ #include <dt-bindings/mfd/stm32f7-rcc.h>
  
  / {
        clocks {
                        compatible = "fixed-clock";
                        clock-frequency = <0>;
                };
+               clk-lse {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <32768>;
+               };
+               clk-lsi {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <32000>;
+               };
+               clk_i2s_ckin: clk-i2s-ckin {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <48000000>;
+               };
        };
  
        soc {
@@@ -58,7 -78,7 +78,7 @@@
                        compatible = "st,stm32-timer";
                        reg = <0x40000000 0x400>;
                        interrupts = <28>;
-                       clocks = <&rcc 0 128>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>;
                        status = "disabled";
                };
  
@@@ -66,7 -86,7 +86,7 @@@
                        compatible = "st,stm32-timer";
                        reg = <0x40000400 0x400>;
                        interrupts = <29>;
-                       clocks = <&rcc 0 129>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>;
                        status = "disabled";
                };
  
@@@ -74,7 -94,7 +94,7 @@@
                        compatible = "st,stm32-timer";
                        reg = <0x40000800 0x400>;
                        interrupts = <30>;
-                       clocks = <&rcc 0 130>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32-timer";
                        reg = <0x40000c00 0x400>;
                        interrupts = <50>;
-                       clocks = <&rcc 0 131>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
                };
  
                timer6: timer@40001000 {
                        compatible = "st,stm32-timer";
                        reg = <0x40001000 0x400>;
                        interrupts = <54>;
-                       clocks = <&rcc 0 132>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32-timer";
                        reg = <0x40001400 0x400>;
                        interrupts = <55>;
-                       clocks = <&rcc 0 133>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>;
+                       status = "disabled";
+               };
+               rtc: rtc@40002800 {
+                       compatible = "st,stm32-rtc";
+                       reg = <0x40002800 0x400>;
+                       clocks = <&rcc 1 CLK_RTC>;
+                       clock-names = "ck_rtc";
+                       assigned-clocks = <&rcc 1 CLK_RTC>;
+                       assigned-clock-parents = <&rcc 1 CLK_LSE>;
+                       interrupt-parent = <&exti>;
+                       interrupts = <17 1>;
+                       interrupt-names = "alarm";
+                       st,syscfg = <&pwrcfg>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40004400 0x400>;
                        interrupts = <38>;
-                       clocks =  <&rcc 0 145>;
+                       clocks = <&rcc 1 CLK_USART2>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40004800 0x400>;
                        interrupts = <39>;
-                       clocks = <&rcc 0 146>;
+                       clocks = <&rcc 1 CLK_USART3>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-uart";
                        reg = <0x40004c00 0x400>;
                        interrupts = <52>;
-                       clocks = <&rcc 0 147>;
+                       clocks = <&rcc 1 CLK_UART4>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-uart";
                        reg = <0x40005000 0x400>;
                        interrupts = <53>;
-                       clocks = <&rcc 0 148>;
+                       clocks = <&rcc 1 CLK_UART5>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40007800 0x400>;
                        interrupts = <82>;
-                       clocks = <&rcc 0 158>;
+                       clocks = <&rcc 1 CLK_UART7>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40007c00 0x400>;
                        interrupts = <83>;
-                       clocks = <&rcc 0 159>;
+                       clocks = <&rcc 1 CLK_UART8>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40011000 0x400>;
                        interrupts = <37>;
-                       clocks = <&rcc 0 164>;
+                       clocks = <&rcc 1 CLK_USART1>;
                        status = "disabled";
                };
  
                        compatible = "st,stm32f7-usart", "st,stm32f7-uart";
                        reg = <0x40011400 0x400>;
                        interrupts = <71>;
-                       clocks = <&rcc 0 165>;
+                       clocks = <&rcc 1 CLK_USART6>;
                        status = "disabled";
                };
  
                        interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
                };
  
+               pwrcfg: power-config@40007000 {
+                       compatible = "syscon";
+                       reg = <0x40007000 0x400>;
+               };
                pin-controller {
                        #address-cells = <1>;
                        #size-cells = <1>;
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x0 0x400>;
-                               clocks = <&rcc 0 256>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>;
                                st,bank-name = "GPIOA";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x400 0x400>;
-                               clocks = <&rcc 0 257>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>;
                                st,bank-name = "GPIOB";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x800 0x400>;
-                               clocks = <&rcc 0 258>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>;
                                st,bank-name = "GPIOC";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0xc00 0x400>;
-                               clocks = <&rcc 0 259>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>;
                                st,bank-name = "GPIOD";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1000 0x400>;
-                               clocks = <&rcc 0 260>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>;
                                st,bank-name = "GPIOE";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1400 0x400>;
-                               clocks = <&rcc 0 261>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>;
                                st,bank-name = "GPIOF";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1800 0x400>;
-                               clocks = <&rcc 0 262>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>;
                                st,bank-name = "GPIOG";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1c00 0x400>;
-                               clocks = <&rcc 0 263>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>;
                                st,bank-name = "GPIOH";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2000 0x400>;
-                               clocks = <&rcc 0 264>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>;
                                st,bank-name = "GPIOI";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2400 0x400>;
-                               clocks = <&rcc 0 265>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>;
                                st,bank-name = "GPIOJ";
                        };
  
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2800 0x400>;
-                               clocks = <&rcc 0 266>;
+                               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>;
                                st,bank-name = "GPIOK";
                        };
  
                        };
                };
  
 +              crc: crc@40023000 {
 +                      compatible = "st,stm32f7-crc";
 +                      reg = <0x40023000 0x400>;
 +                      clocks = <&rcc 0 12>;
 +                      status = "disabled";
 +              };
 +
                rcc: rcc@40023800 {
                        #clock-cells = <2>;
-                       compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
+                       compatible = "st,stm32f746-rcc", "st,stm32-rcc";
                        reg = <0x40023800 0x400>;
-                       clocks = <&clk_hse>;
+                       clocks = <&clk_hse>, <&clk_i2s_ckin>;
+                       st,syscfg = <&pwrcfg>;
+                       assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
+                       assigned-clock-rates = <1000000>;
                };
        };
  };
index bbf1c8cbaac6aa19a6acd946a0230220e4e11417,072c4e8610ec6f4d630ab6f733e3f0b5bc864a14..96bb0bc198baff67123df539911e7e173b926df1
@@@ -46,7 -46,6 +46,6 @@@
  
  #include <dt-bindings/gpio/gpio.h>
  #include <dt-bindings/interrupt-controller/irq.h>
- #include <dt-bindings/pinctrl/sun4i-a10.h>
  
  / {
        model = "Lamobo R1";
                                        reg = <8>;
                                        label = "cpu";
                                        ethernet = <&gmac>;
 -                                      phy-mode = "rgmii";
 +                                      phy-mode = "rgmii-txid";
                                        fixed-link {
                                                speed = <1000>;
                                                full-duplex;
index 8a3ed21cb7bcfcf4785784bcb66d10aafd2081e7,bd28f75b957934e7de38d4c4c3f7b419e650f911..a8b978d0f35b5f68b6621fa5e4ac71c3e3395dce
@@@ -47,7 -47,6 +47,6 @@@
  #include <dt-bindings/interrupt-controller/arm-gic.h>
  
  #include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
- #include <dt-bindings/pinctrl/sun4i-a10.h>
  #include <dt-bindings/reset/sun8i-a23-a33-ccu.h>
  
  / {
                        clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
                        clock-names = "bus", "core";
                        resets = <&ccu RST_BUS_GPU>;
+                       #cooling-cells = <2>;
  
                        assigned-clocks = <&ccu CLK_GPU>;
 -                      assigned-clock-rates = <408000000>;
 +                      assigned-clock-rates = <384000000>;
                };
  
                gic: interrupt-controller@01c81000 {
index 306af6cadf26033c6102b61c6a6d7693faba30fe,eeba172a0fb768ecd73c1bf014532505999ea4a8..01397825937241221097dd47caef60459e857df3
   */
  
  #include "sun8i-a23-a33.dtsi"
+ #include <dt-bindings/thermal/thermal.h>
  
  / {
        cpu0_opp_table: opp_table0 {
                compatible = "operating-points-v2";
                opp-shared;
  
+               opp@120000000 {
+                       opp-hz = /bits/ 64 <120000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@240000000 {
+                       opp-hz = /bits/ 64 <240000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@312000000 {
+                       opp-hz = /bits/ 64 <312000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@408000000 {
+                       opp-hz = /bits/ 64 <408000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@480000000 {
+                       opp-hz = /bits/ 64 <480000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@504000000 {
+                       opp-hz = /bits/ 64 <504000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
+               opp@600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <1040000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
                opp@648000000 {
                        opp-hz = /bits/ 64 <648000000>;
                        opp-microvolt = <1040000>;
                        clock-latency-ns = <244144>; /* 8 32k periods */
                };
  
+               opp@720000000 {
+                       opp-hz = /bits/ 64 <720000000>;
+                       opp-microvolt = <1100000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
                opp@816000000 {
                        opp-hz = /bits/ 64 <816000000>;
                        opp-microvolt = <1100000>;
                        clock-latency-ns = <244144>; /* 8 32k periods */
                };
  
+               opp@912000000 {
+                       opp-hz = /bits/ 64 <912000000>;
+                       opp-microvolt = <1200000>;
+                       clock-latency-ns = <244144>; /* 8 32k periods */
+               };
                opp@1008000000 {
                        opp-hz = /bits/ 64 <1008000000>;
                        opp-microvolt = <1200000>;
                        clock-latency-ns = <244144>; /* 8 32k periods */
                };
 -
 -              opp@1200000000 {
 -                      opp-hz = /bits/ 64 <1200000000>;
 -                      opp-microvolt = <1320000>;
 -                      clock-latency-ns = <244144>; /* 8 32k periods */
 -              };
        };
  
        cpus {
                        clocks = <&ccu CLK_CPUX>;
                        clock-names = "cpu";
                        operating-points-v2 = <&cpu0_opp_table>;
+                       #cooling-cells = <2>;
                };
  
 +              cpu@1 {
 +                      operating-points-v2 = <&cpu0_opp_table>;
 +              };
 +
                cpu@2 {
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
                        reg = <2>;
 +                      operating-points-v2 = <&cpu0_opp_table>;
                };
  
                cpu@3 {
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
                        reg = <3>;
 +                      operating-points-v2 = <&cpu0_opp_table>;
                };
        };
  
                status = "disabled";
        };
  
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&ths>;
+       };
+       mali_opp_table: gpu-opp-table {
+               compatible = "operating-points-v2";
+               opp@144000000 {
+                       opp-hz = /bits/ 64 <144000000>;
+               };
+               opp@240000000 {
+                       opp-hz = /bits/ 64 <240000000>;
+               };
+               opp@384000000 {
+                       opp-hz = /bits/ 64 <384000000>;
+               };
+       };
        memory {
                reg = <0x40000000 0x80000000>;
        };
                simple-audio-card,mclk-fs = <512>;
                simple-audio-card,aux-devs = <&codec_analog>;
                simple-audio-card,routing =
 -                      "Left DAC", "Digital Left DAC",
 -                      "Right DAC", "Digital Right DAC";
 +                      "Left DAC", "AIF1 Slot 0 Left",
 +                      "Right DAC", "AIF1 Slot 0 Right";
                status = "disabled";
  
                simple-audio-card,cpu {
                        status = "disabled";
                };
  
+               ths: ths@01c25000 {
+                       compatible = "allwinner,sun8i-a33-ths";
+                       reg = <0x01c25000 0x100>;
+                       #thermal-sensor-cells = <0>;
+                       #io-channel-cells = <0>;
+               };
                fe0: display-frontend@01e00000 {
                        compatible = "allwinner,sun8i-a33-display-frontend";
                        reg = <0x01e00000 0x20000>;
                        };
                };
        };
+       thermal-zones {
+               cpu_thermal {
+                       /* milliseconds */
+                       polling-delay-passive = <250>;
+                       polling-delay = <1000>;
+                       thermal-sensors = <&ths>;
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert0>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                               map1 {
+                                       trip = <&cpu_alert1>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                               map2 {
+                                       trip = <&gpu_alert0>;
+                                       cooling-device = <&mali 1 THERMAL_NO_LIMIT>;
+                               };
+                               map3 {
+                                       trip = <&gpu_alert1>;
+                                       cooling-device = <&mali 2 THERMAL_NO_LIMIT>;
+                               };
+                       };
+                       trips {
+                               cpu_alert0: cpu_alert0 {
+                                       /* milliCelsius */
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               gpu_alert0: gpu_alert0 {
+                                       /* milliCelsius */
+                                       temperature = <85000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_alert1: cpu_alert1 {
+                                       /* milliCelsius */
+                                       temperature = <90000>;
+                                       hysteresis = <2000>;
+                                       type = "hot";
+                               };
+                               gpu_alert1: gpu_alert1 {
+                                       /* milliCelsius */
+                                       temperature = <95000>;
+                                       hysteresis = <2000>;
+                                       type = "hot";
+                               };
+                               cpu_crit: cpu_crit {
+                                       /* milliCelsius */
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+       };
  };
  
  &ccu {
        compatible = "allwinner,sun8i-a33-ccu";
  };
  
+ &mali {
+       operating-points-v2 = <&mali_opp_table>;
+ };
  &pio {
        compatible = "allwinner,sun8i-a33-pinctrl";
        interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,