[PATCH v3 1/7] dt/bindings: Add binding for the Raspberry Pi clock provider
From: lee@kernel.org (Lee Jones)
Date: 2015-07-24 15:30:19
Also in:
linux-clk, lkml
On Tue, 07 Jul 2015, Eric Anholt wrote:
Lee Jones [off-list ref] writes:quoted
If I were the Clock Maintainer, I would have probably missed this patch. You _must_ intimate which subsystem you are submitting to.quoted
The hardware clocks are not controllable by the ARM, so we have to make requests to the firmware to do so from the VPU side. This will let us replace fixed clocks in our DT with actual clock control (and correct frequency information). v2: Include the dt-bindings header in this commit instead of the next one. Make the clock indices match the firmware clock IDs. Rename the binding's compat string. Move the firmware phandle to be under a vendor-specific namespace. Signed-off-by: Eric Anholt <redacted> --- .../clock/raspberrypi,bcm2835-firmware-clocks.txt | 25 ++++++++++++++++++++++ include/dt-bindings/clk/raspberrypi.h | 23 ++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/raspberrypi,bcm2835-firmware-clocks.txt create mode 100644 include/dt-bindings/clk/raspberrypi.hdiff --git a/Documentation/devicetree/bindings/clock/raspberrypi,bcm2835-firmware-clocks.txt b/Documentation/devicetree/bindings/clock/raspberrypi,bcm2835-firmware-clocks.txt new file mode 100644 index 0000000..0972602 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/raspberrypi,bcm2835-firmware-clocks.txt@@ -0,0 +1,25 @@ +Raspberry Pi firmware clock provider. + +The Raspberry Pi architecture doesn't provide direct access to the +CLOCKMAN peripheral from the ARM side, so Linux has to make requests +to the VPU firmware to program them. + +This binding uses the common clock binding: +Documentation/devicetree/bindings/clock/clock-bindings.txt + +Required properties: +- compatible: Should be "raspberrypi,bcm2835-firmware-clocks" + +- #clock-cells: Shall have value <1>. The permitted clock-specifier + values can be found in + include/dt-bindings/clk/raspberrypi.h. + +- raspberrypi,firmware: Phandle to the firmware driver node.I think 'firmware' is a candidate for a generic phandle name.Stephen Warren asked in the last version that I change it from "firmware" to "raspberrypi,firmware", which made sense to me since we're not some core infrastructure using these references. Which should it be?
We tend to use vendor specific bindings when others are unlikely to make use of them. I would have thought that different vendors would also make use of a generic 'firmware' phandle. The final decision would probably be taken by the DT guys.