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

Commit 67d00470 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

Merge branch 'omap-for-v4.13/clkctrl' into omap-for-v4.13/soc-v4

parents 018b7324 70f05be3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1224,6 +1224,14 @@ int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk)
	return 0;
}

u32 clkdm_xlate_address(struct clockdomain *clkdm)
{
	if (arch_clkdm->clkdm_xlate_address)
		return arch_clkdm->clkdm_xlate_address(clkdm);

	return 0;
}

/**
 * clkdm_hwmod_enable - add an enabled downstream hwmod to this clkdm
 * @clkdm: struct clockdomain *
+2 −0
Original line number Diff line number Diff line
@@ -175,6 +175,7 @@ struct clkdm_ops {
	void	(*clkdm_deny_idle)(struct clockdomain *clkdm);
	int	(*clkdm_clk_enable)(struct clockdomain *clkdm);
	int	(*clkdm_clk_disable)(struct clockdomain *clkdm);
	u32	(*clkdm_xlate_address)(struct clockdomain *clkdm);
};

int clkdm_register_platform_funcs(struct clkdm_ops *co);
@@ -213,6 +214,7 @@ int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk);
int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk);
int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh);
int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh);
u32 clkdm_xlate_address(struct clockdomain *clkdm);

extern void __init omap242x_clockdomains_init(void);
extern void __init omap243x_clockdomains_init(void);
+5 −2
Original line number Diff line number Diff line
@@ -24,8 +24,11 @@

# ifndef __ASSEMBLER__
#include <linux/clk/ti.h>
extern void __iomem *cm_base;
extern void __iomem *cm2_base;

#include "prcm-common.h"

extern struct omap_domain_base cm_base;
extern struct omap_domain_base cm2_base;
extern void omap2_set_globals_cm(void __iomem *cm, void __iomem *cm2);
# endif

+2 −2
Original line number Diff line number Diff line
@@ -52,12 +52,12 @@

static inline u32 omap2_cm_read_mod_reg(s16 module, u16 idx)
{
	return readl_relaxed(cm_base + module + idx);
	return readl_relaxed(cm_base.va + module + idx);
}

static inline void omap2_cm_write_mod_reg(u32 val, s16 module, u16 idx)
{
	writel_relaxed(val, cm_base + module + idx);
	writel_relaxed(val, cm_base.va + module + idx);
}

/* Read-modify-write a register in a CM module. Caller must lock */
+2 −2
Original line number Diff line number Diff line
@@ -50,13 +50,13 @@
/* Read a register in a CM instance */
static inline u32 am33xx_cm_read_reg(u16 inst, u16 idx)
{
	return readl_relaxed(cm_base + inst + idx);
	return readl_relaxed(cm_base.va + inst + idx);
}

/* Write into a register in a CM */
static inline void am33xx_cm_write_reg(u32 val, u16 inst, u16 idx)
{
	writel_relaxed(val, cm_base + inst + idx);
	writel_relaxed(val, cm_base.va + inst + idx);
}

/* Read-modify-write a register in CM */
Loading