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

Commit cfbab8fb authored by Remi Pommarel's avatar Remi Pommarel Committed by Michael Turquette
Browse files

clk: bcm2835: Add PWM clock support



Register the pwm clock for bcm2835.

Signed-off-by: default avatarRemi Pommarel <repk@triplefau.lt>
Reviewed-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
parent 6d18b8ad
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -807,6 +807,16 @@ static const struct bcm2835_clock_data bcm2835_clock_emmc_data = {
	.frac_bits = 8,
};

static const struct bcm2835_clock_data bcm2835_clock_pwm_data = {
	.name = "pwm",
	.num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents),
	.parents = bcm2835_clock_per_parents,
	.ctl_reg = CM_PWMCTL,
	.div_reg = CM_PWMDIV,
	.int_bits = 12,
	.frac_bits = 12,
};

struct bcm2835_pll {
	struct clk_hw hw;
	struct bcm2835_cprman *cprman;
@@ -1584,6 +1594,9 @@ static int bcm2835_clk_probe(struct platform_device *pdev)
				  cprman->regs + CM_PERIICTL, CM_GATE_BIT,
				  0, &cprman->regs_lock);

	clks[BCM2835_CLOCK_PWM] =
		bcm2835_register_clock(cprman, &bcm2835_clock_pwm_data);

	return of_clk_add_provider(dev->of_node, of_clk_src_onecell_get,
				   &cprman->onecell);
}
+2 −1
Original line number Diff line number Diff line
@@ -43,5 +43,6 @@
#define BCM2835_CLOCK_TSENS		27
#define BCM2835_CLOCK_EMMC		28
#define BCM2835_CLOCK_PERI_IMAGE	29
#define BCM2835_CLOCK_PWM		30

#define BCM2835_CLOCK_COUNT		30
#define BCM2835_CLOCK_COUNT		31