Subject: [PATCH 3/5] clk: samsung: Document binding for Exynos4415 clock controller

From: [email-masked] (Sylwester Nawrocki)
Date: Fri, 24 Oct 2014 12:32:05 +0200

On 20/10/14 05:32, Chanwoo Choi wrote:
> The Exynos4415 clocks are statically listed and registered using the
> Samsung specific common clock helper functions. Both device tree based
> clock lookup and clkdev based clock lookups are supported.

I think the above text is not relevant, DT binding is not supposed
to depend on any OS. Instead I would just put here something like:

"This patch adds DT binding documentation for Exynos4415 SoC system
clock controllers."

> Cc: Sylwester Nawrocki <[email-masked]>
> Cc: Tomasz Figa <[email-masked]>
> Signed-off-by: Chanwoo Choi <[email-masked]>
> Acked-by: Kyungmin Park <[email-masked]>
> ---
>  .../devicetree/bindings/clock/exynos4415-clock.txt | 49 ++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/exynos4415-clock.txt
> 
> diff --git a/Documentation/devicetree/bindings/clock/exynos4415-clock.txt b/Documentation/devicetree/bindings/clock/exynos4415-clock.txt
> new file mode 100644
> index 0000000..8aa4f4f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/exynos4415-clock.txt
> @@ -0,0 +1,49 @@
> +* Samsung Exynos4415 Clock Controller
> +
> +The Exynos4415 clock controller generates and supplies clock to various
> +controllers within the Exynos4415 SoC.

s/controllers/consumer devices/ ?

> +
> +Required Properties:

s/P/p/ ?

> +
> +- compatible: should be one of the following.

s/./:/ ?

> +  - "samsung,exynos4415-cmu" - controller compatible with Exynos4415 SoC.

>>From current description it seems "samsung,exynos4415-cmu-dmc" is compatible
with "samsung,exynos4415-cmu", which is not the case AFAIK.
Perhaps we should change description here to something along the lines of:

- "samsung,exynos4415-cmu" - for the main system clocks controller
  (CMU_LEFTBUS, CMU_RIGHTBUS, CMU_TOP, CMU_CPU clock domains),

> +  - "samsung,exynos4415-cmu-dmc" - controller compatible with
> +    Exynos4415 SoC for Dynamic Memory Controller domain.

This seems unclear, how about

 - "samsung,exynos4415-cmu-dmc" - for the Exynos4415 SoC DRAM Memory
    Controller (DMC) domain clock controller.

?
> +- reg: physical base address of the controller and length of memory mapped
> +  region.
> +
> +- #clock-cells: should be 1.
> +
> +Each clock is assigned an identifier and client nodes can use this identifier
> +to specify the clock which they consume.
> +
> +All available clocks are defined as preprocessor macros in
> +dt-bindings/clock/exynos4415.h header and can be used in device
> +tree sources.

> +Example 1: An example of a clock controller node is listed below.
> +
> +	cmu: clock-controller at 10030000 {
> +		compatible = "samsung,exynos4415-cmu";
> +		reg = <0x10030000 0x18000>;
> +		#clock-cells = <1>;
> +	};
> +
> +	cmu-dmc: clock-controller at 105C0000 {
> +		compatible = "samsung,exynos4415-cmu-dmc";
> +		reg = <0x105C0000 0x3000>;
> +		#clock-cells = <1>;
> +	};
> +
> +Example 2: UART controller node that consumes the clock generated by the clock
> +	   controller. Refer to the standard clock bindings for information
> +	   about 'clocks' and 'clock-names' property.
> +
> +	serial_0: serial at 13800000 {
> +		compatible = "samsung,exynos4210-uart";
> +		reg = <0x13800000 0x100>;
> +		interrupts = <0 109 0>;
> +		clocks = <&cmu CLK_UART0>, <&cmu CLK_SCLK_UART0>;
> +		clock-names = "uart", "clk_uart_baud0";
> +	};

I think we could omit those example snippets, it's all generic stuff and
there is already plenty examples in descriptions of the DT binding for
other SoCs.

--
Regards,
Sylwester