linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/15] Add support for Microchip LAN969x
@ 2025-12-23 20:16 Robert Marko
  2025-12-23 20:16 ` [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings Robert Marko
                   ` (14 more replies)
  0 siblings, 15 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

This series adds support for the Microchip LAN969x switch SoC family.

Series is a bit long since after discussions in previous versions, it was
recommended[1][2] to add SoC specific compatibles for device nodes so it
includes the required bindings updates.

[1] https://lore.kernel.org/all/20251203-splendor-cubbyhole-eda2d6982b46@spud/
[2] https://lore.kernel.org/all/173412c8-c2fb-4c38-8de7-5b1c2eebdbf9@microchip.com/
[3] https://lore.kernel.org/all/20251203-duly-leotard-86b83bd840c6@spud/

Signed-off-by: Robert Marko <robert.marko@sartura.hr>

Changes in v3:
* Pick Acked-by from Conor
* Drop HWMON binding as it was picked into hwmon already
* Document EV23X71A into AT91 binding
* Drop SparX-5 and AT91 bindings merge
* Apply remark from Conor on DMA binding regarding merging cases

Changes in v2:
* Change LAN969x wildcards to LAN9691 in patches
* Split SoC DTSI and evaluation board patches
* Add the suggested binding changes required for SoC specific compatibles
* Merge SparX-5 and AT91 bindings as suggested[3]

Robert Marko (15):
  include: dt-bindings: add LAN969x clock bindings
  dt-bindings: usb: Add Microchip LAN969x support
  dt-bindings: mfd: atmel,sama5d2-flexcom: add microchip,lan9691-flexcom
  dt-bindings: serial: atmel,at91-usart: add microchip,lan9691-usart
  dt-bindings: spi: at91: add microchip,lan9691-spi
  dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c
  dt-bindings: rng: atmel,at91-trng: add microchip,lan9691-trng
  dt-bindings: crypto: atmel,at91sam9g46-aes: add microchip,lan9691-aes
  dt-bindings: crypto: atmel,at91sam9g46-sha: add microchip,lan9691-sha
  dt-bindings: dma: atmel: add microchip,lan9691-dma
  dt-bindings: net: mscc-miim: add microchip,lan9691-miim
  dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x
  arm64: dts: microchip: add LAN969x support
  dt-bindings: arm: AT91: document EV23X71A board
  arm64: dts: microchip: add EV23X71A board

 .../devicetree/bindings/arm/atmel-at91.yaml   |   6 +
 .../crypto/atmel,at91sam9g46-aes.yaml         |   1 +
 .../crypto/atmel,at91sam9g46-sha.yaml         |   1 +
 .../bindings/dma/atmel,sama5d4-dma.yaml       |   4 +-
 .../bindings/i2c/atmel,at91sam-i2c.yaml       |   1 +
 .../bindings/mfd/atmel,sama5d2-flexcom.yaml   |   1 +
 .../devicetree/bindings/net/mscc,miim.yaml    |  11 +-
 .../pinctrl/microchip,sparx5-sgpio.yaml       |  20 +-
 .../bindings/rng/atmel,at91-trng.yaml         |   1 +
 .../bindings/serial/atmel,at91-usart.yaml     |   1 +
 .../bindings/spi/atmel,at91rm9200-spi.yaml    |   1 +
 .../bindings/usb/microchip,lan9691-dwc3.yaml  |  68 ++
 arch/arm64/boot/dts/microchip/Makefile        |   1 +
 arch/arm64/boot/dts/microchip/lan9691.dtsi    | 487 +++++++++++
 .../boot/dts/microchip/lan9696-ev23x71a.dts   | 757 ++++++++++++++++++
 include/dt-bindings/clock/microchip,lan9691.h |  24 +
 16 files changed, 1376 insertions(+), 9 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/microchip,lan9691-dwc3.yaml
 create mode 100644 arch/arm64/boot/dts/microchip/lan9691.dtsi
 create mode 100644 arch/arm64/boot/dts/microchip/lan9696-ev23x71a.dts
 create mode 100644 include/dt-bindings/clock/microchip,lan9691.h

-- 
2.52.0



^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-24 10:21   ` Krzysztof Kozlowski
  2025-12-23 20:16 ` [PATCH v3 02/15] dt-bindings: usb: Add Microchip LAN969x support Robert Marko
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Add the required LAN969x clock bindings.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
Changes in v2:
* Rename file to microchip,lan9691.h

 include/dt-bindings/clock/microchip,lan9691.h | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 include/dt-bindings/clock/microchip,lan9691.h

