Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d7e0207 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'integrator-for-v3.14' of...

Merge tag 'integrator-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/drivers

From Linus Walleij:
Some Integrator patches that matured for v3.14:

- Use PATCH_PHYS_TO_VIRT and AUTO_ZRELADDR.
- Support cascaded interrupts on the SIC.
- Complete clock implementation for the IM-PD1.

* tag 'integrator-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator

:
  clk: versatile: fixup IM-PD1 clock implementation
  clk: versatile: pass a name to ICST clock provider
  ARM: integrator: pass parent IRQ to the SIC
  irqchip: versatile FPGA: support cascaded interrupts from DT
  ARM: integrator: Default enable ARM_PATCH_PHYS_VIRT, AUTO_ZRELADDR

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 7bfc397f 8e048b99
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -29,3 +29,8 @@ pic: pic@14000000 {
        clear-mask = <0xffffffff>;
        clear-mask = <0xffffffff>;
        valid-mask = <0x003fffff>;
        valid-mask = <0x003fffff>;
};
};

Optional properties:
- interrupts: if the FPGA IRQ controller is cascaded, i.e. if its IRQ
  output is simply connected to the input of another IRQ controller,
  then the parent IRQ shall be specified in this property.
+2 −0
Original line number Original line Diff line number Diff line
@@ -313,6 +313,8 @@ config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
	bool "ARM Ltd. Integrator family"
	select ARCH_HAS_CPUFREQ
	select ARCH_HAS_CPUFREQ
	select ARM_AMBA
	select ARM_AMBA
	select ARM_PATCH_PHYS_VIRT
	select AUTO_ZRELADDR
	select COMMON_CLK
	select COMMON_CLK
	select COMMON_CLK_VERSATILE
	select COMMON_CLK_VERSATILE
	select GENERIC_CLOCKEVENTS
	select GENERIC_CLOCKEVENTS
+3 −0
Original line number Original line Diff line number Diff line
@@ -47,8 +47,11 @@
		valid-mask = <0x00000007>;
		valid-mask = <0x00000007>;
	};
	};


	/* The SIC is cascaded off IRQ 26 on the PIC */
	sic: sic@ca000000 {
	sic: sic@ca000000 {
		compatible = "arm,versatile-fpga-irq";
		compatible = "arm,versatile-fpga-irq";
		interrupt-parent = <&pic>;
		interrupts = <26>;
		#interrupt-cells = <1>;
		#interrupt-cells = <1>;
		interrupt-controller;
		interrupt-controller;
		reg = <0xca000000 0x100>;
		reg = <0xca000000 0x100>;
+2 −1
Original line number Original line Diff line number Diff line
@@ -119,6 +119,7 @@ static const struct clk_ops icst_ops = {


struct clk *icst_clk_register(struct device *dev,
struct clk *icst_clk_register(struct device *dev,
			const struct clk_icst_desc *desc,
			const struct clk_icst_desc *desc,
			const char *name,
			void __iomem *base)
			void __iomem *base)
{
{
	struct clk *clk;
	struct clk *clk;
@@ -130,7 +131,7 @@ struct clk *icst_clk_register(struct device *dev,
		pr_err("could not allocate ICST clock!\n");
		pr_err("could not allocate ICST clock!\n");
		return ERR_PTR(-ENOMEM);
		return ERR_PTR(-ENOMEM);
	}
	}
	init.name = "icst";
	init.name = name;
	init.ops = &icst_ops;
	init.ops = &icst_ops;
	init.flags = CLK_IS_ROOT;
	init.flags = CLK_IS_ROOT;
	init.parent_names = NULL;
	init.parent_names = NULL;
+1 −0
Original line number Original line Diff line number Diff line
@@ -15,4 +15,5 @@ struct clk_icst_desc {


struct clk *icst_clk_register(struct device *dev,
struct clk *icst_clk_register(struct device *dev,
			      const struct clk_icst_desc *desc,
			      const struct clk_icst_desc *desc,
			      const char *name,
			      void __iomem *base);
			      void __iomem *base);
Loading