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

Commit c16c4c4b authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'renesas-intc-external-irq-for-v3.10' of...

Merge tag 'renesas-intc-external-irq-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers

From Simon Horman <horms+renesas@verge.net.au>:

Renesas INTC External IRQ pin driver

This provides two new INTC drivers for use with Renesas ARM-based SoCs and
makes use of them on the r8a7779 and sh73a0 SoCs.

It has been agreed by the relevant parties, Thomas Gleixner, Magnus Damm,
and myself that it would be best to merge this code through the renesas
tree and thus through the arm-soc tree.

This is based on:

git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git renesas-soc-v3.10

* tag 'renesas-intc-external-irq-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas

:
  irqchip: irqc: Add DT support
  irqchip: intc-irqpin: Initial DT support
  ARM: shmobile: Make r8a7779 INTC irqpin platform data static
  ARM: shmobile: Make sh73a0 INTC irqpin platform data static
  irqchip: Renesas IRQC driver
  irqchip: intc-irqpin: GPL header for platform data
  irqchip: intc-irqpin: Make use of devm functions
  irqchip: intc-irqpin: Add force comments
  irqchip: intc-irqpin: Cache mapped IRQ
  irqchip: intc-irqpin: Whitespace fixes
  ARM: shmobile: INTC External IRQ pin driver on r8a7779
  ARM: shmobile: INTC External IRQ pin driver on sh73a0
  ARM: shmobile: irq_pin() for static IRQ pin assignment
  irqchip: Renesas INTC External IRQ pin driver

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1414fbdc 3b8dfa7c
Loading
Loading
Loading
Loading
+98 −0
Original line number Diff line number Diff line
/*
 * Device Tree Source for Renesas r8a7779
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 * Copyright (C) 2013 Simon Horman
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/include/ "skeleton.dtsi"

/ {
	compatible = "renesas,r8a7779";

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0>;
		};
		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <1>;
		};
		cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <2>;
		};
		cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <3>;
		};
	};

        gic: interrupt-controller@f0001000 {
                compatible = "arm,cortex-a9-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                reg = <0xf0001000 0x1000>,
                      <0xf0000100 0x100>;
        };

	i2c0: i2c@0xffc70000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc70000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 79 0x4>;
	};

	i2c1: i2c@0xffc71000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc71000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 82 0x4>;
	};

	i2c2: i2c@0xffc72000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc72000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 80 0x4>;
	};

	i2c3: i2c@0xffc73000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc73000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 81 0x4>;
	};

	thermal@ffc48000 {
		compatible = "renesas,rcar-thermal";
		reg = <0xffc48000 0x38>;
	};

	sata: sata@fc600000 {
		compatible = "renesas,rcar-sata";
		reg = <0xfc600000 0x2000>;
		interrupt-parent = <&gic>;
		interrupts = <0 100 0x4>;
	};
};
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ config ARCH_SH73A0
	select CPU_V7
	select I2C
	select SH_CLK_CPG
	select RENESAS_INTC_IRQPIN

config ARCH_R8A7740
	bool "R-Mobile A1 (R8A77400)"
@@ -31,6 +32,7 @@ config ARCH_R8A7779
	select SH_CLK_CPG
	select USB_ARCH_HAS_EHCI
	select USB_ARCH_HAS_OHCI
	select RENESAS_INTC_IRQPIN

config ARCH_EMEV2
	bool "Emma Mobile EV2"
+3 −4
Original line number Diff line number Diff line
@@ -14,10 +14,9 @@ obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o

# SMP objects
smp-y				:= platsmp.o headsmp.o
smp-$(CONFIG_HOTPLUG_CPU)	+= hotplug.o
smp-$(CONFIG_ARCH_SH73A0)	+= smp-sh73a0.o headsmp-sh73a0.o
smp-$(CONFIG_ARCH_R8A7779)	+= smp-r8a7779.o
smp-$(CONFIG_ARCH_EMEV2)	+= smp-emev2.o
smp-$(CONFIG_ARCH_SH73A0)	+= smp-sh73a0.o headsmp-scu.o
smp-$(CONFIG_ARCH_R8A7779)	+= smp-r8a7779.o headsmp-scu.o
smp-$(CONFIG_ARCH_EMEV2)	+= smp-emev2.o headsmp-scu.o

# IRQ objects
obj-$(CONFIG_ARCH_SH7372)	+= entry-intc.o
+7 −7
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ static struct resource smsc9221_resources[] = {
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= intcs_evt2irq(0x260), /* IRQ3 */
		.start	= irq_pin(3), /* IRQ3 */
		.flags	= IORESOURCE_IRQ,
	},
};
@@ -115,7 +115,7 @@ static struct resource usb_resources[] = {
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start	= intcs_evt2irq(0x220), /* IRQ1 */
		.start	= irq_pin(1), /* IRQ1 */
		.flags	= IORESOURCE_IRQ,
	},
};
@@ -138,7 +138,7 @@ struct usbhs_private {
	struct renesas_usbhs_platform_info info;
};

