Re: [RFC PATH 1/2] dt-bindings: gpio: add starfive,jh7100-gpio bindings
From: Drew Fustini <hidden>
Date: 2021-07-02 20:56:28
Also in:
linux-gpio, linux-riscv, lkml
On Thu, Jul 01, 2021 at 10:34:56AM +0200, Geert Uytterhoeven wrote:
Hi Drew, On Thu, Jul 1, 2021 at 2:22 AM Drew Fustini [off-list ref] wrote:quoted
Add bindings for the GPIO controller in the StarFive JH7100 SoC [1]. [1] https://github.com/starfive-tech/beaglev_doc Signed-off-by: Drew Fustini <redacted> Signed-off-by: Huan Feng <redacted>Thanks for your patch!quoted
--- /dev/null +++ b/Documentation/devicetree/bindings/gpio/starfive,jh7100-gpio.yaml@@ -0,0 +1,60 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/starfive,jh7100-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive JH7100 GPIO controller + +maintainers: + - Huan Feng <huan.feng@starfivetech.com> + - Drew Fustini <drew@beagleboard.org> + +properties: + compatible: + items: + - const: starfive,jh7100-gpio + + reg: + maxItems: 1 + + interrupts: + description: + Interrupt mapping, one per GPIO. Maximum 32 GPIOs. + minItems: 1 + maxItems: 32What about clocks and resets?
Thank you for your feedback, Geert.
GPIO controller uses clk_apb1_bus under dom0_sys. I believe the device
tree node would use something like this:
clocks = <&clkgen JH7100_CLK_APB1>;
I see the sifive-gpio.yaml has:
clocks:
maxItems: 1
Would that be the correct way to do it for the starfive gpio yaml?
The reset for GPIO controller is presetn under dom_sys. Do you think
know you know an example that has reset in the YAML? Is there some code
that would actually make use of that information?
quoted
+ + gpio-controller: true + + "#gpio-cells": + const: 2 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - "#interrupt-cells" + - "#gpio-cells" + - gpio-controller
Do you think I should add 'clocks' to 'required:'?
quoted
+ +additionalProperties: false + +examples: + - | + gpio@11910000 { + compatible = "starfive,jh7100-gpio"; + reg = <0x11910000 0x10000>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupts = <32>;
I would add: clocks = <&clkgen JH7100_CLK_APB1>; But I am not sure how reset would work? Thank you, Drew