* [PATCH 0/6] Enable FLEXCOMs and GMAC for SAMA7D65 SoC
@ 2025-04-01 16:13 Ryan.Wanner
2025-04-01 16:13 ` [PATCH 1/6] dt-bindings: net: cdns,macb: add sama7d65 ethernet interface Ryan.Wanner
` (6 more replies)
0 siblings, 7 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>
This patch set adds all the supported FLEXCOMs for the SAMA7D65 SoC.
This also adds the GMAC interfaces and enables GMAC0 interface for the SAMA7D65 SoC.
With the FLEXCOMs added to the SoC the MCP16502 and the MAC address
EEPROM are both added to flexcom10.
The dt-binding for USART is here [1]. And the dt-binding for DMA has
been applied here [2].
1) https://lore.kernel.org/linux-arm-kernel/20250306160318.vhPzJLjl19Vq9am9RRbuv5ddmQ6GCEND-YNvPKKtAtU@z/
2) https://lore.kernel.org/linux-arm-kernel/174065806827.367410.5368210992879330466.b4-ty@kernel.org/
Ryan Wanner (6):
dt-bindings: net: cdns,macb: add sama7d65 ethernet interface
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
.../devicetree/bindings/net/cdns,macb.yaml | 1 +
.../dts/microchip/at91-sama7d65_curiosity.dts | 207 ++++++++++++
arch/arm/boot/dts/microchip/sama7d65.dtsi | 299 ++++++++++++++++++
3 files changed, 507 insertions(+)
--
2.43.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [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
* [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
* [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
* [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
* [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 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
* 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
* 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
* 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
* Re: [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
[not found] ` <af92ffff-f900-4f29-8d26-2516a3c91805@microchip.com>
@ 2025-04-27 13:43 ` Claudiu Beznea
0 siblings, 0 replies; 14+ messages in thread
From: Claudiu Beznea @ 2025-04-27 13:43 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 14.04.2025 18:38, Ryan.Wanner@microchip.com wrote:
>>> + 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?
> Sorry this was an error on my part, there is no reason to have this
> @1.8V in suspend mode.
OK, I'll drop it while applying, thank you!
^ permalink raw reply [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
end of thread, other threads:[~2025-04-27 13:47 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-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
2025-04-01 16:13 ` [PATCH 3/6] ARM: dts: microchip: sama7d65: Add FLEXCOMs to " 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
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
2025-04-11 14:30 ` Claudiu Beznea
[not found] ` <af92ffff-f900-4f29-8d26-2516a3c91805@microchip.com>
2025-04-27 13:43 ` 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
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).