[v5,3/3] dt-bindings: gpio: add NPCM sgpio driver bindings
Commit Message
Add dt-bindings document for the Nuvoton NPCM7xx sgpio driver
Signed-off-by: Jim Liu <jim.t90615@gmail.com>
---
Changes for v4:
- remove bus bus-frequency
- modify in/out description
Changes for v4:
- modify in/out property
- modify bus-frequency property
Changes for v3:
- modify description
- modify in/out property name
Changes for v2:
- modify description
---
.../bindings/gpio/nuvoton,sgpio.yaml | 87 +++++++++++++++++++
1 file changed, 87 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
Comments
On 14/03/2023 10:23, Jim Liu wrote:
> Add dt-bindings document for the Nuvoton NPCM7xx sgpio driver
>
> Signed-off-by: Jim Liu <jim.t90615@gmail.com>
> ---
> Changes for v4:
> - remove bus bus-frequency
> - modify in/out description
NAK at the end... you ignore a lot of feedback. Read everything carefully.
> Changes for v4:
> - modify in/out property
> - modify bus-frequency property
> Changes for v3:
> - modify description
> - modify in/out property name
> Changes for v2:
> - modify description
> ---
> .../bindings/gpio/nuvoton,sgpio.yaml | 87 +++++++++++++++++++
> 1 file changed, 87 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml b/Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
> new file mode 100644
> index 000000000000..9237376eda18
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/nuvoton,sgpio.yaml
> @@ -0,0 +1,87 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/nuvoton,sgpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nuvoton SGPIO controller
> +
> +maintainers:
> + - Jim LIU <JJLIU0@nuvoton.com>
> +
> +description:
description: |
(because formatting is now important)
> + This SGPIO controller is for NUVOTON NPCM7xx and NPCM8xx SoC.
> + Nuvoton NPCM7xx SGPIO module is combine serial to parallel IC (HC595)
> + and parallel to serial IC (HC165), and use APB3 clock to control it.
> + This interface has 4 pins (D_out , D_in, S_CLK, LDSH).
> + NPCM7xx/NPCM8xx have two sgpio module each module can support up
> + to 64 output pins,and up to 64 input pin, the pin is only for gpi or gpo.
> + GPIO pins have sequential, First half is gpo and second half is gpi.
> + GPIO pins can be programmed to support the following options
> + - Support interrupt option for each input port and various interrupt
> + sensitivity option (level-high, level-low, edge-high, edge-low)
> + - ngpios is number of nuvoton,input-ngpios GPIO lines and nuvoton,output-ngpios GPIO lines.
> + nuvoton,input-ngpios GPIO lines is only for gpi.
> + nuvoton,output-ngpios GPIO lines is only for gpo.
> +
> +properties:
> + compatible:
> + enum:
> + - nuvoton,npcm750-sgpio
> + - nuvoton,npcm845-sgpio
> +
> + reg:
> + maxItems: 1
> +
> + gpio-controller: true
> +
> + '#gpio-cells':
> + const: 2
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + nuvoton,input-ngpios:
> + $ref: "/schemas/types.yaml#/definitions/uint32"
Drop quotes.
> + description: |
Drop '|' because end line formatting here is not important.
> + The numbers of GPIO's exposed.GPIO lines is only for gpi.
Missing space after 'exposed.'
> + minimum: 0
> + maximum: 64
> +
> + nuvoton,output-ngpios:
> + $ref: "/schemas/types.yaml#/definitions/uint32"
Ditto
> + description: |
> + The numbers of GPIO's exposed.GPIO lines is only for gpo.
Ditto
> + minimum: 0
> + maximum: 64
> +
> +required:
> + - compatible
> + - reg
> + - clock
> + - gpio-controller
> + - '#gpio-cells'
> + - interrupts
> + - nuvoton,input-ngpios
> + - nuvoton,output-ngpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + gpio8: gpio@101000 {
> + compatible = "nuvoton,npcm750-sgpio";
> + reg = <0x101000 0x200>;
> + clocks = <&clk NPCM7XX_CLK_APB3>;
> + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + nuvoton,input-ngpios = <64>;
> + nuvoton,output-ngpios = <64>;
> + status = "disabled";
So this is fifth reminder...
https://lore.kernel.org/all/d56c24c2-a017-8468-0b3a-bd93d6024c69@linaro.org/
https://lore.kernel.org/all/39efdb85-f881-12ab-e258-61175f209b4c@linaro.org/
https://lore.kernel.org/all/9fc4d874-a0d0-6c5c-aeee-61ab817fdd9f@linaro.org/
This is a not-that-friendly-anymore reminder during the review process.
It seems my previous comments were not fully addressed. Maybe my
feedback got lost between the quotes, maybe you just forgot to apply it.
Please go back to the previous discussion and either implement all
requested changes or keep discussing them.
Best regards,
Krzysztof
On 14/03/2023 19:45, Krzysztof Kozlowski wrote:
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + gpio8: gpio@101000 {
>> + compatible = "nuvoton,npcm750-sgpio";
>> + reg = <0x101000 0x200>;
>> + clocks = <&clk NPCM7XX_CLK_APB3>;
>> + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
>> + gpio-controller;
>> + #gpio-cells = <2>;
>> + nuvoton,input-ngpios = <64>;
>> + nuvoton,output-ngpios = <64>;
>> + status = "disabled";
>
> So this is fifth reminder...
>
> https://lore.kernel.org/all/d56c24c2-a017-8468-0b3a-bd93d6024c69@linaro.org/
>
> https://lore.kernel.org/all/39efdb85-f881-12ab-e258-61175f209b4c@linaro.org/
>
> https://lore.kernel.org/all/9fc4d874-a0d0-6c5c-aeee-61ab817fdd9f@linaro.org/
>
> This is a not-that-friendly-anymore reminder during the review process.
>
> It seems my previous comments were not fully addressed. Maybe my
> feedback got lost between the quotes, maybe you just forgot to apply it.
> Please go back to the previous discussion and either implement all
> requested changes or keep discussing them.
BTW, you never responded that my comment is unclear, but I can imagine
that this was the cause of some misunderstanding. Therefore just in case
let's be clear: drop the "status line". Entire line.
Best regards,
Krzysztof
new file mode 100644
@@ -0,0 +1,87 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/nuvoton,sgpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton SGPIO controller
+
+maintainers:
+ - Jim LIU <JJLIU0@nuvoton.com>
+
+description:
+ This SGPIO controller is for NUVOTON NPCM7xx and NPCM8xx SoC.
+ Nuvoton NPCM7xx SGPIO module is combine serial to parallel IC (HC595)
+ and parallel to serial IC (HC165), and use APB3 clock to control it.
+ This interface has 4 pins (D_out , D_in, S_CLK, LDSH).
+ NPCM7xx/NPCM8xx have two sgpio module each module can support up
+ to 64 output pins,and up to 64 input pin, the pin is only for gpi or gpo.
+ GPIO pins have sequential, First half is gpo and second half is gpi.
+ GPIO pins can be programmed to support the following options
+ - Support interrupt option for each input port and various interrupt
+ sensitivity option (level-high, level-low, edge-high, edge-low)
+ - ngpios is number of nuvoton,input-ngpios GPIO lines and nuvoton,output-ngpios GPIO lines.
+ nuvoton,input-ngpios GPIO lines is only for gpi.
+ nuvoton,output-ngpios GPIO lines is only for gpo.
+
+properties:
+ compatible:
+ enum:
+ - nuvoton,npcm750-sgpio
+ - nuvoton,npcm845-sgpio
+
+ reg:
+ maxItems: 1
+
+ gpio-controller: true
+
+ '#gpio-cells':
+ const: 2
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ nuvoton,input-ngpios:
+ $ref: "/schemas/types.yaml#/definitions/uint32"
+ description: |
+ The numbers of GPIO's exposed.GPIO lines is only for gpi.
+ minimum: 0
+ maximum: 64
+
+ nuvoton,output-ngpios:
+ $ref: "/schemas/types.yaml#/definitions/uint32"
+ description: |
+ The numbers of GPIO's exposed.GPIO lines is only for gpo.
+ minimum: 0
+ maximum: 64
+
+required:
+ - compatible
+ - reg
+ - clock
+ - gpio-controller
+ - '#gpio-cells'
+ - interrupts
+ - nuvoton,input-ngpios
+ - nuvoton,output-ngpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ gpio8: gpio@101000 {
+ compatible = "nuvoton,npcm750-sgpio";
+ reg = <0x101000 0x200>;
+ clocks = <&clk NPCM7XX_CLK_APB3>;
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ nuvoton,input-ngpios = <64>;
+ nuvoton,output-ngpios = <64>;
+ status = "disabled";
+ };