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

Commit 29104e01 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'omap-for-v5.2/soc-signed' of...

Merge tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc

SoC changes for omap variants for v5.2 merge window

This series of changes mostly consists of ti-sysc interconnect driver
related preparation work. With these changes and the related ti-sysc
driver changes, we can start dropping legacy omap_hwmod_*data.c platform
data for many devices.

There are also two am335x and am437x related PM changes for secure
devices that have ROM handling some parts and needs EFUSE power domain
active.

* tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap

:
  ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
  ARM: OMAP2+: Wakeupgen: AM43xx HS devices should save context like non-HS
  ARM: OMAP2+: Handle reset quirks for dynamically allocated modules
  ARM: OMAP2+: Remove hwmod .rev data and use local SoC checks instead
  ARM: OMAP2+: Allocate struct omap_hwmod based on dts data
  ARM: OMAP2+: Define _HWMOD_STATE_DEFAULT and use it
  ARM: OMAP2+: Prepare class allocation for dynamically allocated modules
  ARM: OMAP2+: Make interconnect target module allocation functions static
  ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
  ARM: dts: Fix dcan clkctrl clock for am3

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 56c6eed1 72aff4ec
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1762,7 +1762,7 @@
			reg = <0xcc000 0x4>;
			reg-names = "rev";
			/* Domains (P, C): per_pwrdm, l4ls_clkdm */
			clocks = <&l4ls_clkctrl AM3_D_CAN0_CLKCTRL 0>;
			clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN0_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
@@ -1785,7 +1785,7 @@
			reg = <0xd0000 0x4>;
			reg-names = "rev";
			/* Domains (P, C): per_pwrdm, l4ls_clkdm */
			clocks = <&l4ls_clkctrl AM3_D_CAN1_CLKCTRL 0>;
			clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN1_CLKCTRL 0>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
+9 −0
Original line number Diff line number Diff line
@@ -336,6 +336,15 @@ static inline void omap5_secondary_hyp_startup(void)
}
#endif

#ifdef CONFIG_SOC_DRA7XX
extern int dra7xx_pciess_reset(struct omap_hwmod *oh);
#else
static inline int dra7xx_pciess_reset(struct omap_hwmod *oh)
{
	return 0;
}
#endif

void pdata_quirks_init(const struct of_device_id *);
void omap_auxdata_legacy_init(struct device *dev);
void omap_pcs_legacy_init(int irq, void (*rearm)(void));
+3 −8
Original line number Diff line number Diff line
@@ -53,15 +53,10 @@ int omap_i2c_reset(struct omap_hwmod *oh)
	u16 i2c_con;
	int c = 0;

	if (oh->class->rev == OMAP_I2C_IP_VERSION_2) {
		i2c_con = OMAP4_I2C_CON_OFFSET;
	} else if (oh->class->rev == OMAP_I2C_IP_VERSION_1) {
	if (soc_is_omap24xx() || soc_is_omap34xx() || soc_is_am35xx())
		i2c_con = OMAP2_I2C_CON_OFFSET;
	} else {
		WARN(1, "Cannot reset I2C block %s: unsupported revision\n",
		     oh->name);
		return -EINVAL;
	}
	else
		i2c_con = OMAP4_I2C_CON_OFFSET;

	/* Disable I2C */
	v = omap_hwmod_read(oh, i2c_con);
+1 −6
Original line number Diff line number Diff line
@@ -411,14 +411,9 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)

static void __init __maybe_unused omap_hwmod_init_postsetup(void)
{
	u8 postsetup_state;
	u8 postsetup_state = _HWMOD_STATE_DEFAULT;

	/* Set the default postsetup state for all hwmods */
#ifdef CONFIG_PM
	postsetup_state = _HWMOD_STATE_IDLE;
#else
	postsetup_state = _HWMOD_STATE_ENABLED;
#endif
	omap_hwmod_for_each(_set_hwmod_postsetup_state, &postsetup_state);
}

+8 −0
Original line number Diff line number Diff line
@@ -7,7 +7,15 @@
#define OMAP4_MMC_REG_OFFSET	0x100

struct omap_hwmod;

#ifdef CONFIG_SOC_OMAP2420
int omap_msdi_reset(struct omap_hwmod *oh);
#else
static inline int omap_msdi_reset(struct omap_hwmod *oh)
{
	return 0;
}
#endif

/* called from board-specific card detection service routine */
extern void omap_mmc_notify_cover_event(struct device *dev, int slot,
Loading