From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: "Martin Zaťovič" <m.zatovic1@gmail.com>,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
linus.walleij@linaro.org, brgl@bgdev.pl,
gregkh@linuxfoundation.org, jeffrey.l.hugo@gmail.com,
andersson@kernel.org, Michael.Srba@seznam.cz,
saravanak@google.com, mani@kernel.org, hemantk@codeaurora.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-gpio@vger.kernel.org
Subject: Re: [RFCv2 PATCH 3/4] dt-bindings: gpio: add Wiegand GPIO driver dt documentation
Date: Thu, 6 Oct 2022 10:34:08 +0200 [thread overview]
Message-ID: <323457c6-7f7e-e127-82f4-b86f3bad243f@linaro.org> (raw)
In-Reply-To: <959a45b0-b4bb-98df-20be-707aa0d26700@linaro.org>
On 06/10/2022 10:23, Krzysztof Kozlowski wrote:
> On 05/10/2022 16:57, Martin Zaťovič wrote:
>> The Wiegand GPIO driver uses two GPIO lines to transmit data -
>> data-hi and data-lo. These lines need to be defined in the
>> devicetree, otherwise the driver will not probe successfully.
>>
>> Signed-off-by: Martin Zaťovič <m.zatovic1@gmail.com>
>> ---
>> .../bindings/gpio/gpio-wiegand.yaml | 53 +++++++++++++++++++
>> 1 file changed, 53 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-wiegand.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-wiegand.yaml b/Documentation/devicetree/bindings/gpio/gpio-wiegand.yaml
>> new file mode 100644
>> index 000000000000..3b235667ae17
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/gpio/gpio-wiegand.yaml
>> @@ -0,0 +1,53 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/gpio/gpio-wiegand.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Wiegand GPIO controller
>> +
>> +description: |
>> + Wiegand GPIO controller running under Wiegand bus.
>
> GPIO controllers need "gpio-controller" property, so this seems to be
> something else.
>
>> +
>> +maintainers:
>> + - Martin Zaťovič <m.zatovic1@gmail.com>
>> +
>> +properties:
>> + $nodename:
>> + pattern: "^wiegand-gpio@[0-9a-f]+$"
>
> No need to enforce node name, unless this is for a class of devices. But
> then why "gpio" not just "wiegand"?
>
>> +
>> + compatible:
>> + const: wiegand,wiegand-gpio
>> +
>> + data-hi-gpios:
>> + description: GPIO spec for data-hi line to use
>> + maxItems: 1
>> +
>> + data-lo-gpios:
>> + description: GPIO spec for data-lo line to use
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - data-hi-gpios
>> + - data-lo-gpios
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> +
>> + wiegand {
>> + compatible = "wiegand";
>> +
>> + wiegand-gpio {
>
> I have troubles understanding this. The "wiegand" node is the bus,
> right? Then what is "wiegand-gpio"? GPIO controller? Then why it is not
> marked as GPIO controller? What GPIOs does it control?
>
>> + compatible = "wiegand,wiegand-gpio";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_uart2_wiegand>;
>> + data-hi-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
>> + data-lo-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
>
> Aren't these properties of the bus, not the device?
So this looks like specific implementation of Wiegand bus - a Wiegand
bus controller. If it is correct, it should not be represented as child
of a bus... because this is a bus. IOW, just like SPI or I2C controllers
(why is this one different?), the bus is defined by SPI controller:
wiegand {
compatible = "wiegand,wiegand-gpio";
data-hi-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
data-lo-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
child-device, e.g. some-card {
compatible = "foo,bar";
// more properties of the device
};
};
Best regards,
Krzysztof
next prev parent reply other threads:[~2022-10-06 8:34 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-05 14:57 [RFCv2 PATCH 1/4] dt-bindings: bus: add Wiegand bus " Martin Zaťovič
2022-10-05 14:57 ` [RFCv2 PATCH 2/4] bus: add Wiegand bus driver Martin Zaťovič
2022-10-06 8:29 ` Krzysztof Kozlowski
2022-10-17 8:49 ` Linus Walleij
2022-10-05 14:57 ` [RFCv2 PATCH 3/4] dt-bindings: gpio: add Wiegand GPIO driver dt documentation Martin Zaťovič
2022-10-06 2:18 ` Rob Herring
2022-10-06 8:23 ` Krzysztof Kozlowski
2022-10-06 8:34 ` Krzysztof Kozlowski [this message]
2022-10-05 14:57 ` [RFCv2 PATCH 4/4] gpio: add Wiegand GPIO driver Martin Zaťovič
2022-10-12 12:16 ` Bartosz Golaszewski
2022-10-06 2:18 ` [RFCv2 PATCH 1/4] dt-bindings: bus: add Wiegand bus dt documentation Rob Herring
2022-10-06 8:25 ` Krzysztof Kozlowski
2022-10-06 8:33 ` Krzysztof Kozlowski
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=323457c6-7f7e-e127-82f4-b86f3bad243f@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=Michael.Srba@seznam.cz \
--cc=andersson@kernel.org \
--cc=brgl@bgdev.pl \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hemantk@codeaurora.org \
--cc=jeffrey.l.hugo@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.zatovic1@gmail.com \
--cc=mani@kernel.org \
--cc=robh+dt@kernel.org \
--cc=saravanak@google.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
all inboxes | Powered by JetHome®