The TZ1090 peripheral (PERIP) register region controls a bank of system clock gates for individual peripherals. Create a clock binding for the provider of these clocks, and a header file in <dt-bindings/clock/> for enumerating the provided clocks. There is a single input clock, the main system clock, and multiple peripheral specific system clocks provided which should be referenced by the relevant peripheral device nodes. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx --- Changes since v1 (patch 15): - New patch. - Convert explicit DT representation of clock infrastructure using generic bindings to several TZ1090 specific bindings representing groups of TZ1090 clocks. --- .../bindings/clock/img,tz1090-perip-cru.txt | 49 ++++++++++++++++++++++ include/dt-bindings/clock/tz1090-perip.h | 30 +++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/img,tz1090-perip-cru.txt create mode 100644 include/dt-bindings/clock/tz1090-perip.h diff --git a/Documentation/devicetree/bindings/clock/img,tz1090-perip-cru.txt b/Documentation/devicetree/bindings/clock/img,tz1090-perip-cru.txt new file mode 100644 index 0000000..3517737 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/img,tz1090-perip-cru.txt @@ -0,0 +1,49 @@ +Binding for TZ1090 Peripheral register clocks. + +This binding uses the common clock binding[1]. It represents the clocks +controlled from the peripheral registers of the TZ1090: + +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt + +Required properties: +- compatible : Shall be "img,tz1090-perip-cru". +- #clock-cells : From common clock binding; shall be set to 1. +- reg : Base address for clock registers in peripheral register + region. +- clocks : Clock specifiers for each input clock. +- clock-names : Labels for each input clock specified in clocks. + Can contain the following entries: + "sys" : Main system clock. + +Optional properties: +- clock-indices : From common clock binding. Allows clock-output-names to + be sparse. +- clock-output-names : From common clock binding. May be used to name specific + output clocks so that other clock providers can find + the clocks by name before the provider has been + instantiated. Can contain: + "sys_scb0", "sys_scb1", "sys_scb2", "sys_sdio", + "sys_uart0", "sys_uart1", "sys_spim", "sys_spis", + "sys_spim1", "sys_i2sout", "sys_i2sin", "sys_lcd", + "sys_sdhost", "sys_usb" + +Clock Specifier Definition: +- <1st-cell>: Output clock number. Use constants from + <dt-bindings/clock/tz1090-perip.h>. + +Examples: + perip_cru: perip_cru { + compatible = "img,tz1090-perip-cru"; + #clock-cells = <1>; + reg = <0x02004000 0x18>; + clocks = <&top_clks CLK_TOP_SYS>; + clock-names = "sys"; + }; + + i2c { + ... + clocks = <&top_clks CLK_TOP_SCB>, + <&perip_cru CLK_PERIP_SCB0>; + clock-names = "scb", "sys"; + ... + }; diff --git a/include/dt-bindings/clock/tz1090-perip.h b/include/dt-bindings/clock/tz1090-perip.h new file mode 100644 index 0000000..b2990ea --- /dev/null +++ b/include/dt-bindings/clock/tz1090-perip.h @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2013-2014 Imagination Technologies Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _DT_BINDINGS_CLK_TZ1090_PERIP_H +#define _DT_BINDINGS_CLK_TZ1090_PERIP_H + +/* CR_PERIP_CLKEN - Peripheral system clocks */ +#define CLK_PERIP_SCB0 0 +#define CLK_PERIP_SCB1 1 +#define CLK_PERIP_SCB2 2 +#define CLK_PERIP_SDIO 3 +#define CLK_PERIP_UART0 4 +#define CLK_PERIP_UART1 5 +#define CLK_PERIP_SPIM 6 +#define CLK_PERIP_SPIS 7 +#define CLK_PERIP_SPIM1 8 +#define CLK_PERIP_I2SOUT 9 +#define CLK_PERIP_I2SIN 10 +#define CLK_PERIP_LCD 11 +#define CLK_PERIP_SDHOST 12 +#define CLK_PERIP_USB 13 + +#define CLK_PERIP_MAX 14 + +#endif -- 2.0.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html