* [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-02 0:54 ` Jakub Kicinski
2025-04-02 13:28 ` Conor Dooley
2025-04-01 16:13 ` [PATCH 2/6] ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC Ryan.Wanner
` (5 subsequent siblings)
6 siblings, 2 replies; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add documentation for sama7d65 ethernet interface.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
Documentation/devicetree/bindings/net/cdns,macb.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
index 3c30dd23cd4e..eeb9b6592720 100644
--- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
+++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
@@ -62,6 +62,7 @@ properties:
- items:
- enum:
- microchip,sam9x7-gem # Microchip SAM9X7 gigabit ethernet interface
+ - microchip,sama7d65-gem # Microchip SAMA7D65 gigabit ethernet interface
- const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
reg:
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface
2025-04-01 16:13 ` [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface Ryan.Wanner
@ 2025-04-02 0:54 ` Jakub Kicinski
2025-04-02 13:28 ` Conor Dooley
1 sibling, 0 replies; 14+ messages in thread
From: Jakub Kicinski @ 2025-04-02 0:54 UTC (permalink / raw)
To: Ryan.Wanner
Cc: andrew+netdev, davem, edumazet, pabeni, robh, krzk+dt, conor+dt,
alexandre.belloni, claudiu.beznea, nicolas.ferre, netdev,
devicetree, linux-kernel, linux-arm-kernel
On Tue, 1 Apr 2025 09:13:17 -0700 Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add documentation for sama7d65 ethernet interface.
## Form letter - net-next-closed
Linus already pulled net-next material v6.15 and therefore net-next is closed
for new drivers, features, code refactoring and optimizations. We are currently
accepting bug fixes only.
Please repost when net-next reopens after Apr 7th.
RFC patches sent for review only are obviously welcome at any time.
See: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle
--
pw-bot: defer
pv-bot: closed
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface
2025-04-01 16:13 ` [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface Ryan.Wanner
2025-04-02 0:54 ` Jakub Kicinski
@ 2025-04-02 13:28 ` Conor Dooley
1 sibling, 0 replies; 14+ messages in thread
From: Conor Dooley @ 2025-04-02 13:28 UTC (permalink / raw)
To: Ryan.Wanner
Cc: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
conor+dt, alexandre.belloni, claudiu.beznea, nicolas.ferre,
netdev, devicetree, linux-kernel, linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 1093 bytes --]
On Tue, Apr 01, 2025 at 09:13:17AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add documentation for sama7d65 ethernet interface.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> Documentation/devicetree/bindings/net/cdns,macb.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documentation/devicetree/bindings/net/cdns,macb.yaml
> index 3c30dd23cd4e..eeb9b6592720 100644
> --- a/Documentation/devicetree/bindings/net/cdns,macb.yaml
> +++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml
> @@ -62,6 +62,7 @@ properties:
> - items:
> - enum:
> - microchip,sam9x7-gem # Microchip SAM9X7 gigabit ethernet interface
> + - microchip,sama7d65-gem # Microchip SAMA7D65 gigabit ethernet interface
> - const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
>
> reg:
> --
> 2.43.0
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/6] ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
2025-04-01 16:13 ` [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-01 16:13 ` [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to " Ryan.Wanner
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add support for GMAC interfaces on SAMA7D65 SoC.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
arch/arm/boot/dts/microchip/sama7d65.dtsi | 32 +++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
index b6710ccd4c36..cd17b838e179 100644
--- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
+++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
@@ -169,6 +169,38 @@ dma1: dma-controller@e1614000 {
status = "disabled";
};
+ gmac0: ethernet@e1618000 {
+ compatible = "microchip,sama7d65-gem", "microchip,sama7g5-gem";
+ reg = <0xe1618000 0x2000>;
+ interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_GCK 46>, <&pmc PMC_TYPE_GCK 49>;
+ clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
+ assigned-clocks = <&pmc PMC_TYPE_GCK 46>, <&pmc PMC_TYPE_GCK 49>;
+ assigned-clock-rates = <125000000>, <200000000>;
+ status = "disabled";
+ };
+
+ gmac1: ethernet@e161c000 {
+ compatible = "microchip,sama7d65-gem", "microchip,sama7g5-gem";
+ reg = <0xe161c000 0x2000>;
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 47>, <&pmc PMC_TYPE_PERIPHERAL 47>,<&pmc PMC_TYPE_GCK 47>, <&pmc PMC_TYPE_GCK 50>;
+ clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
+ assigned-clocks = <&pmc PMC_TYPE_GCK 47>, <&pmc PMC_TYPE_GCK 50>;
+ assigned-clock-rates = <125000000>, <200000000>;
+ status = "disabled";
+ };
+
pit64b0: timer@e1800000 {
compatible = "microchip,sama7d65-pit64b", "microchip,sam9x60-pit64b";
reg = <0xe1800000 0x100>;
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
2025-04-01 16:13 ` [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface Ryan.Wanner
2025-04-01 16:13 ` [PATCH 2/6] ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-11 14:29 ` Claudiu Beznea
2025-04-01 16:13 ` [PATCH 4/6] ARM: dts: microchip: sama7d65: Enable GMAC interface Ryan.Wanner
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add FLEXCOMs to the SAMA7D65 SoC device tree.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
arch/arm/boot/dts/microchip/sama7d65.dtsi | 267 ++++++++++++++++++++++
1 file changed, 267 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
index cd17b838e179..9f453c686dc6 100644
--- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
+++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
@@ -217,6 +217,199 @@ pit64b1: timer@e1804000 {
clock-names = "pclk", "gclk";
};
+ flx0: flexcom@e1820000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe1820000 0x200>;
+ ranges = <0x0 0xe1820000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ uart0: serial@200 {
+ compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
+ reg = <0x200 0x200>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
+ clock-names = "usart";
+ dmas = <&dma1 AT91_XDMAC_DT_PERID(6)>,
+ <&dma1 AT91_XDMAC_DT_PERID(5)>;
+ dma-names = "tx", "rx";
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
+ atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+ status = "disabled";
+ };
+
+ i2c0: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(6)>,
+ <&dma0 AT91_XDMAC_DT_PERID(5)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ flx1: flexcom@e1824000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe1824000 0x200>;
+ ranges = <0x0 0xe1824000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ spi1: spi@400 {
+ compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
+ reg = <0x400 0x200>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
+ clock-names = "spi_clk";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
+ <&dma0 AT91_XDMAC_DT_PERID(7)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ i2c1: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
+ <&dma0 AT91_XDMAC_DT_PERID(7)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ flx2: flexcom@e1828000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe1828000 0x200>;
+ ranges = <0x0 0xe1828000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ uart2: serial@200 {
+ compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
+ reg = <0x200 0x200>;
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
+ clock-names = "usart";
+ dmas = <&dma1 AT91_XDMAC_DT_PERID(10)>,
+ <&dma1 AT91_XDMAC_DT_PERID(9)>;
+ dma-names = "tx", "rx";
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
+ atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+ status = "disabled";
+ };
+ };
+
+ flx3: flexcom@e182c000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe182c000 0x200>;
+ ranges = <0x0 0xe182c000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ i2c3: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(12)>,
+ <&dma0 AT91_XDMAC_DT_PERID(11)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ };
+
+ flx4: flexcom@e2018000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe2018000 0x200>;
+ ranges = <0x0 0xe2018000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ uart4: serial@200 {
+ compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
+ reg = <0x200 0x200>;
+ interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
+ clock-names = "usart";
+ dmas = <&dma1 AT91_XDMAC_DT_PERID(14)>,
+ <&dma1 AT91_XDMAC_DT_PERID(13)>;
+ dma-names = "tx", "rx";
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
+ atmel,fifo-size = <16>;
+ atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+ status = "disabled";
+ };
+
+ spi4: spi@400 {
+ compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
+ reg = <0x400 0x200>;
+ interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
+ clock-names = "spi_clk";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(14)>,
+ <&dma0 AT91_XDMAC_DT_PERID(13)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ flx5: flexcom@e201c000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe201c000 0x200>;
+ ranges = <0x0 0xe201c000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ i2c5: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(16)>,
+ <&dma0 AT91_XDMAC_DT_PERID(15)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
flx6: flexcom@e2020000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2020000 0x200>;
@@ -238,6 +431,80 @@ uart6: serial@200 {
};
};
+ flx7: flexcom@e2024000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe2024000 0x200>;
+ ranges = <0x0 0xe2024000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ uart7: serial@200 {
+ compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
+ reg = <0x200 0x200>;
+ interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
+ clock-names = "usart";
+ dmas = <&dma1 AT91_XDMAC_DT_PERID(20)>,
+ <&dma1 AT91_XDMAC_DT_PERID(19)>;
+ dma-names = "tx", "rx";
+ atmel,use-dma-rx;
+ atmel,use-dma-tx;
+ atmel,fifo-size = <16>;
+ atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+ status = "disabled";
+ };
+ };
+
+ flx8: flexcom@e281c000{
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe281c000 0x200>;
+ ranges = <0x0 0xe281c000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ i2c8: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(22)>,
+ <&dma0 AT91_XDMAC_DT_PERID(21)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ flx9: flexcom@e2820000 {
+ compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
+ reg = <0xe2820000 0x200>;
+ ranges = <0x0 0xe281c000 0x800>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "disabled";
+
+ i2c9: i2c@600 {
+ compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
+ reg = <0x600 0x200>;
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,fifo-size = <32>;
+ dmas = <&dma0 AT91_XDMAC_DT_PERID(24)>,
+ <&dma0 AT91_XDMAC_DT_PERID(23)>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
flx10: flexcom@e2824000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2824000 0x200>;
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC
2025-04-01 16:13 ` [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to " Ryan.Wanner
@ 2025-04-11 14:29 ` Claudiu Beznea
0 siblings, 0 replies; 14+ messages in thread
From: Claudiu Beznea @ 2025-04-11 14:29 UTC (permalink / raw)
To: Ryan.Wanner, andrew+netdev, davem, edumazet, kuba, pabeni, robh,
krzk+dt, onor+dt, alexandre.belloni
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel
Hi, Ryan,
On 01.04.2025 19:13, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add FLEXCOMs to the SAMA7D65 SoC device tree.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> arch/arm/boot/dts/microchip/sama7d65.dtsi | 267 ++++++++++++++++++++++
> 1 file changed, 267 insertions(+)
>
> diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
> index cd17b838e179..9f453c686dc6 100644
> --- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
> +++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
> @@ -217,6 +217,199 @@ pit64b1: timer@e1804000 {
> clock-names = "pclk", "gclk";
> };
>
> + flx0: flexcom@e1820000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe1820000 0x200>;
> + ranges = <0x0 0xe1820000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + uart0: serial@200 {
> + compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
> + reg = <0x200 0x200>;
> + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
> + clock-names = "usart";
> + dmas = <&dma1 AT91_XDMAC_DT_PERID(6)>,
> + <&dma1 AT91_XDMAC_DT_PERID(5)>;
This here ^ should be aligned with the "<" on
the previous line.
Same for the rest of dmas on this file.
> + dma-names = "tx", "rx";
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> + status = "disabled";
> + };
> +
> + i2c0: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(6)>,
> + <&dma0 AT91_XDMAC_DT_PERID(5)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> + flx1: flexcom@e1824000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe1824000 0x200>;
> + ranges = <0x0 0xe1824000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + spi1: spi@400 {
> + compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
> + reg = <0x400 0x200>;
> + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
> + clock-names = "spi_clk";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
Vendor specific properties should be placed at the end of the node.
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
> + <&dma0 AT91_XDMAC_DT_PERID(7)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> +
> + i2c1: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
> + <&dma0 AT91_XDMAC_DT_PERID(7)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> + flx2: flexcom@e1828000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe1828000 0x200>;
> + ranges = <0x0 0xe1828000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + uart2: serial@200 {
> + compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
> + reg = <0x200 0x200>;
> + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
> + clock-names = "usart";
> + dmas = <&dma1 AT91_XDMAC_DT_PERID(10)>,
> + <&dma1 AT91_XDMAC_DT_PERID(9)>;
> + dma-names = "tx", "rx";
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> + status = "disabled";
> + };
> + };
> +
> + flx3: flexcom@e182c000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe182c000 0x200>;
> + ranges = <0x0 0xe182c000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + i2c3: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(12)>,
> + <&dma0 AT91_XDMAC_DT_PERID(11)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> +
> + };
> +
> + flx4: flexcom@e2018000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe2018000 0x200>;
> + ranges = <0x0 0xe2018000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + uart4: serial@200 {
> + compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
> + reg = <0x200 0x200>;
> + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
> + clock-names = "usart";
> + dmas = <&dma1 AT91_XDMAC_DT_PERID(14)>,
> + <&dma1 AT91_XDMAC_DT_PERID(13)>;
> + dma-names = "tx", "rx";
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + atmel,fifo-size = <16>;
> + atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> + status = "disabled";
> + };
> +
> + spi4: spi@400 {
> + compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
> + reg = <0x400 0x200>;
> + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
> + clock-names = "spi_clk";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(14)>,
> + <&dma0 AT91_XDMAC_DT_PERID(13)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> + flx5: flexcom@e201c000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe201c000 0x200>;
> + ranges = <0x0 0xe201c000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + i2c5: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(16)>,
> + <&dma0 AT91_XDMAC_DT_PERID(15)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> flx6: flexcom@e2020000 {
> compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> reg = <0xe2020000 0x200>;
> @@ -238,6 +431,80 @@ uart6: serial@200 {
> };
> };
>
> + flx7: flexcom@e2024000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe2024000 0x200>;
> + ranges = <0x0 0xe2024000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + uart7: serial@200 {
> + compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
> + reg = <0x200 0x200>;
> + interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
> + clock-names = "usart";
> + dmas = <&dma1 AT91_XDMAC_DT_PERID(20)>,
> + <&dma1 AT91_XDMAC_DT_PERID(19)>;
> + dma-names = "tx", "rx";
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + atmel,fifo-size = <16>;
> + atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> + status = "disabled";
> + };
> + };
> +
> + flx8: flexcom@e281c000{
Missing space here -------------------^
As these are mainly cosmetics I will adjust while applying.
Thank you,
Claudiu
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe281c000 0x200>;
> + ranges = <0x0 0xe281c000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + i2c8: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(22)>,
> + <&dma0 AT91_XDMAC_DT_PERID(21)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> + flx9: flexcom@e2820000 {
> + compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> + reg = <0xe2820000 0x200>;
> + ranges = <0x0 0xe281c000 0x800>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + status = "disabled";
> +
> + i2c9: i2c@600 {
> + compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
> + reg = <0x600 0x200>;
> + interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + atmel,fifo-size = <32>;
> + dmas = <&dma0 AT91_XDMAC_DT_PERID(24)>,
> + <&dma0 AT91_XDMAC_DT_PERID(23)>;
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
> + };
> +
> flx10: flexcom@e2824000 {
> compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
> reg = <0xe2824000 0x200>;
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 4/6] ARM: dts: microchip: sama7d65: Enable GMAC interface
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
` (2 preceding siblings ...)
2025-04-01 16:13 ` [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to " Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-11 14:29 ` Claudiu Beznea
2025-04-01 16:13 ` [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity Ryan.Wanner
` (2 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Enable GMAC0 interface for sama7d65_curiosity board.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../dts/microchip/at91-sama7d65_curiosity.dts | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
index 30fdc4f55a3b..441370dbb4c2 100644
--- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
+++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
@@ -105,7 +105,58 @@ &main_xtal {
clock-frequency = <24000000>;
};
+&gmac0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gmac0_default
+ &pinctrl_gmac0_mdio_default
+ &pinctrl_gmac0_txck_default
+ &pinctrl_gmac0_phy_irq>;
+ phy-mode = "rgmii-id";
+ status = "okay";
+
+ ethernet-phy@7 {
+ reg = <0x7>;
+ interrupt-parent = <&pioa>;
+ interrupts = <PIN_PC1 IRQ_TYPE_LEVEL_LOW>;
+ status = "okay";
+ };
+};
&pioa {
+ pinctrl_gmac0_default: gmac0-default {
+ pinmux = <PIN_PA26__G0_TX0>,
+ <PIN_PA27__G0_TX1>,
+ <PIN_PB4__G0_TX2>,
+ <PIN_PB5__G0_TX3>,
+ <PIN_PA29__G0_RX0>,
+ <PIN_PA30__G0_RX1>,
+ <PIN_PB2__G0_RX2>,
+ <PIN_PB6__G0_RX3>,
+ <PIN_PA25__G0_TXCTL>,
+ <PIN_PB3__G0_RXCK>,
+ <PIN_PA28__G0_RXCTL>;
+ slew-rate = <0>;
+ bias-disable;
+ };
+
+ pinctrl_gmac0_mdio_default: gmac0-mdio-default {
+ pinmux = <PIN_PA31__G0_MDC>,
+ <PIN_PB0__G0_MDIO>;
+ bias-disable;
+ };
+
+ pinctrl_gmac0_phy_irq: gmac0-phy-irq {
+ pinmux = <PIN_PC1__GPIO>;
+ bias-disable;
+ };
+
+ pinctrl_gmac0_txck_default: gmac0-txck-default {
+ pinmux = <PIN_PB1__G0_REFCK>;
+ slew-rate = <0>;
+ bias-pull-up;
+ };
+
pinctrl_i2c10_default: i2c10-default{
pinmux = <PIN_PB19__FLEXCOM10_IO1>,
<PIN_PB20__FLEXCOM10_IO0>;
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 4/6] ARM: dts: microchip: sama7d65: Enable GMAC interface
2025-04-01 16:13 ` [PATCH 4/6] ARM: dts: microchip: sama7d65: Enable GMAC interface Ryan.Wanner
@ 2025-04-11 14:29 ` Claudiu Beznea
0 siblings, 0 replies; 14+ messages in thread
From: Claudiu Beznea @ 2025-04-11 14:29 UTC (permalink / raw)
To: Ryan.Wanner, andrew+netdev, davem, edumazet, kuba, pabeni, robh,
krzk+dt, onor+dt, alexandre.belloni
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel
Hi, Ryan,
On 01.04.2025 19:13, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Enable GMAC0 interface for sama7d65_curiosity board.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../dts/microchip/at91-sama7d65_curiosity.dts | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> index 30fdc4f55a3b..441370dbb4c2 100644
> --- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> @@ -105,7 +105,58 @@ &main_xtal {
> clock-frequency = <24000000>;
> };
>
> +&gmac0 {
Please keep nodes alphanumerically sorted.
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gmac0_default
> + &pinctrl_gmac0_mdio_default
> + &pinctrl_gmac0_txck_default
> + &pinctrl_gmac0_phy_irq>;
> + phy-mode = "rgmii-id";
> + status = "okay";
> +
> + ethernet-phy@7 {
> + reg = <0x7>;
> + interrupt-parent = <&pioa>;
> + interrupts = <PIN_PC1 IRQ_TYPE_LEVEL_LOW>;
> + status = "okay";
No need for status here, default is okay.
> + };
> +};
Missing blank line here.
As this are mainly cosmetics I will adjust while applying.
Thank you,
Claudiu
> &pioa {
> + pinctrl_gmac0_default: gmac0-default {
> + pinmux = <PIN_PA26__G0_TX0>,
> + <PIN_PA27__G0_TX1>,
> + <PIN_PB4__G0_TX2>,
> + <PIN_PB5__G0_TX3>,
> + <PIN_PA29__G0_RX0>,
> + <PIN_PA30__G0_RX1>,
> + <PIN_PB2__G0_RX2>,
> + <PIN_PB6__G0_RX3>,
> + <PIN_PA25__G0_TXCTL>,
> + <PIN_PB3__G0_RXCK>,
> + <PIN_PA28__G0_RXCTL>;
> + slew-rate = <0>;
> + bias-disable;
> + };
> +
> + pinctrl_gmac0_mdio_default: gmac0-mdio-default {
> + pinmux = <PIN_PA31__G0_MDC>,
> + <PIN_PB0__G0_MDIO>;
> + bias-disable;
> + };
> +
> + pinctrl_gmac0_phy_irq: gmac0-phy-irq {
> + pinmux = <PIN_PC1__GPIO>;
> + bias-disable;
> + };
> +
> + pinctrl_gmac0_txck_default: gmac0-txck-default {
> + pinmux = <PIN_PB1__G0_REFCK>;
> + slew-rate = <0>;
> + bias-pull-up;
> + };
> +
> pinctrl_i2c10_default: i2c10-default{
> pinmux = <PIN_PB19__FLEXCOM10_IO1>,
> <PIN_PB20__FLEXCOM10_IO0>;
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
` (3 preceding siblings ...)
2025-04-01 16:13 ` [PATCH 4/6] ARM: dts: microchip: sama7d65: Enable GMAC interface Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-11 14:30 ` Claudiu Beznea
2025-04-01 16:13 ` [PATCH 6/6] ARM: dts: microchip: sama7d65_curiosity: add EEPROM Ryan.Wanner
2025-04-27 13:44 ` [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Claudiu Beznea
6 siblings, 1 reply; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add MCP16502 to the sama7d65_curiosity board to control voltages in the
MPU. The device is connected to twi 10 interface
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../dts/microchip/at91-sama7d65_curiosity.dts | 135 ++++++++++++++++++
1 file changed, 135 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
index 441370dbb4c2..81abc387112d 100644
--- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
+++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
@@ -30,6 +30,15 @@ memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
};
+
+ reg_5v: regulator-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "5V_MAIN";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
};
&dma0 {
@@ -99,6 +108,132 @@ channel@4 {
label = "VDDCPU";
};
};
+
+ pmic@5b {
+ compatible = "microchip,mcp16502";
+ reg = <0x5b>;
+ lvin-supply = <®_5v>;
+ pvin1-supply = <®_5v>;
+ pvin2-supply = <®_5v>;
+ pvin3-supply = <®_5v>;
+ pvin4-supply = <®_5v>;
+ status = "okay";
+
+ regulators {
+ vdd_3v3: VDD_IO {
+ regulator-name = "VDD_IO";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-initial-mode = <2>;
+ regulator-allowed-modes = <2>, <4>;
+ regulator-always-on;
+
+ regulator-state-standby {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ regulator-mode = <4>;
+ };
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-mode = <4>;
+ };
+ };
+
+ vddioddr: VDD_DDR {
+ regulator-name = "VDD_DDR";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-initial-mode = <2>;
+ regulator-allowed-modes = <2>, <4>;
+ regulator-always-on;
+
+ regulator-state-standby {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1350000>;
+ regulator-mode = <4>;
+ };
+
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1350000>;
+ regulator-mode = <4>;
+ };
+ };
+
+ vddcore: VDD_CORE {
+ regulator-name = "VDD_CORE";
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-initial-mode = <2>;
+ regulator-allowed-modes = <2>, <4>;
+ regulator-always-on;
+
+ regulator-state-standby {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1050000>;
+ regulator-mode = <4>;
+ };
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-mode = <4>;
+ };
+ };
+
+ vddcpu: VDD_OTHER {
+ regulator-name = "VDD_OTHER";
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1250000>;
+ regulator-initial-mode = <2>;
+ regulator-allowed-modes = <2>, <4>;
+ regulator-ramp-delay = <3125>;
+ regulator-always-on;
+
+ regulator-state-standby {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1050000>;
+ regulator-mode = <4>;
+ };
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ regulator-mode = <4>;
+ };
+ };
+
+ vldo1: LDO1 {
+ regulator-name = "LDO1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+
+ regulator-state-standby {
+ regulator-suspend-microvolt = <1800000>;
+ regulator-on-in-suspend;
+ };
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vldo2: LDO2 {
+ regulator-name = "LDO2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3700000>;
+
+ regulator-state-standby {
+ regulator-suspend-microvolt = <1800000>;
+ regulator-on-in-suspend;
+ };
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+ };
+ };
};
&main_xtal {
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
2025-04-01 16:13 ` [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity Ryan.Wanner
@ 2025-04-11 14:30 ` Claudiu Beznea
[not found] ` <af92ffff-f900-4f29-8d26-2516a3c91805@microchip.com>
0 siblings, 1 reply; 14+ messages in thread
From: Claudiu Beznea @ 2025-04-11 14:30 UTC (permalink / raw)
To: Ryan.Wanner, andrew+netdev, davem, edumazet, kuba, pabeni, robh,
krzk+dt, onor+dt, alexandre.belloni
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel
Hi, Ryan,
On 01.04.2025 19:13, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add MCP16502 to the sama7d65_curiosity board to control voltages in the
> MPU. The device is connected to twi 10 interface
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../dts/microchip/at91-sama7d65_curiosity.dts | 135 ++++++++++++++++++
> 1 file changed, 135 insertions(+)
>
> diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> index 441370dbb4c2..81abc387112d 100644
> --- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> @@ -30,6 +30,15 @@ memory@60000000 {
> device_type = "memory";
> reg = <0x60000000 0x40000000>;
> };
> +
> + reg_5v: regulator-5v {
> + compatible = "regulator-fixed";
> + regulator-name = "5V_MAIN";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + };
> +
> };
>
> &dma0 {
> @@ -99,6 +108,132 @@ channel@4 {
> label = "VDDCPU";
> };
> };
> +
> + pmic@5b {
> + compatible = "microchip,mcp16502";
> + reg = <0x5b>;
> + lvin-supply = <®_5v>;
> + pvin1-supply = <®_5v>;
> + pvin2-supply = <®_5v>;
> + pvin3-supply = <®_5v>;
> + pvin4-supply = <®_5v>;
> + status = "okay";
> +
> + regulators {
> + vdd_3v3: VDD_IO {
> + regulator-name = "VDD_IO";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-initial-mode = <2>;
> + regulator-allowed-modes = <2>, <4>;
> + regulator-always-on;
> +
> + regulator-state-standby {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <3300000>;
> + regulator-mode = <4>;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-mode = <4>;
> + };
> + };
> +
> + vddioddr: VDD_DDR {
> + regulator-name = "VDD_DDR";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-initial-mode = <2>;
> + regulator-allowed-modes = <2>, <4>;
> + regulator-always-on;
> +
> + regulator-state-standby {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1350000>;
> + regulator-mode = <4>;
> + };
> +
> + regulator-state-mem {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1350000>;
> + regulator-mode = <4>;
> + };
> + };
> +
> + vddcore: VDD_CORE {
> + regulator-name = "VDD_CORE";
> + regulator-min-microvolt = <1050000>;
> + regulator-max-microvolt = <1050000>;
> + regulator-initial-mode = <2>;
> + regulator-allowed-modes = <2>, <4>;
> + regulator-always-on;
> +
> + regulator-state-standby {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1050000>;
> + regulator-mode = <4>;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-mode = <4>;
> + };
> + };
> +
> + vddcpu: VDD_OTHER {
> + regulator-name = "VDD_OTHER";
> + regulator-min-microvolt = <1050000>;
> + regulator-max-microvolt = <1250000>;
> + regulator-initial-mode = <2>;
> + regulator-allowed-modes = <2>, <4>;
> + regulator-ramp-delay = <3125>;
> + regulator-always-on;
> +
> + regulator-state-standby {
> + regulator-on-in-suspend;
> + regulator-suspend-microvolt = <1050000>;
> + regulator-mode = <4>;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + regulator-mode = <4>;
> + };
> + };
> +
> + vldo1: LDO1 {
> + regulator-name = "LDO1";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> +
> + regulator-state-standby {
> + regulator-suspend-microvolt = <1800000>;
> + regulator-on-in-suspend;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + vldo2: LDO2 {
> + regulator-name = "LDO2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <3700000>;
> +
> + regulator-state-standby {
> + regulator-suspend-microvolt = <1800000>;
I can't find the schematics for this board. Is there a reason for keeping
this @1.8V in suspend?
Thank you,
Claudiu
> + regulator-on-in-suspend;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> + };
> + };
> };
>
> &main_xtal {
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 6/6] ARM: dts: microchip: sama7d65_curiosity: add EEPROM
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
` (4 preceding siblings ...)
2025-04-01 16:13 ` [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity Ryan.Wanner
@ 2025-04-01 16:13 ` Ryan.Wanner
2025-04-27 13:44 ` [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Claudiu Beznea
6 siblings, 0 replies; 14+ messages in thread
From: Ryan.Wanner @ 2025-04-01 16:13 UTC (permalink / raw)
To: andrew+netdev, davem, edumazet, kuba, pabeni, robh, krzk+dt,
onor+dt, alexandre.belloni, claudiu.beznea
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
If the MAC address is not fetched and loaded by U-boot then Linux will
have to load the address. The EEPROM and nvmem-layout to describe
EUI48 MAC address regions.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../dts/microchip/at91-sama7d65_curiosity.dts | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
index 81abc387112d..779412f04a11 100644
--- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
+++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
@@ -234,6 +234,24 @@ regulator-state-mem {
};
};
};
+
+ eeprom0: eeprom@51 {
+ compatible = "microchip,24aa025e48";
+ reg = <0x51>;
+ size = <256>;
+ pagesize = <16>;
+ vcc-supply = <&vdd_3v3>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom0_eui48: eui48@fa {
+ reg = <0xfa 0x6>;
+ };
+ };
+ };
};
&main_xtal {
@@ -251,6 +269,9 @@ &pinctrl_gmac0_txck_default
phy-mode = "rgmii-id";
status = "okay";
+ nvmem-cells = <&eeprom0_eui48>;
+ nvmem-cell-names = "mac-address";
+
ethernet-phy@7 {
reg = <0x7>;
interrupt-parent = <&pioa>;
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC
2025-04-01 16:13 [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC Ryan.Wanner
` (5 preceding siblings ...)
2025-04-01 16:13 ` [PATCH 6/6] ARM: dts: microchip: sama7d65_curiosity: add EEPROM Ryan.Wanner
@ 2025-04-27 13:44 ` Claudiu Beznea
6 siblings, 0 replies; 14+ messages in thread
From: Claudiu Beznea @ 2025-04-27 13:44 UTC (permalink / raw)
To: Ryan.Wanner, andrew+netdev, davem, edumazet, kuba, pabeni, robh,
krzk+dt, onor+dt, alexandre.belloni
Cc: nicolas.ferre, netdev, devicetree, linux-kernel, linux-arm-kernel
On 01.04.2025 19:13, Ryan.Wanner@microchip.com wrote:
> ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC
> ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC
> ARM: dts: microchip: sama7d65: Enable GMAC interface
> ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
> ARM: dts: microchip: sama7d65_curiosity: add EEPROM
Applied to at91-dt, with specified adjustments, thank you!
^ permalink raw reply [flat|nested] 14+ messages in thread