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

Commit 0189a028 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'omap-devel-hwmod-for-v3.5' of...

Merge tag 'omap-devel-hwmod-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/pm

Add most of remaining hwmods for omap4

By Paul Walmsley (37) and others
via Tony Lindgren (2) and Paul Walmsley (1)
* tag 'omap-devel-hwmod-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits)
  ARM: OMAP4: hwmod data: add DEBUGSS skeleton
  ARM: OMAP4: hwmod data: add PRCM and related IP blocks
  ARM: OMAP4: hwmod data: add System Control Module
  ARM: OMAP4: hwmod data: add the OCP-WP IP block
  ARM: OMAP4: hwmod data: add OCM RAM IP block
  ARM: OMAP4: hwmod data: add remaining USB-related IP blocks
  ARM: OMAP4: hwmod data: add some interconnect-related IP blocks
  ARM: OMAP4: hwmod data: add McASP
  ARM: OMAP4: hwmod data: add the Slimbus IP blocks
  ARM: OMAP4: hwmod data: add GPU
  ARM: OMAP4: hwmod data: add EMIF1 and 2
  ARM: OMAP4: hwmod data: add GPMC
  ARM: OMAP4: hwmod data: add HDQ/1-wire
  ARM: OMAP4: hwmod data: introduce fdif(face detect module) hwmod
  ARM: OMAP2+: clockdomains: make {prm,cm}_clkdm common
  ARM: OMAP2xxx: hwmod data: start to fix the IVA1, IVA2 and DSP
  ARM: OMAP3: hwmod data: add IVA hard reset lines, main clock, clockdomain
  ARM: OMAP3: hwmod data: fix IVA interface clock
  ARM: OMAP2xxx: hwmod data: share common interface data
  ARM: OMAP2xxx: hwmod data: share common hwmods between OMAP2420 and OMAP2430
  ...
parents 0f8b7137 1df82cd6
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -118,16 +118,18 @@ obj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) \
					   powerdomains44xx_data.o

# PRCM clockdomain control
obj-$(CONFIG_ARCH_OMAP2)		+= clockdomain.o \
clockdomain-common			+= clockdomain.o \
					   clockdomains_common_data.o
obj-$(CONFIG_ARCH_OMAP2)		+= $(clockdomain-common) \
					   clockdomain2xxx_3xxx.o \
					   clockdomains2xxx_3xxx_data.o
obj-$(CONFIG_SOC_OMAP2420)		+= clockdomains2420_data.o
obj-$(CONFIG_SOC_OMAP2430)		+= clockdomains2430_data.o
obj-$(CONFIG_ARCH_OMAP3)		+= clockdomain.o \
obj-$(CONFIG_ARCH_OMAP3)		+= $(clockdomain-common) \
					   clockdomain2xxx_3xxx.o \
					   clockdomains2xxx_3xxx_data.o \
					   clockdomains3xxx_data.o
obj-$(CONFIG_ARCH_OMAP4)		+= clockdomain.o \
obj-$(CONFIG_ARCH_OMAP4)		+= $(clockdomain-common) \
					   clockdomain44xx.o \
					   clockdomains44xx_data.o

+6 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ static int omap4_clkdm_clear_all_wkup_sleep_deps(struct clockdomain *clkdm)
	struct clkdm_dep *cd;
	u32 mask = 0;

	if (!clkdm->prcm_partition)
		return 0;

	for (cd = clkdm->wkdep_srcs; cd && cd->clkdm_name; cd++) {
		if (!cd->clkdm)
			continue; /* only happens if data is erroneous */
@@ -103,6 +106,9 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm)
{
	bool hwsup = false;

	if (!clkdm->prcm_partition)
		return 0;

	hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition,
					clkdm->cm_inst, clkdm->clkdm_offs);

+0 −10
Original line number Diff line number Diff line
@@ -89,13 +89,3 @@ struct clockdomain wkup_common_clkdm = {
	.pwrdm		= { .name = "wkup_pwrdm" },
	.dep_bit	= OMAP_EN_WKUP_SHIFT,
};

struct clockdomain prm_common_clkdm = {
	.name		= "prm_clkdm",
	.pwrdm		= { .name = "wkup_pwrdm" },
};

struct clockdomain cm_common_clkdm = {
	.name		= "cm_clkdm",
	.pwrdm		= { .name = "core_pwrdm" },
};
+2 −0
Original line number Diff line number Diff line
@@ -430,6 +430,8 @@ static struct clockdomain *clockdomains_omap44xx[] __initdata = {
	&l4_wkup_44xx_clkdm,
	&emu_sys_44xx_clkdm,
	&l3_dma_44xx_clkdm,
	&prm_common_clkdm,
	&cm_common_clkdm,
	NULL
};

+24 −0
Original line number Diff line number Diff line
/*
 * OMAP2+-common clockdomain data
 *
 * Copyright (C) 2008-2012 Texas Instruments, Inc.
 * Copyright (C) 2008-2010 Nokia Corporation
 *
 * Paul Walmsley, Jouni Högander
 */

#include <linux/kernel.h>
#include <linux/io.h>

#include "clockdomain.h"

/* These are implicit clockdomains - they are never defined as such in TRM */
struct clockdomain prm_common_clkdm = {
	.name		= "prm_clkdm",
	.pwrdm		= { .name = "wkup_pwrdm" },
};

struct clockdomain cm_common_clkdm = {
	.name		= "cm_clkdm",
	.pwrdm		= { .name = "core_pwrdm" },
};
Loading