All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Rob Herring <robh+dt@kernel.org>,
	Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/3] dt-bindings: power: reset: Convert syscon-reboot-mode to DT schema
Date: Sat, 9 May 2020 02:30:45 +0200	[thread overview]
Message-ID: <20200509003045.3mi7cfey6cmlidul@earth.universe> (raw)
In-Reply-To: <20200507233846.11548-2-Sergey.Semin@baikalelectronics.ru>

[-- Attachment #1: Type: text/plain, Size: 5353 bytes --]

Hi,

On Fri, May 08, 2020 at 02:38:44AM +0300, Serge Semin wrote:
> Modern device tree bindings are supposed to be created as YAML-files
> in accordance with dt-schema. This commit replaces SYSCON reboot-mode
> legacy bare text bindings with YAML file. As before the bindings file
> states that the corresponding dts node is supposed to be compatible
> "syscon-reboot-mode" device and necessarily have an offset property
> to determine which register from the regmap is supposed to keep the
> mode on reboot.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: Paul Burton <paulburton@kernel.org>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Allison Randal <allison@lohutok.net>
> Cc: Richard Fontana <rfontana@redhat.com>
> Cc: Kate Stewart <kstewart@linuxfoundation.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: linux-mips@vger.kernel.org
> ---

Thanks, I queued this patch to power-supply's for-next branch. For the other
two patches I will wait for Rob's feedback.

-- Sebastian

>  .../power/reset/syscon-reboot-mode.txt        | 35 ------------
>  .../power/reset/syscon-reboot-mode.yaml       | 55 +++++++++++++++++++
>  2 files changed, 55 insertions(+), 35 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
>  create mode 100644 Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
> 
> diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
> deleted file mode 100644
> index f7ce1d8af04a..000000000000
> --- a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -SYSCON reboot mode driver
> -
> -This driver gets reboot mode magic value form reboot-mode driver
> -and stores it in a SYSCON mapped register. Then the bootloader
> -can read it and take different action according to the magic
> -value stored.
> -
> -This DT node should be represented as a sub-node of a "syscon", "simple-mfd"
> -node.
> -
> -Required properties:
> -- compatible: should be "syscon-reboot-mode"
> -- offset: offset in the register map for the storage register (in bytes)
> -
> -Optional property:
> -- mask: bits mask of the bits in the register to store the reboot mode magic value,
> -  default set to 0xffffffff if missing.
> -
> -The rest of the properties should follow the generic reboot-mode description
> -found in reboot-mode.txt
> -
> -Example:
> -	pmu: pmu@20004000 {
> -		compatible = "rockchip,rk3066-pmu", "syscon", "simple-mfd";
> -		reg = <0x20004000 0x100>;
> -
> -		reboot-mode {
> -			compatible = "syscon-reboot-mode";
> -			offset = <0x40>;
> -			mode-normal = <BOOT_NORMAL>;
> -			mode-recovery = <BOOT_RECOVERY>;
> -			mode-bootloader = <BOOT_FASTBOOT>;
> -			mode-loader = <BOOT_BL_DOWNLOAD>;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
> new file mode 100644
> index 000000000000..9b1ffceefe3d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/reset/syscon-reboot-mode.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic SYSCON reboot mode driver
> +
> +maintainers:
> +  - Sebastian Reichel <sre@kernel.org>
> +
> +description: |
> +  This driver gets reboot mode magic value from reboot-mode driver
> +  and stores it in a SYSCON mapped register. Then the bootloader
> +  can read it and take different action according to the magic
> +  value stored. The SYSCON mapped register is retrieved from the
> +  parental dt-node plus the offset. So the SYSCON reboot-mode node
> +  should be represented as a sub-node of a "syscon", "simple-mfd" node.
> +
> +properties:
> +  compatible:
> +    const: syscon-reboot-mode
> +
> +  mask:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Update only the register bits defined by the mask (32 bit)
> +
> +  offset:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Offset in the register map for the mode register (in bytes)
> +
> +patternProperties:
> +  "^mode-.+":
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Vendor-specific mode value written to the mode register
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - offset
> +
> +examples:
> +  - |
> +    #include <dt-bindings/soc/rockchip,boot-mode.h>
> +
> +    reboot-mode {
> +      compatible = "syscon-reboot-mode";
> +      offset = <0x40>;
> +      mode-normal = <BOOT_NORMAL>;
> +      mode-recovery = <BOOT_RECOVERY>;
> +      mode-bootloader = <BOOT_FASTBOOT>;
> +      mode-loader = <BOOT_BL_DOWNLOAD>;
> +    };
> +...
> -- 
> 2.25.1
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-05-09  0:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-06 13:03 [PATCH 0/4] syscon: Alter syscon and reboot-mode drivers Sergey.Semin
2020-03-09  7:13 ` Lee Jones
     [not found] ` <20200309071233.12D6980307C8@mail.baikalelectronics.ru>
2020-03-10  0:35   ` Sergey Semin
2020-05-07 23:38 ` [PATCH v2 0/3] syscon: Alter syscon and reboot drivers Serge Semin
2020-05-07 23:38   ` [PATCH v2 1/3] dt-bindings: power: reset: Convert syscon-reboot-mode to DT schema Serge Semin
2020-05-09  0:30     ` Sebastian Reichel [this message]
2020-05-10  8:47       ` Serge Semin
2020-05-07 23:38   ` [PATCH v2 2/3] dt-bindings: power: reset: Unrequire regmap property in syscon-reboot node Serge Semin
2020-05-15  3:14     ` Rob Herring
2020-05-16 13:26       ` Serge Semin
2020-05-07 23:38   ` [PATCH v2 3/3] power: reset: syscon-reboot: Add parental syscon support Serge Semin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200509003045.3mi7cfey6cmlidul@earth.universe \
    --to=sebastian.reichel@collabora.com \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Sergey.Semin@baikalelectronics.ru \
    --cc=devicetree@vger.kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.