Re: [PATCH v2 3/9] arm: twr-k70f120m: clock driver for Kinetis SoC

Arnd Bergmann
2015-06-30T20:36:38Z

On Tuesday 30 June 2015 14:27:24 Paul Osmialowski wrote:
> Based on K70P256M150SF3RM.pdf K70 Sub-Family Reference Manual, Rev. 3.
>
> Signed-off-by: Paul Osmialowski <pawelo@king.net.pl>
> ---
> .../devicetree/bindings/clock/kinetis-clock.txt | 63 +++
> arch/arm/boot/dts/kinetis.dtsi | 36 ++
> drivers/clk/Makefile | 1 +
> drivers/clk/clk-kinetis.c | 463 +++++++++++++++++++++
> 4 files changed, 563 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/kinetis-clock.txt
> create mode 100644 drivers/clk/clk-kinetis.c
>
> diff --git a/Documentation/devicetree/bindings/clock/kinetis-clock.txt b/Documentation/devicetree/bindings/clock/kinetis-clock.txt
> new file mode 100644
> index 0000000..63af6a5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/kinetis-clock.txt
> @@ -0,0 +1,63 @@
> +* Clock bindings for Freescale Kinetis SoC
> +
> +Required properties:
> +- compatible: Should be "fsl,kinetis-cmu".
> +- reg: Two address ranges, one for the Clock Genetator register set,
> + one for System Integration Module register set.
> +- Set of clock devices: one fixed-rate-root, fixed-rate clocks and clock-gates.
> +
> +For clock-gate addresses see K70 Sub-Family Reference Manual, Rev. 3 pg. 341
> +and later. Notice that addresses are zero-based, so SIM_SCGC1 has address 0,
> +SIM_SCGC2 has address 1 and so on. The second address component is the bit
> +index.

Please document the sub-nodes that are allowed, and the format
of the clock specifiers.

> +
> +Example:
> +
> +cmu@40064000 {
> + compatible = "fsl,kinetis-cmu";
> + reg = <0x40064000 0x14>, <0x40047000 0x1100>;
> +
> + mcg_outclk: fixed-rate-root@mcgout {
> + device_type = "mcgout";
> + #clock-cells = <0>;
> + };
> +
> + mcg_cclk: fixed-rate@cclk {

'@' is a reserved character here that is used before the address
of the device, so this has to be a hexadecimal number without leading
'0x', and it should match the 'reg' property of the device.

> + device_type = "cclk";
> + #clock-cells = <0>;
> + clocks = <&mcg_outclk>;
> + };

The device_type property here is not a standard identifier,
and you don't list it as an optional or mandatory property.

Please remove it and instead use the compatible property, the
name or the address.

Arnd