Re: [PATCH 1/7] dt-bindings: gpu: pvrsgx: add initial bindings

From: Tony Lindgren
Date: Mon Oct 21 2019 - 13:10:19 EST


* H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> [191021 15:46]:
> > Am 21.10.2019 um 17:07 schrieb Rob Herring <robh+dt@xxxxxxxxxx>:
> > On Fri, Oct 18, 2019 at 1:46 PM H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> wrote:
> >> +- reg: Physical base addresses and lengths of the register areas.
> >
> > How many?
>
> I assume there is only one. At least it suffices to make the existing
> driver work with it.
>
> >
> >> +- reg-names: Names for the register areas.
> >
> > If only 1 as the example suggests, then you don't need this.
>
> ok.

My guess is that sgx is just a private interconnect instance
with few control modules like mmu and clocks, and the driver(s)
should consist of independent modules like iommu and clock
driver.

So yeah I agree, it's best to leave reg names out of the
dts at least for now.

> >> + compatible = "ti,sysc-omap4", "ti,sysc";
> >> + reg = <0x5600fe00 0x4>,
> >> + <0x5600fe10 0x4>;
> >
> > How does it work that these registers overlap the GPU registers?
>
> Both drivers have access to these registers. Likely, the gpu driver
> ignores them and does access other ranges.

Unfortunately TI is stuffing the interconnect target module
control registers at random places within the unused register
space of the child module(s). So the module control registers
are all over the map at various offsets.

Adding holes for each module control register to the child nodes
seems like an overkill to work around this IMO. Especially
considering many drivers only understand one IO range currently.

Regards,

Tony