Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1283065 > unrolled thread
| Started by | Georgi Djakov <georgi.djakov@linaro.org> |
|---|---|
| First post | 2015-12-03 15:10 +0100 |
| Last post | 2015-12-03 15:10 +0100 |
| Articles | 3 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v5 0/6] Add initial support for RPM clocks Georgi Djakov <georgi.djakov@linaro.org> - 2015-12-03 15:10 +0100
[PATCH v5 5/6] arm: dts: qcom: apq8064: Add fixed rate on-board oscillators Georgi Djakov <georgi.djakov@linaro.org> - 2015-12-03 15:10 +0100
[PATCH v5 2/6] arm64: dts: qcom: msm8916: Add fixed rate on-board oscillators Georgi Djakov <georgi.djakov@linaro.org> - 2015-12-03 15:10 +0100
| From | Georgi Djakov <georgi.djakov@linaro.org> |
|---|---|
| Date | 2015-12-03 15:10 +0100 |
| Subject | [PATCH v5 0/6] Add initial support for RPM clocks |
| Message-ID | <qBCK6-6bi-3@gated-at.bofh.it> |
This patchset adds initial support for the clocks controlled by the RPM (Resource Power Manager) processor on Qualcomm platforms. The RPM is a dedicated hardware engine for managing the shared SoC resources in order to keep the lowest power profile. It communicates with other hardware subsystems via shared memory and accepts clock requests, aggregates the requests and turns the clocks on/off or scales them on demand. Until now the RPM clock controller was not supported and a hard- coded fixed-rate clocks were registered in the drivers. Now we are moving the on-board clocks to the DT (where they actually belong). If the RPM clock controller is enabled we insert it right after the DT clocks making it a parent of some GCC clocks. The DT patches should go through the soc/qcom tree. This also depends on smem, smd and rpm drivers. Changes since v4 (https://lkml.org/lkml/2015/11/19/309) * Re-organize code into two separate drivers: - clk-smd-rpm for RPM over SMD based clocks like msm8916 - clk-rpm for RPM based clocks like apq8064 * Drop the patches that are already merged. * Added the extra compatible string to docs and example. Changes since v3 (https://lkml.org/lkml/2015/10/20/613) * Drop some of the patches as now we handle both scenarios - RPMCC enabled or disabled. * Addressed more comments from Stephen. Thanks again! Changes since v2 (https://lkml.org/lkml/2015/8/3/513) * Addressed various comments from Stephen. Thanks! * Added sleep sets support. * Added a mutex in the RPM driver. * Support both scenarios - RPMCC enabled or disabled. * Make RPMCC more generic in order to support other SMD RPM based platforms. Changes since v1 (https://lkml.org/lkml/2015/7/9/257): * Changed the driver name to clk-smd-rpm, also build it only when it is needed - suggested by Srini and Bjorn. * More detailed binding example. * Minor changes. Georgi Djakov (6): clk: qcom: Add support for SMD-RPM Clocks arm64: dts: qcom: msm8916: Add fixed rate on-board oscillators arm64: dts: qcom: msm8916: Add RPMCC DT node clk: qcom: Add support for RPM Clocks arm: dts: qcom: apq8064: Add fixed rate on-board oscillators arm: dts: qcom: apq8064: Add RPMCC DT node .../devicetree/bindings/clock/qcom,rpmcc.txt | 37 ++ arch/arm/boot/dts/qcom-apq8064.dtsi | 25 ++ arch/arm64/boot/dts/qcom/msm8916.dtsi | 20 + drivers/clk/qcom/Kconfig | 19 + drivers/clk/qcom/Makefile | 2 + drivers/clk/qcom/clk-rpm.c | 290 +++++++++++++ drivers/clk/qcom/clk-rpm.h | 71 ++++ drivers/clk/qcom/clk-smd-rpm.c | 433 ++++++++++++++++++++ drivers/clk/qcom/clk-smd-rpm.h | 142 +++++++ include/dt-bindings/clock/qcom,rpmcc.h | 45 ++ 10 files changed, 1084 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/qcom,rpmcc.txt create mode 100644 drivers/clk/qcom/clk-rpm.c create mode 100644 drivers/clk/qcom/clk-rpm.h create mode 100644 drivers/clk/qcom/clk-smd-rpm.c create mode 100644 drivers/clk/qcom/clk-smd-rpm.h create mode 100644 include/dt-bindings/clock/qcom,rpmcc.h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Georgi Djakov <georgi.djakov@linaro.org> |
|---|---|
| Date | 2015-12-03 15:10 +0100 |
| Subject | [PATCH v5 5/6] arm: dts: qcom: apq8064: Add fixed rate on-board oscillators |
| Message-ID | <qBCK7-6bi-17@gated-at.bofh.it> |
| In reply to | #1283065 |
Currently the rates of the xo and sleep clocks are hard-coded in the
GCC driver, but this is a board layout description that actually should
be in the DT. Moving them into DT also allows us to insert the RPM
controlled clocks between the DT and GCC clocks.
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 276fef28fc1e..eb929f2693b2 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -81,6 +81,26 @@
interrupts = <1 10 0x304>;
};
+ clocks {
+ cxo_board {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <19200000>;
+ };
+
+ pxo_board {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <27000000>;
+ };
+
+ sleep_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+ };
+
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Georgi Djakov <georgi.djakov@linaro.org> |
|---|---|
| Date | 2015-12-03 15:10 +0100 |
| Subject | [PATCH v5 2/6] arm64: dts: qcom: msm8916: Add fixed rate on-board oscillators |
| Message-ID | <qBCK7-6bi-15@gated-at.bofh.it> |
| In reply to | #1283065 |
Currently the rates of the xo and sleep clocks are hard-coded in the
GCC driver, but this is a board layout description that actually should
be in the DT. Moving them into DT also allows us to insert the RPM
controlled clocks between the DT and GCC clocks.
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 80cf15087d01..d577127cc81e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -95,6 +95,20 @@
<GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
};
+ clocks {
+ xo_board: xo_board {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <19200000>;
+ };
+
+ sleep_clk: sleep_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+ };
+
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web