From: <Conor.Dooley@microchip.com>
To: <u.kleine-koenig@pengutronix.de>
Cc: <Lewis.Hanly@microchip.com>, <Daire.McNamara@microchip.com>,
<Ivan.Griffin@microchip.com>, <atishp@rivosinc.com>,
<robh@kernel.org>, <palmer@rivosinc.com>,
<linus.walleij@linaro.org>, <brgl@bgdev.pl>, <robh+dt@kernel.org>,
<jassisinghbrar@gmail.com>, <thierry.reding@gmail.com>,
<lee.jones@linaro.org>, <a.zummo@towertech.it>,
<alexandre.belloni@bootlin.com>, <paul.walmsley@sifive.com>,
<palmer@dabbelt.com>, <aou@eecs.berkeley.edu>,
<geert@linux-m68k.org>, <krzysztof.kozlowski@canonical.com>,
<linux-gpio@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-pwm@vger.kernel.org>,
<linux-rtc@vger.kernel.org>, <linux-riscv@lists.infradead.org>
Subject: Re: [PATCH v7 05/11] dt-bindings: pwm: add microchip corepwm binding
Date: Mon, 21 Feb 2022 07:55:47 +0000 [thread overview]
Message-ID: <4c470378-7aa0-deb8-e7b5-2aa4a86cac8e@microchip.com> (raw)
In-Reply-To: <20220214135840.168236-6-conor.dooley@microchip.com>
Hey Uwe,
Could you take a look at this version & see if the descriptions are
easier to understand?
Thanks,
Conor
On 14/02/2022 13:58, conor.dooley@microchip.com wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
>
> Add device tree bindings for the Microchip fpga fabric based "core" PWM
> controller.
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> ---
> .../bindings/pwm/microchip,corepwm.yaml | 81 +++++++++++++++++++
> 1 file changed, 81 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
>
> diff --git a/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml b/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
> new file mode 100644
> index 000000000000..a7fae1772a81
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/microchip,corepwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip IP corePWM controller bindings
> +
> +maintainers:
> + - Conor Dooley <conor.dooley@microchip.com>
> +
> +description: |
> + corePWM is an 16 channel pulse width modulator FPGA IP
> +
> + https://www.microsemi.com/existing-parts/parts/152118
> +
> +allOf:
> + - $ref: pwm.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - const: microchip,corepwm-rtl-v4
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + "#pwm-cells":
> + const: 2
> +
> + microchip,sync-update-mask:
> + description: |
> + Depending on how the IP is instantiated, there are two modes of operation.
> + In synchronous mode, all channels are updated at the beginning of the PWM period,
> + and in asynchronous mode updates happen as the control registers are written.
> + A 16 bit wide "SHADOW_REG_EN" parameter of the IP core controls whether synchronous
> + mode is possible for each channel, and is set by the bitstream programmed to the
> + FPGA. If the IP core is instantiated with SHADOW_REG_ENx=1, both registers that
> + control the duty cycle for channel x have a second "shadow"/buffer reg synthesised.
> + At runtime a bit wide register exposed to APB can be used to toggle on/off
> + synchronised mode for all channels it has been synthesised for.
> + Each bit of "microchip,sync-update-mask" corresponds to a PWM channel & represents
> + whether synchronous mode is possible for the PWM channel.
> +
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0
> +
> + microchip,dac-mode-mask:
> + description: |
> + Optional, per-channel Low Ripple DAC mode is possible on this IP core. It creates
> + a minimum period pulse train whose High/Low average is that of the chosen duty
> + cycle. This "DAC" will have far better bandwidth and ripple performance than the
> + standard PWM algorithm can achieve. A 16 bit DAC_MODE module parameter of the IP
> + core, set at instantiation and by the bitstream programmed to the FPGA, determines
> + whether a given channel operates in regular PWM or DAC mode.
> + Each bit corresponds to a PWM channel & represents whether DAC mode is enabled
> + for that channel.
> +
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pwm@41000000 {
> + compatible = "microchip,corepwm-rtl-v4";
> + microchip,sync-update-mask = /bits/ 32 <0>;
> + clocks = <&clkcfg 30>;
> + reg = <0x41000000 0xF0>;
> + #pwm-cells = <2>;
> + };
WARNING: multiple messages have this Message-ID (diff)
From: <Conor.Dooley@microchip.com>
To: <u.kleine-koenig@pengutronix.de>
Cc: <Lewis.Hanly@microchip.com>, <Daire.McNamara@microchip.com>,
<Ivan.Griffin@microchip.com>, <atishp@rivosinc.com>,
<robh@kernel.org>, <palmer@rivosinc.com>,
<linus.walleij@linaro.org>, <brgl@bgdev.pl>, <robh+dt@kernel.org>,
<jassisinghbrar@gmail.com>, <thierry.reding@gmail.com>,
<lee.jones@linaro.org>, <a.zummo@towertech.it>,
<alexandre.belloni@bootlin.com>, <paul.walmsley@sifive.com>,
<palmer@dabbelt.com>, <aou@eecs.berkeley.edu>,
<geert@linux-m68k.org>, <krzysztof.kozlowski@canonical.com>,
<linux-gpio@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-pwm@vger.kernel.org>,
<linux-rtc@vger.kernel.org>, <linux-riscv@lists.infradead.org>
Subject: Re: [PATCH v7 05/11] dt-bindings: pwm: add microchip corepwm binding
Date: Mon, 21 Feb 2022 07:55:47 +0000 [thread overview]
Message-ID: <4c470378-7aa0-deb8-e7b5-2aa4a86cac8e@microchip.com> (raw)
In-Reply-To: <20220214135840.168236-6-conor.dooley@microchip.com>
Hey Uwe,
Could you take a look at this version & see if the descriptions are
easier to understand?
Thanks,
Conor
On 14/02/2022 13:58, conor.dooley@microchip.com wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
>
> Add device tree bindings for the Microchip fpga fabric based "core" PWM
> controller.
>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> ---
> .../bindings/pwm/microchip,corepwm.yaml | 81 +++++++++++++++++++
> 1 file changed, 81 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
>
> diff --git a/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml b/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
> new file mode 100644
> index 000000000000..a7fae1772a81
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/microchip,corepwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip IP corePWM controller bindings
> +
> +maintainers:
> + - Conor Dooley <conor.dooley@microchip.com>
> +
> +description: |
> + corePWM is an 16 channel pulse width modulator FPGA IP
> +
> + https://www.microsemi.com/existing-parts/parts/152118
> +
> +allOf:
> + - $ref: pwm.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - const: microchip,corepwm-rtl-v4
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + "#pwm-cells":
> + const: 2
> +
> + microchip,sync-update-mask:
> + description: |
> + Depending on how the IP is instantiated, there are two modes of operation.
> + In synchronous mode, all channels are updated at the beginning of the PWM period,
> + and in asynchronous mode updates happen as the control registers are written.
> + A 16 bit wide "SHADOW_REG_EN" parameter of the IP core controls whether synchronous
> + mode is possible for each channel, and is set by the bitstream programmed to the
> + FPGA. If the IP core is instantiated with SHADOW_REG_ENx=1, both registers that
> + control the duty cycle for channel x have a second "shadow"/buffer reg synthesised.
> + At runtime a bit wide register exposed to APB can be used to toggle on/off
> + synchronised mode for all channels it has been synthesised for.
> + Each bit of "microchip,sync-update-mask" corresponds to a PWM channel & represents
> + whether synchronous mode is possible for the PWM channel.
> +
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0
> +
> + microchip,dac-mode-mask:
> + description: |
> + Optional, per-channel Low Ripple DAC mode is possible on this IP core. It creates
> + a minimum period pulse train whose High/Low average is that of the chosen duty
> + cycle. This "DAC" will have far better bandwidth and ripple performance than the
> + standard PWM algorithm can achieve. A 16 bit DAC_MODE module parameter of the IP
> + core, set at instantiation and by the bitstream programmed to the FPGA, determines
> + whether a given channel operates in regular PWM or DAC mode.
> + Each bit corresponds to a PWM channel & represents whether DAC mode is enabled
> + for that channel.
> +
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pwm@41000000 {
> + compatible = "microchip,corepwm-rtl-v4";
> + microchip,sync-update-mask = /bits/ 32 <0>;
> + clocks = <&clkcfg 30>;
> + reg = <0x41000000 0xF0>;
> + #pwm-cells = <2>;
> + };
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2022-02-21 7:56 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-14 13:58 [PATCH v7 00/11] Update the Icicle Kit device tree conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 01/11] dt-bindings: soc/microchip: update syscontroller compatibles conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 02/11] dt-bindings: soc/microchip: add info about services to mpfs sysctrl conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-21 7:40 ` Conor.Dooley
2022-02-21 7:40 ` Conor.Dooley
2022-02-22 21:39 ` Rob Herring
2022-02-22 21:39 ` Rob Herring
2022-02-14 13:58 ` [PATCH v7 03/11] dt-bindings: rtc: add bindings for microchip mpfs rtc conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-23 7:41 ` Conor.Dooley
2022-02-23 7:41 ` Conor.Dooley
2022-02-23 15:18 ` Alexandre Belloni
2022-02-23 15:18 ` Alexandre Belloni
2022-02-23 15:25 ` Conor.Dooley
2022-02-23 15:25 ` Conor.Dooley
2022-02-23 20:20 ` Alexandre Belloni
2022-02-23 20:20 ` Alexandre Belloni
2022-02-23 20:26 ` Conor Dooley
2022-02-23 20:26 ` Conor Dooley
2022-02-14 13:58 ` [PATCH v7 04/11] dt-bindings: gpio: add bindings for microchip mpfs gpio conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 05/11] dt-bindings: pwm: add microchip corepwm binding conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-21 7:55 ` Conor.Dooley [this message]
2022-02-21 7:55 ` Conor.Dooley
2022-02-23 6:20 ` Uwe Kleine-König
2022-02-23 6:20 ` Uwe Kleine-König
2022-02-23 7:12 ` Krzysztof Kozlowski
2022-02-23 7:12 ` Krzysztof Kozlowski
2022-02-23 8:20 ` Uwe Kleine-König
2022-02-23 8:20 ` Uwe Kleine-König
2022-02-23 8:55 ` conor.dooley
2022-02-23 8:55 ` conor.dooley
2022-02-23 9:09 ` Lee Jones
2022-02-23 9:09 ` Lee Jones
2022-02-24 13:19 ` Thierry Reding
2022-02-24 13:19 ` Thierry Reding
2022-02-14 13:58 ` [PATCH v7 06/11] riscv: dts: microchip: use clk defines for icicle kit conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 07/11] riscv: dts: microchip: add fpga fabric section to " conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 08/11] riscv: dts: microchip: refactor icicle kit device tree conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 09/11] riscv: dts: microchip: update peripherals in " conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 10/11] riscv: dts: microchip: add new peripherals to " conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-14 13:58 ` [PATCH v7 11/11] MAINTAINERS: update riscv/microchip entry conor.dooley
2022-02-14 13:58 ` conor.dooley
2022-02-23 20:48 ` [PATCH v7 00/11] Update the Icicle Kit device tree Conor Dooley
2022-02-23 20:48 ` Conor Dooley
2022-03-10 7:07 ` Palmer Dabbelt
2022-03-10 7:07 ` Palmer Dabbelt
2022-03-10 7:35 ` Conor.Dooley
2022-03-10 7:35 ` Conor.Dooley
2022-03-11 7:59 ` Zong Li
2022-03-11 7:59 ` Zong Li
2022-03-11 19:56 ` Conor Dooley
2022-03-11 19:56 ` Conor Dooley
2022-03-16 6:51 ` Uwe Kleine-König
2022-03-16 6:51 ` Uwe Kleine-König
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=4c470378-7aa0-deb8-e7b5-2aa4a86cac8e@microchip.com \
--to=conor.dooley@microchip.com \
--cc=Daire.McNamara@microchip.com \
--cc=Ivan.Griffin@microchip.com \
--cc=Lewis.Hanly@microchip.com \
--cc=a.zummo@towertech.it \
--cc=alexandre.belloni@bootlin.com \
--cc=aou@eecs.berkeley.edu \
--cc=atishp@rivosinc.com \
--cc=brgl@bgdev.pl \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=jassisinghbrar@gmail.com \
--cc=krzysztof.kozlowski@canonical.com \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-rtc@vger.kernel.org \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=paul.walmsley@sifive.com \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.