diff --git a/include/dt-bindings/clock/microchip,lan9691.h b/include/dt-bindings/clock/microchip,lan9691.h
new file mode 100644
index 000000000000..260370c2b238
--- /dev/null
+++ b/include/dt-bindings/clock/microchip,lan9691.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef _DT_BINDINGS_CLK_LAN9691_H
+#define _DT_BINDINGS_CLK_LAN9691_H
+
+#define GCK_ID_QSPI0		0
+#define GCK_ID_QSPI2		1
+#define GCK_ID_SDMMC0		2
+#define GCK_ID_SDMMC1		3
+#define GCK_ID_MCAN0		4
+#define GCK_ID_MCAN1		5
+#define GCK_ID_FLEXCOM0		6
+#define GCK_ID_FLEXCOM1		7
+#define GCK_ID_FLEXCOM2		8
+#define GCK_ID_FLEXCOM3		9
+#define GCK_ID_TIMER		10
+#define GCK_ID_USB_REFCLK	11
+
+/* Gate clocks */
+#define GCK_GATE_USB_DRD	12
+#define GCK_GATE_MCRAMC		13
+#define GCK_GATE_HMATRIX	14
+
+#endif
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 02/15] dt-bindings: usb: Add Microchip LAN969x support
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
  2025-12-23 20:16 ` [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 03/15] dt-bindings: mfd: atmel,sama5d2-flexcom: add microchip,lan9691-flexcom Robert Marko
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Microchip LAN969x has DWC3 compatible controller, though limited to 2.0(HS)
speed, so document it.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
Changes in v2:
* Fix example indentation

 .../bindings/usb/microchip,lan9691-dwc3.yaml  | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/microchip,lan9691-dwc3.yaml

diff --git a/Documentation/devicetree/bindings/usb/microchip,lan9691-dwc3.yaml b/Documentation/devicetree/bindings/usb/microchip,lan9691-dwc3.yaml
new file mode 100644
index 000000000000..6b49ef0a6bdd
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/microchip,lan9691-dwc3.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/microchip,lan9691-dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip LAN969x SuperSpeed DWC3 USB SoC controller
+
+maintainers:
+  - Robert Marko <robert.marko@sartura.hr>
+
+select:
+  properties:
+    compatible:
+      contains:
+        enum:
+          - microchip,lan9691-dwc3
+  required:
+    - compatible
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - microchip,lan9691-dwc3
+      - const: snps,dwc3
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Gated USB DRD clock
+      - description: Controller reference clock
+
+  clock-names:
+    items:
+      - const: bus_early
+      - const: ref
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+allOf:
+  - $ref: snps,dwc3.yaml#
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/clock/microchip,lan9691.h>
+
+    usb@300000 {
+        compatible = "microchip,lan9691-dwc3", "snps,dwc3";
+        reg = <0x300000 0x80000>;
+        interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&clks GCK_GATE_USB_DRD>,
+                 <&clks GCK_ID_USB_REFCLK>;
+        clock-names = "bus_early", "ref";
+    };
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 03/15] dt-bindings: mfd: atmel,sama5d2-flexcom: add microchip,lan9691-flexcom
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
  2025-12-23 20:16 ` [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings Robert Marko
  2025-12-23 20:16 ` [PATCH v3 02/15] dt-bindings: usb: Add Microchip LAN969x support Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 04/15] dt-bindings: serial: atmel,at91-usart: add microchip,lan9691-usart Robert Marko
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Add binding documentation for Microchip LAN969x.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
index c7d6cf96796c..5e5dec2f6564 100644
--- a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
+++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
@@ -20,6 +20,7 @@ properties:
       - const: atmel,sama5d2-flexcom
       - items:
           - enum:
+              - microchip,lan9691-flexcom
               - microchip,sam9x7-flexcom
               - microchip,sama7d65-flexcom
               - microchip,sama7g5-flexcom
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 04/15] dt-bindings: serial: atmel,at91-usart: add microchip,lan9691-usart
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (2 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 03/15] dt-bindings: mfd: atmel,sama5d2-flexcom: add microchip,lan9691-flexcom Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 05/15] dt-bindings: spi: at91: add microchip,lan9691-spi Robert Marko
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x USART compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml b/Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
index 087a8926f8b4..375cd50bc5cc 100644
--- a/Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
+++ b/Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
@@ -24,6 +24,7 @@ properties:
           - const: atmel,at91sam9260-usart
       - items:
           - enum:
+              - microchip,lan9691-usart
               - microchip,sam9x60-usart
               - microchip,sam9x7-usart
               - microchip,sama7d65-usart
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 05/15] dt-bindings: spi: at91: add microchip,lan9691-spi
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (3 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 04/15] dt-bindings: serial: atmel,at91-usart: add microchip,lan9691-usart Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c Robert Marko
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x SPI compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
index 11885d0cc209..a8539b68a2f3 100644
--- a/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
+++ b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
@@ -19,6 +19,7 @@ properties:
       - const: atmel,at91rm9200-spi
       - items:
           - enum:
+              - microchip,lan9691-spi
               - microchip,sam9x60-spi
               - microchip,sam9x7-spi
               - microchip,sama7d65-spi
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (4 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 05/15] dt-bindings: spi: at91: add microchip,lan9691-spi Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-25 20:32   ` Andi Shyti
  2025-12-23 20:16 ` [PATCH v3 07/15] dt-bindings: rng: atmel,at91-trng: add microchip,lan9691-trng Robert Marko
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x I2C compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml
index e61cdb5b16ef..c83674c3183b 100644
--- a/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml
@@ -26,6 +26,7 @@ properties:
               - microchip,sam9x60-i2c
       - items:
           - enum:
+              - microchip,lan9691-i2c
               - microchip,sama7d65-i2c
               - microchip,sama7g5-i2c
               - microchip,sam9x7-i2c
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 07/15] dt-bindings: rng: atmel,at91-trng: add microchip,lan9691-trng
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (5 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 08/15] dt-bindings: crypto: atmel,at91sam9g46-aes: add microchip,lan9691-aes Robert Marko
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN9696X TRNG compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/rng/atmel,at91-trng.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/rng/atmel,at91-trng.yaml b/Documentation/devicetree/bindings/rng/atmel,at91-trng.yaml
index f78614100ea8..3628251b8c51 100644
--- a/Documentation/devicetree/bindings/rng/atmel,at91-trng.yaml
+++ b/Documentation/devicetree/bindings/rng/atmel,at91-trng.yaml
@@ -19,6 +19,7 @@ properties:
           - microchip,sam9x60-trng
       - items:
           - enum:
+              - microchip,lan9691-trng
               - microchip,sama7g5-trng
           - const: atmel,at91sam9g45-trng
       - items:
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 08/15] dt-bindings: crypto: atmel,at91sam9g46-aes: add microchip,lan9691-aes
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (6 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 07/15] dt-bindings: rng: atmel,at91-trng: add microchip,lan9691-trng Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 09/15] dt-bindings: crypto: atmel,at91sam9g46-sha: add microchip,lan9691-sha Robert Marko
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x AES compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 .../devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml        | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
index 19010f90198a..f3b6af6baf15 100644
--- a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
+++ b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml
@@ -16,6 +16,7 @@ properties:
       - const: atmel,at91sam9g46-aes
       - items:
           - enum:
+              - microchip,lan9691-aes
               - microchip,sam9x7-aes
               - microchip,sama7d65-aes
           - const: atmel,at91sam9g46-aes
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 09/15] dt-bindings: crypto: atmel,at91sam9g46-sha: add microchip,lan9691-sha
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (7 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 08/15] dt-bindings: crypto: atmel,at91sam9g46-aes: add microchip,lan9691-aes Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 10/15] dt-bindings: dma: atmel: add microchip,lan9691-dma Robert Marko
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x SHA compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 .../devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml        | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
index 39e076b275b3..16704ff0dd7f 100644
--- a/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
+++ b/Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml
@@ -16,6 +16,7 @@ properties:
       - const: atmel,at91sam9g46-sha
       - items:
           - enum:
+              - microchip,lan9691-sha
               - microchip,sam9x7-sha
               - microchip,sama7d65-sha
           - const: atmel,at91sam9g46-sha
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 10/15] dt-bindings: dma: atmel: add microchip,lan9691-dma
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (8 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 09/15] dt-bindings: crypto: atmel,at91sam9g46-sha: add microchip,lan9691-sha Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 11/15] dt-bindings: net: mscc-miim: add microchip,lan9691-miim Robert Marko
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Document Microchip LAN969x DMA compatible which is compatible to SAMA7G5.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
Changes in v3:
* Merged with microchip,sama7d65-dma since that also falls back to
microchip,sama7g5-dma

 Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml b/Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml
index 73fc13b902b3..197efb19b07a 100644
--- a/Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/atmel,sama5d4-dma.yaml
@@ -33,7 +33,9 @@ properties:
               - microchip,sam9x7-dma
           - const: atmel,sama5d4-dma
       - items:
-          - const: microchip,sama7d65-dma
+          - enum:
+              - microchip,lan9691-dma
+              - microchip,sama7d65-dma
           - const: microchip,sama7g5-dma
 
   "#dma-cells":
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 11/15] dt-bindings: net: mscc-miim: add microchip,lan9691-miim
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (9 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 10/15] dt-bindings: dma: atmel: add microchip,lan9691-dma Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 12/15] dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x Robert Marko
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document Microchip LAN969x MIIM compatible.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 Documentation/devicetree/bindings/net/mscc,miim.yaml | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/mscc,miim.yaml b/Documentation/devicetree/bindings/net/mscc,miim.yaml
index 792f26b06b06..2207b33aee76 100644
--- a/Documentation/devicetree/bindings/net/mscc,miim.yaml
+++ b/Documentation/devicetree/bindings/net/mscc,miim.yaml
@@ -14,9 +14,14 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - mscc,ocelot-miim
-      - microchip,lan966x-miim
+    oneOf:
+      - enum:
+          - mscc,ocelot-miim
+          - microchip,lan966x-miim
+      - items:
+          - enum:
+              - microchip,lan9691-miim
+          - const: mscc,ocelot-miim
 
   "#address-cells":
     const: 1
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 12/15] dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (10 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 11/15] dt-bindings: net: mscc-miim: add microchip,lan9691-miim Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 13/15] arm64: dts: microchip: add LAN969x support Robert Marko
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko, Conor Dooley

Document LAN969x compatibles for SGPIO.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v3:
* Pick Acked-by from Conor

 .../pinctrl/microchip,sparx5-sgpio.yaml       | 20 ++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml b/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml
index fa47732d7cef..9fbbafcdc063 100644
--- a/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml
@@ -21,10 +21,15 @@ properties:
     pattern: '^gpio@[0-9a-f]+$'
 
   compatible:
-    enum:
-      - microchip,sparx5-sgpio
-      - mscc,ocelot-sgpio
-      - mscc,luton-sgpio
+    oneOf:
+      - enum:
+          - microchip,sparx5-sgpio
+          - mscc,ocelot-sgpio
+          - mscc,luton-sgpio
+      - items:
+          - enum:
+              - microchip,lan9691-sgpio
+          - const: microchip,sparx5-sgpio
 
   '#address-cells':
     const: 1
@@ -80,7 +85,12 @@ patternProperties:
     type: object
     properties:
       compatible:
-        const: microchip,sparx5-sgpio-bank
+        oneOf:
+          - items:
+              - enum:
+                  - microchip,lan9691-sgpio-bank
+              - const: microchip,sparx5-sgpio-bank
+          - const: microchip,sparx5-sgpio-bank
 
       reg:
         description: |
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 13/15] arm64: dts: microchip: add LAN969x support
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (11 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 12/15] dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 14/15] dt-bindings: arm: AT91: document EV23X71A board Robert Marko
  2025-12-23 20:16 ` [PATCH v3 15/15] arm64: dts: microchip: add " Robert Marko
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
Changes in v2:
* Rename to lan9691
* Split SoC DTSI and evaluation board commits
* Use SoC specific compatibles for devices
* Alphanumerically sort remaining nodes
* Apply DTS coding style

 arch/arm64/boot/dts/microchip/lan9691.dtsi | 487 +++++++++++++++++++++
 1 file changed, 487 insertions(+)
 create mode 100644 arch/arm64/boot/dts/microchip/lan9691.dtsi

diff --git a/arch/arm64/boot/dts/microchip/lan9691.dtsi b/arch/arm64/boot/dts/microchip/lan9691.dtsi
new file mode 100644
index 000000000000..afe8c59ee79d
--- /dev/null
+++ b/arch/arm64/boot/dts/microchip/lan9691.dtsi
@@ -0,0 +1,487 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright (c) 2025 Microchip Technology Inc. and its subsidiaries.
+ */
+
+#include <dt-bindings/clock/microchip,lan9691.h>
+#include <dt-bindings/dma/at91.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/mfd/at91-usart.h>
+#include <dt-bindings/mfd/atmel-flexcom.h>
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	model = "Microchip LAN969x";
+	compatible = "microchip,lan9691";
+	interrupt-parent = <&gic>;
+
+	clocks {
+		fx100_clk: fx100-clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <320000000>;
+		};
+
+		cpu_clk: cpu-clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <1000000000>;
+		};
+
+		ddr_clk: ddr-clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <600000000>;
+		};
+
+		fabric_clk: fabric-clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <250000000>;
+		};
+	};
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu0: cpu@0 {
+			compatible = "arm,cortex-a53";
+			device_type = "cpu";
+			reg = <0x0 0x0>;
+			next-level-cache = <&l2_0>;
+		};
+
+		l2_0: l2-cache {
+			compatible = "cache";
+			cache-level = <2>;
+			cache-unified;
+		};
+	};
+
+	psci {
+		compatible = "arm,psci-1.0";
+		method = "smc";
+	};
+
+	pmu {
+		compatible = "arm,cortex-a53-pmu";
+		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Secure Phys IRQ */
+			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Non-secure Phys IRQ */
+			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virt IRQ */
+			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hyp IRQ */
+	};
+
+	axi: axi {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		usb: usb@300000 {
+			compatible = "microchip,lan9691-dwc3", "snps,dwc3";
+			reg = <0x300000 0x80000>;
+			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clks GCK_GATE_USB_DRD>,
+				 <&clks GCK_ID_USB_REFCLK>;
+			clock-names = "bus_early", "ref";
+			assigned-clocks = <&clks GCK_ID_USB_REFCLK>;
+			assigned-clock-rates = <60000000>;
+			maximum-speed = "high-speed";
+			dr_mode = "host";
+			status = "disabled";
+		};
+
+		flx0: flexcom@e0040000 {
+			compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom";
+			reg = <0xe0040000 0x100>;
+			ranges = <0x0 0xe0040000 0x800>;
+			clocks = <&clks GCK_ID_FLEXCOM0>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			status = "disabled";
+
+			usart0: serial@200 {
+				compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart";
+				reg = <0x200 0x200>;
+				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "usart";
+				atmel,fifo-size = <32>;
+				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+				status = "disabled";
+			};
+
+			spi0: spi@400 {
+				compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi";
+				reg = <0x400 0x200>;
+				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "spi_clk";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				atmel,fifo-size = <32>;
+				status = "disabled";
+			};
+
+			i2c0: i2c@600 {
+				compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c";
+				reg = <0x600 0x200>;
+				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
+		flx1: flexcom@e0044000 {
+			compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom";
+			reg = <0xe0044000 0x100>;
+			ranges = <0x0 0xe0044000 0x800>;
+			clocks = <&clks GCK_ID_FLEXCOM1>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			status = "disabled";
+
+			usart1: serial@200 {
+				compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart";
+				reg = <0x200 0x200>;
+				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "usart";
+				atmel,fifo-size = <32>;
+				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+				status = "disabled";
+			};
+
+			spi1: spi@400 {
+				compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi";
+				reg = <0x400 0x200>;
+				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "spi_clk";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				atmel,fifo-size = <32>;
+				status = "disabled";
+			};
+
+			i2c1: i2c@600 {
+				compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c";
+				reg = <0x600 0x200>;
+				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(3)>,
+				       <&dma AT91_XDMAC_DT_PERID(2)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
+		trng: rng@e0048000 {
+			compatible = "microchip,lan9691-trng", "atmel,at91sam9g45-trng";
+			reg = <0xe0048000 0x100>;
+			clocks = <&fabric_clk>;
+			status = "disabled";
+		};
+
+		aes: crypto@e004c000 {
+			compatible = "microchip,lan9691-aes", "atmel,at91sam9g46-aes";
+			reg = <0xe004c000 0x100>;
+			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+			dmas = <&dma AT91_XDMAC_DT_PERID(12)>,
+			       <&dma AT91_XDMAC_DT_PERID(13)>;
+			dma-names = "tx", "rx";
+			clocks = <&fabric_clk>;
+			clock-names = "aes_clk";
+			status = "disabled";
+		};
+
+		flx2: flexcom@e0060000 {
+			compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom";
+			reg = <0xe0060000 0x100>;
+			ranges = <0x0 0xe0060000 0x800>;
+			clocks = <&clks GCK_ID_FLEXCOM2>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			status = "disabled";
+
+			usart2: serial@200 {
+				compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart";
+				reg = <0x200 0x200>;
+				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(7)>,
+				       <&dma AT91_XDMAC_DT_PERID(6)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "usart";
+				atmel,fifo-size = <32>;
+				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+				status = "disabled";
+			};
+
+			spi2: spi@400 {
+				compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi";
+				reg = <0x400 0x200>;
+				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(7)>,
+				       <&dma AT91_XDMAC_DT_PERID(6)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "spi_clk";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				atmel,fifo-size = <32>;
+				status = "disabled";
+			};
+
+			i2c2: i2c@600 {
+				compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c";
+				reg = <0x600 0x200>;
+				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(7)>,
+				       <&dma AT91_XDMAC_DT_PERID(6)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
+		flx3: flexcom@e0064000 {
+			compatible = "microchip,lan9691-flexcom", "atmel,sama5d2-flexcom";
+			reg = <0xe0064000 0x100>;
+			ranges = <0x0 0xe0064000 0x800>;
+			clocks = <&clks GCK_ID_FLEXCOM3>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			status = "disabled";
+
+			usart3: serial@200 {
+				compatible = "microchip,lan9691-usart", "atmel,at91sam9260-usart";
+				reg = <0x200 0x200>;
+				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(9)>,
+				       <&dma AT91_XDMAC_DT_PERID(8)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "usart";
+				atmel,fifo-size = <32>;
+				atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+				status = "disabled";
+			};
+
+			spi3: spi@400 {
+				compatible = "microchip,lan9691-spi", "atmel,at91rm9200-spi";
+				reg = <0x400 0x200>;
+				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(9)>,
+				       <&dma AT91_XDMAC_DT_PERID(8)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				clock-names = "spi_clk";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				atmel,fifo-size = <32>;
+				status = "disabled";
+			};
+
+			i2c3: i2c@600 {
+				compatible = "microchip,lan9691-i2c", "microchip,sam9x60-i2c";
+				reg = <0x600 0x200>;
+				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+				dmas = <&dma AT91_XDMAC_DT_PERID(9)>,
+				       <&dma AT91_XDMAC_DT_PERID(8)>;
+				dma-names = "tx", "rx";
+				clocks = <&fabric_clk>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
+		dma: dma-controller@e0068000 {
+			compatible = "microchip,lan9691-dma", "microchip,sama7g5-dma";
+			reg = <0xe0068000 0x1000>;
+			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+			dma-channels = <16>;
+			#dma-cells = <1>;
+			clocks = <&fabric_clk>;
+			clock-names = "dma_clk";
+		};
+
+		sha: crypto@e006c000 {
+			compatible = "microchip,lan9691-sha", "atmel,at91sam9g46-sha";
+			reg = <0xe006c000 0xec>;
+			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+			dmas = <&dma AT91_XDMAC_DT_PERID(14)>;
+			dma-names = "tx";
+			clocks = <&fabric_clk>;
+			clock-names = "sha_clk";
+			status = "disabled";
+		};
+
+		timer: timer@e008c000 {
+			compatible = "snps,dw-apb-timer";
+			reg = <0xe008c000 0x400>;
+			clocks = <&fabric_clk>;
+			clock-names = "timer";
+			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+		};
+
+		watchdog: watchdog@e0090000 {
+			compatible = "snps,dw-wdt";
+			reg = <0xe0090000 0x1000>;
+			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&fabric_clk>;
+		};
+
+		cpu_ctrl: syscon@e00c0000 {
+			compatible = "microchip,lan966x-cpu-syscon", "syscon";
+			reg = <0xe00c0000 0x350>;
+		};
+
+		switch: switch@e00c0000 {
+			compatible = "microchip,lan9691-switch";
+			reg = <0xe00c0000 0x0010000>,
+			      <0xe2010000 0x1410000>;
+			reg-names = "cpu", "devices";
+			interrupt-names = "xtr", "fdma", "ptp";
+			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&reset 0>;
+			reset-names = "switch";
+			status = "disabled";
+		};
+
+		clks: clock-controller@e00c00b4 {
+			compatible = "microchip,lan9691-gck";
+			reg = <0xe00c00b4 0x30>, <0xe00c0308 0x4>;
+			#clock-cells = <1>;
+			clocks = <&cpu_clk>, <&ddr_clk>, <&fx100_clk>;
+			clock-names = "cpu", "ddr", "sys";
+		};
+
+		reset: reset-controller@e201000c {
+			compatible = "microchip,lan9691-switch-reset",
+				     "microchip,lan966x-switch-reset";
+			reg = <0xe201000c 0x4>;
+			reg-names = "gcb";
+			#reset-cells = <1>;
+			cpu-syscon = <&cpu_ctrl>;
+		};
+
+		gpio: pinctrl@e20100d4 {
+			compatible = "microchip,lan9691-pinctrl";
+			reg = <0xe20100d4 0xd4>,
+			      <0xe2010370 0xa8>;
+			gpio-controller;
+			#gpio-cells = <2>;
+			gpio-ranges = <&gpio 0 0 66>;
+			interrupt-controller;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			#interrupt-cells = <2>;
+		};
+
+		mdio0: mdio@e20101a8 {
+			compatible = "microchip,lan9691-miim", "mscc,ocelot-miim";
+			reg = <0xe20101a8 0x24>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&fx100_clk>;
+			status = "disabled";
+		};
+
+		mdio1: mdio@e20101cc {
+			compatible = "microchip,lan9691-miim", "mscc,ocelot-miim";
+			reg = <0xe20101cc 0x24>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&fx100_clk>;
+			status = "disabled";
+		};
+
+		sgpio: gpio@e2010230 {
+			compatible = "microchip,lan9691-sgpio", "microchip,sparx5-sgpio";
+			reg = <0xe2010230 0x118>;
+			clocks = <&fx100_clk>;
+			resets = <&reset 0>;
+			reset-names = "switch";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+
+			sgpio_in: gpio@0 {
+				compatible = "microchip,lan9691-sgpio-bank",
+					     "microchip,sparx5-sgpio-bank";
+				reg = <0>;
+				gpio-controller;
+				#gpio-cells = <3>;
+				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+				interrupt-controller;
+				#interrupt-cells = <3>;
+			};
+
+			sgpio_out: gpio@1 {
+				compatible = "microchip,lan9691-sgpio-bank",
+					     "microchip,sparx5-sgpio-bank";
+				reg = <1>;
+				gpio-controller;
+				#gpio-cells = <3>;
+			};
+		};
+
+		tmon: hwmon@e2020100 {
+			compatible = "microchip,lan9691-temp", "microchip,sparx5-temp";
+			reg = <0xe2020100 0xc>;
+			clocks = <&fx100_clk>;
+			#thermal-sensor-cells = <0>;
+		};
+
+		serdes: serdes@e3410000 {
+			compatible = "microchip,lan9691-serdes";
+			reg = <0xe3410000 0x150000>;
+			#phy-cells = <1>;
+			clocks = <&fabric_clk>;
+		};
+
+		gic: interrupt-controller@e8c11000 {
+			compatible = "arm,gic-400";
+			reg = <0xe8c11000 0x1000>, /* Distributor GICD_ */
+			      <0xe8c12000 0x2000>, /* CPU interface GICC_ */
+			      <0xe8c14000 0x2000>, /* Virt interface control */
+			      <0xe8c16000 0x2000>; /* Virt CPU interface */
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+		};
+	};
+};
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 14/15] dt-bindings: arm: AT91: document EV23X71A board
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (12 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 13/15] arm64: dts: microchip: add LAN969x support Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  2025-12-23 20:16 ` [PATCH v3 15/15] arm64: dts: microchip: add " Robert Marko
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Microchip EV23X71A board is an LAN9696 based evaluation board.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
index 3a34b7a2e8d4..b0065e2f3713 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -241,6 +241,12 @@ properties:
           - const: microchip,lan9668
           - const: microchip,lan966
 
+      - description: Microchip LAN9696 EV23X71A Evaluation Board
+        items:
+          - const: microchip,ev23x71a
+          - const: microchip,lan9696
+          - const: microchip,lan9691
+
       - description: Kontron KSwitch D10 MMT series
         items:
           - enum:
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH v3 15/15] arm64: dts: microchip: add EV23X71A board
  2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
                   ` (13 preceding siblings ...)
  2025-12-23 20:16 ` [PATCH v3 14/15] dt-bindings: arm: AT91: document EV23X71A board Robert Marko
@ 2025-12-23 20:16 ` Robert Marko
  14 siblings, 0 replies; 27+ messages in thread
From: Robert Marko @ 2025-12-23 20:16 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk
  Cc: luka.perkov, Robert Marko

Microchip EV23X71A is an LAN9696 based evaluation board.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
Changes in v2:
* Split from SoC DTSI commit
* Apply DTS coding style
* Enclose array in i2c-mux
* Alphanumericaly sort nodes
* Change management port mode to RGMII-ID 

 arch/arm64/boot/dts/microchip/Makefile        |   1 +
 .../boot/dts/microchip/lan9696-ev23x71a.dts   | 757 ++++++++++++++++++
 2 files changed, 758 insertions(+)
 create mode 100644 arch/arm64/boot/dts/microchip/lan9696-ev23x71a.dts

diff --git a/arch/arm64/boot/dts/microchip/Makefile b/arch/arm64/boot/dts/microchip/Makefile
index c6e0313eea0f..09d16fc1ce9a 100644
--- a/arch/arm64/boot/dts/microchip/Makefile
+++ b/arch/arm64/boot/dts/microchip/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_LAN969X) += lan9696-ev23x71a.dtb
 dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb125.dtb
 dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb134.dtb sparx5_pcb134_emmc.dtb
 dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb135.dtb sparx5_pcb135_emmc.dtb
diff --git a/arch/arm64/boot/dts/microchip/lan9696-ev23x71a.dts b/arch/arm64/boot/dts/microchip/lan9696-ev23x71a.dts
new file mode 100644
index 000000000000..435df455b078
--- /dev/null
+++ b/arch/arm64/boot/dts/microchip/lan9696-ev23x71a.dts
@@ -0,0 +1,757 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright (c) 2025 Microchip Technology Inc. and its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include "lan9691.dtsi"
+
+/ {
+	model = "Microchip EV23X71A";
+	compatible = "microchip,ev23x71a", "microchip,lan9696", "microchip,lan9691";
+
+	aliases {
+		serial0 = &usart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	gpio-restart {
+		compatible = "gpio-restart";
+		gpios = <&gpio 60 GPIO_ACTIVE_LOW>;
+		open-source;
+		priority = <200>;
+	};
+
+	i2c-mux {
+		compatible = "i2c-mux-gpio";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		i2c-parent = <&i2c3>;
+		idle-state = <0x8>;
+		mux-gpios = <&sgpio_out 0 1 GPIO_ACTIVE_HIGH>,
+			    <&sgpio_out 0 2 GPIO_ACTIVE_HIGH>,
+			    <&sgpio_out 0 3 GPIO_ACTIVE_HIGH>;
+		settle-time-us = <100>;
+
+		i2c_sfp0: i2c@0 {
+			reg = <0x0>;
+		};
+
+		i2c_sfp1: i2c@1 {
+			reg = <0x1>;
+		};
+
+		i2c_sfp2: i2c@2 {
+			reg = <0x2>;
+		};
+
+		i2c_sfp3: i2c@3 {
+			reg = <0x3>;
+		};
+
+		i2c_poe: i2c@7 {
+			reg = <0x7>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led-status {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			gpios = <&gpio 61 GPIO_ACTIVE_LOW>;
+		};
+
+		led-sfp1-green {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <0>;
+			gpios = <&sgpio_out 6 0 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp1-yellow {
+			color = <LED_COLOR_ID_YELLOW>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <0>;
+			gpios = <&sgpio_out 6 1 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp2-green {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <1>;
+			gpios = <&sgpio_out 7 0 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp2-yellow {
+			color = <LED_COLOR_ID_YELLOW>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <1>;
+			gpios = <&sgpio_out 7 1 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp3-green {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <2>;
+			gpios = <&sgpio_out 8 0 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp3-yellow {
+			color = <LED_COLOR_ID_YELLOW>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <2>;
+			gpios = <&sgpio_out 8 1 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp4-green {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <3>;
+			gpios = <&sgpio_out 9 0 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+
+		led-sfp4-yellow {
+			color = <LED_COLOR_ID_YELLOW>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <3>;
+			gpios = <&sgpio_out 9 1 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+	};
+
+	mux-controller {
+		compatible = "gpio-mux";
+		#mux-control-cells = <0>;
+		mux-gpios = <&sgpio_out 1 2 GPIO_ACTIVE_LOW>,
+			    <&sgpio_out 1 3 GPIO_ACTIVE_LOW>;
+	};
+
+	sfp0: sfp0 {
+		compatible = "sff,sfp";
+		i2c-bus = <&i2c_sfp0>;
+		tx-disable-gpios = <&sgpio_out 6 2 GPIO_ACTIVE_HIGH>;
+		los-gpios = <&sgpio_in 6 0 GPIO_ACTIVE_HIGH>;
+		mod-def0-gpios = <&sgpio_in 6 1 GPIO_ACTIVE_LOW>;
+		tx-fault-gpios = <&sgpio_in 6 2 GPIO_ACTIVE_HIGH>;
+	};
+
+	sfp1: sfp1 {
+		compatible = "sff,sfp";
+		i2c-bus = <&i2c_sfp1>;
+		tx-disable-gpios = <&sgpio_out 7 2 GPIO_ACTIVE_HIGH>;
+		los-gpios = <&sgpio_in 7 0 GPIO_ACTIVE_HIGH>;
+		mod-def0-gpios = <&sgpio_in 7 1 GPIO_ACTIVE_LOW>;
+		tx-fault-gpios = <&sgpio_in 7 2 GPIO_ACTIVE_HIGH>;
+	};
+
+	sfp2: sfp2 {
+		compatible = "sff,sfp";
+		i2c-bus = <&i2c_sfp2>;
+		tx-disable-gpios = <&sgpio_out 8 2 GPIO_ACTIVE_HIGH>;
+		los-gpios = <&sgpio_in 8 0 GPIO_ACTIVE_HIGH>;
+		mod-def0-gpios = <&sgpio_in 8 1 GPIO_ACTIVE_LOW>;
+		tx-fault-gpios = <&sgpio_in 8 2 GPIO_ACTIVE_HIGH>;
+	};
+
+	sfp3: sfp3 {
+		compatible = "sff,sfp";
+		i2c-bus = <&i2c_sfp3>;
+		tx-disable-gpios = <&sgpio_out 9 2 GPIO_ACTIVE_HIGH>;
+		los-gpios = <&sgpio_in 9 0 GPIO_ACTIVE_HIGH>;
+		mod-def0-gpios = <&sgpio_in 9 1 GPIO_ACTIVE_LOW>;
+		tx-fault-gpios = <&sgpio_in 9 2 GPIO_ACTIVE_HIGH>;
+	};
+};
+
+&gpio {
+	emmc_sd_pins: emmc-sd-pins {
+		/* eMMC_SD - CMD, CLK, D0, D1, D2, D3, D4, D5, D6, D7, RSTN */
+		pins = "GPIO_14", "GPIO_15", "GPIO_16", "GPIO_17",
+		       "GPIO_18", "GPIO_19", "GPIO_20", "GPIO_21",
+		       "GPIO_22", "GPIO_23", "GPIO_24";
+		function = "emmc_sd";
+	};
+
+	fan_pins: fan-pins {
+		pins = "GPIO_25", "GPIO_26";
+		function = "fan";
+	};
+
+	fc0_pins: fc0-pins {
+		pins = "GPIO_3", "GPIO_4";
+		function = "fc";
+	};
+
+	fc2_pins: fc2-pins {
+		pins = "GPIO_64", "GPIO_65", "GPIO_66";
+		function = "fc";
+	};
+
+	fc3_pins: fc3-pins {
+		pins = "GPIO_55", "GPIO_56";
+		function = "fc";
+	};
+
+	mdio_pins: mdio-pins {
+		pins = "GPIO_9", "GPIO_10";
+		function = "miim";
+	};
+
+	mdio_irq_pins: mdio-irq-pins {
+		pins = "GPIO_11";
+		function = "miim_irq";
+	};
+
+	sgpio_pins: sgpio-pins {
+		/* SCK, D0, D1, LD */
+		pins = "GPIO_5", "GPIO_6", "GPIO_7", "GPIO_8";
+		function = "sgpio_a";
+	};
+
+	usb_ulpi_pins: usb-ulpi-pins {
+		pins = "GPIO_30", "GPIO_31", "GPIO_32", "GPIO_33",
+		       "GPIO_34", "GPIO_35", "GPIO_36", "GPIO_37",
+		       "GPIO_38", "GPIO_39", "GPIO_40", "GPIO_41";
+		function = "usb_ulpi";
+	};
+
+	usb_rst_pins: usb-rst-pins {
+		pins = "GPIO_12";
+		function = "usb2phy_rst";
+	};
+
+	usb_over_pins: usb-over-pins {
+		pins = "GPIO_13";
+		function = "usb_over_detect";
+	};
+
+	usb_power_pins: usb-power-pins {
+		pins = "GPIO_1";
+		function = "usb_power";
+	};
+
+	ptp_out_pins: ptp-out-pins {
+		pins = "GPIO_58";
+		function = "ptpsync_4";
+	};
+
+	ptp_ext_pins: ptp-ext-pins {
+		pins = "GPIO_59";
+		function = "ptpsync_5";
+	};
+};
+
+&flx0 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
+	status = "okay";
+};
+
+&flx2 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
+	status = "okay";
+};
+
+&flx3 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
+	status = "okay";
+};
+
+&i2c3 {
+	pinctrl-0 = <&fc3_pins>;
+	pinctrl-names = "default";
+	i2c-analog-filter;
+	i2c-digital-filter;
+	i2c-digital-filter-width-ns = <35>;
+	i2c-sda-hold-time-ns = <1500>;
+	status = "okay";
+};
+
+&mdio0 {
+	pinctrl-0 = <&mdio_pins>, <&mdio_irq_pins>;
+	pinctrl-names = "default";
+	reset-gpios = <&gpio 62 GPIO_ACTIVE_LOW>;
+	status = "okay";
+
+	phy3: phy@3 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <3>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy4: phy@4 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <4>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy5: phy@5 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <5>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy6: phy@6 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <6>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy7: phy@7 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <7>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy8: phy@8 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <8>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy9: phy@9 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <9>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy10: phy@10 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <10>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy11: phy@11 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <11>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy12: phy@12 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <12>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy13: phy@13 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <13>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy14: phy@14 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <14>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy15: phy@15 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <15>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy16: phy@16 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <16>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy17: phy@17 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <17>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy18: phy@18 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <18>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy19: phy@19 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <19>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy20: phy@20 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <20>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy21: phy@21 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <21>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy22: phy@22 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <22>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy23: phy@23 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <23>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy24: phy@24 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <24>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy25: phy@25 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <25>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy26: phy@26 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <26>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+
+	phy27: phy@27 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <27>;
+		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio>;
+	};
+};
+
+&serdes {
+	status = "okay";
+};
+
+&sgpio {
+	pinctrl-0 = <&sgpio_pins>;
+	pinctrl-names = "default";
+	microchip,sgpio-port-ranges = <0 1>, <6 9>;
+	status = "okay";
+
+	gpio@0 {
+		ngpios = <128>;
+	};
+	gpio@1 {
+		ngpios = <128>;
+	};
+};
+
+&spi2 {
+	pinctrl-0 = <&fc2_pins>;
+	pinctrl-names = "default";
+	cs-gpios = <&gpio 63 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
+&switch {
+	pinctrl-0 = <&ptp_out_pins>, <&ptp_ext_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	ethernet-ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port0: port@0 {
+			reg = <0>;
+			phy-handle = <&phy4>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 0>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port1: port@1 {
+			reg = <1>;
+			phy-handle = <&phy5>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 0>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port2: port@2 {
+			reg = <2>;
+			phy-handle = <&phy6>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 0>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port3: port@3 {
+			reg = <3>;
+			phy-handle = <&phy7>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 0>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port4: port@4 {
+			reg = <4>;
+			phy-handle = <&phy8>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 1>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port5: port@5 {
+			reg = <5>;
+			phy-handle = <&phy9>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 1>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port6: port@6 {
+			reg = <6>;
+			phy-handle = <&phy10>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 1>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port7: port@7 {
+			reg = <7>;
+			phy-handle = <&phy11>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 1>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port8: port@8 {
+			reg = <8>;
+			phy-handle = <&phy12>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 2>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port9: port@9 {
+			reg = <9>;
+			phy-handle = <&phy13>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 2>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port10: port@10 {
+			reg = <10>;
+			phy-handle = <&phy14>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 2>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port11: port@11 {
+			reg = <11>;
+			phy-handle = <&phy15>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 2>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port12: port@12 {
+			reg = <12>;
+			phy-handle = <&phy16>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 3>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port13: port@13 {
+			reg = <13>;
+			phy-handle = <&phy17>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 3>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port14: port@14 {
+			reg = <14>;
+			phy-handle = <&phy18>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 3>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port15: port@15 {
+			reg = <15>;
+			phy-handle = <&phy19>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 3>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port16: port@16 {
+			reg = <16>;
+			phy-handle = <&phy20>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 4>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port17: port@17 {
+			reg = <17>;
+			phy-handle = <&phy21>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 4>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port18: port@18 {
+			reg = <18>;
+			phy-handle = <&phy22>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 4>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port19: port@19 {
+			reg = <19>;
+			phy-handle = <&phy23>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 4>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port20: port@20 {
+			reg = <20>;
+			phy-handle = <&phy24>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 5>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port21: port@21 {
+			reg = <21>;
+			phy-handle = <&phy25>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 5>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port22: port@22 {
+			reg = <22>;
+			phy-handle = <&phy26>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 5>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port23: port@23 {
+			reg = <23>;
+			phy-handle = <&phy27>;
+			phy-mode = "qsgmii";
+			phys = <&serdes 5>;
+			microchip,bandwidth = <1000>;
+		};
+
+		port24: port@24 {
+			reg = <24>;
+			phys = <&serdes 6>;
+			phy-mode = "10gbase-r";
+			sfp = <&sfp0>;
+			managed = "in-band-status";
+			microchip,bandwidth = <10000>;
+			microchip,sd-sgpio = <24>;
+		};
+
+		port25: port@25 {
+			reg = <25>;
+			phys = <&serdes 7>;
+			phy-mode = "10gbase-r";
+			sfp = <&sfp1>;
+			managed = "in-band-status";
+			microchip,bandwidth = <10000>;
+			microchip,sd-sgpio = <28>;
+		};
+
+		port26: port@26 {
+			reg = <26>;
+			phys = <&serdes 8>;
+			phy-mode = "10gbase-r";
+			sfp = <&sfp2>;
+			managed = "in-band-status";
+			microchip,bandwidth = <10000>;
+			microchip,sd-sgpio = <32>;
+		};
+
+		port27: port@27 {
+			reg = <27>;
+			phys = <&serdes 9>;
+			phy-mode = "10gbase-r";
+			sfp = <&sfp3>;
+			managed = "in-band-status";
+			microchip,bandwidth = <10000>;
+			microchip,sd-sgpio = <36>;
+		};
+
+		port29: port@29 {
+			reg = <29>;
+			phys = <&serdes 11>;
+			phy-handle = <&phy3>;
+			phy-mode = "rgmii-id";
+			microchip,bandwidth = <1000>;
+		};
+	};
+};
+
+&tmon {
+	pinctrl-0 = <&fan_pins>;
+	pinctrl-names = "default";
+};
+
+&usart0 {
+	pinctrl-0 = <&fc0_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
+&usb {
+	pinctrl-0 = <&usb_ulpi_pins>, <&usb_rst_pins>, <&usb_over_pins>, <&usb_power_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-23 20:16 ` [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings Robert Marko
@ 2025-12-24 10:21   ` Krzysztof Kozlowski
  2025-12-24 10:30     ` Robert Marko
  0 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-24 10:21 UTC (permalink / raw)
  To: Robert Marko
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> Add the required LAN969x clock bindings.

I do not see clock bindings actually here. Where is the actual binding?
Commit msg does not help me at all to understand why you are doing this
without actual required bindings.

Please use subject prefixes matching the subsystem. You can get them for
example with 'git log --oneline -- DIRECTORY_OR_FILE' on the directory
your patch is touching. For bindings, the preferred subjects are
explained here:
https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters
Bindings never have a "include" prefix.

A nit, subject: drop second/last, redundant "bindings". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

Best regards,
Krzysztof



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-24 10:21   ` Krzysztof Kozlowski
@ 2025-12-24 10:30     ` Robert Marko
  2025-12-24 13:05       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 27+ messages in thread
From: Robert Marko @ 2025-12-24 10:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> > Add the required LAN969x clock bindings.
>
> I do not see clock bindings actually here. Where is the actual binding?
> Commit msg does not help me at all to understand why you are doing this
> without actual required bindings.

I guess it is a bit confusing, there is no schema here, these are the
clock indexes that
reside in dt-bindings and are used by the SoC DTSI.

I guess I should have titled this something like:
dt-bindings: clock: lan969x: add binding includes for LAN969x clock IDs

Regards,
Robert

>
> Please use subject prefixes matching the subsystem. You can get them for
> example with 'git log --oneline -- DIRECTORY_OR_FILE' on the directory
> your patch is touching. For bindings, the preferred subjects are
> explained here:
> https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters
> Bindings never have a "include" prefix.
>
> A nit, subject: drop second/last, redundant "bindings". The
> "dt-bindings" prefix is already stating that these are bindings.
> See also:
> https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
>
> Best regards,
> Krzysztof
>


-- 
Robert Marko
Staff Embedded Linux Engineer
Sartura d.d.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@sartura.hr
Web: www.sartura.hr


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-24 10:30     ` Robert Marko
@ 2025-12-24 13:05       ` Krzysztof Kozlowski
  2025-12-24 14:01         ` Robert Marko
  0 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-24 13:05 UTC (permalink / raw)
  To: Robert Marko
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On 24/12/2025 11:30, Robert Marko wrote:
> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
>>> Add the required LAN969x clock bindings.
>>
>> I do not see clock bindings actually here. Where is the actual binding?
>> Commit msg does not help me at all to understand why you are doing this
>> without actual required bindings.
> 
> I guess it is a bit confusing, there is no schema here, these are the
> clock indexes that
> reside in dt-bindings and are used by the SoC DTSI.

I understand as not used by drivers? Then no ABI and there is no point
in putting them into bindings.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-24 13:05       ` Krzysztof Kozlowski
@ 2025-12-24 14:01         ` Robert Marko
  2025-12-25  8:47           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 27+ messages in thread
From: Robert Marko @ 2025-12-24 14:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 24/12/2025 11:30, Robert Marko wrote:
> > On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >>
> >> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> >>> Add the required LAN969x clock bindings.
> >>
> >> I do not see clock bindings actually here. Where is the actual binding?
> >> Commit msg does not help me at all to understand why you are doing this
> >> without actual required bindings.
> >
> > I guess it is a bit confusing, there is no schema here, these are the
> > clock indexes that
> > reside in dt-bindings and are used by the SoC DTSI.
>
> I understand as not used by drivers? Then no ABI and there is no point
> in putting them into bindings.

It is not included by the driver directly, but it requires these exact
indexes to be passed
so its effectively ABI.
LAN966x does the same, but they differ in number of clocks and their indexes.

Regards,
Robert

>
> Best regards,
> Krzysztof



-- 
Robert Marko
Staff Embedded Linux Engineer
Sartura d.d.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@sartura.hr
Web: www.sartura.hr


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-24 14:01         ` Robert Marko
@ 2025-12-25  8:47           ` Krzysztof Kozlowski
  2025-12-25 16:24             ` Alexandre Belloni
  0 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-25  8:47 UTC (permalink / raw)
  To: Robert Marko
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On 24/12/2025 15:01, Robert Marko wrote:
> On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On 24/12/2025 11:30, Robert Marko wrote:
>>> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>>>
>>>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
>>>>> Add the required LAN969x clock bindings.
>>>>
>>>> I do not see clock bindings actually here. Where is the actual binding?
>>>> Commit msg does not help me at all to understand why you are doing this
>>>> without actual required bindings.
>>>
>>> I guess it is a bit confusing, there is no schema here, these are the
>>> clock indexes that
>>> reside in dt-bindings and are used by the SoC DTSI.
>>
>> I understand as not used by drivers? Then no ABI and there is no point
>> in putting them into bindings.
> 
> It is not included by the driver directly, but it requires these exact
> indexes to be passed
> so its effectively ABI.

How it requires the exact index? In what way? I do not see anything in
the gck driver using/relying on these values. Nothing. Please point me
to the line which directly uses these values.... or how many times I
will need to write this is not ABI?



Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-25  8:47           ` Krzysztof Kozlowski
@ 2025-12-25 16:24             ` Alexandre Belloni
  2025-12-25 16:45               ` Alexandre Belloni
  2025-12-27 11:17               ` Krzysztof Kozlowski
  0 siblings, 2 replies; 27+ messages in thread
From: Alexandre Belloni @ 2025-12-25 16:24 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Robert Marko, robh, krzk+dt, conor+dt, nicolas.ferre,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On 25/12/2025 09:47:34+0100, Krzysztof Kozlowski wrote:
> On 24/12/2025 15:01, Robert Marko wrote:
> > On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >>
> >> On 24/12/2025 11:30, Robert Marko wrote:
> >>> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >>>>
> >>>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> >>>>> Add the required LAN969x clock bindings.
> >>>>
> >>>> I do not see clock bindings actually here. Where is the actual binding?
> >>>> Commit msg does not help me at all to understand why you are doing this
> >>>> without actual required bindings.
> >>>
> >>> I guess it is a bit confusing, there is no schema here, these are the
> >>> clock indexes that
> >>> reside in dt-bindings and are used by the SoC DTSI.
> >>
> >> I understand as not used by drivers? Then no ABI and there is no point
> >> in putting them into bindings.
> > 
> > It is not included by the driver directly, but it requires these exact
> > indexes to be passed
> > so its effectively ABI.
> 
> How it requires the exact index? In what way? I do not see anything in
> the gck driver using/relying on these values. Nothing. Please point me
> to the line which directly uses these values.... or how many times I
> will need to write this is not ABI?
> 

The index here is the exact id that needs to be set in the PMC_PCR
register and so it is dictated by the hardware.


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-25 16:24             ` Alexandre Belloni
@ 2025-12-25 16:45               ` Alexandre Belloni
  2025-12-27 11:17               ` Krzysztof Kozlowski
  1 sibling, 0 replies; 27+ messages in thread
From: Alexandre Belloni @ 2025-12-25 16:45 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Robert Marko, robh, krzk+dt, conor+dt, nicolas.ferre,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On 25/12/2025 17:25:07+0100, Alexandre Belloni wrote:
> On 25/12/2025 09:47:34+0100, Krzysztof Kozlowski wrote:
> > On 24/12/2025 15:01, Robert Marko wrote:
> > > On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >>
> > >> On 24/12/2025 11:30, Robert Marko wrote:
> > >>> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >>>>
> > >>>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> > >>>>> Add the required LAN969x clock bindings.
> > >>>>
> > >>>> I do not see clock bindings actually here. Where is the actual binding?
> > >>>> Commit msg does not help me at all to understand why you are doing this
> > >>>> without actual required bindings.
> > >>>
> > >>> I guess it is a bit confusing, there is no schema here, these are the
> > >>> clock indexes that
> > >>> reside in dt-bindings and are used by the SoC DTSI.
> > >>
> > >> I understand as not used by drivers? Then no ABI and there is no point
> > >> in putting them into bindings.
> > > 
> > > It is not included by the driver directly, but it requires these exact
> > > indexes to be passed
> > > so its effectively ABI.
> > 
> > How it requires the exact index? In what way? I do not see anything in
> > the gck driver using/relying on these values. Nothing. Please point me
> > to the line which directly uses these values.... or how many times I
> > will need to write this is not ABI?
> > 
> 
> The index here is the exact id that needs to be set in the PMC_PCR
> register and so it is dictated by the hardware.

This is the line you are looking for:
https://elixir.bootlin.com/linux/v6.18.2/source/drivers/clk/at91/clk-generated.c#L44

	regmap_write(gck->regmap, gck->layout->offset,
		     (gck->id & gck->layout->pid_mask));

> 
> 
> -- 
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c
  2025-12-23 20:16 ` [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c Robert Marko
@ 2025-12-25 20:32   ` Andi Shyti
  0 siblings, 0 replies; 27+ messages in thread
From: Andi Shyti @ 2025-12-25 20:32 UTC (permalink / raw)
  To: Robert Marko
  Cc: robh, krzk+dt, conor+dt, nicolas.ferre, alexandre.belloni,
	claudiu.beznea, herbert, davem, vkoul, lee, andrew+netdev,
	edumazet, kuba, pabeni, linusw, Steen.Hegelund, daniel.machon,
	UNGLinuxDriver, olivia, radu_nicolae.pirea, richard.genoud,
	gregkh, jirislaby, broonie, mturquette, sboyd, lars.povlsen,
	devicetree, linux-arm-kernel, linux-kernel, linux-crypto,
	dmaengine, linux-i2c, netdev, linux-gpio, linux-spi, linux-serial,
	linux-usb, linux-clk, luka.perkov, Conor Dooley

Hi Robert,

On Tue, Dec 23, 2025 at 09:16:17PM +0100, Robert Marko wrote:
> Document Microchip LAN969x I2C compatible.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>

Acked-by: Andi Shyti <andi.shyti@kernel.org>

Thanks,
Andi


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-25 16:24             ` Alexandre Belloni
  2025-12-25 16:45               ` Alexandre Belloni
@ 2025-12-27 11:17               ` Krzysztof Kozlowski
  2025-12-29 12:07                 ` Robert Marko
  1 sibling, 1 reply; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-27 11:17 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Robert Marko, robh, krzk+dt, conor+dt, nicolas.ferre,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On Thu, Dec 25, 2025 at 05:24:55PM +0100, Alexandre Belloni wrote:
> On 25/12/2025 09:47:34+0100, Krzysztof Kozlowski wrote:
> > On 24/12/2025 15:01, Robert Marko wrote:
> > > On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >>
> > >> On 24/12/2025 11:30, Robert Marko wrote:
> > >>> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >>>>
> > >>>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> > >>>>> Add the required LAN969x clock bindings.
> > >>>>
> > >>>> I do not see clock bindings actually here. Where is the actual binding?
> > >>>> Commit msg does not help me at all to understand why you are doing this
> > >>>> without actual required bindings.
> > >>>
> > >>> I guess it is a bit confusing, there is no schema here, these are the
> > >>> clock indexes that
> > >>> reside in dt-bindings and are used by the SoC DTSI.
> > >>
> > >> I understand as not used by drivers? Then no ABI and there is no point
> > >> in putting them into bindings.
> > > 
> > > It is not included by the driver directly, but it requires these exact
> > > indexes to be passed
> > > so its effectively ABI.
> > 
> > How it requires the exact index? In what way? I do not see anything in
> > the gck driver using/relying on these values. Nothing. Please point me
> > to the line which directly uses these values.... or how many times I
> > will need to write this is not ABI?
> > 
> 
> The index here is the exact id that needs to be set in the PMC_PCR
> register and so it is dictated by the hardware.

So not a binding between Linux and DTS.

Best regards,
Krzysztof



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-27 11:17               ` Krzysztof Kozlowski
@ 2025-12-29 12:07                 ` Robert Marko
  2025-12-29 12:46                   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 27+ messages in thread
From: Robert Marko @ 2025-12-29 12:07 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Alexandre Belloni, robh, krzk+dt, conor+dt, nicolas.ferre,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On Sat, Dec 27, 2025 at 12:17 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Thu, Dec 25, 2025 at 05:24:55PM +0100, Alexandre Belloni wrote:
> > On 25/12/2025 09:47:34+0100, Krzysztof Kozlowski wrote:
> > > On 24/12/2025 15:01, Robert Marko wrote:
> > > > On Wed, Dec 24, 2025 at 2:05 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > > >>
> > > >> On 24/12/2025 11:30, Robert Marko wrote:
> > > >>> On Wed, Dec 24, 2025 at 11:21 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > > >>>>
> > > >>>> On Tue, Dec 23, 2025 at 09:16:12PM +0100, Robert Marko wrote:
> > > >>>>> Add the required LAN969x clock bindings.
> > > >>>>
> > > >>>> I do not see clock bindings actually here. Where is the actual binding?
> > > >>>> Commit msg does not help me at all to understand why you are doing this
> > > >>>> without actual required bindings.
> > > >>>
> > > >>> I guess it is a bit confusing, there is no schema here, these are the
> > > >>> clock indexes that
> > > >>> reside in dt-bindings and are used by the SoC DTSI.
> > > >>
> > > >> I understand as not used by drivers? Then no ABI and there is no point
> > > >> in putting them into bindings.
> > > >
> > > > It is not included by the driver directly, but it requires these exact
> > > > indexes to be passed
> > > > so its effectively ABI.
> > >
> > > How it requires the exact index? In what way? I do not see anything in
> > > the gck driver using/relying on these values. Nothing. Please point me
> > > to the line which directly uses these values.... or how many times I
> > > will need to write this is not ABI?
> > >
> >
> > The index here is the exact id that needs to be set in the PMC_PCR
> > register and so it is dictated by the hardware.
>
> So not a binding between Linux and DTS.
>

What would be your suggestion on moving forwarding regarding the clock
HW indexes?

LAN966x does the same with HW clock indexes in the dt-bindings includes.

Regards,
Robert

> Best regards,
> Krzysztof
>


-- 
Robert Marko
Staff Embedded Linux Engineer
Sartura d.d.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@sartura.hr
Web: www.sartura.hr


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings
  2025-12-29 12:07                 ` Robert Marko
@ 2025-12-29 12:46                   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-29 12:46 UTC (permalink / raw)
  To: Robert Marko
  Cc: Alexandre Belloni, robh, krzk+dt, conor+dt, nicolas.ferre,
	claudiu.beznea, herbert, davem, vkoul, andi.shyti, lee,
	andrew+netdev, edumazet, kuba, pabeni, linusw, Steen.Hegelund,
	daniel.machon, UNGLinuxDriver, olivia, radu_nicolae.pirea,
	richard.genoud, gregkh, jirislaby, broonie, mturquette, sboyd,
	lars.povlsen, devicetree, linux-arm-kernel, linux-kernel,
	linux-crypto, dmaengine, linux-i2c, netdev, linux-gpio, linux-spi,
	linux-serial, linux-usb, linux-clk, luka.perkov

On 29/12/2025 13:07, Robert Marko wrote:
>>>>>> I understand as not used by drivers? Then no ABI and there is no point
>>>>>> in putting them into bindings.
>>>>>
>>>>> It is not included by the driver directly, but it requires these exact
>>>>> indexes to be passed
>>>>> so its effectively ABI.
>>>>
>>>> How it requires the exact index? In what way? I do not see anything in
>>>> the gck driver using/relying on these values. Nothing. Please point me
>>>> to the line which directly uses these values.... or how many times I
>>>> will need to write this is not ABI?
>>>>
>>>
>>> The index here is the exact id that needs to be set in the PMC_PCR
>>> register and so it is dictated by the hardware.
>>
>> So not a binding between Linux and DTS.
>>
> 
> What would be your suggestion on moving forwarding regarding the clock
> HW indexes?

The same as for every other hardware constant, like interrupts,
registers and addresses - you use the value directly.

If you want nicer names, we moved them to DTS headers for several
platforms (see several commits in the past).

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2025-12-29 12:46 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-23 20:16 [PATCH v3 00/15] Add support for Microchip LAN969x Robert Marko
2025-12-23 20:16 ` [PATCH v3 01/15] include: dt-bindings: add LAN969x clock bindings Robert Marko
2025-12-24 10:21   ` Krzysztof Kozlowski
2025-12-24 10:30     ` Robert Marko
2025-12-24 13:05       ` Krzysztof Kozlowski
2025-12-24 14:01         ` Robert Marko
2025-12-25  8:47           ` Krzysztof Kozlowski
2025-12-25 16:24             ` Alexandre Belloni
2025-12-25 16:45               ` Alexandre Belloni
2025-12-27 11:17               ` Krzysztof Kozlowski
2025-12-29 12:07                 ` Robert Marko
2025-12-29 12:46                   ` Krzysztof Kozlowski
2025-12-23 20:16 ` [PATCH v3 02/15] dt-bindings: usb: Add Microchip LAN969x support Robert Marko
2025-12-23 20:16 ` [PATCH v3 03/15] dt-bindings: mfd: atmel,sama5d2-flexcom: add microchip,lan9691-flexcom Robert Marko
2025-12-23 20:16 ` [PATCH v3 04/15] dt-bindings: serial: atmel,at91-usart: add microchip,lan9691-usart Robert Marko
2025-12-23 20:16 ` [PATCH v3 05/15] dt-bindings: spi: at91: add microchip,lan9691-spi Robert Marko
2025-12-23 20:16 ` [PATCH v3 06/15] dt-bindings: i2c: atmel,at91sam: add microchip,lan9691-i2c Robert Marko
2025-12-25 20:32   ` Andi Shyti
2025-12-23 20:16 ` [PATCH v3 07/15] dt-bindings: rng: atmel,at91-trng: add microchip,lan9691-trng Robert Marko
2025-12-23 20:16 ` [PATCH v3 08/15] dt-bindings: crypto: atmel,at91sam9g46-aes: add microchip,lan9691-aes Robert Marko
2025-12-23 20:16 ` [PATCH v3 09/15] dt-bindings: crypto: atmel,at91sam9g46-sha: add microchip,lan9691-sha Robert Marko
2025-12-23 20:16 ` [PATCH v3 10/15] dt-bindings: dma: atmel: add microchip,lan9691-dma Robert Marko
2025-12-23 20:16 ` [PATCH v3 11/15] dt-bindings: net: mscc-miim: add microchip,lan9691-miim Robert Marko
2025-12-23 20:16 ` [PATCH v3 12/15] dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x Robert Marko
2025-12-23 20:16 ` [PATCH v3 13/15] arm64: dts: microchip: add LAN969x support Robert Marko
2025-12-23 20:16 ` [PATCH v3 14/15] dt-bindings: arm: AT91: document EV23X71A board Robert Marko
2025-12-23 20:16 ` [PATCH v3 15/15] arm64: dts: microchip: add " Robert Marko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).