Message ID | 20241115-cluster-hci-broken-v1-1-00636800611d@bootlin.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | MIPS: Allow using multi-cluster with a broken HCI. | expand |
On Fri, Nov 15, 2024 at 04:29:54PM +0100, Gregory CLEMENT wrote: > From: Jiaxun Yang <jiaxun.yang@flygoat.com> > > Add devicetree binding documentation for MIPS Coherence Manager. > > gc: reg is no more mandatory That's not enough, you need to explain somewhere why it's not required anymore. Without a reg property, what does this even convey that cannot be derived from a compatible etc? > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> > Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com> > --- > .../devicetree/bindings/mips/mti,mips-cm.yaml | 37 ++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..03a5ba5624a429c428ee2afca73b3e29127e02f9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml > @@ -0,0 +1,37 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mips/mti,mips-cm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MIPS Coherence Manager > + > +description: | > + Defines a location of the MIPS Coherence Manager registers. > + > +maintainers: > + - Jiaxun Yang <jiaxun.yang@flygoat.com> > + > +properties: > + compatible: > + const: mti,mips-cm > + > + reg: > + description: > + Base address and size of an unoccupied region in system's MMIO address > + space, which will be used to map the MIPS CM global control registers > + block. It is conventionally decided by the system integrator. > + maxItems: 1 > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + coherency-manager@1fbf8000 { > + compatible = "mti,mips-cm"; > + reg = <0x1bde8000 0x8000>; > + }; > +... > > -- > 2.45.2 >
On Fri, Nov 15, 2024 at 04:29:54PM +0100, Gregory CLEMENT wrote: > From: Jiaxun Yang <jiaxun.yang@flygoat.com> > > Add devicetree binding documentation for MIPS Coherence Manager. > > gc: reg is no more mandatory The h/w either has registers or it doesn't. Can't be both ways. > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> > Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com> > --- > .../devicetree/bindings/mips/mti,mips-cm.yaml | 37 ++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..03a5ba5624a429c428ee2afca73b3e29127e02f9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml > @@ -0,0 +1,37 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mips/mti,mips-cm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MIPS Coherence Manager > + > +description: | Don't need '|' if no formatting to preserve. > + Defines a location of the MIPS Coherence Manager registers. > + > +maintainers: > + - Jiaxun Yang <jiaxun.yang@flygoat.com> > + > +properties: > + compatible: > + const: mti,mips-cm > + > + reg: > + description: > + Base address and size of an unoccupied region in system's MMIO address > + space, which will be used to map the MIPS CM global control registers > + block. It is conventionally decided by the system integrator. > + maxItems: 1 > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + coherency-manager@1fbf8000 { > + compatible = "mti,mips-cm"; > + reg = <0x1bde8000 0x8000>; > + }; > +... > > -- > 2.45.2 >
Rob Herring <robh@kernel.org> writes: > On Fri, Nov 15, 2024 at 04:29:54PM +0100, Gregory CLEMENT wrote: >> From: Jiaxun Yang <jiaxun.yang@flygoat.com> >> >> Add devicetree binding documentation for MIPS Coherence Manager. >> >> gc: reg is no more mandatory > > The h/w either has registers or it doesn't. Can't be both ways. The register addresses are retrieved dynamically on most hardware. However, for some of them, retrieval was broken, requiring it to pass through the device tree. This was the initial purpose behind introducing this binding. In the eyequ6 case, we have a hardware issue in a different way; the address registers are correct, but the Hardware Cache Instruction is broken. As such, we do not want to provide a register address, instead, notifying about this issue through a property or compatible string. That's the reason why I want to make the register optional; however, if I use a dedicated compatible string, then I can just remove the 'reg' property for this binding. Gregory > >> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> >> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com> >> --- >> .../devicetree/bindings/mips/mti,mips-cm.yaml | 37 ++++++++++++++++++++++ >> 1 file changed, 37 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml >> new file mode 100644 >> index 0000000000000000000000000000000000000000..03a5ba5624a429c428ee2afca73b3e29127e02f9 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml >> @@ -0,0 +1,37 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mips/mti,mips-cm.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: MIPS Coherence Manager >> + >> +description: | > > Don't need '|' if no formatting to preserve. > >> + Defines a location of the MIPS Coherence Manager registers. >> + >> +maintainers: >> + - Jiaxun Yang <jiaxun.yang@flygoat.com> >> + >> +properties: >> + compatible: >> + const: mti,mips-cm >> + >> + reg: >> + description: >> + Base address and size of an unoccupied region in system's MMIO address >> + space, which will be used to map the MIPS CM global control registers >> + block. It is conventionally decided by the system integrator. >> + maxItems: 1 >> + >> +required: >> + - compatible >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + coherency-manager@1fbf8000 { >> + compatible = "mti,mips-cm"; >> + reg = <0x1bde8000 0x8000>; >> + }; >> +... >> >> -- >> 2.45.2 >>
diff --git a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..03a5ba5624a429c428ee2afca73b3e29127e02f9 --- /dev/null +++ b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mips/mti,mips-cm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MIPS Coherence Manager + +description: | + Defines a location of the MIPS Coherence Manager registers. + +maintainers: + - Jiaxun Yang <jiaxun.yang@flygoat.com> + +properties: + compatible: + const: mti,mips-cm + + reg: + description: + Base address and size of an unoccupied region in system's MMIO address + space, which will be used to map the MIPS CM global control registers + block. It is conventionally decided by the system integrator. + maxItems: 1 + +required: + - compatible + +additionalProperties: false + +examples: + - | + coherency-manager@1fbf8000 { + compatible = "mti,mips-cm"; + reg = <0x1bde8000 0x8000>; + }; +...