2022-09-14 09:15:56

by Arınç ÜNAL

[permalink] [raw]
Subject: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

Add syscon as a constant string on the compatible property as it's required
for the SoC to work. Update the example accordingly.

Fixes: 5278e4a181ff ("dt-bindings: memory: add binding for Mediatek's MT7621 SDRAM memory controller")
Signed-off-by: Arınç ÜNAL <[email protected]>
---
.../bindings/memory-controllers/mediatek,mt7621-memc.yaml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
index 85e02854f083..6ccdaf99c778 100644
--- a/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
@@ -11,7 +11,9 @@ maintainers:

properties:
compatible:
- const: mediatek,mt7621-memc
+ items:
+ - const: mediatek,mt7621-memc
+ - const: syscon

reg:
maxItems: 1
@@ -25,6 +27,6 @@ additionalProperties: false
examples:
- |
memory-controller@5000 {
- compatible = "mediatek,mt7621-memc";
+ compatible = "mediatek,mt7621-memc", "syscon";
reg = <0x5000 0x1000>;
};
--
2.34.1


2022-09-14 09:16:16

by Sergio Paracuellos

[permalink] [raw]
Subject: Re: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

On Wed, Sep 14, 2022 at 10:55 AM Arınç ÜNAL <[email protected]> wrote:
>
> Add syscon as a constant string on the compatible property as it's required
> for the SoC to work. Update the example accordingly.
>
> Fixes: 5278e4a181ff ("dt-bindings: memory: add binding for Mediatek's MT7621 SDRAM memory controller")
> Signed-off-by: Arınç ÜNAL <[email protected]>
> ---
> .../bindings/memory-controllers/mediatek,mt7621-memc.yaml | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)

Acked-by: Sergio Paracuellos <[email protected]>

Thanks,
Sergio Paracuellos

2022-09-14 15:35:32

by Arınç ÜNAL

[permalink] [raw]
Subject: Re: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

On 14.09.2022 18:14, Rob Herring wrote:
> On Wed, Sep 14, 2022 at 11:54:45AM +0300, Arınç ÜNAL wrote:
>> Add syscon as a constant string on the compatible property as it's required
>> for the SoC to work. Update the example accordingly.
>
> It's not required. It's required to automagically create a regmap. That
> can be done yourself as well. The downside to adding 'syscon' is it
> requires a DT update. Maybe that's fine for this platform? I don't know.

My GB-PC2 won't boot without syscon on mt7621.dtsi. This string was
always there on the memory controller node on mt7621.dtsi.

Arınç

2022-09-14 16:08:18

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

On Wed, Sep 14, 2022 at 11:54:45AM +0300, Arınç ÜNAL wrote:
> Add syscon as a constant string on the compatible property as it's required
> for the SoC to work. Update the example accordingly.

It's not required. It's required to automagically create a regmap. That
can be done yourself as well. The downside to adding 'syscon' is it
requires a DT update. Maybe that's fine for this platform? I don't know.

>
> Fixes: 5278e4a181ff ("dt-bindings: memory: add binding for Mediatek's MT7621 SDRAM memory controller")
> Signed-off-by: Arınç ÜNAL <[email protected]>
> ---
> .../bindings/memory-controllers/mediatek,mt7621-memc.yaml | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
> index 85e02854f083..6ccdaf99c778 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,mt7621-memc.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: mediatek,mt7621-memc
> + items:
> + - const: mediatek,mt7621-memc
> + - const: syscon
>
> reg:
> maxItems: 1
> @@ -25,6 +27,6 @@ additionalProperties: false
> examples:
> - |
> memory-controller@5000 {
> - compatible = "mediatek,mt7621-memc";
> + compatible = "mediatek,mt7621-memc", "syscon";
> reg = <0x5000 0x1000>;
> };
> --
> 2.34.1
>
>

2022-09-15 03:37:21

by Sergio Paracuellos

[permalink] [raw]
Subject: Re: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

On Wed, Sep 14, 2022 at 5:19 PM Arınç ÜNAL <[email protected]> wrote:
>
> On 14.09.2022 18:14, Rob Herring wrote:
> > On Wed, Sep 14, 2022 at 11:54:45AM +0300, Arınç ÜNAL wrote:
> >> Add syscon as a constant string on the compatible property as it's required
> >> for the SoC to work. Update the example accordingly.
> >
> > It's not required. It's required to automagically create a regmap. That
> > can be done yourself as well. The downside to adding 'syscon' is it
> > requires a DT update. Maybe that's fine for this platform? I don't know.
>
> My GB-PC2 won't boot without syscon on mt7621.dtsi. This string was
> always there on the memory controller node on mt7621.dtsi.

The string was introduced because the mt7621 clock driver needs to
read some registers creating a regmap from the syscon. The bindings
were added before the clock driver was properly mainlined and at first
the clock driver was using ralink architecture dependent operations
rt_memc_* defined in
'arch/mips/include/asm/mach-ralink/ralink_regs.h'. I forgot to update
the mem controller binding when memc became a syscon so I think this
patch is correct. I also think the sample should use 'syscon' in the
node name instead of memory-controller.

Best regards,
Sergio Paracuellos
>
> Arınç

2022-09-15 06:44:46

by Arınç ÜNAL

[permalink] [raw]
Subject: Re: [PATCH 04/10] dt-bindings: memory: mt7621: add syscon as compatible string

On 15.09.2022 06:21, Sergio Paracuellos wrote:
> On Wed, Sep 14, 2022 at 5:19 PM Arınç ÜNAL <[email protected]> wrote:
>>
>> On 14.09.2022 18:14, Rob Herring wrote:
>>> On Wed, Sep 14, 2022 at 11:54:45AM +0300, Arınç ÜNAL wrote:
>>>> Add syscon as a constant string on the compatible property as it's required
>>>> for the SoC to work. Update the example accordingly.
>>>
>>> It's not required. It's required to automagically create a regmap. That
>>> can be done yourself as well. The downside to adding 'syscon' is it
>>> requires a DT update. Maybe that's fine for this platform? I don't know.
>>
>> My GB-PC2 won't boot without syscon on mt7621.dtsi. This string was
>> always there on the memory controller node on mt7621.dtsi.
>
> The string was introduced because the mt7621 clock driver needs to
> read some registers creating a regmap from the syscon. The bindings
> were added before the clock driver was properly mainlined and at first
> the clock driver was using ralink architecture dependent operations
> rt_memc_* defined in
> 'arch/mips/include/asm/mach-ralink/ralink_regs.h'. I forgot to update
> the mem controller binding when memc became a syscon so I think this
> patch is correct. I also think the sample should use 'syscon' in the
> node name instead of memory-controller.

Will change to syscon in v2.

Arınç