drivers/clk/sunxi/clk-sunxi.c | 12 ++++++++++++
2 files changed, 17 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 0cf679b..ca2b692 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -37,6 +37,8 @@ Required properties:
Required properties for all clocks:
- reg : shall be the control register address for the clock.
-@@ -50,6 +52,9 @@ Required properties for all clocks:
- If the clock module only has one output, the name shall be the
- module name.
+@@ -49,6 +51,9 @@ Required properties for all clocks:
+ Additionally, "allwinner,*-gates-clk" clocks require:
+ - clock-output-names : the corresponding gate names that the clock controls
+And "allwinner,*-usb-clk" clocks also require:
+- reset-cells : shall be set to 1
Clock consumers should specify the desired clocks they use with a
"clocks" phandle cell. Consumers that are using a gated clock should
provide an additional ID in their clock property. This ID is the
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 23beb6e..a779c31 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -816,6 +816,16 @@ static const struct gates_data sun7i_a20_apb1_gates_data __initconst = {
+@@ -816,6 +816,16 @@ static const struct gates_data sun7i_a20
.mask = { 0xff80ff },
};
static void __init sunxi_gates_clk_setup(struct device_node *node,
struct gates_data *data)
{
-@@ -1107,6 +1117,8 @@ static const struct of_device_id clk_gates_match[] __initconst = {
+@@ -1107,6 +1117,8 @@ static const struct of_device_id clk_gat
{.compatible = "allwinner,sun6i-a31-apb1-gates-clk", .data = &sun6i_a31_apb1_gates_data,},
{.compatible = "allwinner,sun7i-a20-apb1-gates-clk", .data = &sun7i_a20_apb1_gates_data,},
{.compatible = "allwinner,sun6i-a31-apb2-gates-clk", .data = &sun6i_a31_apb2_gates_data,},
{}
};
---
-2.0.3
-