Re: [PATCH v7 01/12] dt-bindings: add img,pvrsgx.yaml for Imagination GPUs
From: Tony Lindgren
Date: Sun May 03 2020 - 11:06:55 EST
* Paul Cercueil <paul@xxxxxxxxxxxxxxx> [200503 14:19]:
> You have a new SoC with a SGX, and you only need to enable one clock to get
> it to work. So you create a devicetree node which receives only one clock.
>
> Turns out, that the bootloader was enabling the other 3 clocks, and since
> the last release, it doesn't anymore. You're left with having to support a
> broken devicetree.
>
> That's the kind of problem that can be easily avoided by enforcing the
> number of clocks that have to be provided.
The number of clocks depends on how it's wired for the SoC.
On omaps, there's are no controls for additinoal SGX clocks. Sure some
of the clocks may be routed to multple places internally by the wrapper
module. But we have no control over that.
If we wanted to specify just the "fck" clock on omaps, then we can
do it with something like this:
allOf:
- if:
properites:
compatible:
enum:
- "ti,omap4-sgx544-112"
- "ti,omap5-sgx544-116"
- "ti,dra7-sgx544-116"
then:
properties:
clocks:
minItems: 1
maxItems: 1
clock-names:
const: fck
required:
- clocks
- clock-names
There's no need for the SGX driver to toggle the "fck" here, it's
all done by PM runtime alreaedy so we would be just tweaking
the usage count for it. But hey, showing the clock rate might
be nice. Or maybe we want to at some point scale it, so no problem
specifying it.
For omap3, we should then specify "fck" and "ick". On omap4 and
later, there's no separate control over the "ick".
Then for the other SoCs, you can specify whatever clocks you need
there.
Regards,
Tony