clk: mvebu: ap806: introduce a new binding
authorGregory CLEMENT <gregory.clement@free-electrons.com>
Wed, 31 May 2017 14:07:26 +0000 (16:07 +0200)
committerMichael Turquette <mturquette@baylibre.com>
Thu, 1 Jun 2017 03:03:21 +0000 (12:03 +0900)
commitb90da67543e5aae5cb8162402ac5b483fb660dbd
tree8e19ead84e3eb9ff229f930de1c586e54856776c
parent55de4d06b4589e5fba9f27b6876884e5af68890e
clk: mvebu: ap806: introduce a new binding

As for cp110, the initial intent when the binding of the ap806 system
controller was to have one flat node. The idea being that what is
currently a clock-only driver in drivers would become a MFD driver,
exposing the clock, GPIO and pinctrl functionality. However, after taking
a step back, this would lead to a messy binding. Indeed, a single node
would be a GPIO controller, clock controller, pinmux controller, and
more.

This patch adopts a more classical solution of a top-level syscon node
with sub-nodes for the individual devices. The main benefit will be to
have each functional block associated to its own sub-node where we can
put its own properties.

The introduction of the Armada 7K/8K is still in the early stage so the
plan is to remove the old binding. However, we don't want to break the
device tree compatibility for the few devices already in the field. For
this we still keep the support of the legacy compatible string with a big
warning in the kernel about updating the device tree.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Link: lkml.kernel.org/r/cc8c8c40fa4c4e71133033358992ec38e5aa2be5.1496239589.git-series.gregory.clement@free-electrons.com
drivers/clk/mvebu/ap806-system-controller.c