#define IRQ15			intcs_evt2irq(0x03e0)
#define IRQ15			irq_pin(15)
#define USB_PHY_MODE		(1 << 4)
#define USB_PHY_INT_EN		((1 << 3) | (1 << 2))
#define USB_PHY_ON		(1 << 1)
@@ -563,25 +563,25 @@ static struct i2c_board_info i2c0_devices[] = {
	},
	{
		I2C_BOARD_INFO("ak8975", 0x0c),
		.irq = intcs_evt2irq(0x3380), /* IRQ28 */
		.irq = irq_pin(28), /* IRQ28 */
	},
	{
		I2C_BOARD_INFO("adxl34x", 0x1d),
		.irq = intcs_evt2irq(0x3340), /* IRQ26 */
		.irq = irq_pin(26), /* IRQ26 */
	},
};

static struct i2c_board_info i2c1_devices[] = {
	{
		I2C_BOARD_INFO("st1232-ts", 0x55),
		.irq = intcs_evt2irq(0x300), /* IRQ8 */
		.irq = irq_pin(8), /* IRQ8 */
	},
};

static struct i2c_board_info i2c3_devices[] = {
	{
		I2C_BOARD_INFO("pcf8575", 0x20),
		.irq		= intcs_evt2irq(0x3260), /* IRQ19 */
		.irq = irq_pin(19), /* IRQ19 */
		.platform_data = &pcf8575_pdata,
	},
};
+13 −0
Original line number Diff line number Diff line
@@ -593,29 +593,42 @@ static struct clk_lookup lookups[] = {
	CLKDEV_DEV_ID("sh_mobile_ceu.1",	&mstp_clks[MSTP128]),

	CLKDEV_DEV_ID("sh-sci.4",		&mstp_clks[MSTP200]),
	CLKDEV_DEV_ID("e6c80000.sci",		&mstp_clks[MSTP200]),
	CLKDEV_DEV_ID("sh-sci.3",		&mstp_clks[MSTP201]),
	CLKDEV_DEV_ID("e6c70000.sci",		&mstp_clks[MSTP201]),
	CLKDEV_DEV_ID("sh-sci.2",		&mstp_clks[MSTP202]),
	CLKDEV_DEV_ID("e6c60000.sci",		&mstp_clks[MSTP202]),
	CLKDEV_DEV_ID("sh-sci.1",		&mstp_clks[MSTP203]),
	CLKDEV_DEV_ID("e6c50000.sci",		&mstp_clks[MSTP203]),
	CLKDEV_DEV_ID("sh-sci.0",		&mstp_clks[MSTP204]),
	CLKDEV_DEV_ID("e6c40000.sci",		&mstp_clks[MSTP204]),
	CLKDEV_DEV_ID("sh-sci.8",		&mstp_clks[MSTP206]),
	CLKDEV_DEV_ID("e6c30000.sci",		&mstp_clks[MSTP206]),
	CLKDEV_DEV_ID("sh-sci.5",		&mstp_clks[MSTP207]),
	CLKDEV_DEV_ID("e6cb0000.sci",		&mstp_clks[MSTP207]),
	CLKDEV_DEV_ID("sh-dma-engine.3",	&mstp_clks[MSTP214]),
	CLKDEV_DEV_ID("sh-dma-engine.2",	&mstp_clks[MSTP216]),
	CLKDEV_DEV_ID("sh-dma-engine.1",	&mstp_clks[MSTP217]),
	CLKDEV_DEV_ID("sh-dma-engine.0",	&mstp_clks[MSTP218]),
	CLKDEV_DEV_ID("sh-sci.7",		&mstp_clks[MSTP222]),
	CLKDEV_DEV_ID("e6cd0000.sci",		&mstp_clks[MSTP222]),
	CLKDEV_DEV_ID("sh-sci.6",		&mstp_clks[MSTP230]),
	CLKDEV_DEV_ID("e6cc0000.sci",		&mstp_clks[MSTP230]),

	CLKDEV_DEV_ID("sh_cmt.10",		&mstp_clks[MSTP329]),
	CLKDEV_DEV_ID("sh_fsi2",		&mstp_clks[MSTP328]),
	CLKDEV_DEV_ID("i2c-sh_mobile.1",	&mstp_clks[MSTP323]),
	CLKDEV_DEV_ID("renesas_usbhs",		&mstp_clks[MSTP320]),
	CLKDEV_DEV_ID("sh_mobile_sdhi.0",	&mstp_clks[MSTP314]),
	CLKDEV_DEV_ID("e6850000.sdhi",          &mstp_clks[MSTP314]),
	CLKDEV_DEV_ID("sh_mobile_sdhi.1",	&mstp_clks[MSTP313]),
	CLKDEV_DEV_ID("e6860000.sdhi",          &mstp_clks[MSTP313]),
	CLKDEV_DEV_ID("sh_mmcif",		&mstp_clks[MSTP312]),
	CLKDEV_DEV_ID("e6bd0000.mmcif",         &mstp_clks[MSTP312]),
	CLKDEV_DEV_ID("sh-eth",			&mstp_clks[MSTP309]),

	CLKDEV_DEV_ID("sh_mobile_sdhi.2",	&mstp_clks[MSTP415]),
	CLKDEV_DEV_ID("e6870000.sdhi",          &mstp_clks[MSTP415]),

	/* ICK */
	CLKDEV_ICK_ID("host",	"renesas_usbhs",	&mstp_clks[MSTP416]),
Loading