Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1438989 > unrolled thread
| Started by | Gregory CLEMENT <gregory.clement@free-electrons.com> |
|---|---|
| First post | 2016-07-08 00:40 +0200 |
| Last post | 2016-07-08 00:50 +0200 |
| Articles | 3 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v2 0/6] Add clock support for Armada 37xx SoCs Gregory CLEMENT <gregory.clement@free-electrons.com> - 2016-07-08 00:40 +0200
[PATCH v2 5/6] dt-bindings: clock: add DT binding for the peripheral clocks on Armada 3700 Gregory CLEMENT <gregory.clement@free-electrons.com> - 2016-07-08 00:40 +0200
[PATCH v2 3/6] dt-bindings: clock: add DT binding for the TBG clocks on Armada 3700 Gregory CLEMENT <gregory.clement@free-electrons.com> - 2016-07-08 00:50 +0200
| From | Gregory CLEMENT <gregory.clement@free-electrons.com> |
|---|---|
| Date | 2016-07-08 00:40 +0200 |
| Subject | [PATCH v2 0/6] Add clock support for Armada 37xx SoCs |
| Message-ID | <rSq7D-4C3-5@gated-at.bofh.it> |
Hi,
eventually this is the second version of the series adding clock
support for the Armada 37xx SoCs.
The design of the drivers is as close as possible as the hardware is,
with some clocks made of several layers: muxing, divider and gating.
The device tree binding was written in a way that even if we discover
some change inside the clocks, the binding should not be
affected. Especially, there are some holes in the clocks, but we
should be able to add them seamless.
Since the firs version the main change is the use of clk_hw instead of
clk for the registration. I also removed the dt related patches as they
were already applied.
However the full series is available on the branch
Armada-3700-Clocks-v2 at
git@github.com:MISL-EBU-System-SW/mainline-public.git
Thanks,
Changelog:
v1 -> v2
- Move to clk_hw based registration for the 3 clock driver as
requested by Stephen Boyd
- Fixed typo noticed by Stephen Boyd
- Added const and static when they were missing: suggested by Stephen
Boyd
- Allocated the driver variable during probe instead of using a global
one as requested by Stephen Boyd
- Managed the failure of the of_clk_add_hw_provider call
- Added the Acked-by from Rob Herring on the dt binding patchs
Gregory CLEMENT (6):
dt-bindings: clock: add DT binding for the Xtal clock on Armada 3700
clk: mvebu: Add the xtal clock for Armada 3700 SoC
dt-bindings: clock: add DT binding for the TBG clocks on Armada 3700
clk: mvebu Add the time base generator clocks for Armada 3700
dt-bindings: clock: add DT binding for the peripheral clocks on Armada
3700
clk: mvebu: Add the peripheral clock driver for Armada 3700
.../bindings/clock/armada3700-periph-clock.txt | 70 ++++
.../bindings/clock/armada3700-tbg-clock.txt | 27 ++
.../bindings/clock/armada3700-xtal-clock.txt | 28 ++
drivers/clk/mvebu/Kconfig | 3 +
drivers/clk/mvebu/Makefile | 3 +
drivers/clk/mvebu/armada-37xx-periph.c | 457 +++++++++++++++++++++
drivers/clk/mvebu/armada-37xx-tbg.c | 165 ++++++++
drivers/clk/mvebu/armada-37xx-xtal.c | 98 +++++
8 files changed, 851 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/armada3700-periph-clock.txt
create mode 100644 Documentation/devicetree/bindings/clock/armada3700-tbg-clock.txt
create mode 100644 Documentation/devicetree/bindings/clock/armada3700-xtal-clock.txt
create mode 100644 drivers/clk/mvebu/armada-37xx-periph.c
create mode 100644 drivers/clk/mvebu/armada-37xx-tbg.c
create mode 100644 drivers/clk/mvebu/armada-37xx-xtal.c
--
2.5.0
[toc] | [next] | [standalone]
| From | Gregory CLEMENT <gregory.clement@free-electrons.com> |
|---|---|
| Date | 2016-07-08 00:40 +0200 |
| Subject | [PATCH v2 5/6] dt-bindings: clock: add DT binding for the peripheral clocks on Armada 3700 |
| Message-ID | <rSq7E-4C3-31@gated-at.bofh.it> |
| In reply to | #1438989 |
This commit adds the DT binding documentation for the peripheral clocks
used in the Marvell Armada 3700 SoCs.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
---
.../bindings/clock/armada3700-periph-clock.txt | 70 ++++++++++++++++++++++
1 file changed, 70 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/armada3700-periph-clock.txt
diff --git a/Documentation/devicetree/bindings/clock/armada3700-periph-clock.txt b/Documentation/devicetree/bindings/clock/armada3700-periph-clock.txt
new file mode 100644
index 000000000000..1e3370ba189f
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/armada3700-periph-clock.txt
@@ -0,0 +1,70 @@
+* Peripheral Clock bindings for Marvell Armada 37xx SoCs
+
+Marvell Armada 37xx SoCs provide peripheral clocks which are
+used as clock source for the peripheral of the SoC.
+
+There are two different blocks associated to north bridge and south
+bridge.
+
+The peripheral clock consumer should specify the desired clock by
+having the clock ID in its "clocks" phandle cell.
+
+The following is a list of provided IDs for Armada 370 North bridge clocks:
+ID Clock name Description
+-----------------------------------
+0 mmc MMC controller
+1 sata_host Sata Host
+2 sec_at Security AT
+3 sac_dap Security DAP
+4 tsecm Security Engine
+5 setm_tmx Serial Embedded Trace Module
+6 avs Adaptive Voltage Scaling
+7 sqf SPI
+8 pwm PWM
+9 i2c_2 I2C 2
+10 i2c_1 I2C 1
+11 ddr_phy DDR PHY
+12 ddr_fclk DDR F clock
+13 trace Trace
+14 counter Counter
+15 eip97 EIP 97
+16 cpu CPU
+
+The following is a list of provided IDs for Armada 370 South bridge clocks:
+ID Clock name Description
+-----------------------------------
+0 gbe-50 50 MHz parent clock for Gigabit Ethernet
+1 gbe-core parent clock for Gigabit Ethernet core
+2 gbe-125 125 MHz parent clock for Gigabit Ethernet
+3 gbe1-50 50 MHz clock for Gigabit Ethernet port 1
+4 gbe0-50 50 MHz clock for Gigabit Ethernet port 0
+5 gbe1-125 125 MHz clock for Gigabit Ethernet port 1
+6 gbe0-125 125 MHz clock for Gigabit Ethernet port 0
+7 gbe1-core Gigabit Ethernet core port 1
+8 gbe0-core Gigabit Ethernet core port 0
+9 gbe-bm Gigabit Ethernet Buffer Manager
+10 sdio SDIO
+11 usb32-sub2-sys USB 2 clock
+12 usb32-ss-sys USB 3 clock
+
+Required properties:
+
+- compatible : shall be "marvell,armada-3700-periph-clock-nb" for the
+ north bridge block, or
+ "marvell,armada-3700-periph-clock-sb" for the south bridge block
+- reg : must be the register address of North/South Bridge Clock register
+- #clock-cells : from common clock binding; shall be set to 1
+
+- clocks : list of the parent clock phandle in the following order:
+ TBG-A P, TBG-B P, TBG-A S, TBG-B S and finally the xtal clock.
+
+
+Example:
+
+nb_perih_clk: nb-periph-clk@13000{
+ compatible = "marvell,armada-3700-periph-clock-nb";
+ reg = <0x13000 0x1000>;
+ clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
+ <&tbg 3>, <&xtalclk>;
+ #clock-cells = <1>;
+};
--
2.5.0
[toc] | [prev] | [next] | [standalone]
| From | Gregory CLEMENT <gregory.clement@free-electrons.com> |
|---|---|
| Date | 2016-07-08 00:50 +0200 |
| Subject | [PATCH v2 3/6] dt-bindings: clock: add DT binding for the TBG clocks on Armada 3700 |
| Message-ID | <rSqhj-4FB-5@gated-at.bofh.it> |
| In reply to | #1438989 |
This commit adds the DT binding documentation for the Time Base Generator
clock used in the Marvell Armada 3700 SoCs.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
---
.../bindings/clock/armada3700-tbg-clock.txt | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/armada3700-tbg-clock.txt
diff --git a/Documentation/devicetree/bindings/clock/armada3700-tbg-clock.txt b/Documentation/devicetree/bindings/clock/armada3700-tbg-clock.txt
new file mode 100644
index 000000000000..0ba1d83ff363
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/armada3700-tbg-clock.txt
@@ -0,0 +1,27 @@
+* Time Base Generator Clock bindings for Marvell Armada 37xx SoCs
+
+Marvell Armada 37xx SoCs provde Time Base Generator clocks which are
+used as parent clocks for the peripheral clocks.
+
+The TBG clock consumer should specify the desired clock by having the
+clock ID in its "clocks" phandle cell.
+
+The following is a list of provided IDs and clock names on Armada 3700:
+ 0 = TBG A P
+ 1 = TBG B P
+ 2 = TBG A S
+ 3 = TBG B S
+
+Required properties:
+- compatible : shall be "marvell,armada-3700-tbg-clock"
+- reg : must be the register address of North Bridge PLL register
+- #clock-cells : from common clock binding; shall be set to 1
+
+Example:
+
+tbg: tbg@13200 {
+ compatible = "marvell,armada-3700-tbg-clock";
+ reg = <0x13200 0x1000>;
+ clocks = <&xtalclk>;
+ #clock-cells = <1>;
+};
--
2.5.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web