* [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema
@ 2026-08-14 8:32 Udaya Kiran Challa
2026-08-14 9:21 ` sashiko-bot
2026-08-14 14:54 ` Mark Brown
0 siblings, 2 replies; 3+ messages in thread
From: Udaya Kiran Challa @ 2026-08-14 8:32 UTC (permalink / raw)
To: broonie, robh, krzk+dt, conor+dt
Cc: skhan, me, linux-spi, devicetree, linux-kernel,
Udaya Kiran Challa, Krzysztof Kozlowski
Convert Microchip PIC32 SPI controller devicetree binding
from legacy text format to DT schema.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Udaya Kiran Challa <challauday369@gmail.com>
---
Changelog:
Changes since v3:
- Change maintainer to SPI subsystem maintainer
Link to v3: https://lore.kernel.org/all/20260617101009.148851-1-challauday369@gmail.com/
Changes since v2:
- Add cs-gpios to required property
Link to v2: https://lore.kernel.org/all/20260615115311.515404-1-challauday369@gmail.com/
Changes since v1:
- Rename schema file to microchip,pic32mzda-spi.yaml
- Update subject prefix to match SPI DT binding conventions
Link to v1:https://lore.kernel.org/all/20260614175005.435826-1-challauday369@gmail.com/
---
.../bindings/spi/microchip,pic32mzda-spi.yaml | 82 +++++++++++++++++++
.../bindings/spi/microchip,spi-pic32.txt | 34 --------
2 files changed, 82 insertions(+), 34 deletions(-)
create mode 100644 Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/microchip,spi-pic32.txt
diff --git a/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml b/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml
new file mode 100644
index 000000000000..2ef3480fa63e
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml
@@ -0,0 +1,82 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/microchip,pic32mzda-spi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip PIC32MZDA SPI Controller
+
+maintainers:
+ - Mark Brown <broonie@kernel.org>
+
+allOf:
+ - $ref: spi-controller.yaml#
+
+properties:
+ compatible:
+ const: microchip,pic32mzda-spi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ items:
+ - description: Fault interrupt
+ - description: Receive interrupt
+ - description: Transmit interrupt
+
+ interrupt-names:
+ items:
+ - const: fault
+ - const: rx
+ - const: tx
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - const: mck0
+
+ cs-gpios:
+ maxItems: 1
+
+ dmas:
+ items:
+ - description: RX DMA channel
+ - description: TX DMA channel
+
+ dma-names:
+ items:
+ - const: spi-rx
+ - const: spi-tx
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - clock-names
+ - cs-gpios
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ spi@1f821000 {
+ compatible = "microchip,pic32mzda-spi";
+ reg = <0x1f821000 0x200>;
+ interrupts = <109 IRQ_TYPE_LEVEL_HIGH>,
+ <110 IRQ_TYPE_LEVEL_HIGH>,
+ <111 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "fault", "rx", "tx";
+ clocks = <&PBCLK2>;
+ clock-names = "mck0";
+ cs-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
+ dmas = <&dma 134>, <&dma 135>;
+ dma-names = "spi-rx", "spi-tx";
+ };
diff --git a/Documentation/devicetree/bindings/spi/microchip,spi-pic32.txt b/Documentation/devicetree/bindings/spi/microchip,spi-pic32.txt
deleted file mode 100644
index 79de379f4dc0..000000000000
--- a/Documentation/devicetree/bindings/spi/microchip,spi-pic32.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Microchip PIC32 SPI Master controller
-
-Required properties:
-- compatible: Should be "microchip,pic32mzda-spi".
-- reg: Address and length of register space for the device.
-- interrupts: Should contain all three spi interrupts in sequence
- of <fault-irq>, <receive-irq>, <transmit-irq>.
-- interrupt-names: Should be "fault", "rx", "tx" in order.
-- clocks: Phandle of the clock generating SPI clock on the bus.
-- clock-names: Should be "mck0".
-- cs-gpios: Specifies the gpio pins to be used for chipselects.
- See: Documentation/devicetree/bindings/spi/spi-bus.txt
-
-Optional properties:
-- dmas: Two or more DMA channel specifiers following the convention outlined
- in Documentation/devicetree/bindings/dma/dma.txt
-- dma-names: Names for the dma channels. There must be at least one channel
- named "spi-tx" for transmit and named "spi-rx" for receive.
-
-Example:
-
-spi1: spi@1f821000 {
- compatible = "microchip,pic32mzda-spi";
- reg = <0x1f821000 0x200>;
- interrupts = <109 IRQ_TYPE_LEVEL_HIGH>,
- <110 IRQ_TYPE_LEVEL_HIGH>,
- <111 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "fault", "rx", "tx";
- clocks = <&PBCLK2>;
- clock-names = "mck0";
- cs-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
- dmas = <&dma 134>, <&dma 135>;
- dma-names = "spi-rx", "spi-tx";
-};
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema
2026-08-14 8:32 [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema Udaya Kiran Challa
@ 2026-08-14 9:21 ` sashiko-bot
2026-08-14 14:54 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-08-14 9:21 UTC (permalink / raw)
To: Udaya Kiran Challa; +Cc: robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The schema incorrectly restricts `cs-gpios` to `maxItems: 1` and makes it strictly required, breaking multi-device and grounded-CS SPI bus configurations.
--
--- Patch [1]: [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema ---
commit fca958be633f7ae75e390f0bb61a2c6c29a85193
Author: Udaya Kiran Challa <challauday369@gmail.com>
spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema
Convert Microchip PIC32 SPI controller devicetree binding from legacy text
format to DT schema.
Link to v3: https://lore.kernel.org/all/20260617101009.148851-1-challauday369@gmail.com/
Link to v2: https://lore.kernel.org/all/20260615115311.515404-1-challauday369@gmail.com/
Link to v1: https://lore.kernel.org/all/20260614175005.435826-1-challauday369@gmail.com/
> diff --git a/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml b/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml
> new file mode 100644
> index 0000000000000..2ef3480fa63e4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/microchip,pic32mzda-spi.yaml
[ ... ]
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: mck0
> +
> + cs-gpios:
> + maxItems: 1
[Severity: Medium]
Does this limit the controller to a single device? The legacy text binding
explicitly allowed multiple pins to be used for chip selects.
The SPI core in drivers/spi/spi.c supports multiple devices by dynamically
expanding the number of chip selects if multiple GPIOs are provided. Setting
this to a maximum of one breaks valid multiplexed SPI bus configurations.
> +
> + dmas:
> + items:
> + - description: RX DMA channel
> + - description: TX DMA channel
[ ... ]
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - interrupt-names
> + - clocks
> + - clock-names
> + - cs-gpios
[Severity: Medium]
Should cs-gpios be strictly required?
Making it mandatory breaks device tree backward compatibility for valid
hardware configurations where a single SPI device's chip select is permanently
tied to its active state (e.g., tied to ground). In such tied-low
configurations, no software chip select toggling is needed, so the property
is legitimately omitted from the hardware description.
> +
> +unevaluatedProperties: false
> +
> +examples:
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260814083221.34606-1-challauday369@gmail.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema
2026-08-14 8:32 [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema Udaya Kiran Challa
2026-08-14 9:21 ` sashiko-bot
@ 2026-08-14 14:54 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2026-08-14 14:54 UTC (permalink / raw)
To: Udaya Kiran Challa
Cc: robh, krzk+dt, conor+dt, skhan, me, linux-spi, devicetree,
linux-kernel, Krzysztof Kozlowski
[-- Attachment #1: Type: text/plain, Size: 321 bytes --]
On Fri, Aug 14, 2026 at 02:02:21PM +0530, Udaya Kiran Challa wrote:
> Convert Microchip PIC32 SPI controller devicetree binding
> from legacy text format to DT schema.
> +maintainers:
> + - Mark Brown <broonie@kernel.org>
Try again! :P I think the DT people had some default they used for
cases like this, but ICBW?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-14 14:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-14 8:32 [PATCH v4] spi: dt-bindings: microchip,pic32mzda-spi: Convert to DT schema Udaya Kiran Challa
2026-08-14 9:21 ` sashiko-bot
2026-08-14 14:54 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox