linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC
@ 2025-06-13 11:39 Robert Marko
  2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

This patch series adds basic support for Microchip LAN969x SoC.

It introduces the SoC ARCH symbol itself and allows basic peripheral
drivers that are currently marked only for AT91 to be also selected for
LAN969x.

DTS and further driver will be added in follow-up series.

Robert Marko (6):
  arm64: lan969x: Add support for Microchip LAN969x SoC
  spi: atmel: make it selectable for ARCH_LAN969X
  i2c: at91: make it selectable for ARCH_LAN969X
  dma: xdmac: make it selectable for ARCH_LAN969X
  char: hw_random: atmel: make it selectable for ARCH_LAN969X
  crypto: atmel-aes: make it selectable for ARCH_LAN969X

 arch/arm64/Kconfig.platforms   | 14 ++++++++++++++
 drivers/char/hw_random/Kconfig |  2 +-
 drivers/crypto/Kconfig         |  2 +-
 drivers/dma/Kconfig            |  2 +-
 drivers/i2c/busses/Kconfig     |  2 +-
 drivers/spi/Kconfig            |  2 +-
 6 files changed, 19 insertions(+), 5 deletions(-)

-- 
2.49.0


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

* [PATCH v7 1/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 12:10   ` Oleksij Rempel
  2025-06-16 10:21   ` Daniel Machon
  2025-06-13 11:39 ` [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X Robert Marko
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

This adds support for the Microchip LAN969x ARMv8-based SoC switch family.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
---
 arch/arm64/Kconfig.platforms | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index a541bb029aa4..834910f11864 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -133,6 +133,20 @@ config ARCH_SPARX5
 	  security through TCAM-based frame processing using versatile
 	  content aware processor (VCAP).
 
+config ARCH_LAN969X
+	bool "Microchip LAN969X SoC family"
+	select PINCTRL
+	select DW_APB_TIMER_OF
+	help
+	  This enables support for the Microchip LAN969X ARMv8-based
+	  SoC family of TSN-capable gigabit switches.
+
+	  The LAN969X Ethernet switch family provides a rich set of
+	  switching features such as advanced TCAM-based VLAN and QoS
+	  processing enabling delivery of differentiated services, and
+	  security through TCAM-based frame processing using versatile
+	  content aware processor (VCAP).
+
 config ARCH_K3
 	bool "Texas Instruments Inc. K3 multicore SoC architecture"
 	select PM_GENERIC_DOMAINS if PM
-- 
2.49.0


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

* [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
  2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 11:46   ` Mark Brown
  2025-06-13 11:39 ` [PATCH v7 3/6] i2c: at91: " Robert Marko
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

LAN969x uses the Atmel SPI, so make it selectable for ARCH_LAN969X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 drivers/spi/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 60eb65c927b1..3b0ee0f6cb6a 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -145,7 +145,7 @@ config SPI_ASPEED_SMC
 
 config SPI_ATMEL
 	tristate "Atmel SPI Controller"
-	depends on ARCH_AT91 || COMPILE_TEST
+	depends on ARCH_AT91 || ARCH_LAN969X || COMPILE_TEST
 	depends on OF
 	help
 	  This selects a driver for the Atmel SPI Controller, present on
-- 
2.49.0


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

* [PATCH v7 3/6] i2c: at91: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
  2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
  2025-06-13 11:39 ` [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 12:08   ` Oleksij Rempel
  2025-06-13 11:39 ` [PATCH v7 4/6] dma: xdmac: " Robert Marko
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

LAN969x uses the AT91 TWI I2C, so make it selectable for ARCH_LAN969X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 drivers/i2c/busses/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 48c5ab832009..ba8c75e3b83f 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -414,7 +414,7 @@ config I2C_ASPEED
 
 config I2C_AT91
 	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
-	depends on ARCH_AT91 || COMPILE_TEST
+	depends on ARCH_AT91 || ARCH_LAN969X || COMPILE_TEST
 	help
 	  This supports the use of the I2C interface on Atmel AT91
 	  processors.
-- 
2.49.0


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

* [PATCH v7 4/6] dma: xdmac: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
                   ` (2 preceding siblings ...)
  2025-06-13 11:39 ` [PATCH v7 3/6] i2c: at91: " Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 12:10   ` Oleksij Rempel
  2025-06-13 11:39 ` [PATCH v7 5/6] char: hw_random: atmel: " Robert Marko
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

LAN969x uses the Atmel XDMAC, so make it selectable for ARCH_LAN969X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 drivers/dma/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index db87dd2a07f7..0c3f14ab569f 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -111,7 +111,7 @@ config AT_HDMAC
 
 config AT_XDMAC
 	tristate "Atmel XDMA support"
-	depends on ARCH_AT91
+	depends on ARCH_AT91 || ARCH_LAN969X
 	select DMA_ENGINE
 	help
 	  Support the Atmel XDMA controller.
-- 
2.49.0


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

* [PATCH v7 5/6] char: hw_random: atmel: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
                   ` (3 preceding siblings ...)
  2025-06-13 11:39 ` [PATCH v7 4/6] dma: xdmac: " Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 12:07   ` Oleksij Rempel
  2025-06-13 11:39 ` [PATCH v7 6/6] crypto: atmel-aes: " Robert Marko
  2025-06-16 18:34 ` [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Arnd Bergmann
  6 siblings, 1 reply; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

LAN969x uses Atmel HWRNG driver, so make it selectable for ARCH_LAN969X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 drivers/char/hw_random/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
index c85827843447..8e1b4c515956 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -77,7 +77,7 @@ config HW_RANDOM_AIROHA
 
 config HW_RANDOM_ATMEL
 	tristate "Atmel Random Number Generator support"
-	depends on (ARCH_AT91 || COMPILE_TEST)
+	depends on (ARCH_AT91 || ARCH_LAN969X ||COMPILE_TEST)
 	default HW_RANDOM
 	help
 	  This driver provides kernel-side support for the Random Number
-- 
2.49.0


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

* [PATCH v7 6/6] crypto: atmel-aes: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
                   ` (4 preceding siblings ...)
  2025-06-13 11:39 ` [PATCH v7 5/6] char: hw_random: atmel: " Robert Marko
@ 2025-06-13 11:39 ` Robert Marko
  2025-06-13 12:09   ` Oleksij Rempel
  2025-06-23  5:49   ` Herbert Xu
  2025-06-16 18:34 ` [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Arnd Bergmann
  6 siblings, 2 replies; 20+ messages in thread
From: Robert Marko @ 2025-06-13 11:39 UTC (permalink / raw)
  To: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon
  Cc: Robert Marko

LAN969x uses the same crypto engine, make it selectable for ARCH_LAN969X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 drivers/crypto/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 9f8a3a5bed7e..b82881e345b3 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -426,7 +426,7 @@ config CRYPTO_DEV_ATMEL_AUTHENC
 
 config CRYPTO_DEV_ATMEL_AES
 	tristate "Support for Atmel AES hw accelerator"
-	depends on ARCH_AT91 || COMPILE_TEST
+	depends on ARCH_AT91 || ARCH_LAN969X || COMPILE_TEST
 	select CRYPTO_AES
 	select CRYPTO_AEAD
 	select CRYPTO_SKCIPHER
-- 
2.49.0


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

* Re: [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X Robert Marko
@ 2025-06-13 11:46   ` Mark Brown
  0 siblings, 0 replies; 20+ messages in thread
From: Mark Brown @ 2025-06-13 11:46 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon

[-- Attachment #1: Type: text/plain, Size: 240 bytes --]

On Fri, Jun 13, 2025 at 01:39:37PM +0200, Robert Marko wrote:
> LAN969x uses the Atmel SPI, so make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>

Acked-by: Mark Brown <broonie@kernel.org>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH v7 5/6] char: hw_random: atmel: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 5/6] char: hw_random: atmel: " Robert Marko
@ 2025-06-13 12:07   ` Oleksij Rempel
  0 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2025-06-13 12:07 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, luka.perkov, arnd, daniel.machon

On Fri, Jun 13, 2025 at 01:39:40PM +0200, Robert Marko wrote:
> LAN969x uses Atmel HWRNG driver, so make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> ---
>  drivers/char/hw_random/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
> index c85827843447..8e1b4c515956 100644
> --- a/drivers/char/hw_random/Kconfig
> +++ b/drivers/char/hw_random/Kconfig
> @@ -77,7 +77,7 @@ config HW_RANDOM_AIROHA
>  
>  config HW_RANDOM_ATMEL
>  	tristate "Atmel Random Number Generator support"
> -	depends on (ARCH_AT91 || COMPILE_TEST)
> +	depends on (ARCH_AT91 || ARCH_LAN969X ||COMPILE_TEST)
------------------------- here is missing space ^

Otherwise:
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v7 3/6] i2c: at91: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 3/6] i2c: at91: " Robert Marko
@ 2025-06-13 12:08   ` Oleksij Rempel
  0 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2025-06-13 12:08 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, luka.perkov, arnd, daniel.machon

On Fri, Jun 13, 2025 at 01:39:38PM +0200, Robert Marko wrote:
> LAN969x uses the AT91 TWI I2C, so make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v7 6/6] crypto: atmel-aes: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 6/6] crypto: atmel-aes: " Robert Marko
@ 2025-06-13 12:09   ` Oleksij Rempel
  2025-06-23  5:49   ` Herbert Xu
  1 sibling, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2025-06-13 12:09 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, luka.perkov, arnd, daniel.machon

On Fri, Jun 13, 2025 at 01:39:41PM +0200, Robert Marko wrote:
> LAN969x uses the same crypto engine, make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v7 1/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
@ 2025-06-13 12:10   ` Oleksij Rempel
  2025-06-16 10:21   ` Daniel Machon
  1 sibling, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2025-06-13 12:10 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, luka.perkov, arnd, daniel.machon

On Fri, Jun 13, 2025 at 01:39:36PM +0200, Robert Marko wrote:
> This adds support for the Microchip LAN969x ARMv8-based SoC switch family.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> Acked-by: Daniel Machon <daniel.machon@microchip.com>

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v7 4/6] dma: xdmac: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 4/6] dma: xdmac: " Robert Marko
@ 2025-06-13 12:10   ` Oleksij Rempel
  0 siblings, 0 replies; 20+ messages in thread
From: Oleksij Rempel @ 2025-06-13 12:10 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, luka.perkov, arnd, daniel.machon

On Fri, Jun 13, 2025 at 01:39:39PM +0200, Robert Marko wrote:
> LAN969x uses the Atmel XDMAC, so make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v7 1/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
  2025-06-13 12:10   ` Oleksij Rempel
@ 2025-06-16 10:21   ` Daniel Machon
  2025-06-30 13:18     ` Robert Marko
  1 sibling, 1 reply; 20+ messages in thread
From: Daniel Machon @ 2025-06-16 10:21 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd

> This adds support for the Microchip LAN969x ARMv8-based SoC switch family.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> Acked-by: Daniel Machon <daniel.machon@microchip.com>
> ---
>  arch/arm64/Kconfig.platforms | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index a541bb029aa4..834910f11864 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -133,6 +133,20 @@ config ARCH_SPARX5
>           security through TCAM-based frame processing using versatile
>           content aware processor (VCAP).
> 
> +config ARCH_LAN969X
> +       bool "Microchip LAN969X SoC family"
> +       select PINCTRL
> +       select DW_APB_TIMER_OF

The lan969x SoC uses the clk-lan966x driver. Would it not make sense to select
it here?

  +       select COMMON_CLK_LAN966X

> +       help
> +         This enables support for the Microchip LAN969X ARMv8-based
> +         SoC family of TSN-capable gigabit switches.
> +
> +         The LAN969X Ethernet switch family provides a rich set of
> +         switching features such as advanced TCAM-based VLAN and QoS
> +         processing enabling delivery of differentiated services, and
> +         security through TCAM-based frame processing using versatile
> +         content aware processor (VCAP).
> +
>  config ARCH_K3
>         bool "Texas Instruments Inc. K3 multicore SoC architecture"
>         select PM_GENERIC_DOMAINS if PM
> --
> 2.49.0
> 

/Daniel

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

* Re: [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
                   ` (5 preceding siblings ...)
  2025-06-13 11:39 ` [PATCH v7 6/6] crypto: atmel-aes: " Robert Marko
@ 2025-06-16 18:34 ` Arnd Bergmann
  2025-06-30 13:21   ` Robert Marko
  6 siblings, 1 reply; 20+ messages in thread
From: Arnd Bergmann @ 2025-06-16 18:34 UTC (permalink / raw)
  To: Robert Marko, Catalin Marinas, Will Deacon, Olivia Mackall,
	Herbert Xu, David S . Miller, Vinod Koul, Andi Shyti, Mark Brown,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, Pengutronix Kernel Team, ore, luka.perkov,
	Daniel Machon

On Fri, Jun 13, 2025, at 13:39, Robert Marko wrote:
> This patch series adds basic support for Microchip LAN969x SoC.
>
> It introduces the SoC ARCH symbol itself and allows basic peripheral
> drivers that are currently marked only for AT91 to be also selected for
> LAN969x.
>
> DTS and further driver will be added in follow-up series.
>
> Robert Marko (6):
>   arm64: lan969x: Add support for Microchip LAN969x SoC
>   spi: atmel: make it selectable for ARCH_LAN969X
>   i2c: at91: make it selectable for ARCH_LAN969X
>   dma: xdmac: make it selectable for ARCH_LAN969X
>   char: hw_random: atmel: make it selectable for ARCH_LAN969X
>   crypto: atmel-aes: make it selectable for ARCH_LAN969X

If the drivers on ARCH_LAN969X are largely shared with those on
ARCH_AT91, should they perhaps depend on a common symbol?

That could be either the existing ARCH_AT91 as we do with LAN966,
or perhaps ARCH_MICROCHIP, which is already used for riscv/polarfire.

    Arnd

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

* Re: [PATCH v7 6/6] crypto: atmel-aes: make it selectable for ARCH_LAN969X
  2025-06-13 11:39 ` [PATCH v7 6/6] crypto: atmel-aes: " Robert Marko
  2025-06-13 12:09   ` Oleksij Rempel
@ 2025-06-23  5:49   ` Herbert Xu
  1 sibling, 0 replies; 20+ messages in thread
From: Herbert Xu @ 2025-06-23  5:49 UTC (permalink / raw)
  To: Robert Marko
  Cc: catalin.marinas, will, olivia, davem, vkoul, andi.shyti, broonie,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd,
	daniel.machon

On Fri, Jun 13, 2025 at 01:39:41PM +0200, Robert Marko wrote:
> LAN969x uses the same crypto engine, make it selectable for ARCH_LAN969X.
> 
> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> ---
>  drivers/crypto/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

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

* Re: [PATCH v7 1/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-16 10:21   ` Daniel Machon
@ 2025-06-30 13:18     ` Robert Marko
  0 siblings, 0 replies; 20+ messages in thread
From: Robert Marko @ 2025-06-30 13:18 UTC (permalink / raw)
  To: Daniel Machon
  Cc: catalin.marinas, will, olivia, herbert, davem, vkoul, andi.shyti,
	broonie, linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, kernel, ore, luka.perkov, arnd

On Mon, Jun 16, 2025 at 12:21 PM Daniel Machon
<daniel.machon@microchip.com> wrote:
>
> > This adds support for the Microchip LAN969x ARMv8-based SoC switch family.
> >
> > Signed-off-by: Robert Marko <robert.marko@sartura.hr>
> > Acked-by: Daniel Machon <daniel.machon@microchip.com>
> > ---
> >  arch/arm64/Kconfig.platforms | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > index a541bb029aa4..834910f11864 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -133,6 +133,20 @@ config ARCH_SPARX5
> >           security through TCAM-based frame processing using versatile
> >           content aware processor (VCAP).
> >
> > +config ARCH_LAN969X
> > +       bool "Microchip LAN969X SoC family"
> > +       select PINCTRL
> > +       select DW_APB_TIMER_OF
>
> The lan969x SoC uses the clk-lan966x driver. Would it not make sense to select
> it here?

HI Daniel,
To me it made more sense to select individual drivers directly in the
config, cause we need pinctrl
etc as well and I dont think it scales selecting it directly via ARCH.

Regards,
Robert
>
>   +       select COMMON_CLK_LAN966X
>
> > +       help
> > +         This enables support for the Microchip LAN969X ARMv8-based
> > +         SoC family of TSN-capable gigabit switches.
> > +
> > +         The LAN969X Ethernet switch family provides a rich set of
> > +         switching features such as advanced TCAM-based VLAN and QoS
> > +         processing enabling delivery of differentiated services, and
> > +         security through TCAM-based frame processing using versatile
> > +         content aware processor (VCAP).
> > +
> >  config ARCH_K3
> >         bool "Texas Instruments Inc. K3 multicore SoC architecture"
> >         select PM_GENERIC_DOMAINS if PM
> > --
> > 2.49.0
> >
>
> /Daniel



-- 
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] 20+ messages in thread

* Re: [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-16 18:34 ` [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Arnd Bergmann
@ 2025-06-30 13:21   ` Robert Marko
  2025-06-30 13:53     ` Arnd Bergmann
  0 siblings, 1 reply; 20+ messages in thread
From: Robert Marko @ 2025-06-30 13:21 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Catalin Marinas, Will Deacon, Olivia Mackall, Herbert Xu,
	David S . Miller, Vinod Koul, Andi Shyti, Mark Brown,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, Pengutronix Kernel Team, ore, luka.perkov,
	Daniel Machon

On Mon, Jun 16, 2025 at 8:34 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Fri, Jun 13, 2025, at 13:39, Robert Marko wrote:
> > This patch series adds basic support for Microchip LAN969x SoC.
> >
> > It introduces the SoC ARCH symbol itself and allows basic peripheral
> > drivers that are currently marked only for AT91 to be also selected for
> > LAN969x.
> >
> > DTS and further driver will be added in follow-up series.
> >
> > Robert Marko (6):
> >   arm64: lan969x: Add support for Microchip LAN969x SoC
> >   spi: atmel: make it selectable for ARCH_LAN969X
> >   i2c: at91: make it selectable for ARCH_LAN969X
> >   dma: xdmac: make it selectable for ARCH_LAN969X
> >   char: hw_random: atmel: make it selectable for ARCH_LAN969X
> >   crypto: atmel-aes: make it selectable for ARCH_LAN969X
>
> If the drivers on ARCH_LAN969X are largely shared with those on
> ARCH_AT91, should they perhaps depend on a common symbol?
>
> That could be either the existing ARCH_AT91 as we do with LAN966,
> or perhaps ARCH_MICROCHIP, which is already used for riscv/polarfire.

Hi Arnd, I thought about this, but I am not sure whether its worth it
since we need
LAN969x arch anyway for other drivers that currently depend on LAN966x
or SparX-5
but will be extended for LAN969x (I have this already queued locally
but need this to
land first).

I hope this makes sense

Regards,
Robert
>
>     Arnd



-- 
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] 20+ messages in thread

* Re: [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-30 13:21   ` Robert Marko
@ 2025-06-30 13:53     ` Arnd Bergmann
  2025-07-02 11:07       ` Robert Marko
  0 siblings, 1 reply; 20+ messages in thread
From: Arnd Bergmann @ 2025-06-30 13:53 UTC (permalink / raw)
  To: Robert Marko
  Cc: Catalin Marinas, Will Deacon, Olivia Mackall, Herbert Xu,
	David S . Miller, Vinod Koul, Andi Shyti, Mark Brown,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, Pengutronix Kernel Team, ore, luka.perkov,
	Daniel Machon

On Mon, Jun 30, 2025, at 15:21, Robert Marko wrote:
> On Mon, Jun 16, 2025 at 8:34 PM Arnd Bergmann <arnd@arndb.de> wrote:
>> On Fri, Jun 13, 2025, at 13:39, Robert Marko wrote:
>>
>> If the drivers on ARCH_LAN969X are largely shared with those on
>> ARCH_AT91, should they perhaps depend on a common symbol?
>>
>> That could be either the existing ARCH_AT91 as we do with LAN966,
>> or perhaps ARCH_MICROCHIP, which is already used for riscv/polarfire.
>
> Hi Arnd, I thought about this, but I am not sure whether its worth it
> since we need LAN969x arch anyway for other drivers that currently
> depend on LAN966x or SparX-5 but will be extended for LAN969x (I have
> this already queued locally but need this to land first).

I think in that case we would want one symbol for all of the above.
We have a couple of cases where there multiple SoC product families
get handled by a shared config symbol to make life easier for the
kernel:

- ARCH_IMX contains multiple chip families that are now owned
  by NXP but that have a complex history with acquisitions and
  product families that mix-and-match IP blocks, similar to
  Microchip

- ARCH_EXYNOS contains chips from Samsung, Google, Tesla and Axis
  that all share a lot of components because they are all based on
  Samsung designs

- ARCH_BCM contains several chip families that all started out
  in Broadcom but actually share very few common components.

On the other hand, we have TI with its davinci, omap, omap2
keystone2 and k3 platforms, or Marvell with orion, mvebu,
pxa, mmp, octeon, octeontx, thunderx and thunderx2 platforms
that overlap to varying degrees but use separate Kconfig symbols.

Since you already have an ARCH_MICROCHIP used by one of the
microchip platforms, the simplest approach seems to me to
include at91, lan969x, lan966x and sparx-5 under that as well.
You could just select that symbol from each of the four
and then change any driver that is used by more than one of
these families to use 'depends on ARCH_MICROCHIP' instead of
listing them individually.

I assume the mips based PIC32 and VCOREIII (ocelot/jaguar)
are distant enough that they wouldn't share any drivers with
the other families any more, but they could be put into that
as well if that helps.

     Arnd

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

* Re: [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC
  2025-06-30 13:53     ` Arnd Bergmann
@ 2025-07-02 11:07       ` Robert Marko
  0 siblings, 0 replies; 20+ messages in thread
From: Robert Marko @ 2025-07-02 11:07 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Catalin Marinas, Will Deacon, Olivia Mackall, Herbert Xu,
	David S . Miller, Vinod Koul, Andi Shyti, Mark Brown,
	linux-arm-kernel, linux-kernel, linux-crypto, dmaengine,
	linux-i2c, linux-spi, Pengutronix Kernel Team, ore, luka.perkov,
	Daniel Machon

On Mon, Jun 30, 2025 at 3:54 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Mon, Jun 30, 2025, at 15:21, Robert Marko wrote:
> > On Mon, Jun 16, 2025 at 8:34 PM Arnd Bergmann <arnd@arndb.de> wrote:
> >> On Fri, Jun 13, 2025, at 13:39, Robert Marko wrote:
> >>
> >> If the drivers on ARCH_LAN969X are largely shared with those on
> >> ARCH_AT91, should they perhaps depend on a common symbol?
> >>
> >> That could be either the existing ARCH_AT91 as we do with LAN966,
> >> or perhaps ARCH_MICROCHIP, which is already used for riscv/polarfire.
> >
> > Hi Arnd, I thought about this, but I am not sure whether its worth it
> > since we need LAN969x arch anyway for other drivers that currently
> > depend on LAN966x or SparX-5 but will be extended for LAN969x (I have
> > this already queued locally but need this to land first).
>
> I think in that case we would want one symbol for all of the above.
> We have a couple of cases where there multiple SoC product families
> get handled by a shared config symbol to make life easier for the
> kernel:
>
> - ARCH_IMX contains multiple chip families that are now owned
>   by NXP but that have a complex history with acquisitions and
>   product families that mix-and-match IP blocks, similar to
>   Microchip
>
> - ARCH_EXYNOS contains chips from Samsung, Google, Tesla and Axis
>   that all share a lot of components because they are all based on
>   Samsung designs
>
> - ARCH_BCM contains several chip families that all started out
>   in Broadcom but actually share very few common components.
>
> On the other hand, we have TI with its davinci, omap, omap2
> keystone2 and k3 platforms, or Marvell with orion, mvebu,
> pxa, mmp, octeon, octeontx, thunderx and thunderx2 platforms
> that overlap to varying degrees but use separate Kconfig symbols.
>
> Since you already have an ARCH_MICROCHIP used by one of the
> microchip platforms, the simplest approach seems to me to
> include at91, lan969x, lan966x and sparx-5 under that as well.
> You could just select that symbol from each of the four
> and then change any driver that is used by more than one of
> these families to use 'depends on ARCH_MICROCHIP' instead of
> listing them individually.

Ok, I get the idea, I will rework the series to pivot to ARCH_MICROCHIP.

Regards,
Robert

>
> I assume the mips based PIC32 and VCOREIII (ocelot/jaguar)
> are distant enough that they wouldn't share any drivers with
> the other families any more, but they could be put into that
> as well if that helps.
>
>      Arnd



-- 
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] 20+ messages in thread

end of thread, other threads:[~2025-07-02 11:07 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-13 11:39 [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Robert Marko
2025-06-13 11:39 ` [PATCH v7 1/6] " Robert Marko
2025-06-13 12:10   ` Oleksij Rempel
2025-06-16 10:21   ` Daniel Machon
2025-06-30 13:18     ` Robert Marko
2025-06-13 11:39 ` [PATCH v7 2/6] spi: atmel: make it selectable for ARCH_LAN969X Robert Marko
2025-06-13 11:46   ` Mark Brown
2025-06-13 11:39 ` [PATCH v7 3/6] i2c: at91: " Robert Marko
2025-06-13 12:08   ` Oleksij Rempel
2025-06-13 11:39 ` [PATCH v7 4/6] dma: xdmac: " Robert Marko
2025-06-13 12:10   ` Oleksij Rempel
2025-06-13 11:39 ` [PATCH v7 5/6] char: hw_random: atmel: " Robert Marko
2025-06-13 12:07   ` Oleksij Rempel
2025-06-13 11:39 ` [PATCH v7 6/6] crypto: atmel-aes: " Robert Marko
2025-06-13 12:09   ` Oleksij Rempel
2025-06-23  5:49   ` Herbert Xu
2025-06-16 18:34 ` [PATCH v7 0/6] arm64: lan969x: Add support for Microchip LAN969x SoC Arnd Bergmann
2025-06-30 13:21   ` Robert Marko
2025-06-30 13:53     ` Arnd Bergmann
2025-07-02 11:07       ` 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).