Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'clk-renesas-for-v4.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-next

Pull Renesas clk driver updates from Geert Uytterhoeven:

- SYS-DMAC, (H)SCIF, I2C, DRIF, and graphics related clocks for R-Car
M3-W,
- Minor fixes and cleanups.

* tag 'clk-renesas-for-v4.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
clk: renesas: r8a7796: Add DU and LVDS clocks
clk: renesas: r8a7796: Add VSP clocks
clk: renesas: r8a7796: Add FCP clocks
clk: renesas: cpg-mssr: Remove bogus commas from error messages
clk: renesas: r8a7796: Add DRIF clock
clk: renesas: cpg-mssr: Fix inverted debug check
clk: renesas: rcar-gen3-cpg: Always use readl()/writel()
clk: renesas: cpg-mssr: Always use readl()/writel()
clk: renesas: r8a7796: Add I2C clocks
clk: renesas: r8a7796: Add HSCIF clocks
clk: renesas: r8a7796: Add SCIF clocks
clk: renesas: r8a7796: Add SYS-DMAC clocks

+58 -14
+45
drivers/clk/renesas/r8a7796-cpg-mssr.c
··· 109 109 }; 110 110 111 111 static const struct mssr_mod_clk r8a7796_mod_clks[] __initconst = { 112 + DEF_MOD("scif5", 202, R8A7796_CLK_S3D4), 113 + DEF_MOD("scif4", 203, R8A7796_CLK_S3D4), 114 + DEF_MOD("scif3", 204, R8A7796_CLK_S3D4), 115 + DEF_MOD("scif1", 206, R8A7796_CLK_S3D4), 116 + DEF_MOD("scif0", 207, R8A7796_CLK_S3D4), 117 + DEF_MOD("sys-dmac2", 217, R8A7796_CLK_S0D3), 118 + DEF_MOD("sys-dmac1", 218, R8A7796_CLK_S0D3), 119 + DEF_MOD("sys-dmac0", 219, R8A7796_CLK_S0D3), 112 120 DEF_MOD("cmt3", 300, R8A7796_CLK_R), 113 121 DEF_MOD("cmt2", 301, R8A7796_CLK_R), 114 122 DEF_MOD("cmt1", 302, R8A7796_CLK_R), ··· 128 120 DEF_MOD("sdif0", 314, R8A7796_CLK_SD0), 129 121 DEF_MOD("rwdt0", 402, R8A7796_CLK_R), 130 122 DEF_MOD("intc-ap", 408, R8A7796_CLK_S3D1), 123 + DEF_MOD("drif7", 508, R8A7796_CLK_S3D2), 124 + DEF_MOD("drif6", 509, R8A7796_CLK_S3D2), 125 + DEF_MOD("drif5", 510, R8A7796_CLK_S3D2), 126 + DEF_MOD("drif4", 511, R8A7796_CLK_S3D2), 127 + DEF_MOD("drif3", 512, R8A7796_CLK_S3D2), 128 + DEF_MOD("drif2", 513, R8A7796_CLK_S3D2), 129 + DEF_MOD("drif1", 514, R8A7796_CLK_S3D2), 130 + DEF_MOD("drif0", 515, R8A7796_CLK_S3D2), 131 + DEF_MOD("hscif4", 516, R8A7796_CLK_S3D1), 132 + DEF_MOD("hscif3", 517, R8A7796_CLK_S3D1), 133 + DEF_MOD("hscif2", 518, R8A7796_CLK_S3D1), 134 + DEF_MOD("hscif1", 519, R8A7796_CLK_S3D1), 135 + DEF_MOD("hscif0", 520, R8A7796_CLK_S3D1), 131 136 DEF_MOD("thermal", 522, R8A7796_CLK_CP), 137 + DEF_MOD("fcpvd2", 601, R8A7796_CLK_S0D2), 138 + DEF_MOD("fcpvd1", 602, R8A7796_CLK_S0D2), 139 + DEF_MOD("fcpvd0", 603, R8A7796_CLK_S0D2), 140 + DEF_MOD("fcpvb0", 607, R8A7796_CLK_S0D1), 141 + DEF_MOD("fcpvi0", 611, R8A7796_CLK_S0D1), 142 + DEF_MOD("fcpf0", 615, R8A7796_CLK_S0D1), 143 + DEF_MOD("fcpci0", 617, R8A7796_CLK_S0D2), 144 + DEF_MOD("fcpcs", 619, R8A7796_CLK_S0D2), 145 + DEF_MOD("vspd2", 621, R8A7796_CLK_S0D2), 146 + DEF_MOD("vspd1", 622, R8A7796_CLK_S0D2), 147 + DEF_MOD("vspd0", 623, R8A7796_CLK_S0D2), 148 + DEF_MOD("vspb", 626, R8A7796_CLK_S0D1), 149 + DEF_MOD("vspi0", 631, R8A7796_CLK_S0D1), 150 + DEF_MOD("du2", 722, R8A7796_CLK_S2D1), 151 + DEF_MOD("du1", 723, R8A7796_CLK_S2D1), 152 + DEF_MOD("du0", 724, R8A7796_CLK_S2D1), 153 + DEF_MOD("lvds", 727, R8A7796_CLK_S2D1), 132 154 DEF_MOD("etheravb", 812, R8A7796_CLK_S0D6), 133 155 DEF_MOD("gpio7", 905, R8A7796_CLK_S3D4), 134 156 DEF_MOD("gpio6", 906, R8A7796_CLK_S3D4), ··· 168 130 DEF_MOD("gpio2", 910, R8A7796_CLK_S3D4), 169 131 DEF_MOD("gpio1", 911, R8A7796_CLK_S3D4), 170 132 DEF_MOD("gpio0", 912, R8A7796_CLK_S3D4), 133 + DEF_MOD("i2c6", 918, R8A7796_CLK_S0D6), 134 + DEF_MOD("i2c5", 919, R8A7796_CLK_S0D6), 135 + DEF_MOD("i2c4", 927, R8A7796_CLK_S0D6), 136 + DEF_MOD("i2c3", 928, R8A7796_CLK_S0D6), 137 + DEF_MOD("i2c2", 929, R8A7796_CLK_S3D2), 138 + DEF_MOD("i2c1", 930, R8A7796_CLK_S3D2), 139 + DEF_MOD("i2c0", 931, R8A7796_CLK_S3D2), 171 140 }; 172 141 173 142 static const unsigned int r8a7796_crit_mod_clks[] __initconst = {
+7 -7
drivers/clk/renesas/rcar-gen3-cpg.c
··· 98 98 u32 val, sd_fc; 99 99 unsigned int i; 100 100 101 - val = clk_readl(clock->reg); 101 + val = readl(clock->reg); 102 102 103 103 sd_fc = val & CPG_SD_FC_MASK; 104 104 for (i = 0; i < clock->div_num; i++) ··· 111 111 val &= ~(CPG_SD_STP_MASK); 112 112 val |= clock->div_table[i].val & CPG_SD_STP_MASK; 113 113 114 - clk_writel(val, clock->reg); 114 + writel(val, clock->reg); 115 115 116 116 return 0; 117 117 } ··· 120 120 { 121 121 struct sd_clock *clock = to_sd_clock(hw); 122 122 123 - clk_writel(clk_readl(clock->reg) | CPG_SD_STP_MASK, clock->reg); 123 + writel(readl(clock->reg) | CPG_SD_STP_MASK, clock->reg); 124 124 } 125 125 126 126 static int cpg_sd_clock_is_enabled(struct clk_hw *hw) 127 127 { 128 128 struct sd_clock *clock = to_sd_clock(hw); 129 129 130 - return !(clk_readl(clock->reg) & CPG_SD_STP_MASK); 130 + return !(readl(clock->reg) & CPG_SD_STP_MASK); 131 131 } 132 132 133 133 static unsigned long cpg_sd_clock_recalc_rate(struct clk_hw *hw, ··· 138 138 u32 val, sd_fc; 139 139 unsigned int i; 140 140 141 - val = clk_readl(clock->reg); 141 + val = readl(clock->reg); 142 142 143 143 sd_fc = val & CPG_SD_FC_MASK; 144 144 for (i = 0; i < clock->div_num; i++) ··· 189 189 if (i >= clock->div_num) 190 190 return -EINVAL; 191 191 192 - val = clk_readl(clock->reg); 192 + val = readl(clock->reg); 193 193 val &= ~(CPG_SD_STP_MASK | CPG_SD_FC_MASK); 194 194 val |= clock->div_table[i].val & (CPG_SD_STP_MASK | CPG_SD_FC_MASK); 195 - clk_writel(val, clock->reg); 195 + writel(val, clock->reg); 196 196 197 197 return 0; 198 198 }
+6 -7
drivers/clk/renesas/renesas-cpg-mssr.c
··· 146 146 enable ? "ON" : "OFF"); 147 147 spin_lock_irqsave(&priv->mstp_lock, flags); 148 148 149 - value = clk_readl(priv->base + SMSTPCR(reg)); 149 + value = readl(priv->base + SMSTPCR(reg)); 150 150 if (enable) 151 151 value &= ~bitmask; 152 152 else 153 153 value |= bitmask; 154 - clk_writel(value, priv->base + SMSTPCR(reg)); 154 + writel(value, priv->base + SMSTPCR(reg)); 155 155 156 156 spin_unlock_irqrestore(&priv->mstp_lock, flags); 157 157 ··· 159 159 return 0; 160 160 161 161 for (i = 1000; i > 0; --i) { 162 - if (!(clk_readl(priv->base + MSTPSR(reg)) & 163 - bitmask)) 162 + if (!(readl(priv->base + MSTPSR(reg)) & bitmask)) 164 163 break; 165 164 cpu_relax(); 166 165 } ··· 189 190 struct cpg_mssr_priv *priv = clock->priv; 190 191 u32 value; 191 192 192 - value = clk_readl(priv->base + MSTPSR(clock->index / 32)); 193 + value = readl(priv->base + MSTPSR(clock->index / 32)); 193 194 194 195 return !(value & BIT(clock->index % 32)); 195 196 } ··· 308 309 return; 309 310 310 311 fail: 311 - dev_err(dev, "Failed to register %s clock %s: %ld\n", "core,", 312 + dev_err(dev, "Failed to register %s clock %s: %ld\n", "core", 312 313 core->name, PTR_ERR(clk)); 313 314 } 314 315 ··· 376 377 return; 377 378 378 379 fail: 379 - dev_err(dev, "Failed to register %s clock %s: %ld\n", "module,", 380 + dev_err(dev, "Failed to register %s clock %s: %ld\n", "module", 380 381 mod->name, PTR_ERR(clk)); 381 382 kfree(clock); 382 383 }