Devicetree
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Petar Stepanovic <pstepanovic@axiado.com>,
	Tzu-Hao Wei <twei@axiado.com>, Swark Yang <syang@axiado.com>,
	Prasad Bolisetty <pbolisetty@axiado.com>,
	Linus Walleij <linusw@kernel.org>,
	Bartosz Golaszewski <brgl@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Harshit Shah <hshah@axiado.com>,
	SriNavmani A <srinavmani@axiado.com>,
	Karthikeyan Mitran <kmitran@axiado.com>
Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] dt-bindings: gpio: Add Axiado SGPIO controller
Date: Wed, 29 Jul 2026 10:03:16 +0200	[thread overview]
Message-ID: <986fac76-3bcd-4523-a902-701027aff1bf@kernel.org> (raw)
In-Reply-To: <20260729-axiado-ax3000-sgpio-controller-v2-1-976f4ed11438@axiado.com>

On 29/07/2026 09:02, Petar Stepanovic wrote:
> +description: |
> +  The Axiado SGPIO controller provides a serial GPIO expansion interface
> +  that multiplexes multiple GPIO signals over a small set of physical lines.
> +
> +  The controller operates as a shift-based interface, where output values
> +  are serialized on a data output line and input values are sampled from a
> +  data input line in synchronization with a shift clock. A latch signal is
> +  used to update output states after each transfer cycle.
> +
> +  The interface uses data output (DOUT), data input (DIN), shift clock
> +  (SCLK), and latch signal (LATCH).
> +
> +  Each SGPIO position provides one fixed-direction input GPIO and one
> +  fixed-direction output GPIO. Input GPIOs support edge-triggered
> +  interrupts.
> +
> +  GPIOs are organized in banks of 32 signals, with registers controlling
> +  output values, input sampling, and interrupt status. The number of GPIO
> +  lines depends on the hardware variant.
> +
> +  The controller detects changes on input GPIOs. Interrupt events are
> +  aggregated and signaled through a single interrupt line to the parent
> +  interrupt controller.
> +
> +  Register access is performed over the APB bus. The SGPIO shift clock is
> +  derived from the APB clock using a programmable divider.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - axiado,ax3000-sgpio
> +      - axiado,ax3005-sgpio
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    description:
> +      APB clock used for register access and SGPIO shift clock generation
> +    maxItems: 1
> +
> +  bus-frequency:
> +    description: SGPIO shift clock frequency in Hz
> +    minimum: 1

Such property is not allowed. Why you cannot calculate it automatically?

> +
> +  gpio-controller: true
> +
> +  '#gpio-cells':
> +    const: 2
> +
> +  interrupt-controller: true
> +
> +  '#interrupt-cells':
> +    const: 2
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  ngpios:
> +    description:
> +      Number of SGPIO positions. Each position provides one input GPIO and
> +      one output GPIO.
> +    enum: [128, 512]
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          const: axiado,ax3000-sgpio
> +    then:
> +      properties:
> +        ngpios:
> +          const: 128

else what? 3005 has 512? Then these are implied by compatible, no?

> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - bus-frequency
> +  - gpio-controller
> +  - '#gpio-cells'
> +  - interrupt-controller
> +  - '#interrupt-cells'
> +  - interrupts
> +  - ngpios
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    sgpio@a000 {

git grep sgpio@

No results (except well known poor coding style platform). I already
commented on this.

> +        compatible = "axiado,ax3005-sgpio";
> +        reg = <0xa000 0x800>;
> +        clocks = <&apb_clk>;
> +        bus-frequency = <1000000>;
> +        gpio-controller;
Best regards,
Krzysztof

  parent reply	other threads:[~2026-07-29  8:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-29  7:02 [PATCH v2 0/2] gpio: add support for Axiado SGPIO controller Petar Stepanovic
2026-07-29  7:02 ` [PATCH v2 1/2] dt-bindings: gpio: Add " Petar Stepanovic
2026-07-29  7:10   ` sashiko-bot
2026-07-29  8:03   ` Krzysztof Kozlowski [this message]
2026-07-29  7:02 ` [PATCH v2 2/2] gpio: axiado: add SGPIO controller support Petar Stepanovic
2026-07-29  7:14   ` sashiko-bot

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=986fac76-3bcd-4523-a902-701027aff1bf@kernel.org \
    --to=krzk@kernel.org \
    --cc=brgl@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hshah@axiado.com \
    --cc=kmitran@axiado.com \
    --cc=krzk+dt@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbolisetty@axiado.com \
    --cc=pstepanovic@axiado.com \
    --cc=robh@kernel.org \
    --cc=srinavmani@axiado.com \
    --cc=syang@axiado.com \
    --cc=twei@axiado.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox