aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Pommarel <repk@triplefau.lt>2015-12-06 11:22:48 -0500
committerMichael Turquette <mturquette@baylibre.com>2015-12-24 23:38:38 -0500
commitcfbab8fbab9c330aca963095a439c451ac97c0dd (patch)
tree27c6b1facf2ff88bb04f250d78c2acdf47ec411f
parent6d18b8adbe679b5947aa822b676efff230acc5f6 (diff)
clk: bcm2835: Add PWM clock support
Register the pwm clock for bcm2835. Signed-off-by: Remi Pommarel <repk@triplefau.lt> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
-rw-r--r--drivers/clk/bcm/clk-bcm2835.c13
-rw-r--r--include/dt-bindings/clock/bcm2835.h3
2 files changed, 15 insertions, 1 deletions
diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
index 6e4dd6fa3403..015e687ffabe 100644
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
@@ -807,6 +807,16 @@ static const struct bcm2835_clock_data bcm2835_clock_emmc_data = {
807 .frac_bits = 8, 807 .frac_bits = 8,
808}; 808};
809 809
810static const struct bcm2835_clock_data bcm2835_clock_pwm_data = {
811 .name = "pwm",
812 .num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents),
813 .parents = bcm2835_clock_per_parents,
814 .ctl_reg = CM_PWMCTL,
815 .div_reg = CM_PWMDIV,
816 .int_bits = 12,
817 .frac_bits = 12,
818};
819
810struct bcm2835_pll { 820struct bcm2835_pll {
811 struct clk_hw hw; 821 struct clk_hw hw;
812 struct bcm2835_cprman *cprman; 822 struct bcm2835_cprman *cprman;
@@ -1584,6 +1594,9 @@ static int bcm2835_clk_probe(struct platform_device *pdev)
1584 cprman->regs + CM_PERIICTL, CM_GATE_BIT, 1594 cprman->regs + CM_PERIICTL, CM_GATE_BIT,
1585 0, &cprman->regs_lock); 1595 0, &cprman->regs_lock);
1586 1596
1597 clks[BCM2835_CLOCK_PWM] =
1598 bcm2835_register_clock(cprman, &bcm2835_clock_pwm_data);
1599
1587 return of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, 1600 return of_clk_add_provider(dev->of_node, of_clk_src_onecell_get,
1588 &cprman->onecell); 1601 &cprman->onecell);
1589} 1602}
diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h
index d323efac7edf..61f1d20c2a67 100644
--- a/include/dt-bindings/clock/bcm2835.h
+++ b/include/dt-bindings/clock/bcm2835.h
@@ -43,5 +43,6 @@
43#define BCM2835_CLOCK_TSENS 27 43#define BCM2835_CLOCK_TSENS 27
44#define BCM2835_CLOCK_EMMC 28 44#define BCM2835_CLOCK_EMMC 28
45#define BCM2835_CLOCK_PERI_IMAGE 29 45#define BCM2835_CLOCK_PERI_IMAGE 29
46#define BCM2835_CLOCK_PWM 30
46 47
47#define BCM2835_CLOCK_COUNT 30 48#define BCM2835_CLOCK_COUNT 31