Commit 3cf94c94 authored by Martin Blumenstingl's avatar Martin Blumenstingl Committed by Neil Armstrong

clk: meson: clk-regmap: add read-only gate ops

Some of the gate clocks are described as "just in case" bits in the
datasheet. Examples are the ABP, PERIPH, AXI and L2 DRAM clocks on
Meson8b.
The datasheet suggests that these bits are not touched. The full
explanation is:
"Set to 1 to manually disable the [...] clock when changing the mux
selection. Typically this bit is set to 0 since the clock muxes can
switch without glitches.".

This adds new read-only ops for gate clocks so we can describe these
clocks in our clock controller drivers while ensuring that we can't
accidentally modify the registers.
Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://lkml.kernel.org/r/20181122214017.25643-3-martin.blumenstingl@googlemail.com
parent 7fc1609b
...@@ -50,6 +50,11 @@ const struct clk_ops clk_regmap_gate_ops = { ...@@ -50,6 +50,11 @@ const struct clk_ops clk_regmap_gate_ops = {
}; };
EXPORT_SYMBOL_GPL(clk_regmap_gate_ops); EXPORT_SYMBOL_GPL(clk_regmap_gate_ops);
const struct clk_ops clk_regmap_gate_ro_ops = {
.is_enabled = clk_regmap_gate_is_enabled,
};
EXPORT_SYMBOL_GPL(clk_regmap_gate_ro_ops);
static unsigned long clk_regmap_div_recalc_rate(struct clk_hw *hw, static unsigned long clk_regmap_div_recalc_rate(struct clk_hw *hw,
unsigned long prate) unsigned long prate)
{ {
......
...@@ -51,6 +51,7 @@ clk_get_regmap_gate_data(struct clk_regmap *clk) ...@@ -51,6 +51,7 @@ clk_get_regmap_gate_data(struct clk_regmap *clk)
} }
extern const struct clk_ops clk_regmap_gate_ops; extern const struct clk_ops clk_regmap_gate_ops;
extern const struct clk_ops clk_regmap_gate_ro_ops;
/** /**
* struct clk_regmap_div_data - regmap backed adjustable divider specific data * struct clk_regmap_div_data - regmap backed adjustable divider specific data
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment