mbox series

[0/2] Support byte access in the RTC7301 driver

Message ID 20230921-rtc-7301-regwidth-v1-0-1900556181bf@linaro.org
Headers show
Series Support byte access in the RTC7301 driver | expand

Message

Linus Walleij Sept. 21, 2023, 8:27 p.m. UTC
This augments the Epson RTC7301 driver so that is supports
both 8bit byte and 32bit word access.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Linus Walleij (2):
      rtc: rtc7301: Rewrite bindings in schema
      rtc: rtc7301: Support byte-addressed IO

 .../devicetree/bindings/rtc/epson,rtc7301.txt      | 16 -------
 .../devicetree/bindings/rtc/epson,rtc7301.yaml     | 49 ++++++++++++++++++++++
 drivers/rtc/rtc-r7301.c                            | 32 +++++++++++++-
 3 files changed, 79 insertions(+), 18 deletions(-)
---
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
change-id: 20230921-rtc-7301-regwidth-18ba1e3d0edb

Best regards,

Comments

Rob Herring (Arm) Sept. 22, 2023, 9:19 p.m. UTC | #1
On Thu, Sep 21, 2023 at 10:27:42PM +0200, Linus Walleij wrote:
> This rewrites the Epson RTC7301 bindings to use YAML schema,
> and adds a property for "reg-io-width" as used in several
> other bindings to account for different register strides.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  .../devicetree/bindings/rtc/epson,rtc7301.txt      | 16 -------
>  .../devicetree/bindings/rtc/epson,rtc7301.yaml     | 49 ++++++++++++++++++++++
>  2 files changed, 49 insertions(+), 16 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/rtc/epson,rtc7301.txt b/Documentation/devicetree/bindings/rtc/epson,rtc7301.txt
> deleted file mode 100644
> index 5f9df3f1467c..000000000000
> --- a/Documentation/devicetree/bindings/rtc/epson,rtc7301.txt
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -EPSON TOYOCOM RTC-7301SF/DG
> -
> -Required properties:
> -
> -- compatible: Should be "epson,rtc7301sf" or "epson,rtc7301dg"
> -- reg: Specifies base physical address and size of the registers.
> -- interrupts: A single interrupt specifier.
> -
> -Example:
> -
> -rtc: rtc@44a00000 {
> -	compatible = "epson,rtc7301dg";
> -	reg = <0x44a00000 0x10000>;
> -	interrupt-parent = <&axi_intc_0>;
> -	interrupts = <3 2>;
> -};
> diff --git a/Documentation/devicetree/bindings/rtc/epson,rtc7301.yaml b/Documentation/devicetree/bindings/rtc/epson,rtc7301.yaml
> new file mode 100644
> index 000000000000..4bcf1716cab6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/epson,rtc7301.yaml
> @@ -0,0 +1,49 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/epson,rtc7301.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Epson Toyocom RTC-7301SF/DG
> +
> +description: The only difference between the two variants is the
> +  packaging. The DG variant is a DIL package, and the SF variant
> +  is a flat package.
> +
> +maintainers:
> +  - Akinobu Mita <akinobu.mita@gmail.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - epson,rtc7301dg
> +      - epson,rtc7301sf
> +
> +  reg:
> +    maxItems: 1
> +
> +  reg-io-width:
> +    description:
> +      The size (in bytes) of the IO accesses that should be performed
> +      on the device.
> +    enum: [1, 4]

What's the default?

> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    rtc: rtc@44a00000 {
> +        compatible = "epson,rtc7301dg";
> +        reg = <0x44a00000 0x10000>;
> +        reg-io-width = <4>;
> +        interrupt-parent = <&axi_intc_0>;
> +        interrupts = <3 2>;
> +    };
> 
> -- 
> 2.41.0
>
Linus Walleij Sept. 26, 2023, 10:56 a.m. UTC | #2
On Fri, Sep 22, 2023 at 12:45 PM Conor Dooley <conor@kernel.org> wrote:
> On Thu, Sep 21, 2023 at 10:27:42PM +0200, Linus Walleij wrote:

> > This rewrites the Epson RTC7301 bindings to use YAML schema,
> > and adds a property for "reg-io-width" as used in several
> > other bindings to account for different register strides.
>
> It'd probably be good to mention that there is hardware that needs this,
> rather that saying "other bindings use this".

That is an explanation why I call it "reg-io-width", rather than,
say "reg-stride-bytes" as there are other bindings that use this

But I'll mention some hardware, no problem!

Yours,
Linus Walleij