Re: [PATCH v2 1/3] arm64: dts: qcom: msm8998: correct xo clock name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/5/2018 9:48 AM, Bjorn Andersson wrote:
On Wed 05 Dec 08:38 PST 2018, Jeffrey Hugo wrote:

On 12/5/2018 9:12 AM, Marc Gonzalez wrote:
On 15/11/2018 21:44, Jeffrey Hugo wrote:

The root parent clock of most msm8998 clock is the "xo" clock.  The DT node
is incorrectly named "xo_board", which prevents Linux from correctly
parsing the clock tree, resulting in most clocks being unparented and
unable to be manipulated.  The end result is that we can't turn on clocks
for peripherals like SD, so init usually fails.

Fixes: 4807c71cc688 (arm64: dts: Add msm8998 SoC and MTP board support)
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Signed-off-by: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx>
---
   arch/arm64/boot/dts/qcom/msm8998.dtsi | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 78227cc..a948d4b 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -53,7 +53,7 @@
   	};
   	clocks {
-		xo_board {
+		xo {
   			compatible = "fixed-clock";
   			#clock-cells = <0>;
   			clock-frequency = <19200000>;


Isn't there going to be a problem for msm8998 in drivers/clk/qcom/clk-smd-rpm.c
which uses "xo_board" for parent_names?

Looks like you are right.  This doesn't seem to be the correct way to
address the issue then.  I'll have to dig in and take another look.


The appropriate solution is to describe references between clock drivers
explicitly in DeviceTree and by that not rely on a global namespace.
That will also sort out any initialization ordering issues that we might
have.

But this task has not yet made it off the todo lists where it lives...

Ok, that sounds great, but doesn't seem like it helps anyone today.

Looks like 8916 and 8974 explicitly register an xo clock off the xo_board clock in the respective gcc drivers. 8996 does not, but I don't know how functional 8996 really is on mainline. 845 seems to register the bi_tcxo clock (the 845 version of xo) in the rpmh driver, off of xo_board.

Since both Marc and I are trying to get 8998 to work, it seems like one of those two solutions would be workable, short term.

How do you suggest we proceed?

--
Jeffrey Hugo
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux