Commit 7d912ba2 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'davinci-for-v4.7/soc' of...

Merge tag 'davinci-for-v4.7/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Merge "DaVinci SoC updates for v4.7" from Sekhar Nori:

These are preparatory patches to support a USB PHY driver for USB on DA850
SoC. This should eventually lead to USB working again on this device.

* tag 'davinci-for-v4.7/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: clk: add set_parent callback for mux clocks
  ARM: davinci: da8xx: move usb code to new file
  ARM: davinci: use IRQCHIP_DECLARE for cp_intc
  ARM: davinci: remove unused DA8XX_NUM_UARTS
  ARM: davinci: simplify call to of populate
  ARM: DaVinci USB: removed deprecated properties from MUSB config
parents c323061e 8a9d088f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ obj-$(CONFIG_ARCH_DAVINCI_DM644x) += dm644x.o devices.o
obj-$(CONFIG_ARCH_DAVINCI_DM355)        += dm355.o devices.o
obj-$(CONFIG_ARCH_DAVINCI_DM646x)       += dm646x.o devices.o
obj-$(CONFIG_ARCH_DAVINCI_DM365)	+= dm365.o devices.o
obj-$(CONFIG_ARCH_DAVINCI_DA830)        += da830.o devices-da8xx.o
obj-$(CONFIG_ARCH_DAVINCI_DA850)        += da850.o devices-da8xx.o
obj-$(CONFIG_ARCH_DAVINCI_DA830)	+= da830.o devices-da8xx.o usb-da8xx.o
obj-$(CONFIG_ARCH_DAVINCI_DA850)	+= da850.o devices-da8xx.o usb-da8xx.o

obj-$(CONFIG_AINTC)			+= irq.o
obj-$(CONFIG_CP_INTC)			+= cp_intc.o
+18 −1
Original line number Diff line number Diff line
@@ -195,6 +195,14 @@ int clk_set_parent(struct clk *clk, struct clk *parent)
		return -EINVAL;

	mutex_lock(&clocks_mutex);
	if (clk->set_parent) {
		int ret = clk->set_parent(clk, parent);

		if (ret) {
			mutex_unlock(&clocks_mutex);
			return ret;
		}
	}
	clk->parent = parent;
	list_del_init(&clk->childnode);
	list_add(&clk->childnode, &clk->parent->children);
@@ -224,8 +232,17 @@ int clk_register(struct clk *clk)

	mutex_lock(&clocks_mutex);
	list_add_tail(&clk->node, &clocks);
	if (clk->parent)
	if (clk->parent) {
		if (clk->set_parent) {
			int ret = clk->set_parent(clk, clk->parent);

			if (ret) {
				mutex_unlock(&clocks_mutex);
				return ret;
			}
		}
		list_add_tail(&clk->childnode, &clk->parent->children);
	}
	mutex_unlock(&clocks_mutex);

	/* If rate is already set, use it */
+1 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ struct clk {
	int (*reset) (struct clk *clk, bool reset);
	void (*clk_enable) (struct clk *clk);
	void (*clk_disable) (struct clk *clk);
	int (*set_parent) (struct clk *clk, struct clk *parent);
};

/* Clock flags: SoC-specific flags start at BIT(16) */
+3 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <linux/export.h>
#include <linux/init.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/irqdomain.h>
#include <linux/io.h>
#include <linux/of.h>
@@ -210,3 +211,5 @@ void __init cp_intc_init(void)
{
	cp_intc_of_init(NULL, NULL);
}

IRQCHIP_DECLARE(cp_intc, "ti,cp-intc", cp_intc_of_init);
+1 −16
Original line number Diff line number Diff line
@@ -18,18 +18,6 @@
#include "cp_intc.h"
#include <mach/da8xx.h>

#define DA8XX_NUM_UARTS	3

static const struct of_device_id const da8xx_irq_match[] __initconst = {
	{ .compatible = "ti,cp-intc", .data = cp_intc_of_init, },
	{ }
};

static void __init da8xx_init_irq(void)
{
	of_irq_init(da8xx_irq_match);
}

static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
	OF_DEV_AUXDATA("ti,davinci-i2c", 0x01c22000, "i2c_davinci.1", NULL),
	OF_DEV_AUXDATA("ti,davinci-wdt", 0x01c21000, "davinci-wdt", NULL),
@@ -54,9 +42,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {

static void __init da850_init_machine(void)
{
	of_platform_populate(NULL, of_default_bus_match_table,
			     da850_auxdata_lookup, NULL);

	of_platform_default_populate(NULL, da850_auxdata_lookup, NULL);
}

static const char *const da850_boards_compat[] __initconst = {
@@ -68,7 +54,6 @@ static const char *const da850_boards_compat[] __initconst = {

DT_MACHINE_START(DA850_DT, "Generic DA850/OMAP-L138/AM18x")
	.map_io		= da850_init,
	.init_irq	= da8xx_init_irq,
	.init_time	= davinci_timer_init,
	.init_machine	= da850_init_machine,
	.dt_compat	= da850_boards_compat,
Loading