LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Jerome Brunet <jbrunet@baylibre.com> To: Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>, Russell King <linux@armlinux.org.uk> Cc: Jerome Brunet <jbrunet@baylibre.com>, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/3] clk: add duty cycle support Date: Mon, 16 Apr 2018 19:57:40 +0200 [thread overview] Message-ID: <20180416175743.20826-1-jbrunet@baylibre.com> (raw) This patchset adds the possibility to control the duty cycle ratio of a clock within the clock framework. This useful when the duty cycle ratio depends on another parameter controlled by the clock framework. For example, the duty cycle ratio may depends on the value of a divider (ratio = N / div). This is also useful if the related clock is part of large tree. In this case, using CCF to control the clock tree and the PWM framework for the duty cycle would be a nightmare for the provider and the consumer. A clock provider is not required to implement the operation to set and get the duty cycle. If it does not implement .get_duty_cycle(), the ratio is assumed to be 50%. This series also provides pass-through operations ready to be used for clock which don't resample the clock signal (such as gates and muxes). This is provided to make things easier for consumers. Clocks are usually made of several elements, like a composite clocks with a mux, a divider, and a gate. With the pass-through ops set on the gate, the consumer does not need to be aware that the duty cycle is actually controlled by the divider, it can continue to use the clock through the gate, as usual. The simple propagation will stop at the first clock which resample the signal (such as a divider). Patch 2 and 3 add the pass-through ops to the generic gate and mux ops. In this first version, it is unconditional, but maybe we should provide a flag to let people decide what is best for them ? The series has been developed to handled the sample clocks provided by audio clock controller of amlogic's A113 SoC. To support i2s modes, this clock need to have a 50% duty cycle ratio, while it should be just one pulse of the parent clock in dsp modes. PS: Checkpatch complains heavily about the white space in the trace header file. I believe I have respected the style already used in this file. Please let me know if it should be done differently. Jerome Brunet (3): clk: add duty cycle support clk: gate: add duty cycle passthrough ops clk: mux: add duty cycle passthrough ops drivers/clk/clk-gate.c | 2 + drivers/clk/clk-mux.c | 4 + drivers/clk/clk.c | 196 +++++++++++++++++++++++++++++++++++++++++-- include/linux/clk-provider.h | 17 ++++ include/linux/clk.h | 32 +++++++ include/trace/events/clk.h | 36 ++++++++ 6 files changed, 282 insertions(+), 5 deletions(-) -- 2.14.3
next reply other threads:[~2018-04-16 17:57 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-16 17:57 Jerome Brunet [this message] 2018-04-16 17:57 ` [PATCH 1/3] clk: add duty cycle support Jerome Brunet 2018-04-17 5:43 ` Stephen Boyd 2018-04-17 6:28 ` Jerome Brunet 2018-04-16 17:57 ` [PATCH 2/3] clk: gate: add duty cycle passthrough ops Jerome Brunet 2018-04-16 17:57 ` [PATCH 3/3] clk: mux: " Jerome Brunet 2018-04-17 5:49 ` [PATCH 0/3] clk: add duty cycle support Stephen Boyd 2018-04-17 6:30 ` Jerome Brunet
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180416175743.20826-1-jbrunet@baylibre.com \ --to=jbrunet@baylibre.com \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mturquette@baylibre.com \ --cc=sboyd@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).