Re: Initial msm8909 support

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

 



On Tue, Dec 19, 2017 at 7:08 PM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote:
> On 12/19, Will Newton wrote:
>> On Tue, Dec 19, 2017 at 2:21 PM, Will Newton <will.newton@xxxxxxxxx> wrote:
>> > On Tue, Dec 19, 2017 at 9:44 AM, Will Newton <will.newton@xxxxxxxxx> wrote:
>> >> Hi,
>> >>
>> >> I have a git tree with my initial start at msm8909 support in Linux 4.9 here:
>> >>
>> >> https://bitbucket.org/andromedauk/msm8909-linux
>> >>
>> >> It's based off the Linaro Qualcomm landing team tree (with Android
>> >> drivers merged too for no useful reason).
>> >>
>> >> The current state is that pinctrl is pretty much done, regulators are
>> >> mostly done, clocks is quite hard to say as I'm not doing a good job
>> >> of parsing the docs right now. The serial port works! I've seen the
>> >> USB driver enumerate a hub but not tested any further.
>
> The bus clks that you're missing aren't typically exposed in
> downstream kernels because we don't control the rates of those
> clks. We've been putting them into upstream to keep the clk tree
> connected to a root. If you can list the clks that are missing I
> can give you the info you need.

The two main clocks that are missing which are used in msm8916 are:

pcnoc_bfdcd_clk_src
system_noc_bfdcd_clk_src

Which are the parents of the AXI/AHB clocks amongst others. It isn't
clear from the msm8909 register reference what parent to use for
these.

Some of it's a bit of a mystery because there are clocks (registers)
in the 3.10 kernel which are not listed in the doc I have (80-NP408-2x
Rev. C) so it's hard to know if those clocks really should be there or
not and the 3.10 kernel doesn't seem to list parents for these clocks
(at least not in a way I have figured out yet).

>> >>
>> >> Outstanding tasks:
>> >>
>> >> 1. Semi-random resets during boot. Occasionally the board will reset
>> >> for no obvious reason during boot. I suspect this is something to do
>> >> with regulators as it usually seems to be around the time something is
>> >> setting voltage and turning on initcall debugging seems to make it
>> >> less likely to happen (by slowing the boot).
>> >
>> > FWIW these resets go away if I disable the wcnss driver in the dts.
>>
>> Specifically the code that triggers the reset is the call to
>> qcom_scm_pas_auth_and_reset in qcom_wcnss.c. If I comment that call
>> out then the boot seems to be stable. Does anyone have any ideas what
>> might cause that behaviour?
>>
>
> The wcnss is probably crashing because some regulator or clk is
> not enabled, or voltages need to be bumped up. One idea to debug
> would be to make wcnss into a module that you load with modprobe.
> Then you can try turning on more regulators, and verify that
> they're actually on by dumping the SPMI registers, until you
> narrow down what's off that needs to be on. This would also allow
> you to confirm the RPM communication is working and regulators
> are actually working.

Thanks, I'll give that a try.
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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