Skip to contentSkip to conversation

Enable clock controllers on MSM

PATCH In review Stephen Boyd 5 participants 9 messages Jan 17, 2014 – Jan 27, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover Enable clock controllers on MSM

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

Perhaps this can be applied after 3.14-rc1 is out?

Stephen Boyd (2):
ARM: dts: msm: Add clock controller nodes and hook into uart
ARM: msm_defconfig: Enable MSM clock drivers

 arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
 arch/arm/boot/dts/qcom-msm8960-cdp.dts  | 18 ++++++++++++++++++
 arch/arm/boot/dts/qcom-msm8974.dtsi     | 24 ++++++++++++++++++++++++
 arch/arm/configs/msm_defconfig          |  4 ++++
 4 files changed, 57 insertions(+)
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#1 lore raw

PATCH 1/2 ARM: dts: msm: Add clock controller nodes and hook into uart

Add the necessary DT nodes to probe the clock controllers on MSM devices as well as hook up the uart nodes to the clock controllers. This should allow us to boot to a serial console on all DT enabled MSM platforms.

---
 arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
 arch/arm/boot/dts/qcom-msm8960-cdp.dts  | 18 ++++++++++++++++++
 arch/arm/boot/dts/qcom-msm8974.dtsi     | 24 ++++++++++++++++++++++++
 3 files changed, 53 insertions(+)
arch/arm/boot/dts/qcom-msm8660-surf.dts +11 -0
index 1187185cf25b..68a72f5507b9 100644
@@ -2,6 +2,8 @@
 
 /include/ "skeleton.dtsi"
 
+#include <dt-bindings/clock/qcom,gcc-msm8660.h>
+
 / {
 	model = "Qualcomm MSM8660 SURF";
 	compatible = "qcom,msm8660-surf", "qcom,msm8660";
@@ -37,11 +39,20 @@
 		#interrupt-cells = <2>;
 	};
 
+	gcc: clock-controller at 900000 {
+		compatible = "qcom,gcc-msm8660";
+		#clock-cells = <1>;
+		#reset-cells = <1>;
+		reg = <0x900000 0x4000>;
+	};
+
 	serial at 19c40000 {
 		compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
 		reg = <0x19c40000 0x1000>,
 		      <0x19c00000 0x1000>;
 		interrupts = <0 195 0x0>;
+		clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>;
+		clock-names = "core", "iface";
 	};
 
 	qcom,ssbi at 500000 {
arch/arm/boot/dts/qcom-msm8960-cdp.dts +18 -0
index 6ccbac77931e..7c30de4fa302 100644
@@ -2,6 +2,8 @@
 
 /include/ "skeleton.dtsi"
 
+#include <dt-bindings/clock/qcom,gcc-msm8960.h>
+
 / {
 	model = "Qualcomm MSM8960 CDP";
 	compatible = "qcom,msm8960-cdp", "qcom,msm8960";
@@ -37,11 +39,27 @@
 		reg = <0x800000 0x4000>;
 	};
 
+	gcc: clock-controller at 900000 {
+		compatible = "qcom,gcc-msm8960";
+		#clock-cells = <1>;
+		#reset-cells = <1>;
+		reg = <0x900000 0x4000>;
+	};
+
+	clock-controller at 4000000 {
+		compatible = "qcom,mmcc-msm8960";
+		reg = <0x4000000 0x1000>;
+		#clock-cells = <1>;
+		#reset-cells = <1>;
+	};
+
 	serial at 16440000 {
 		compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
 		reg = <0x16440000 0x1000>,
 		      <0x16400000 0x1000>;
 		interrupts = <0 154 0x0>;
+		clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
+		clock-names = "core", "iface";
 	};
 
 	qcom,ssbi at 500000 {
arch/arm/boot/dts/qcom-msm8974.dtsi +24 -0
index 6ac94967d2d3..9e5dadb101eb 100644
@@ -2,6 +2,8 @@
 
 #include "skeleton.dtsi"
 
+#include <dt-bindings/clock/qcom,gcc-msm8974.h>
+
 / {
 	model = "Qualcomm MSM8974";
 	compatible = "qcom,msm8974";
@@ -93,5 +95,27 @@
 			compatible = "qcom,pshold";
 			reg = <0xfc4ab000 0x4>;
 		};
+
+		gcc: clock-controller at fc400000 {
+			compatible = "qcom,gcc-msm8974";
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			reg = <0xfc400000 0x4000>;
+		};
+
+		mmcc: clock-controller at fd8c0000 {
+			compatible = "qcom,mmcc-msm8974";
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			reg = <0xfd8c0000 0x6000>;
+		};
+
+		serial at f991e000 {
+			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+			reg = <0xf991e000 0x1000>;
+			interrupts = <0 108 0x0>;
+			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
+			clock-names = "core", "iface";
+		};
 	};
 };
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#2 lore raw

PATCH 2/2 ARM: msm_defconfig: Enable MSM clock drivers

In reply to Stephen Boyd

This allows us to probe the clock controller devices and boot to a serial console on all DT enabled MSM platforms.

---
 arch/arm/configs/msm_defconfig | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/configs/msm_defconfig +4 -0
index 0219c65cefd5..c5858b9eb516 100644
@@ -114,6 +114,10 @@ CONFIG_USB_GADGET_VBUS_DRAW=500
 CONFIG_NEW_LEDS=y
 CONFIG_RTC_CLASS=y
 CONFIG_STAGING=y
+CONFIG_COMMON_CLK_QCOM=y
+CONFIG_MSM_GCC_8660=y
+CONFIG_MSM_MMCC_8960=y
+CONFIG_MSM_MMCC_8974=y
 CONFIG_MSM_IOMMU=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#3 lore raw
In reply to Stephen Boyd
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Yeah, sounds good.

Kevin

Quoted 9 lines

Stephen Boyd (2):
ARM: dts: msm: Add clock controller nodes and hook into uart
ARM: msm_defconfig: Enable MSM clock drivers

 arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
 arch/arm/boot/dts/qcom-msm8960-cdp.dts  | 18 ++++++++++++++++++
 arch/arm/boot/dts/qcom-msm8974.dtsi     | 24 ++++++++++++++++++++++++
 arch/arm/configs/msm_defconfig          |  4 ++++
 4 files changed, 57 insertions(+)
#4 lore raw
Quoted 8 lines · Kevin Hilman
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

Quoted 8 lines

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Yeah, sounds good.

Kevin

We?ll need arm-soc to pull in the clk changes from Mike?s tree for that.

Quoted 9 lines

Stephen Boyd (2):

Quoted 8 lines

ARM: dts: msm: Add clock controller nodes and hook into uart
ARM: msm_defconfig: Enable MSM clock drivers

arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
arch/arm/boot/dts/qcom-msm8960-cdp.dts  | 18 ++++++++++++++++++
arch/arm/boot/dts/qcom-msm8974.dtsi     | 24 ++++++++++++++++++++++++
arch/arm/configs/msm_defconfig          |  4 ++++
4 files changed, 57 insertions(+)

- k

Signature · 2 lines
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
#5 lore raw
Quoted 14 lines · Kumar Gala
Quoted 11 lines · Kevin Hilman
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Yeah, sounds good.

Kevin

We?ll need arm-soc to pull in the clk changes from Mike?s tree for that.

They're queued for this merge window, right? If so, they'll be in -rc1 and the dependency will be solved before we apply the patches.

-Olof

#6 lore raw
Quoted 17 lines · Olof Johansson
Quoted 16 lines · Kumar Gala
Quoted 13 lines · Kevin Hilman
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Quoted 9 lines
Quoted 5 lines
Quoted 3 lines

Yeah, sounds good.

Kevin

We?ll need arm-soc to pull in the clk changes from Mike?s tree for that.

They're queued for this merge window, right? If so, they'll be in -rc1 and the dependency will be solved before we apply the patches.

Yeah, they look like they are in Mike?s pull request for Linus. So hopefully they?ll show up in -rc1 (wasn?t sure if Mike intended them for 3.14 or not).

What?s the feeling about pushing DT and defconfig changes into 3.14 (or do we just queue them up for 3.15)?

- k

Signature · 2 lines
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
#7 lore raw
Quoted 26 lines · Kumar Gala
Quoted 23 lines · Olof Johansson
Quoted 21 lines · Kumar Gala
Quoted 8 lines · Kevin Hilman
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

Quoted 8 lines

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Yeah, sounds good.

Kevin

We?ll need arm-soc to pull in the clk changes from Mike?s tree for that.

Quoted 7 lines
Quoted 3 lines

They're queued for this merge window, right? If so, they'll be in -rc1 and the dependency will be solved before we apply the patches.

Yeah, they look like they are in Mike?s pull request for Linus. So hopefully they?ll show up in -rc1 (wasn?t sure if Mike intended them for 3.14 or not).

What?s the feeling about pushing DT and defconfig changes into 3.14 (or do we just queue them up for 3.15)?

I can probably pick them up in a late/* branch and merge for 3.14, no promises though.

-Olof

#8 lore raw
In reply to Kumar Gala

Quoting Kumar Gala (2014-01-23 13:57:58)

Quoted 24 lines · Olof Johansson
Quoted 22 lines · Kumar Gala
Quoted 20 lines · Kevin Hilman
Quoted 17 lines
Quoted 5 lines · Stephen Boyd

These patches add the clock controller nodes, enable the clock drivers on MSM based platforms, and hook it up enough to get the serial console working. This is based on the merge of Mike's clk-next branch with linux-next-20140116. The changes need the clk-next branch because that's where the DTS include files landed.

I forgot to repond to this earlier, but I tested this on top of -next and it gets the dragonboard booting w/mainline. Yay!

Quoted 1 line

Perhaps this can be applied after 3.14-rc1 is out?

Yeah, sounds good.

Kevin

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

We?ll need arm-soc to pull in the clk changes from Mike?s tree for that.

They're queued for this merge window, right? If so, they'll be in -rc1 and the dependency will be solved before we apply the patches.

Yeah, they look like they are in Mike?s pull request for Linus. So hopefully they?ll show up in -rc1 (wasn?t sure if Mike intended them for 3.14 or not).

They are in the second pull request which I just sent today.

Regards,
Mike

Quoted 9 lines

What?s the feeling about pushing DT and defconfig changes into 3.14 (or do we just queue them up for 3.15)?

- k

Signature · 2 lines
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation