Re: [PATCH v3 01/10] Documentations: dt-bindings: Add documents of generic PECI bus, adapter and client drivers

From: Rob Herring
Date: Mon Apr 16 2018 - 13:59:47 EST


On Tue, Apr 10, 2018 at 11:32:03AM -0700, Jae Hyun Yoo wrote:
> This commit adds documents of generic PECI bus, adapter and client drivers.

"dt-bindings: ..." for the subject prefix please.

>
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx>
> Reviewed-by: Haiyue Wang <haiyue.wang@xxxxxxxxxxxxxxx>
> Reviewed-by: James Feist <james.feist@xxxxxxxxxxxxxxx>
> Reviewed-by: Vernon Mauery <vernon.mauery@xxxxxxxxxxxxxxx>
> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx>
> Cc: Andrew Jeffery <andrew@xxxxxxxx>
> Cc: Andrew Lunn <andrew@xxxxxxx>
> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx>
> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> Cc: Jason M Biils <jason.m.bills@xxxxxxxxxxxxxxx>
> Cc: Jean Delvare <jdelvare@xxxxxxxx>
> Cc: Joel Stanley <joel@xxxxxxxxx>
> Cc: Julia Cartwright <juliac@xxxxxxxxxxxx>
> Cc: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
> Cc: Milton Miller II <miltonm@xxxxxxxxxx>
> Cc: Pavel Machek <pavel@xxxxxx>
> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Stef van Os <stef.van.os@xxxxxxxxxxxxxxxxxxxxxxxxx>
> Cc: Sumeet R Pawnikar <sumeet.r.pawnikar@xxxxxxxxx>
> ---
> .../devicetree/bindings/peci/peci-adapter.txt | 23 ++++++++++++++++++++
> .../devicetree/bindings/peci/peci-bus.txt | 15 +++++++++++++
> .../devicetree/bindings/peci/peci-client.txt | 25 ++++++++++++++++++++++

This should be all one document.

> 3 files changed, 63 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/peci/peci-adapter.txt
> create mode 100644 Documentation/devicetree/bindings/peci/peci-bus.txt
> create mode 100644 Documentation/devicetree/bindings/peci/peci-client.txt
>
> diff --git a/Documentation/devicetree/bindings/peci/peci-adapter.txt b/Documentation/devicetree/bindings/peci/peci-adapter.txt
> new file mode 100644
> index 000000000000..9221374f6b11
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/peci/peci-adapter.txt
> @@ -0,0 +1,23 @@
> +Generic device tree configuration for PECI adapters.
> +
> +Required properties:
> +- compatible : Should contain hardware specific definition strings that can
> + match an adapter driver implementation.
> +- reg : Should contain PECI controller registers location and length.

No need for these 2 here.

> +- #address-cells : Should be <1>.
> +- #size-cells : Should be <0>.

Some details on the addressing for PECI would be good.

> +
> +Example:
> + peci: peci@10000000 {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x10000000 0x1000>;
> +

This part of the example is not relevant. Just start with the adapter
node.

> + peci0: peci-bus@0 {
> + compatible = "soc,soc-peci";
> + reg = <0x0 0x1000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> + };
> diff --git a/Documentation/devicetree/bindings/peci/peci-bus.txt b/Documentation/devicetree/bindings/peci/peci-bus.txt
> new file mode 100644
> index 000000000000..90bcc791ccb0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/peci/peci-bus.txt
> @@ -0,0 +1,15 @@
> +Generic device tree configuration for PECI buses.
> +
> +Required properties:
> +- compatible : Should be "simple-bus".

I don't understand what this has to do with PECI? "simple-bus" already
has a defined meaning.

> +- #address-cells : Should be <1>.
> +- #size-cells : Should be <1>.
> +- ranges : Should contain PECI controller registers ranges.
> +
> +Example:
> + peci: peci@10000000 {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x10000000 0x1000>;
> + };
> diff --git a/Documentation/devicetree/bindings/peci/peci-client.txt b/Documentation/devicetree/bindings/peci/peci-client.txt
> new file mode 100644
> index 000000000000..8e2bfd8532f6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/peci/peci-client.txt
> @@ -0,0 +1,25 @@
> +Generic device tree configuration for PECI clients.
> +
> +Required properties:
> +- compatible : Should contain target device specific definition strings that can
> + match a client driver implementation.

Bindings are for h/w, not client drivers.

How are PECI devices defined?

> +- reg : Should contain address of a client CPU. Address range of CPU
> + clients is starting from 0x30 based on PECI specification.
> + <0x30> .. <0x37> (depends on the PECI_OFFSET_MAX definition)

8 devices should be enough for anyone...

Where is PECI_OFFSET_MAX defined?

> +
> +Example:
> + peci-bus@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + < more properties >
> +
> + function@cpu0 {

Not a valid node name. "function@30" is what it probably should be. For
a new bus you can define unit-address format you like, but it must be
based on the contents of reg. However, it doesn't look like you should
create anything special here.

> + compatible = "device,function";
> + reg = <0x30>;
> + };
> +
> + function@cpu1 {
> + compatible = "device,function";
> + reg = <0x31>;
> + };
> + };
> --
> 2.16.2
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel