Merge branch 'dt/irq-fix' into next/dt64
authorArnd Bergmann <arnd@arndb.de>
Wed, 14 Sep 2016 20:48:29 +0000 (22:48 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 14 Sep 2016 20:48:29 +0000 (22:48 +0200)
* dt/irq-fix:
  arm64: dts: Fix broken architected timer interrupt trigger

This resolves a non-obvious conflict between a bugfix from
v4.8 and a cleanup for the exynos7 platform.

1  2 
arch/arm64/boot/dts/broadcom/ns2.dtsi
arch/arm64/boot/dts/exynos/exynos7.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
arch/arm64/boot/dts/marvell/armada-ap806.dtsi
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
arch/arm64/boot/dts/xilinx/zynqmp.dtsi

Simple merge
  
                timer {
                        compatible = "arm,armv8-timer";
 -                      interrupts = <1 13 0xff08>,
 -                                   <1 14 0xff08>,
 -                                   <1 11 0xff08>,
 -                                   <1 10 0xff08>;
 +                      interrupts = <GIC_PPI 13
-                                       (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_EDGE_RISING)>,
++                                      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
 +                                   <GIC_PPI 14
-                                       (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_EDGE_RISING)>,
++                                      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
 +                                   <GIC_PPI 11
-                                       (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_EDGE_RISING)>,
++                                      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
 +                                   <GIC_PPI 10
-                                       (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_EDGE_RISING)>;
++                                      (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
                };
  
                pmu_system_controller: system-controller@105c0000 {
  
                        timer {
                                compatible = "arm,armv8-timer";
-                               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>,
-                                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>,
-                                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>,
-                                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+                               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
                        };
  
 +                      pmu {
 +                              compatible = "arm,cortex-a72-pmu";
 +                              interrupt-parent = <&pic>;
 +                              interrupts = <17>;
 +                      };
 +
                        odmi: odmi@300000 {
                                compatible = "marvell,odmi-controller";
                                interrupt-controller;
index 9cebe81,0000000..08fd7cf
mode 100644,000000..100644
--- /dev/null
@@@ -1,329 -1,0 +1,329 @@@
-               interrupts = <1 13 0xf01>,
-                            <1 14 0xf01>,
-                            <1 11 0xf01>,
-                            <1 10 0xf01>;
 +/*
 + * Device Tree Source for UniPhier LD20 SoC
 + *
 + * Copyright (C) 2015-2016 Socionext Inc.
 + *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
 + *
 + * This file is dual-licensed: you can use it either under the terms
 + * of the GPL or the X11 license, at your option. Note that this dual
 + * licensing only applies to this file, and not this project as a
 + * whole.
 + *
 + *  a) This file is free software; you can redistribute it and/or
 + *     modify it under the terms of the GNU General Public License as
 + *     published by the Free Software Foundation; either version 2 of the
 + *     License, or (at your option) any later version.
 + *
 + *     This file is distributed in the hope that it will be useful,
 + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + *     GNU General Public License for more details.
 + *
 + * Or, alternatively,
 + *
 + *  b) Permission is hereby granted, free of charge, to any person
 + *     obtaining a copy of this software and associated documentation
 + *     files (the "Software"), to deal in the Software without
 + *     restriction, including without limitation the rights to use,
 + *     copy, modify, merge, publish, distribute, sublicense, and/or
 + *     sell copies of the Software, and to permit persons to whom the
 + *     Software is furnished to do so, subject to the following
 + *     conditions:
 + *
 + *     The above copyright notice and this permission notice shall be
 + *     included in all copies or substantial portions of the Software.
 + *
 + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 + *     OTHER DEALINGS IN THE SOFTWARE.
 + */
 +
 +/memreserve/ 0x80000000 0x00000008;   /* cpu-release-addr */
 +
 +/ {
 +      compatible = "socionext,uniphier-ld20";
 +      #address-cells = <2>;
 +      #size-cells = <2>;
 +      interrupt-parent = <&gic>;
 +
 +      cpus {
 +              #address-cells = <2>;
 +              #size-cells = <0>;
 +
 +              cpu-map {
 +                      cluster0 {
 +                              core0 {
 +                                      cpu = <&cpu0>;
 +                              };
 +                              core1 {
 +                                      cpu = <&cpu1>;
 +                              };
 +                      };
 +
 +                      cluster1 {
 +                              core0 {
 +                                      cpu = <&cpu2>;
 +                              };
 +                              core1 {
 +                                      cpu = <&cpu3>;
 +                              };
 +                      };
 +              };
 +
 +              cpu0: cpu@0 {
 +                      device_type = "cpu";
 +                      compatible = "arm,cortex-a72", "arm,armv8";
 +                      reg = <0 0x000>;
 +                      enable-method = "spin-table";
 +                      cpu-release-addr = <0 0x80000000>;
 +              };
 +
 +              cpu1: cpu@1 {
 +                      device_type = "cpu";
 +                      compatible = "arm,cortex-a72", "arm,armv8";
 +                      reg = <0 0x001>;
 +                      enable-method = "spin-table";
 +                      cpu-release-addr = <0 0x80000000>;
 +              };
 +
 +              cpu2: cpu@100 {
 +                      device_type = "cpu";
 +                      compatible = "arm,cortex-a53", "arm,armv8";
 +                      reg = <0 0x100>;
 +                      enable-method = "spin-table";
 +                      cpu-release-addr = <0 0x80000000>;
 +              };
 +
 +              cpu3: cpu@101 {
 +                      device_type = "cpu";
 +                      compatible = "arm,cortex-a53", "arm,armv8";
 +                      reg = <0 0x101>;
 +                      enable-method = "spin-table";
 +                      cpu-release-addr = <0 0x80000000>;
 +              };
 +      };
 +
 +      clocks {
 +              refclk: ref {
 +                      compatible = "fixed-clock";
 +                      #clock-cells = <0>;
 +                      clock-frequency = <25000000>;
 +              };
 +      };
 +
 +      timer {
 +              compatible = "arm,armv8-timer";
++              interrupts = <1 13 4>,
++                           <1 14 4>,
++                           <1 11 4>,
++                           <1 10 4>;
 +      };
 +
 +      soc {
 +              compatible = "simple-bus";
 +              #address-cells = <1>;
 +              #size-cells = <1>;
 +              ranges = <0 0 0 0xffffffff>;
 +
 +              serial0: serial@54006800 {
 +                      compatible = "socionext,uniphier-uart";
 +                      status = "disabled";
 +                      reg = <0x54006800 0x40>;
 +                      interrupts = <0 33 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_uart0>;
 +                      clocks = <&peri_clk 0>;
 +              };
 +
 +              serial1: serial@54006900 {
 +                      compatible = "socionext,uniphier-uart";
 +                      status = "disabled";
 +                      reg = <0x54006900 0x40>;
 +                      interrupts = <0 35 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_uart1>;
 +                      clocks = <&peri_clk 1>;
 +              };
 +
 +              serial2: serial@54006a00 {
 +                      compatible = "socionext,uniphier-uart";
 +                      status = "disabled";
 +                      reg = <0x54006a00 0x40>;
 +                      interrupts = <0 37 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_uart2>;
 +                      clocks = <&peri_clk 2>;
 +              };
 +
 +              serial3: serial@54006b00 {
 +                      compatible = "socionext,uniphier-uart";
 +                      status = "disabled";
 +                      reg = <0x54006b00 0x40>;
 +                      interrupts = <0 177 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_uart3>;
 +                      clocks = <&peri_clk 3>;
 +              };
 +
 +              i2c0: i2c@58780000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      status = "disabled";
 +                      reg = <0x58780000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 41 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_i2c0>;
 +                      clocks = <&peri_clk 4>;
 +                      clock-frequency = <100000>;
 +              };
 +
 +              i2c1: i2c@58781000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      status = "disabled";
 +                      reg = <0x58781000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 42 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_i2c1>;
 +                      clocks = <&peri_clk 5>;
 +                      clock-frequency = <100000>;
 +              };
 +
 +              i2c2: i2c@58782000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      reg = <0x58782000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 43 4>;
 +                      clocks = <&peri_clk 6>;
 +                      clock-frequency = <400000>;
 +              };
 +
 +              i2c3: i2c@58783000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      status = "disabled";
 +                      reg = <0x58783000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 44 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_i2c3>;
 +                      clocks = <&peri_clk 7>;
 +                      clock-frequency = <100000>;
 +              };
 +
 +              i2c4: i2c@58784000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      status = "disabled";
 +                      reg = <0x58784000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 45 4>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_i2c4>;
 +                      clocks = <&peri_clk 8>;
 +                      clock-frequency = <100000>;
 +              };
 +
 +              i2c5: i2c@58785000 {
 +                      compatible = "socionext,uniphier-fi2c";
 +                      reg = <0x58785000 0x80>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
 +                      interrupts = <0 25 4>;
 +                      clocks = <&peri_clk 9>;
 +                      clock-frequency = <400000>;
 +              };
 +
 +              system_bus: system-bus@58c00000 {
 +                      compatible = "socionext,uniphier-system-bus";
 +                      status = "disabled";
 +                      reg = <0x58c00000 0x400>;
 +                      #address-cells = <2>;
 +                      #size-cells = <1>;
 +                      pinctrl-names = "default";
 +                      pinctrl-0 = <&pinctrl_system_bus>;
 +              };
 +
 +              smpctrl@59800000 {
 +                      compatible = "socionext,uniphier-smpctrl";
 +                      reg = <0x59801000 0x400>;
 +              };
 +
 +              mioctrl@59810000 {
 +                      compatible = "socionext,uniphier-mioctrl",
 +                                   "simple-mfd", "syscon";
 +                      reg = <0x59810000 0x800>;
 +
 +                      mio_clk: clock {
 +                              compatible = "socionext,uniphier-ld20-mio-clock";
 +                              #clock-cells = <1>;
 +                      };
 +
 +                      mio_rst: reset {
 +                              compatible = "socionext,uniphier-ld20-mio-reset";
 +                              #reset-cells = <1>;
 +                      };
 +              };
 +
 +              perictrl@59820000 {
 +                      compatible = "socionext,uniphier-perictrl",
 +                                   "simple-mfd", "syscon";
 +                      reg = <0x59820000 0x200>;
 +
 +                      peri_clk: clock {
 +                              compatible = "socionext,uniphier-ld20-peri-clock";
 +                              #clock-cells = <1>;
 +                      };
 +
 +                      peri_rst: reset {
 +                              compatible = "socionext,uniphier-ld20-peri-reset";
 +                              #reset-cells = <1>;
 +                      };
 +              };
 +
 +              soc-glue@5f800000 {
 +                      compatible = "socionext,uniphier-soc-glue",
 +                                   "simple-mfd", "syscon";
 +                      reg = <0x5f800000 0x2000>;
 +
 +                      pinctrl: pinctrl {
 +                              compatible = "socionext,uniphier-ld20-pinctrl";
 +                      };
 +              };
 +
 +              gic: interrupt-controller@5fe00000 {
 +                      compatible = "arm,gic-v3";
 +                      reg = <0x5fe00000 0x10000>,     /* GICD */
 +                            <0x5fe80000 0x80000>;     /* GICR */
 +                      interrupt-controller;
 +                      #interrupt-cells = <3>;
 +                      interrupts = <1 9 4>;
 +              };
 +
 +              sysctrl@61840000 {
 +                      compatible = "socionext,uniphier-sysctrl",
 +                                   "simple-mfd", "syscon";
 +                      reg = <0x61840000 0x4000>;
 +
 +                      sys_clk: clock {
 +                              compatible = "socionext,uniphier-ld20-clock";
 +                              #clock-cells = <1>;
 +                      };
 +
 +                      sys_rst: reset {
 +                              compatible = "socionext,uniphier-ld20-reset";
 +                              #reset-cells = <1>;
 +                      };
 +              };
 +      };
 +};
 +
 +/include/ "uniphier-pinctrl.dtsi"