Skip to content

Commit 96efa11

Browse files
digetxjoergroedel
authored andcommitted
memory: tegra: Adapt to Tegra20 device-tree binding changes
The tegra20-mc device-tree binding has been changed, GART has been squashed into Memory Controller and now the clock property is mandatory for Tegra20, the DT compatible has been changed as well. Adapt driver to the DT changes. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 parent be4dbde commit 96efa11

File tree

3 files changed

+9
-20
lines changed

3 files changed

+9
-20
lines changed

drivers/memory/tegra/mc.c

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
static const struct of_device_id tegra_mc_of_match[] = {
5353
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
54-
{ .compatible = "nvidia,tegra20-mc", .data = &tegra20_mc_soc },
54+
{ .compatible = "nvidia,tegra20-mc-gart", .data = &tegra20_mc_soc },
5555
#endif
5656
#ifdef CONFIG_ARCH_TEGRA_3x_SOC
5757
{ .compatible = "nvidia,tegra30-mc", .data = &tegra30_mc_soc },
@@ -638,24 +638,19 @@ static int tegra_mc_probe(struct platform_device *pdev)
638638
if (IS_ERR(mc->regs))
639639
return PTR_ERR(mc->regs);
640640

641+
mc->clk = devm_clk_get(&pdev->dev, "mc");
642+
if (IS_ERR(mc->clk)) {
643+
dev_err(&pdev->dev, "failed to get MC clock: %ld\n",
644+
PTR_ERR(mc->clk));
645+
return PTR_ERR(mc->clk);
646+
}
647+
641648
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
642649
if (mc->soc == &tegra20_mc_soc) {
643-
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
644-
mc->regs2 = devm_ioremap_resource(&pdev->dev, res);
645-
if (IS_ERR(mc->regs2))
646-
return PTR_ERR(mc->regs2);
647-
648650
isr = tegra20_mc_irq;
649651
} else
650652
#endif
651653
{
652-
mc->clk = devm_clk_get(&pdev->dev, "mc");
653-
if (IS_ERR(mc->clk)) {
654-
dev_err(&pdev->dev, "failed to get MC clock: %ld\n",
655-
PTR_ERR(mc->clk));
656-
return PTR_ERR(mc->clk);
657-
}
658-
659654
err = tegra_mc_setup_latency_allowance(mc);
660655
if (err < 0) {
661656
dev_err(&pdev->dev, "failed to setup latency allowance: %d\n",

drivers/memory/tegra/mc.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,12 @@
2626

2727
static inline u32 mc_readl(struct tegra_mc *mc, unsigned long offset)
2828
{
29-
if (mc->regs2 && offset >= 0x24)
30-
return readl(mc->regs2 + offset - 0x3c);
31-
3229
return readl(mc->regs + offset);
3330
}
3431

3532
static inline void mc_writel(struct tegra_mc *mc, u32 value,
3633
unsigned long offset)
3734
{
38-
if (mc->regs2 && offset >= 0x24)
39-
return writel(value, mc->regs2 + offset - 0x3c);
40-
4135
writel(value, mc->regs + offset);
4236
}
4337

include/soc/tegra/mc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ struct tegra_mc_soc {
144144
struct tegra_mc {
145145
struct device *dev;
146146
struct tegra_smmu *smmu;
147-
void __iomem *regs, *regs2;
147+
void __iomem *regs;
148148
struct clk *clk;
149149
int irq;
150150

0 commit comments

Comments
 (0)