Commit cbfc8d0a authored by Peter De Schrijver's avatar Peter De Schrijver Committed by Thierry Reding
Browse files

clk: tegra: add fence_delay for clock registers



To ensure writes to clock registers have properly propagated through the
clock control logic and state machines, we need to ensure the writes have
been posted in the registers and wait for 1us after that.

Signed-off-by: default avatarPeter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-by: default avatarJon Hunter <jonathanh@nvidia.com>
Tested-by: default avatarJon Hunter <jonathanh@nvidia.com>
Tested-by: default avatarHector Martin <marcan@marcan.st>
Tested-by: default avatarAndre Heider <a.heider@gmail.com>
Tested-by: default avatarMikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 89e423c3
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -812,4 +812,11 @@ int tegra_pll_wait_for_lock(struct tegra_clk_pll *pll);
u16 tegra_pll_get_fixed_mdiv(struct clk_hw *hw, unsigned long input_rate);
int tegra_pll_p_div_to_hw(struct tegra_clk_pll *pll, u8 p_div);

/* Combined read fence with delay */
#define fence_udelay(delay, reg)	\
	do {				\
		readl(reg);		\
		udelay(delay);		\
	} while (0)

#endif /* TEGRA_CLK_H */