2022-02-16 19:22:49

by Hawkins, Nick

[permalink] [raw]
Subject: [PATCH] dt-bindings: soc: Add HPE GXP SOC binding

From: Nick Hawkins <[email protected]>

Description: This binding will be used in creating the HPE GXP
architecture. GXP is the name of the HPE SoC.
This SoC is used to implement BMC features of HPE servers
(all ProLiant, Synergy, and many Apollo, and Superdome machines)
It does support many features including:
ARMv7 architecture, and it is based on a Cortex A9 core
Use an AXI bus to which
a memory controller is attached, as well as
multiple SPI interfaces to connect boot flash,
and ROM flash, a 10/100/1000 Mac engine which
supports SGMII (2 ports) and RMII
Multiple I2C engines to drive connectivity with a
host infrastructure
A video engine which support VGA and DP, as well as
an hardware video encoder
Multiple PCIe ports
A PECI interface, and LPC eSPI
Multiple UART for debug purpose, and Virtual UART for
host connectivity
A GPIO engine.

Signed-off-by: Nick Hawkins <[email protected]>
---
.../devicetree/bindings/soc/hpe/gxp.yaml | 35 +++++++++++++++++++
MAINTAINERS | 6 ++++
2 files changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/hpe/gxp.yaml

diff --git a/Documentation/devicetree/bindings/soc/hpe/gxp.yaml b/Documentation/devicetree/bindings/soc/hpe/gxp.yaml
new file mode 100644
index 000000000000..8690c1e28ed2
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/hpe/gxp.yaml
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/hpe/gxp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HPE bmc GXP SoC driver
+
+maintainers:
+ - Nick Hawkins <[email protected]>
+ - Jean-Marie Verdun <[email protected]>
+
+properties:
+ compatible:
+ const: hpe,gxp
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ gxp {
+ model = "Hewlett Packard Enterprise GXP BMC";
+ compatible = "hpe,gxp";
+ #address-cells: 1;
+ #size-cells: 0;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index f41088418aae..e482386bb248 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8385,6 +8385,12 @@ L: [email protected]
S: Maintained
F: block/partitions/efi.*

+GXP ARCHITECTURE
+M: Jean-Marie Verdun <[email protected]>
+M: Nick Hawkins <[email protected]>
+S: Maintained
+F: Documentation/devicetree/bindings/soc/hpe
+
H8/300 ARCHITECTURE
M: Yoshinori Sato <[email protected]>
L: [email protected] (moderated for non-subscribers)
--
2.17.1


2022-02-17 09:54:06

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: soc: Add HPE GXP SOC binding

On 16/02/2022 19:14, [email protected] wrote:
> From: Nick Hawkins <[email protected]>
>
> Description: This binding will be used in creating the HPE GXP
> architecture. GXP is the name of the HPE SoC.
> This SoC is used to implement BMC features of HPE servers
> (all ProLiant, Synergy, and many Apollo, and Superdome machines)
> It does support many features including:
> ARMv7 architecture, and it is based on a Cortex A9 core
> Use an AXI bus to which
> a memory controller is attached, as well as
> multiple SPI interfaces to connect boot flash,
> and ROM flash, a 10/100/1000 Mac engine which
> supports SGMII (2 ports) and RMII
> Multiple I2C engines to drive connectivity with a
> host infrastructure
> A video engine which support VGA and DP, as well as
> an hardware video encoder
> Multiple PCIe ports
> A PECI interface, and LPC eSPI
> Multiple UART for debug purpose, and Virtual UART for
> host connectivity
> A GPIO engine.

You need to do something with this indentation. It's unreadable. Please
look at git history to see how other people are writing longer commit
messages. Some examples of lists:

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1deab8c8abe3a167142ddc080995d36a321ace60
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=0a9f6487f96e746f129f15216eb8cba2bbd7c36a
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6b17743d934ecb5c7b3429c601a04f8fd254013f

>
> Signed-off-by: Nick Hawkins <[email protected]>
> ---
> .../devicetree/bindings/soc/hpe/gxp.yaml | 35 +++++++++++++++++++
> MAINTAINERS | 6 ++++
> 2 files changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soc/hpe/gxp.yaml
>
> diff --git a/Documentation/devicetree/bindings/soc/hpe/gxp.yaml b/Documentation/devicetree/bindings/soc/hpe/gxp.yaml
> new file mode 100644
> index 000000000000..8690c1e28ed2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/hpe/gxp.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/hpe/gxp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HPE bmc GXP SoC driver
> +
> +maintainers:
> + - Nick Hawkins <[email protected]>
> + - Jean-Marie Verdun <[email protected]>
> +
> +properties:
> + compatible:
> + const: hpe,gxp

I have no clue what this is... It is called a "SoC driver", but uses a
SoC compatible. It's not possible to understand the big picture, based
on this one patch (and it is not part of series...).

Please go through the comments you received... I provided you some time
with an example how the submission should look like:

https://lore.kernel.org/linux-samsung-soc/[email protected]/T/#mf98d2ac27a8481dc69dd110f9861c8318cade252
1. Cover letter with changelog
2. Patches split and organized:
a. dt-bindings,
b. driver changes,
c. DTS.

Thinks could be separated, e.g. driver changes with corresponding DTS
updates, but you cannot send a bindings as separate email and DTS in
entirely different email to different people. We need to see all of them.

For example the Tesla FSD above split SPI changes into completely
separate series. That's ok. Still The series above bring everything
needed to judge/review that part.

> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +

Best regards,
Krzysztof

2022-02-17 18:25:19

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: soc: Add HPE GXP SOC binding

On Wed, 16 Feb 2022 12:14:33 -0600, [email protected] wrote:
> From: Nick Hawkins <[email protected]>
>
> Description: This binding will be used in creating the HPE GXP
> architecture. GXP is the name of the HPE SoC.
> This SoC is used to implement BMC features of HPE servers
> (all ProLiant, Synergy, and many Apollo, and Superdome machines)
> It does support many features including:
> ARMv7 architecture, and it is based on a Cortex A9 core
> Use an AXI bus to which
> a memory controller is attached, as well as
> multiple SPI interfaces to connect boot flash,
> and ROM flash, a 10/100/1000 Mac engine which
> supports SGMII (2 ports) and RMII
> Multiple I2C engines to drive connectivity with a
> host infrastructure
> A video engine which support VGA and DP, as well as
> an hardware video encoder
> Multiple PCIe ports
> A PECI interface, and LPC eSPI
> Multiple UART for debug purpose, and Virtual UART for
> host connectivity
> A GPIO engine.
>
> Signed-off-by: Nick Hawkins <[email protected]>
> ---
> .../devicetree/bindings/soc/hpe/gxp.yaml | 35 +++++++++++++++++++
> MAINTAINERS | 6 ++++
> 2 files changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soc/hpe/gxp.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Error: Documentation/devicetree/bindings/soc/hpe/gxp.example.dts:22.27-28 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:378: Documentation/devicetree/bindings/soc/hpe/gxp.example.dt.yaml] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1398: dt_binding_check] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1593884

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.