Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1400276
| From | Eric Anholt <eric@anholt.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection |
| Date | 2016-05-12 20:30 +0200 |
| Message-ID | <ry3x0-2P0-1@gated-at.bofh.it> (permalink) |
| References | <rx4ls-tZ-5@gated-at.bofh.it> <rxdf3-KB-7@gated-at.bofh.it> <rxjNx-7ay-39@gated-at.bofh.it> <rxlZ0-UO-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
[Multipart message — attachments visible in raw view] - view raw
Martin Sperl <kernel@martin.sperl.org> writes:
>> On 10.05.2016, at 19:37, Eric Anholt <eric@anholt.net> wrote:
>>
>> Martin Sperl <kernel@martin.sperl.org> writes:
>>> and also hsm (probably hardware security module):
>>> root@raspcm:~# cat /sys/kernel/debug/clk/hsm/regdump
>>> ctl = 0x000002d6
>>> div = 0x000030e0
>>> root@raspcm:~# cat /sys/kernel/debug/clk/hsm/clk_rate
>>> 163551916
>>
>> That's the HDMI state machine (there's even a comment saying so),
>> controlled by the vc4 driver.
>>
>>> So turning plld off stops sdram and hsm - at least that is my
>>> interpretation.
>>>
>>> This means we need to define a clock property in firmware or
>>> we need a ram node making use of "mmio-sram" maybe?
>>>
>>> Marking sdram as "critical" or "hand_off" could also solve that
>>> for the moment (but it does not solve all the other hidden
>>> clock dependencies of the firmware)
>>
>> If there are other hidden dependencies, then we should figure them out.
>
> But strangely the sdram (plus the below) is the only one with
> plld that is enabled (unless it is one of the clocks we have not
> added to the kernel side yet)
>
> Maybe there is something that derives directly from plld_core
> or any of the other plld-dividers?
Nothing I can find.
> Core would indicate anything central to the videocore...
> Anyway both plld_core as well as plld_per ad well as both
> Pll_dsi that are running by default (but I doubt that the
> Dsi would be relevant)
>
> I guess you are in a better situation to figure out which
> hidden HW blocks uses plld...
>
>>
>>> --- a/drivers/clk/bcm/clk-bcm2835.c
>>> +++ b/drivers/clk/bcm/clk-bcm2835.c
>>> @@ -1655,7 +1655,8 @@ static const struct bcm2835_clk_desc
>>> clk_desc_array[] = {
>>> .ctl_reg = CM_SDCCTL,
>>> .div_reg = CM_SDCDIV,
>>> .int_bits = 6,
>>> - .frac_bits = 0),
>>> + .frac_bits = 0,
>>> + .flags = CLK_IS_CRITICAL),
>>> [BCM2835_CLOCK_V3D] = REGISTER_VPU_CLK(
>>> .name = "v3d",
>>> .ctl_reg = CM_V3DCTL,
>>
>> The Pi foundation folks believe that the cprman SDRAM clock isn't ever
>> used (there's a separate PLL in the SDRAM controller, and cprman is only
>> intended for unused low-power states), and at least in your sample of
>> the reg, it's not enabled. Instead of grepping for clk_enable_count, it
> See my comment above - it must be configured for some reason
> during the boot process by the firmware .
You have to write the register to configure the sdram controller's clock
parent.
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 0/3] clk: bcm2835: critical clocks and parent selection Eric Anholt <eric@anholt.net> - 2016-05-10 03:10 +0200
[PATCH 2/3] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. Eric Anholt <eric@anholt.net> - 2016-05-10 03:10 +0200
[PATCH 3/3] clk: bcm2835: Skip PLLC clocks when deciding on a new clock parent Eric Anholt <eric@anholt.net> - 2016-05-10 03:10 +0200
Re: [PATCH 3/3] clk: bcm2835: Skip PLLC clocks when deciding on a new clock parent Stephen Boyd <sboyd@codeaurora.org> - 2016-05-12 01:00 +0200
Re: [PATCH 3/3] clk: bcm2835: Skip PLLC clocks when deciding on a new clock parent Eric Anholt <eric@anholt.net> - 2016-05-12 03:50 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Martin Sperl <kernel@martin.sperl.org> - 2016-05-10 12:40 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Eric Anholt <eric@anholt.net> - 2016-05-10 19:40 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Martin Sperl <kernel@martin.sperl.org> - 2016-05-10 22:00 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Martin Sperl <kernel@martin.sperl.org> - 2016-05-11 10:30 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Martin Sperl <kernel@martin.sperl.org> - 2016-05-11 18:10 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Eric Anholt <eric@anholt.net> - 2016-05-12 20:30 +0200
Re: [PATCH 0/3] clk: bcm2835: critical clocks and parent selection Eric Anholt <eric@anholt.net> - 2016-05-12 20:30 +0200
csiph-web