clk: sunxi: Move USB gates clocks to a separate file

Since we have a folder of our own, we can actually make use of it by
splitting the huge clock file into several sub drivers.

The USB gates clocks are leaf nodes in the clock tree, thus can be
easily isolated.

At the same time, we also start using CLK_OF_DECLARE for each clock.
This is to let of_clk_init better handle clock tree dependencies.
The transition must be done starting with the leaf nodes, to avoid
any hiccups with the protected clocks list.

The clocks were converted using the following regex on the original
clk_gates_match table entries:

  s/^I{\.compatible = \(.*\), .data = &\(.*\)_data,},/static void \
  __init\2_setup(struct device_node *node)^M{^M^Isunxi_gates_clk_setup(node, \
  \&\2_data);^M}^MCLK_OF_DECLARE(\2, \1, \2_setup);^M/

sun4i related functions and data have a10 added to the name to match
all the others.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
clk: sunxi: Move APB gates clocks to a separate file

Since we have a folder of our own, we can actually make use of it by
splitting the huge clock file into several sub drivers.

The APB gates clocks are leaf nodes, and easy to separate from the
original clock driver. We also use CLK_OF_DECLARE for each clock.

sun4i related functions and data have a10 added to the name to match
all the others.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
clk: sunxi: Move sun4i-a10-apb1 clk driver into a separate file

Since we have a folder of our own, we can actually make use of it
by splitting the huge clock file into several sub drivers.

The apb1 child nodes have already been moved out and converted to
CLK_OF_DECLARE. Now we can do the same for apb1.

We will consolidate clk drivers first implemented for sun4i in the
same file. Functions and data have a10 added to the name to match
all the other platforms.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
clk: sunxi: Make sunxi_gates_clk_setup return a list of registered clocks

Let the setup function return the list of clocks, so we can do things
like protect clocks.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
clk: sunxi: Move AHB gates clocks to a separate file

Since we have a folder of our own, we can actually make use of it by
splitting the huge clock file into several sub drivers.

The AHB gates clocks are leaf nodes, and easy to separate from the
original clock driver. We also use CLK_OF_DECLARE for each clock.

sun4i related functions and data have a10 added to the name to match
all the others.

This patch also moves protecting the ahb(1)_sdram gate clock into
the corresponding AHB gates clock setup function.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
clk: sunxi: Move AXI gates clocks to a separate file

Since we have a folder of our own, we can actually make use of it by
splitting the huge clock file into several sub drivers.

The AXI gates clocks are leaf nodes, and easy to separate from the
original clock driver. We also use CLK_OF_DECLARE for each clock.

sun4i related functions and data have a10 added to the name to match
all the others.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>