Re: [PATCH] dt-bindings: qcom: geni-se: Fix '#address-cells' & '#size-cells' related dt-binding error

From: Rob Herring
Date: Tue Jan 17 2023 - 16:29:15 EST


On Mon, Jan 16, 2023 at 08:10:40PM +0100, Krzysztof Kozlowski wrote:
> On 16/01/2023 16:43, Bhupesh Sharma wrote:
> > On Mon, 16 Jan 2023 at 13:23, Krzysztof Kozlowski
> > <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> >>
> >> On 15/01/2023 22:33, Bhupesh Sharma wrote:
> >>> On Sun, 15 Jan 2023 at 20:57, Krzysztof Kozlowski
> >>> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> >>>>
> >>>> On 13/01/2023 21:10, Bhupesh Sharma wrote:
> >>>>> Fix the following '#address-cells' & '#size-cells' related
> >>>>> dt-binding error:
> >>>>>
> >>>>> $ make dtbs_check
> >>>>>
> >>>>> From schema: Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml
> >>>>> arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dtb: geniqup@4ac0000:
> >>>>> #address-cells:0:0: 2 was expected
> >>>>> From schema: Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.yaml
> >>>>
> >>>> Don't we want rather to unify the soc address range?
> >>>
> >>> Well, the assumption in the original dt-bindings was that every reg
> >>> variable is 4 * u32 wide (as most new qcom SoCs set #address- and
> >>> #size-cells to <2>). However, that is not the case for all of the
> >>> SoCs.
> >>
> >> Hm, which device of that SoC cannot be used with address/size cells 2?

If 1 cell does the job, then it should be allowed. I'd go a step farther
and say # of cells should only be as big as needed and that's the
address size of the children.

> >
> > As noted in the git log already the geniqup on sm6115 / sm4250 cannot
> > be used with address/size cells 2 (See:
> > https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/sm6115.dtsi#L795)

Why can't they use 2? Is it because you forgot 'dma-ranges' and you want
to implicitly limit DMA to 32-bits?

Unfortunately 'dma-ranges' is frequently omitted so we treat missing as
1:1 dma-ranges (i.e. empty).

>
> That's not relevant and not answering to my question. Address/size cells
> affect children, so not geniqup. address-cells 2 means you have
> everywhere 64 bit addresses, so which devices cannot work with such DTS?
> If you claim that geniqup and its children has some troubles - please
> point what troubles. The DTS and existing address/size cells have
> nothing to do with it.
>
> Best regards,
> Krzysztof
>