clk: mvebu: cp110: introduce a new binding
authorGregory CLEMENT <gregory.clement@free-electrons.com>
Tue, 30 May 2017 15:46:06 +0000 (17:46 +0200)
committerGregory CLEMENT <gregory.clement@free-electrons.com>
Mon, 19 Jun 2017 15:22:22 +0000 (17:22 +0200)
commit5ffeb5f5a77adc925699bbd9da198e5b8a4eec5a
tree7ba1976cc5a725a6a50c6b94ea8862f37767c62c
parentf5667274ba9e73a740210ed996cc0f63c8d2f601
clk: mvebu: cp110: introduce a new binding

The initial intent when the binding of the cp110 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.

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
drivers/clk/mvebu/cp110-system-controller.c