All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/8] Add support for sam9x60 curiosity board
@ 2023-02-03  3:48 ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

This series of patches is meant to address the following:
- Moving of flexcom definitions from board file to SoC file and
   some minor changes to its properties.
- Add support for the new sam9x60 curiosity board based on the
   existing sam9x60 SoC.

Changes in v5:
--------------
All the patches are accepted except the below patches which are 
updated based on the comments receied on PATCH v4,
- [PATCH v4 2/8] Updated from field and first SOB as same author.
- [PATCH v4 2/8] Added the missing compatibles for the UART.
- [PATCH v4 8/8] Fixed the dtb warnings.

Changes in v4:
--------------
- Added the missed property atmel,usart-mode in uart5
- Renamed the led label.

Changes in v3:
--------------
- Updated commit logs mentioning each author's contribution.
- Author name is updated based on the linux mainline guidelines.
- updated the description file such that sam9x60 curiosity is
  added together with sam9x60ek as an enum.
- Updated the entries in the regulator container alphabetically
  sorted.
- Added label name and node name following the guidelines.

Changes in v2:
--------------
- Added generic names for regulator node.
- Removed the #addredd-cells and #size-cells property which shows
  compilation warning.
- Removed the property "status=okay" as this is default.
- No underscores used for the pinctrl definitions and node names.
- Organised the patches in the logical way.
- Bindings are made separate patch.

Durai Manickam KR (3):
  ARM: dts: at91: sam9x60: fix spi4 node
  dt-bindings: arm: at91: Add info on sam9x60 curiosity
  ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60
    curiosity board

Manikandan Muralidharan (5):
  ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom
    functions
  ARM: dts: at91: sam9x60: move flexcom definitions
  ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
  ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
  ARM: dts: at91: sam9x60: Add missing flexcom definitions

 .../devicetree/bindings/arm/atmel-at91.yaml   |   6 +-
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/at91-sam9x60_curiosity.dts  | 501 ++++++++++++++
 arch/arm/boot/dts/at91-sam9x60ek.dts          |  50 +-
 arch/arm/boot/dts/sam9x60.dtsi                | 622 ++++++++++++++++++
 5 files changed, 1138 insertions(+), 42 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts

-- 
2.25.1


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

* [PATCH v5 0/8] Add support for sam9x60 curiosity board
@ 2023-02-03  3:48 ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

This series of patches is meant to address the following:
- Moving of flexcom definitions from board file to SoC file and
   some minor changes to its properties.
- Add support for the new sam9x60 curiosity board based on the
   existing sam9x60 SoC.

Changes in v5:
--------------
All the patches are accepted except the below patches which are 
updated based on the comments receied on PATCH v4,
- [PATCH v4 2/8] Updated from field and first SOB as same author.
- [PATCH v4 2/8] Added the missing compatibles for the UART.
- [PATCH v4 8/8] Fixed the dtb warnings.

Changes in v4:
--------------
- Added the missed property atmel,usart-mode in uart5
- Renamed the led label.

Changes in v3:
--------------
- Updated commit logs mentioning each author's contribution.
- Author name is updated based on the linux mainline guidelines.
- updated the description file such that sam9x60 curiosity is
  added together with sam9x60ek as an enum.
- Updated the entries in the regulator container alphabetically
  sorted.
- Added label name and node name following the guidelines.

Changes in v2:
--------------
- Added generic names for regulator node.
- Removed the #addredd-cells and #size-cells property which shows
  compilation warning.
- Removed the property "status=okay" as this is default.
- No underscores used for the pinctrl definitions and node names.
- Organised the patches in the logical way.
- Bindings are made separate patch.

Durai Manickam KR (3):
  ARM: dts: at91: sam9x60: fix spi4 node
  dt-bindings: arm: at91: Add info on sam9x60 curiosity
  ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60
    curiosity board

Manikandan Muralidharan (5):
  ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom
    functions
  ARM: dts: at91: sam9x60: move flexcom definitions
  ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
  ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
  ARM: dts: at91: sam9x60: Add missing flexcom definitions

 .../devicetree/bindings/arm/atmel-at91.yaml   |   6 +-
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/at91-sam9x60_curiosity.dts  | 501 ++++++++++++++
 arch/arm/boot/dts/at91-sam9x60ek.dts          |  50 +-
 arch/arm/boot/dts/sam9x60.dtsi                | 622 ++++++++++++++++++
 5 files changed, 1138 insertions(+), 42 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 1/8] ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom functions
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Fixed the label numbering of the flexcom functions so that all
13 flexcom functions of sam9x60 are in the following order when the missing
flexcom functions are added:

flx0: uart0, spi0, i2c0
flx1: uart1, spi1, i2c1
flx2: uart2, spi2, i2c2
flx3: uart3, spi3, i2c3
flx4: uart4, spi4, i2c4
flx5: uart5, spi5, i2c5
flx6: uart6, i2c6
flx7: uart7, i2c7
flx8: uart8, i2c8
flx9: uart9, i2c9
flx10: uart10, i2c10
flx11: uart11, i2c11
flx12: uart12, i2c12

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index d929c1ba5789..cf5d786531f2 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -16,8 +16,8 @@ / {
 
 	aliases {
 		i2c0 = &i2c0;
-		i2c1 = &i2c1;
-		serial1 = &uart1;
+		i2c1 = &i2c6;
+		serial1 = &uart5;
 	};
 
 	chosen {
@@ -234,7 +234,7 @@ &flx4 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
 	status = "disabled";
 
-	spi0: spi@400 {
+	spi4: spi@400 {
 		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 		reg = <0x400 0x200>;
 		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -253,7 +253,7 @@ &flx5 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
 	status = "okay";
 
-	uart1: serial@200 {
+	uart5: serial@200 {
 		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
 		reg = <0x200 0x200>;
 		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
@@ -279,7 +279,7 @@ &flx6 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
 	status = "okay";
 
-	i2c1: i2c@600 {
+	i2c6: i2c@600 {
 		compatible = "microchip,sam9x60-i2c";
 		reg = <0x600 0x200>;
 		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -439,7 +439,7 @@ AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
 				 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
 		};
 
-		pinctrl_flx5_default: flx_uart {
+		pinctrl_flx5_default: flx5_uart {
 			atmel,pins =
 				<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
 				 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
-- 
2.25.1


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

* [PATCH v5 1/8] ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom functions
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Fixed the label numbering of the flexcom functions so that all
13 flexcom functions of sam9x60 are in the following order when the missing
flexcom functions are added:

flx0: uart0, spi0, i2c0
flx1: uart1, spi1, i2c1
flx2: uart2, spi2, i2c2
flx3: uart3, spi3, i2c3
flx4: uart4, spi4, i2c4
flx5: uart5, spi5, i2c5
flx6: uart6, i2c6
flx7: uart7, i2c7
flx8: uart8, i2c8
flx9: uart9, i2c9
flx10: uart10, i2c10
flx11: uart11, i2c11
flx12: uart12, i2c12

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index d929c1ba5789..cf5d786531f2 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -16,8 +16,8 @@ / {
 
 	aliases {
 		i2c0 = &i2c0;
-		i2c1 = &i2c1;
-		serial1 = &uart1;
+		i2c1 = &i2c6;
+		serial1 = &uart5;
 	};
 
 	chosen {
@@ -234,7 +234,7 @@ &flx4 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
 	status = "disabled";
 
-	spi0: spi@400 {
+	spi4: spi@400 {
 		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 		reg = <0x400 0x200>;
 		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -253,7 +253,7 @@ &flx5 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
 	status = "okay";
 
-	uart1: serial@200 {
+	uart5: serial@200 {
 		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
 		reg = <0x200 0x200>;
 		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
@@ -279,7 +279,7 @@ &flx6 {
 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
 	status = "okay";
 
-	i2c1: i2c@600 {
+	i2c6: i2c@600 {
 		compatible = "microchip,sam9x60-i2c";
 		reg = <0x600 0x200>;
 		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -439,7 +439,7 @@ AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
 				 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
 		};
 
-		pinctrl_flx5_default: flx_uart {
+		pinctrl_flx5_default: flx5_uart {
 			atmel,pins =
 				<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
 				 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 2/8] ARM: dts: at91: sam9x60: move flexcom definitions
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Move the flexcom definitions from board specific DTS file
to the SoC specific DTSI file for sam9x60ek.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Hari Prasath Gujulan Elango <Hari.PrasathGE@microchip.com>
[durai.manickamkr@microchip.com: Logical split-up of this patch and added
 missing UART5 compatibles]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 33 +------------------
 arch/arm/boot/dts/sam9x60.dtsi       | 49 ++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 32 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index cf5d786531f2..4ff84633dd43 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -207,15 +207,10 @@ &flx0 {
 	status = "okay";
 
 	i2c0: i2c@600 {
-		compatible = "microchip,sam9x60-i2c";
-		reg = <0x600 0x200>;
-		interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx0_default>;
-		atmel,fifo-size = <16>;
 		i2c-analog-filter;
 		i2c-digital-filter;
 		i2c-digital-filter-width-ns = <35>;
@@ -235,14 +230,8 @@ &flx4 {
 	status = "disabled";
 
 	spi4: spi@400 {
-		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
-		reg = <0x400 0x200>;
-		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
-		clock-names = "spi_clk";
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
-		atmel,fifo-size = <16>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		status = "disabled";
@@ -254,23 +243,8 @@ &flx5 {
 	status = "okay";
 
 	uart5: serial@200 {
-		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
-		reg = <0x200 0x200>;
-		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
-		interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
-		dmas = <&dma0
-			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
-			 AT91_XDMAC_DT_PERID(10))>,
-		       <&dma0
-			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
-			 AT91_XDMAC_DT_PERID(11))>;
-		dma-names = "tx", "rx";
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
-		clock-names = "usart";
-		pinctrl-0 = <&pinctrl_flx5_default>;
 		pinctrl-names = "default";
-		atmel,use-dma-rx;
-		atmel,use-dma-tx;
+		pinctrl-0 = <&pinctrl_flx5_default>;
 		status = "okay";
 	};
 };
@@ -280,15 +254,10 @@ &flx6 {
 	status = "okay";
 
 	i2c6: i2c@600 {
-		compatible = "microchip,sam9x60-i2c";
-		reg = <0x600 0x200>;
-		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx6_default>;
-		atmel,fifo-size = <16>;
 		i2c-analog-filter;
 		i2c-digital-filter;
 		i2c-digital-filter-width-ns = <35>;
diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 8f5477e307dd..ee6cc4329ae4 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -170,6 +170,16 @@ flx4: flexcom@f0000000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0000000 0x800>;
 				status = "disabled";
+
+				spi4: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					clock-names = "spi_clk";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx5: flexcom@f0004000 {
@@ -180,6 +190,27 @@ flx5: flexcom@f0004000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0004000 0x800>;
 				status = "disabled";
+
+				uart5: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					status = "disabled";
+				};
 			};
 
 			dma0: dma-controller@f0008000 {
@@ -379,6 +410,15 @@ flx6: flexcom@f8010000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8010000 0x800>;
 				status = "disabled";
+
+				i2c6: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx7: flexcom@f8014000 {
@@ -409,6 +449,15 @@ flx0: flexcom@f801c000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf801c000 0x800>;
 				status = "disabled";
+
+				i2c0: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx1: flexcom@f8020000 {
-- 
2.25.1


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

* [PATCH v5 2/8] ARM: dts: at91: sam9x60: move flexcom definitions
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Move the flexcom definitions from board specific DTS file
to the SoC specific DTSI file for sam9x60ek.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Hari Prasath Gujulan Elango <Hari.PrasathGE@microchip.com>
[durai.manickamkr@microchip.com: Logical split-up of this patch and added
 missing UART5 compatibles]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 33 +------------------
 arch/arm/boot/dts/sam9x60.dtsi       | 49 ++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 32 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index cf5d786531f2..4ff84633dd43 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -207,15 +207,10 @@ &flx0 {
 	status = "okay";
 
 	i2c0: i2c@600 {
-		compatible = "microchip,sam9x60-i2c";
-		reg = <0x600 0x200>;
-		interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx0_default>;
-		atmel,fifo-size = <16>;
 		i2c-analog-filter;
 		i2c-digital-filter;
 		i2c-digital-filter-width-ns = <35>;
@@ -235,14 +230,8 @@ &flx4 {
 	status = "disabled";
 
 	spi4: spi@400 {
-		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
-		reg = <0x400 0x200>;
-		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
-		clock-names = "spi_clk";
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
-		atmel,fifo-size = <16>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		status = "disabled";
@@ -254,23 +243,8 @@ &flx5 {
 	status = "okay";
 
 	uart5: serial@200 {
-		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
-		reg = <0x200 0x200>;
-		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
-		interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
-		dmas = <&dma0
-			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
-			 AT91_XDMAC_DT_PERID(10))>,
-		       <&dma0
-			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
-			 AT91_XDMAC_DT_PERID(11))>;
-		dma-names = "tx", "rx";
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
-		clock-names = "usart";
-		pinctrl-0 = <&pinctrl_flx5_default>;
 		pinctrl-names = "default";
-		atmel,use-dma-rx;
-		atmel,use-dma-tx;
+		pinctrl-0 = <&pinctrl_flx5_default>;
 		status = "okay";
 	};
 };
@@ -280,15 +254,10 @@ &flx6 {
 	status = "okay";
 
 	i2c6: i2c@600 {
-		compatible = "microchip,sam9x60-i2c";
-		reg = <0x600 0x200>;
-		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx6_default>;
-		atmel,fifo-size = <16>;
 		i2c-analog-filter;
 		i2c-digital-filter;
 		i2c-digital-filter-width-ns = <35>;
diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 8f5477e307dd..ee6cc4329ae4 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -170,6 +170,16 @@ flx4: flexcom@f0000000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0000000 0x800>;
 				status = "disabled";
+
+				spi4: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					clock-names = "spi_clk";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx5: flexcom@f0004000 {
@@ -180,6 +190,27 @@ flx5: flexcom@f0004000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0004000 0x800>;
 				status = "disabled";
+
+				uart5: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					status = "disabled";
+				};
 			};
 
 			dma0: dma-controller@f0008000 {
@@ -379,6 +410,15 @@ flx6: flexcom@f8010000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8010000 0x800>;
 				status = "disabled";
+
+				i2c6: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx7: flexcom@f8014000 {
@@ -409,6 +449,15 @@ flx0: flexcom@f801c000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf801c000 0x800>;
 				status = "disabled";
+
+				i2c0: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx1: flexcom@f8020000 {
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 3/8] ARM: dts: at91: sam9x60: fix spi4 node
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

The ranges, #address-cells and #size-cells properties are not required,
remove them from the spi4 node.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index 4ff84633dd43..6b6391d5041e 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -232,8 +232,6 @@ &flx4 {
 	spi4: spi@400 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		status = "disabled";
 	};
 };
-- 
2.25.1


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

* [PATCH v5 3/8] ARM: dts: at91: sam9x60: fix spi4 node
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

The ranges, #address-cells and #size-cells properties are not required,
remove them from the spi4 node.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index 4ff84633dd43..6b6391d5041e 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -232,8 +232,6 @@ &flx4 {
 	spi4: spi@400 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		status = "disabled";
 	};
 };
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 4/8] ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

The UART submodule in Flexcom has 16-byte Transmit and Receive FIFOs.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/sam9x60.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index ee6cc4329ae4..1e401a919f56 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -209,6 +209,7 @@ AT91_XDMAC_DT_PER_IF(1) |
 					clock-names = "usart";
 					atmel,use-dma-rx;
 					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
 			};
-- 
2.25.1


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

* [PATCH v5 4/8] ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

The UART submodule in Flexcom has 16-byte Transmit and Receive FIFOs.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/sam9x60.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index ee6cc4329ae4..1e401a919f56 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -209,6 +209,7 @@ AT91_XDMAC_DT_PER_IF(1) |
 					clock-names = "usart";
 					atmel,use-dma-rx;
 					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
 			};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 5/8] ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Add dma bindings for flexcom nodes in the soc dtsi file. Users those who
don't wish to use the DMA function for their flexcom functions can
overwrite the dma bindings in the board device tree file.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
[durai.manickamkr@microchip.com: fixed code indentation and updated commit log]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts |  3 +++
 arch/arm/boot/dts/sam9x60.dtsi       | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index 6b6391d5041e..180e4b1aa2f6 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -209,6 +209,7 @@ &flx0 {
 	i2c0: i2c@600 {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx0_default>;
 		i2c-analog-filter;
@@ -230,6 +231,7 @@ &flx4 {
 	status = "disabled";
 
 	spi4: spi@400 {
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
 		status = "disabled";
@@ -254,6 +256,7 @@ &flx6 {
 	i2c6: i2c@600 {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx6_default>;
 		i2c-analog-filter;
diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 1e401a919f56..8442971458e4 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -177,6 +177,15 @@ spi4: spi@400 {
 					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
@@ -417,6 +426,15 @@ i2c6: i2c@600 {
 					reg = <0x600 0x200>;
 					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(12))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(13))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
@@ -456,6 +474,15 @@ i2c0: i2c@600 {
 					reg = <0x600 0x200>;
 					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
-- 
2.25.1


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

* [PATCH v5 5/8] ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Add dma bindings for flexcom nodes in the soc dtsi file. Users those who
don't wish to use the DMA function for their flexcom functions can
overwrite the dma bindings in the board device tree file.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
[durai.manickamkr@microchip.com: fixed code indentation and updated commit log]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts |  3 +++
 arch/arm/boot/dts/sam9x60.dtsi       | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index 6b6391d5041e..180e4b1aa2f6 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -209,6 +209,7 @@ &flx0 {
 	i2c0: i2c@600 {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx0_default>;
 		i2c-analog-filter;
@@ -230,6 +231,7 @@ &flx4 {
 	status = "disabled";
 
 	spi4: spi@400 {
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx4_default>;
 		status = "disabled";
@@ -254,6 +256,7 @@ &flx6 {
 	i2c6: i2c@600 {
 		#address-cells = <1>;
 		#size-cells = <0>;
+		dmas = <0>, <0>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_flx6_default>;
 		i2c-analog-filter;
diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 1e401a919f56..8442971458e4 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -177,6 +177,15 @@ spi4: spi@400 {
 					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
 					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
@@ -417,6 +426,15 @@ i2c6: i2c@600 {
 					reg = <0x600 0x200>;
 					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(12))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(13))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
@@ -456,6 +474,15 @@ i2c0: i2c@600 {
 					reg = <0x600 0x200>;
 					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Added the missing flexcom functions for all the flexcom nodes.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
[durai.manickamkr@microchip.com: added missing UART compatibles]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
 1 file changed, 545 insertions(+)

diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 8442971458e4..91225f0fb984 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
 				ranges = <0x0 0xf0000000 0x800>;
 				status = "disabled";
 
+				uart4: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				spi4: spi@400 {
 					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 					reg = <0x400 0x200>;
@@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
+
+				i2c4: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx5: flexcom@f0004000 {
@@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
+
+				spi5: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c5: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			dma0: dma-controller@f0008000 {
@@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0020000 0x800>;
 				status = "disabled";
+
+				uart11: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(22))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(23))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c11: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(22))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(23))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx12: flexcom@f0024000 {
@@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0024000 0x800>;
 				status = "disabled";
+
+				uart12: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(24))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(25))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c12: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(24))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(25))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			pit64b: timer@f0028000 {
@@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
 				ranges = <0x0 0xf8010000 0x800>;
 				status = "disabled";
 
+				uart6: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(12))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(13))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				i2c6: i2c@600 {
 					compatible = "microchip,sam9x60-i2c";
 					reg = <0x600 0x200>;
@@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8014000 0x800>;
 				status = "disabled";
+
+				uart7: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(14))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(15))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c7: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(14))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(15))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx8: flexcom@f8018000 {
@@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8018000 0x800>;
 				status = "disabled";
+
+				uart8: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(16))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(17))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c8: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(16))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(17))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx0: flexcom@f801c000 {
@@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
 				ranges = <0x0 0xf801c000 0x800>;
 				status = "disabled";
 
+				uart0: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi0: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				i2c0: i2c@600 {
 					compatible = "microchip,sam9x60-i2c";
 					reg = <0x600 0x200>;
@@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8020000 0x800>;
 				status = "disabled";
+
+				uart1: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi1: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c1: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx2: flexcom@f8024000 {
@@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8024000 0x800>;
 				status = "disabled";
+
+				uart2: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi2: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c2: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx3: flexcom@f8028000 {
@@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8028000 0x800>;
 				status = "disabled";
+
+				uart3: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi3: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c3: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			macb0: ethernet@f802c000 {
@@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8040000 0x800>;
 				status = "disabled";
+
+				uart9: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(18))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(19))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c9: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(18))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(19))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx10: flexcom@f8044000 {
@@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8044000 0x800>;
 				status = "disabled";
+
+				uart10: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(20))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(21))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c10: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(20))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(21))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			isi: isi@f8048000 {
-- 
2.25.1


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

* [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

From: Manikandan Muralidharan <manikandan.m@microchip.com>

Added the missing flexcom functions for all the flexcom nodes.

Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
[durai.manickamkr@microchip.com: added missing UART compatibles]
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
 1 file changed, 545 insertions(+)

diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
index 8442971458e4..91225f0fb984 100644
--- a/arch/arm/boot/dts/sam9x60.dtsi
+++ b/arch/arm/boot/dts/sam9x60.dtsi
@@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
 				ranges = <0x0 0xf0000000 0x800>;
 				status = "disabled";
 
+				uart4: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				spi4: spi@400 {
 					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
 					reg = <0x400 0x200>;
@@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
+
+				i2c4: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(8))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(9))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx5: flexcom@f0004000 {
@@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
 					atmel,fifo-size = <16>;
 					status = "disabled";
 				};
+
+				spi5: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c5: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(10))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(11))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			dma0: dma-controller@f0008000 {
@@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0020000 0x800>;
 				status = "disabled";
+
+				uart11: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(22))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(23))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c11: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(22))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(23))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx12: flexcom@f0024000 {
@@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf0024000 0x800>;
 				status = "disabled";
+
+				uart12: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(24))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(25))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c12: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(24))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(25))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			pit64b: timer@f0028000 {
@@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
 				ranges = <0x0 0xf8010000 0x800>;
 				status = "disabled";
 
+				uart6: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(12))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(13))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				i2c6: i2c@600 {
 					compatible = "microchip,sam9x60-i2c";
 					reg = <0x600 0x200>;
@@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8014000 0x800>;
 				status = "disabled";
+
+				uart7: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(14))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(15))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c7: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(14))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(15))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx8: flexcom@f8018000 {
@@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8018000 0x800>;
 				status = "disabled";
+
+				uart8: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(16))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(17))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c8: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(16))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(17))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx0: flexcom@f801c000 {
@@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
 				ranges = <0x0 0xf801c000 0x800>;
 				status = "disabled";
 
+				uart0: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi0: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(0))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(1))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
 				i2c0: i2c@600 {
 					compatible = "microchip,sam9x60-i2c";
 					reg = <0x600 0x200>;
@@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8020000 0x800>;
 				status = "disabled";
+
+				uart1: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi1: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c1: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(2))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(3))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx2: flexcom@f8024000 {
@@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8024000 0x800>;
 				status = "disabled";
+
+				uart2: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi2: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c2: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(4))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(5))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx3: flexcom@f8028000 {
@@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8028000 0x800>;
 				status = "disabled";
+
+				uart3: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				spi3: spi@400 {
+					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
+					reg = <0x400 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					clock-names = "spi_clk";
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c3: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(6))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(7))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			macb0: ethernet@f802c000 {
@@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8040000 0x800>;
 				status = "disabled";
+
+				uart9: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(18))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(19))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c9: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(18))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(19))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			flx10: flexcom@f8044000 {
@@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
 				#size-cells = <1>;
 				ranges = <0x0 0xf8044000 0x800>;
 				status = "disabled";
+
+				uart10: serial@200 {
+					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					reg = <0x200 0x200>;
+					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(20))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(21))>;
+					dma-names = "tx", "rx";
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
+					clock-names = "usart";
+					atmel,use-dma-rx;
+					atmel,use-dma-tx;
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
+
+				i2c10: i2c@600 {
+					compatible = "microchip,sam9x60-i2c";
+					reg = <0x600 0x200>;
+					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
+					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
+					dmas = <&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(20))>,
+						<&dma0
+						(AT91_XDMAC_DT_MEM_IF(0) |
+						 AT91_XDMAC_DT_PER_IF(1) |
+						 AT91_XDMAC_DT_PERID(21))>;
+					dma-names = "tx", "rx";
+					atmel,fifo-size = <16>;
+					status = "disabled";
+				};
 			};
 
 			isi: isi@f8048000 {
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
description yaml file.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
index 2224b18801a1..dfb8fd089197 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -91,9 +91,11 @@ properties:
           - const: atmel,sama5d2
           - const: atmel,sama5
 
-      - description: SAM9X60-EK board
+      - description: Microchip SAM9X60 Evaluation Boards
         items:
-          - const: microchip,sam9x60ek
+          - enum:
+              - microchip,sam9x60ek
+              - microchip,sam9x60-curiosity
           - const: microchip,sam9x60
           - const: atmel,at91sam9
 
-- 
2.25.1


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

* [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
description yaml file.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
index 2224b18801a1..dfb8fd089197 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -91,9 +91,11 @@ properties:
           - const: atmel,sama5d2
           - const: atmel,sama5
 
-      - description: SAM9X60-EK board
+      - description: Microchip SAM9X60 Evaluation Boards
         items:
-          - const: microchip,sam9x60ek
+          - enum:
+              - microchip,sam9x60ek
+              - microchip,sam9x60-curiosity
           - const: microchip,sam9x60
           - const: atmel,at91sam9
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
  2023-02-03  3:48 ` Durai Manickam KR
@ 2023-02-03  3:48   ` Durai Manickam KR
  -1 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

Add device tree file for sam9x60 curiosity board.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/Makefile                   |   1 +
 arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
 2 files changed, 502 insertions(+)
 create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 6aa7dc4db2fc..da20980384c4 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
 	at91sam9x25ek.dtb \
 	at91sam9x35ek.dtb
 dtb-$(CONFIG_SOC_SAM9X60) += \
+	at91-sam9x60_curiosity.dtb \
 	at91-sam9x60ek.dtb
 dtb-$(CONFIG_SOC_SAM_V7) += \
 	at91-kizbox2-2.dtb \
diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
new file mode 100644
index 000000000000..6f0a6d9841fc
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
@@ -0,0 +1,501 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
+ *
+ * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
+ *
+ * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
+ */
+/dts-v1/;
+#include "sam9x60.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Microchip SAM9X60 Curiosity";
+	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
+
+	aliases {
+		i2c0 = &i2c0;
+		i2c1 = &i2c6;
+		serial2 = &uart7;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@20000000 {
+		reg = <0x20000000 0x8000000>;
+	};
+
+	clocks {
+		slow_xtal {
+			clock-frequency = <32768>;
+		};
+
+		main_xtal {
+			clock-frequency = <24000000>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_key_gpio_default>;
+
+		button-user {
+			label = "PB_USER";
+			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_PROG1>;
+			wakeup-source;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
+
+		led-red {
+			label = "red";
+			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
+		};
+
+		led-green {
+			label = "green";
+			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
+		};
+
+		led-blue {
+			label = "blue";
+			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+
+	vdd_1v8: regulator-0 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <1800000>;
+		regulator-min-microvolt = <1800000>;
+		regulator-name = "VDD_1V8";
+	};
+
+	vdd_1v15: regulator-1 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <1150000>;
+		regulator-min-microvolt = <1150000>;
+		regulator-name = "VDD_1V15";
+	};
+
+	vdd1_3v3: regulator-2 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <3300000>;
+		regulator-min-microvolt = <3300000>;
+		regulator-name = "VDD1_3V3";
+	};
+};
+
+&adc {
+	vddana-supply = <&vdd1_3v3>;
+	vref-supply = <&vdd1_3v3>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
+	status = "okay";
+};
+
+&can0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can0_rx_tx>;
+	status = "disabled"; /* Conflict with dbgu. */
+};
+
+&can1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can1_rx_tx>;
+	status = "okay";
+};
+
+&dbgu {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_dbgu>;
+	status = "okay"; /* Conflict with can0. */
+};
+
+&ebi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
+	status = "okay";
+
+	nand_controller: nand-controller {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
+		status = "okay";
+
+		nand@3 {
+			reg = <0x3 0x0 0x800000>;
+			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
+			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
+			nand-bus-width = <8>;
+			nand-ecc-mode = "hw";
+			nand-ecc-strength = <8>;
+			nand-ecc-step-size = <512>;
+			nand-on-flash-bbt;
+			label = "atmel_nand";
+
+			partitions {
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				at91bootstrap@0 {
+					label = "at91bootstrap";
+					reg = <0x0 0x40000>;
+				};
+
+				uboot@40000 {
+					label = "u-boot";
+					reg = <0x40000 0xc0000>;
+				};
+
+				ubootenvred@100000 {
+					label = "U-Boot Env Redundant";
+					reg = <0x100000 0x40000>;
+				};
+
+				ubootenv@140000 {
+					label = "U-Boot Env";
+					reg = <0x140000 0x40000>;
+				};
+
+				dtb@180000 {
+					label = "device tree";
+					reg = <0x180000 0x80000>;
+				};
+
+				kernel@200000 {
+					label = "kernel";
+					reg = <0x200000 0x600000>;
+				};
+
+				rootfs@800000 {
+					label = "rootfs";
+					reg = <0x800000 0x1f800000>;
+				};
+			};
+		};
+	};
+};
+
+&flx0 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
+	status = "okay";
+
+	i2c0: i2c@600 {
+		dmas = <0>, <0>;
+		pinctrl-names = "default";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pinctrl_flx0_default>;
+		i2c-analog-filter;
+		i2c-digital-filter;
+		i2c-digital-filter-width-ns = <35>;
+		status = "okay";
+
+		eeprom@53 {
+			compatible = "atmel,24c02";
+			reg = <0x53>;
+			pagesize = <16>;
+		};
+	};
+};
+
+&flx6 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
+	status = "okay";
+
+	i2c6: i2c@600 {
+		dmas = <0>, <0>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_flx6_default>;
+		i2c-analog-filter;
+		i2c-digital-filter;
+		i2c-digital-filter-width-ns = <35>;
+		status = "disabled";
+	};
+};
+
+&flx7 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
+	status = "okay";
+
+	uart7: serial@200 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_flx7_default>;
+		status = "okay";
+	};
+};
+
+&macb0 {
+	phy-mode = "rmii";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_macb0_rmii>;
+	status = "okay";
+
+	ethernet-phy@0 {
+		reg = <0x0>;
+	};
+};
+
+&pinctrl {
+	adc {
+		pinctrl_adc_default: adc-default {
+			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_adtrg_default: adtrg-default {
+			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
+		};
+	};
+
+	can0 {
+		pinctrl_can0_rx_tx: can0-rx-tx {
+			atmel,pins =
+				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
+				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
+				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
+		};
+	};
+
+	can1 {
+		pinctrl_can1_rx_tx: can1-rx-tx {
+			atmel,pins =
+				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
+				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
+				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
+		};
+	};
+
+	dbgu {
+		pinctrl_dbgu: dbgu-0 {
+			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+		};
+	};
+
+	ebi {
+		pinctrl_ebi_data_lsb: ebi-data-lsb {
+			atmel,pins =
+				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+
+		pinctrl_ebi_addr_nand: ebi-addr-nand {
+			atmel,pins =
+				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+	};
+
+	flexcom {
+		pinctrl_flx0_default: flx0-twi {
+			atmel,pins =
+				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_flx6_default: flx6-twi {
+			atmel,pins =
+				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_flx7_default: flx7-usart {
+			atmel,pins =
+				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
+				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
+		};
+	};
+
+	gpio-keys {
+		pinctrl_key_gpio_default: pinctrl-key-gpio {
+			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	leds {
+		pinctrl_gpio_leds: gpio-leds {
+			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	macb0 {
+		pinctrl_macb0_rmii: macb0-rmii-0 {
+			atmel,pins =
+				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
+				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
+				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
+				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
+				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
+				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
+				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
+				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
+				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
+				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
+		};
+	};
+
+	nand {
+		pinctrl_nand_oe_we: nand-oe-we-0 {
+			atmel,pins =
+				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+
+		pinctrl_nand_rb: nand-rb-0 {
+			atmel,pins =
+				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_nand_cs: nand-cs-0 {
+			atmel,pins =
+				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+		};
+	};
+
+	pwm0 {
+		pinctrl_pwm0_0: pwm0-0 {
+			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_pwm0_1: pwm0-1 {
+			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_pwm0_2: pwm0-2 {
+			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+	};
+
+	sdmmc0 {
+		pinctrl_sdmmc0_default: sdmmc0 {
+			atmel,pins =
+				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
+				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
+				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
+				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
+				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
+				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
+		};
+		pinctrl_sdmmc0_cd: sdmmc0-cd {
+			atmel,pins =
+				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	sdmmc1 {
+		pinctrl_sdmmc1_default: sdmmc1 {
+			atmel,pins =
+				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
+				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
+				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
+				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
+				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
+				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
+		};
+	};
+
+	usb0 {
+		pinctrl_usba_vbus: usba-vbus {
+			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	usb1 {
+		pinctrl_usb_default: usb-default {
+			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+}; /* pinctrl */
+
+&pwm0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
+	status = "okay";
+};
+
+&sdmmc0 {
+	bus-width = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
+	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
+	disable-wp;
+	status = "okay";
+};
+
+&sdmmc1 {
+	bus-width = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sdmmc1_default>;
+	status = "disabled";
+};
+
+&shutdown_controller {
+	debounce-delay-us = <976>;
+	status = "okay";
+
+	input@0 {
+		reg = <0>;
+	};
+};
+
+&tcb0 {
+	timer0: timer@0 {
+		compatible = "atmel,tcb-timer";
+		reg = <0>;
+	};
+
+	timer1: timer@1 {
+		compatible = "atmel,tcb-timer";
+		reg = <1>;
+	};
+};
+
+&usb0 {
+	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usba_vbus>;
+	status = "okay";
+};
+
+&usb1 {
+	num-ports = <3>;
+	atmel,vbus-gpio = <0
+			   &pioD 18 GPIO_ACTIVE_HIGH
+			   &pioD 15 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usb_default>;
+	status = "okay";
+};
+
+&usb2 {
+	status = "okay";
+};
+
+&watchdog {
+	status = "okay";
+};
-- 
2.25.1


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

* [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
@ 2023-02-03  3:48   ` Durai Manickam KR
  0 siblings, 0 replies; 40+ messages in thread
From: Durai Manickam KR @ 2023-02-03  3:48 UTC (permalink / raw)
  To: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray
  Cc: Durai Manickam KR

Add device tree file for sam9x60 curiosity board.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/Makefile                   |   1 +
 arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
 2 files changed, 502 insertions(+)
 create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 6aa7dc4db2fc..da20980384c4 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
 	at91sam9x25ek.dtb \
 	at91sam9x35ek.dtb
 dtb-$(CONFIG_SOC_SAM9X60) += \
+	at91-sam9x60_curiosity.dtb \
 	at91-sam9x60ek.dtb
 dtb-$(CONFIG_SOC_SAM_V7) += \
 	at91-kizbox2-2.dtb \
diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
new file mode 100644
index 000000000000..6f0a6d9841fc
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
@@ -0,0 +1,501 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
+ *
+ * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
+ *
+ * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
+ */
+/dts-v1/;
+#include "sam9x60.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Microchip SAM9X60 Curiosity";
+	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
+
+	aliases {
+		i2c0 = &i2c0;
+		i2c1 = &i2c6;
+		serial2 = &uart7;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@20000000 {
+		reg = <0x20000000 0x8000000>;
+	};
+
+	clocks {
+		slow_xtal {
+			clock-frequency = <32768>;
+		};
+
+		main_xtal {
+			clock-frequency = <24000000>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_key_gpio_default>;
+
+		button-user {
+			label = "PB_USER";
+			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_PROG1>;
+			wakeup-source;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
+
+		led-red {
+			label = "red";
+			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
+		};
+
+		led-green {
+			label = "green";
+			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
+		};
+
+		led-blue {
+			label = "blue";
+			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+
+	vdd_1v8: regulator-0 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <1800000>;
+		regulator-min-microvolt = <1800000>;
+		regulator-name = "VDD_1V8";
+	};
+
+	vdd_1v15: regulator-1 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <1150000>;
+		regulator-min-microvolt = <1150000>;
+		regulator-name = "VDD_1V15";
+	};
+
+	vdd1_3v3: regulator-2 {
+		compatible = "regulator-fixed";
+		regulator-always-on;
+		regulator-max-microvolt = <3300000>;
+		regulator-min-microvolt = <3300000>;
+		regulator-name = "VDD1_3V3";
+	};
+};
+
+&adc {
+	vddana-supply = <&vdd1_3v3>;
+	vref-supply = <&vdd1_3v3>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
+	status = "okay";
+};
+
+&can0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can0_rx_tx>;
+	status = "disabled"; /* Conflict with dbgu. */
+};
+
+&can1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can1_rx_tx>;
+	status = "okay";
+};
+
+&dbgu {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_dbgu>;
+	status = "okay"; /* Conflict with can0. */
+};
+
+&ebi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
+	status = "okay";
+
+	nand_controller: nand-controller {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
+		status = "okay";
+
+		nand@3 {
+			reg = <0x3 0x0 0x800000>;
+			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
+			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
+			nand-bus-width = <8>;
+			nand-ecc-mode = "hw";
+			nand-ecc-strength = <8>;
+			nand-ecc-step-size = <512>;
+			nand-on-flash-bbt;
+			label = "atmel_nand";
+
+			partitions {
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				at91bootstrap@0 {
+					label = "at91bootstrap";
+					reg = <0x0 0x40000>;
+				};
+
+				uboot@40000 {
+					label = "u-boot";
+					reg = <0x40000 0xc0000>;
+				};
+
+				ubootenvred@100000 {
+					label = "U-Boot Env Redundant";
+					reg = <0x100000 0x40000>;
+				};
+
+				ubootenv@140000 {
+					label = "U-Boot Env";
+					reg = <0x140000 0x40000>;
+				};
+
+				dtb@180000 {
+					label = "device tree";
+					reg = <0x180000 0x80000>;
+				};
+
+				kernel@200000 {
+					label = "kernel";
+					reg = <0x200000 0x600000>;
+				};
+
+				rootfs@800000 {
+					label = "rootfs";
+					reg = <0x800000 0x1f800000>;
+				};
+			};
+		};
+	};
+};
+
+&flx0 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
+	status = "okay";
+
+	i2c0: i2c@600 {
+		dmas = <0>, <0>;
+		pinctrl-names = "default";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&pinctrl_flx0_default>;
+		i2c-analog-filter;
+		i2c-digital-filter;
+		i2c-digital-filter-width-ns = <35>;
+		status = "okay";
+
+		eeprom@53 {
+			compatible = "atmel,24c02";
+			reg = <0x53>;
+			pagesize = <16>;
+		};
+	};
+};
+
+&flx6 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
+	status = "okay";
+
+	i2c6: i2c@600 {
+		dmas = <0>, <0>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_flx6_default>;
+		i2c-analog-filter;
+		i2c-digital-filter;
+		i2c-digital-filter-width-ns = <35>;
+		status = "disabled";
+	};
+};
+
+&flx7 {
+	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
+	status = "okay";
+
+	uart7: serial@200 {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_flx7_default>;
+		status = "okay";
+	};
+};
+
+&macb0 {
+	phy-mode = "rmii";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_macb0_rmii>;
+	status = "okay";
+
+	ethernet-phy@0 {
+		reg = <0x0>;
+	};
+};
+
+&pinctrl {
+	adc {
+		pinctrl_adc_default: adc-default {
+			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_adtrg_default: adtrg-default {
+			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
+		};
+	};
+
+	can0 {
+		pinctrl_can0_rx_tx: can0-rx-tx {
+			atmel,pins =
+				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
+				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
+				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
+		};
+	};
+
+	can1 {
+		pinctrl_can1_rx_tx: can1-rx-tx {
+			atmel,pins =
+				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
+				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
+				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
+		};
+	};
+
+	dbgu {
+		pinctrl_dbgu: dbgu-0 {
+			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
+		};
+	};
+
+	ebi {
+		pinctrl_ebi_data_lsb: ebi-data-lsb {
+			atmel,pins =
+				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+
+		pinctrl_ebi_addr_nand: ebi-addr-nand {
+			atmel,pins =
+				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+	};
+
+	flexcom {
+		pinctrl_flx0_default: flx0-twi {
+			atmel,pins =
+				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_flx6_default: flx6-twi {
+			atmel,pins =
+				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
+				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_flx7_default: flx7-usart {
+			atmel,pins =
+				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
+				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
+		};
+	};
+
+	gpio-keys {
+		pinctrl_key_gpio_default: pinctrl-key-gpio {
+			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	leds {
+		pinctrl_gpio_leds: gpio-leds {
+			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	macb0 {
+		pinctrl_macb0_rmii: macb0-rmii-0 {
+			atmel,pins =
+				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
+				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
+				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
+				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
+				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
+				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
+				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
+				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
+				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
+				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
+		};
+	};
+
+	nand {
+		pinctrl_nand_oe_we: nand-oe-we-0 {
+			atmel,pins =
+				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
+				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
+		};
+
+		pinctrl_nand_rb: nand-rb-0 {
+			atmel,pins =
+				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+		};
+
+		pinctrl_nand_cs: nand-cs-0 {
+			atmel,pins =
+				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+		};
+	};
+
+	pwm0 {
+		pinctrl_pwm0_0: pwm0-0 {
+			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_pwm0_1: pwm0-1 {
+			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+
+		pinctrl_pwm0_2: pwm0-2 {
+			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+		};
+	};
+
+	sdmmc0 {
+		pinctrl_sdmmc0_default: sdmmc0 {
+			atmel,pins =
+				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
+				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
+				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
+				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
+				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
+				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
+		};
+		pinctrl_sdmmc0_cd: sdmmc0-cd {
+			atmel,pins =
+				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	sdmmc1 {
+		pinctrl_sdmmc1_default: sdmmc1 {
+			atmel,pins =
+				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
+				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
+				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
+				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
+				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
+				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
+		};
+	};
+
+	usb0 {
+		pinctrl_usba_vbus: usba-vbus {
+			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+
+	usb1 {
+		pinctrl_usb_default: usb-default {
+			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
+}; /* pinctrl */
+
+&pwm0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
+	status = "okay";
+};
+
+&sdmmc0 {
+	bus-width = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
+	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
+	disable-wp;
+	status = "okay";
+};
+
+&sdmmc1 {
+	bus-width = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_sdmmc1_default>;
+	status = "disabled";
+};
+
+&shutdown_controller {
+	debounce-delay-us = <976>;
+	status = "okay";
+
+	input@0 {
+		reg = <0>;
+	};
+};
+
+&tcb0 {
+	timer0: timer@0 {
+		compatible = "atmel,tcb-timer";
+		reg = <0>;
+	};
+
+	timer1: timer@1 {
+		compatible = "atmel,tcb-timer";
+		reg = <1>;
+	};
+};
+
+&usb0 {
+	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usba_vbus>;
+	status = "okay";
+};
+
+&usb1 {
+	num-ports = <3>;
+	atmel,vbus-gpio = <0
+			   &pioD 18 GPIO_ACTIVE_HIGH
+			   &pioD 15 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usb_default>;
+	status = "okay";
+};
+
+&usb2 {
+	status = "okay";
+};
+
+&watchdog {
+	status = "okay";
+};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03  8:12     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 40+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-03  8:12 UTC (permalink / raw)
  To: Durai Manickam KR, Hari.PrasathGE, balamanikandan.gunasundar,
	manikandan.m, varshini.rajendran, dharma.b, nayabbasha.sayed,
	balakrishnan.s, claudiu.beznea, cristian.birsan, nicolas.ferre,
	alexandre.belloni, davem, arnd, olof, soc, devicetree,
	linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray

On 03/02/2023 04:48, Durai Manickam KR wrote:
> Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
> description yaml file.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

This is a friendly reminder during the review process.

It looks like you received a tag and forgot to add it.

If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions. However, there's no need to repost patches *only* to add the
tags. The upstream maintainer will do that for acks received on the
version they apply.

https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540

If a tag was not added on purpose, please state why and what changed.


Best regards,
Krzysztof


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

* Re: [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
@ 2023-02-03  8:12     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 40+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-03  8:12 UTC (permalink / raw)
  To: Durai Manickam KR, Hari.PrasathGE, balamanikandan.gunasundar,
	manikandan.m, varshini.rajendran, dharma.b, nayabbasha.sayed,
	balakrishnan.s, claudiu.beznea, cristian.birsan, nicolas.ferre,
	alexandre.belloni, davem, arnd, olof, soc, devicetree,
	linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray

On 03/02/2023 04:48, Durai Manickam KR wrote:
> Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
> description yaml file.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

This is a friendly reminder during the review process.

It looks like you received a tag and forgot to add it.

If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions. However, there's no need to repost patches *only* to add the
tags. The upstream maintainer will do that for acks received on the
version they apply.

https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540

If a tag was not added on purpose, please state why and what changed.


Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:06     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:06 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> Add device tree file for sam9x60 curiosity board.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
> ---
>  arch/arm/boot/dts/Makefile                   |   1 +
>  arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
>  2 files changed, 502 insertions(+)
>  create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 6aa7dc4db2fc..da20980384c4 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>  	at91sam9x25ek.dtb \
>  	at91sam9x35ek.dtb
>  dtb-$(CONFIG_SOC_SAM9X60) += \
> +	at91-sam9x60_curiosity.dtb \
>  	at91-sam9x60ek.dtb
>  dtb-$(CONFIG_SOC_SAM_V7) += \
>  	at91-kizbox2-2.dtb \
> diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> new file mode 100644
> index 000000000000..6f0a6d9841fc
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> @@ -0,0 +1,501 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
> + *
> + * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
> + *
> + * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
> + */
> +/dts-v1/;
> +#include "sam9x60.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "Microchip SAM9X60 Curiosity";
> +	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
> +
> +	aliases {
> +		i2c0 = &i2c0;
> +		i2c1 = &i2c6;
> +		serial2 = &uart7;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@20000000 {
> +		reg = <0x20000000 0x8000000>;
> +	};
> +
> +	clocks {
> +		slow_xtal {
> +			clock-frequency = <32768>;
> +		};
> +
> +		main_xtal {
> +			clock-frequency = <24000000>;
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_key_gpio_default>;
> +
> +		button-user {
> +			label = "PB_USER";
> +			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_PROG1>;
> +			wakeup-source;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
> +
> +		led-red {
> +			label = "red";
> +			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		led-green {
> +			label = "green";
> +			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		led-blue {
> +			label = "blue";
> +			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +
> +	vdd_1v8: regulator-0 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-min-microvolt = <1800000>;
> +		regulator-name = "VDD_1V8";
> +	};
> +
> +	vdd_1v15: regulator-1 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <1150000>;
> +		regulator-min-microvolt = <1150000>;
> +		regulator-name = "VDD_1V15";
> +	};
> +
> +	vdd1_3v3: regulator-2 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-name = "VDD1_3V3";
> +	};
> +};
> +
> +&adc {
> +	vddana-supply = <&vdd1_3v3>;
> +	vref-supply = <&vdd1_3v3>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
> +	status = "okay";
> +};
> +
> +&can0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_can0_rx_tx>;
> +	status = "disabled"; /* Conflict with dbgu. */
> +};
> +
> +&can1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_can1_rx_tx>;
> +	status = "okay";
> +};
> +
> +&dbgu {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_dbgu>;
> +	status = "okay"; /* Conflict with can0. */
> +};
> +
> +&ebi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
> +	status = "okay";
> +
> +	nand_controller: nand-controller {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
> +		status = "okay";
> +
> +		nand@3 {
> +			reg = <0x3 0x0 0x800000>;
> +			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
> +			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
> +			nand-bus-width = <8>;
> +			nand-ecc-mode = "hw";
> +			nand-ecc-strength = <8>;
> +			nand-ecc-step-size = <512>;
> +			nand-on-flash-bbt;
> +			label = "atmel_nand";
> +
> +			partitions {
> +				compatible = "fixed-partitions";
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +
> +				at91bootstrap@0 {
> +					label = "at91bootstrap";
> +					reg = <0x0 0x40000>;
> +				};
> +
> +				uboot@40000 {
> +					label = "u-boot";
> +					reg = <0x40000 0xc0000>;
> +				};
> +
> +				ubootenvred@100000 {
> +					label = "U-Boot Env Redundant";
> +					reg = <0x100000 0x40000>;
> +				};
> +
> +				ubootenv@140000 {
> +					label = "U-Boot Env";
> +					reg = <0x140000 0x40000>;
> +				};
> +
> +				dtb@180000 {
> +					label = "device tree";
> +					reg = <0x180000 0x80000>;
> +				};
> +
> +				kernel@200000 {
> +					label = "kernel";
> +					reg = <0x200000 0x600000>;
> +				};
> +
> +				rootfs@800000 {
> +					label = "rootfs";
> +					reg = <0x800000 0x1f800000>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&flx0 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
> +	status = "okay";
> +
> +	i2c0: i2c@600 {
> +		dmas = <0>, <0>;
> +		pinctrl-names = "default";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pinctrl_flx0_default>;

Keep pinctrl-names and pinctrl-names close toghether.

> +		i2c-analog-filter;
> +		i2c-digital-filter;
> +		i2c-digital-filter-width-ns = <35>;
> +		status = "okay";
> +
> +		eeprom@53 {
> +			compatible = "atmel,24c02";
> +			reg = <0x53>;
> +			pagesize = <16>;
> +		};
> +	};
> +};
> +
> +&flx6 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
> +	status = "okay";
> +
> +	i2c6: i2c@600 {
> +		dmas = <0>, <0>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_flx6_default>;
> +		i2c-analog-filter;
> +		i2c-digital-filter;
> +		i2c-digital-filter-width-ns = <35>;
> +		status = "disabled";
> +	};
> +};
> +
> +&flx7 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
> +	status = "okay";
> +
> +	uart7: serial@200 {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_flx7_default>;
> +		status = "okay";
> +	};
> +};
> +
> +&macb0 {
> +	phy-mode = "rmii";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_macb0_rmii>;
> +	status = "okay";
> +
> +	ethernet-phy@0 {
> +		reg = <0x0>;
> +	};
> +};
> +
> +&pinctrl {
> +	adc {
> +		pinctrl_adc_default: adc-default {
> +			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_adtrg_default: adtrg-default {
> +			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
> +		};
> +	};
> +
> +	can0 {
> +		pinctrl_can0_rx_tx: can0-rx-tx {
> +			atmel,pins =
> +				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
> +				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
> +				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
> +		};
> +	};
> +
> +	can1 {
> +		pinctrl_can1_rx_tx: can1-rx-tx {
> +			atmel,pins =
> +				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
> +				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
> +				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
> +		};
> +	};
> +
> +	dbgu {
> +		pinctrl_dbgu: dbgu-0 {
> +			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	ebi {
> +		pinctrl_ebi_data_lsb: ebi-data-lsb {
> +			atmel,pins =
> +				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +
> +		pinctrl_ebi_addr_nand: ebi-addr-nand {
> +			atmel,pins =
> +				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +	};
> +
> +	flexcom {
> +		pinctrl_flx0_default: flx0-twi {
> +			atmel,pins =
> +				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_flx6_default: flx6-twi {
> +			atmel,pins =
> +				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_flx7_default: flx7-usart {
> +			atmel,pins =
> +				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
> +				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	gpio-keys {
> +		pinctrl_key_gpio_default: pinctrl-key-gpio {
> +			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	leds {
> +		pinctrl_gpio_leds: gpio-leds {
> +			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	macb0 {
> +		pinctrl_macb0_rmii: macb0-rmii-0 {
> +			atmel,pins =
> +				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
> +				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
> +				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
> +				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
> +				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
> +				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
> +				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
> +				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
> +				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
> +				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
> +		};
> +	};
> +
> +	nand {
> +		pinctrl_nand_oe_we: nand-oe-we-0 {
> +			atmel,pins =
> +				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +
> +		pinctrl_nand_rb: nand-rb-0 {
> +			atmel,pins =
> +				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_nand_cs: nand-cs-0 {
> +			atmel,pins =
> +				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> +		};
> +	};
> +
> +	pwm0 {
> +		pinctrl_pwm0_0: pwm0-0 {
> +			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_pwm0_1: pwm0-1 {
> +			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_pwm0_2: pwm0-2 {
> +			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	sdmmc0 {
> +		pinctrl_sdmmc0_default: sdmmc0 {> +			atmel,pins =
> +				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
> +				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
> +				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
> +				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
> +				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
> +				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
> +		};

Add a new line here

> +		pinctrl_sdmmc0_cd: sdmmc0-cd {
> +			atmel,pins =
> +				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	sdmmc1 {
> +		pinctrl_sdmmc1_default: sdmmc1 {
> +			atmel,pins =
> +				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
> +				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
> +				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
> +				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | 

There is a comment for this on previous version which was not addressed.

AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
> +				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
> +				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
> +		};
> +	};
> +
> +	usb0 {
> +		pinctrl_usba_vbus: usba-vbus {
> +			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	usb1 {
> +		pinctrl_usb_default: usb-default {
> +			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +}; /* pinctrl */
> +
> +&pwm0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
> +	status = "okay";
> +};
> +
> +&sdmmc0 {
> +	bus-width = <4>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
> +	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
> +	disable-wp;
> +	status = "okay";
> +};
> +
> +&sdmmc1 {
> +	bus-width = <4>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sdmmc1_default>;
> +	status = "disabled";
> +};

Also a comment here from previous version. As far as I know there is a
socket no board connected to sdmmc1. Why keeping it disabled?

> +
> +&shutdown_controller {
> +	debounce-delay-us = <976>;
> +	status = "okay";
> +
> +	input@0 {
> +		reg = <0>;
> +	};
> +};
> +
> +&tcb0 {
> +	timer0: timer@0 {
> +		compatible = "atmel,tcb-timer";
> +		reg = <0>;
> +	};
> +
> +	timer1: timer@1 {
> +		compatible = "atmel,tcb-timer";
> +		reg = <1>;
> +	};
> +};
> +
> +&usb0 {
> +	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usba_vbus>;
> +	status = "okay";
> +};
> +
> +&usb1 {
> +	num-ports = <3>;
> +	atmel,vbus-gpio = <0
> +			   &pioD 18 GPIO_ACTIVE_HIGH
> +			   &pioD 15 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usb_default>;
> +	status = "okay";
> +};
> +
> +&usb2 {
> +	status = "okay";
> +};
> +
> +&watchdog {
> +	status = "okay";
> +};


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

* Re: [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
@ 2023-02-03 12:06     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:06 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> Add device tree file for sam9x60 curiosity board.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
> ---
>  arch/arm/boot/dts/Makefile                   |   1 +
>  arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
>  2 files changed, 502 insertions(+)
>  create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 6aa7dc4db2fc..da20980384c4 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>  	at91sam9x25ek.dtb \
>  	at91sam9x35ek.dtb
>  dtb-$(CONFIG_SOC_SAM9X60) += \
> +	at91-sam9x60_curiosity.dtb \
>  	at91-sam9x60ek.dtb
>  dtb-$(CONFIG_SOC_SAM_V7) += \
>  	at91-kizbox2-2.dtb \
> diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> new file mode 100644
> index 000000000000..6f0a6d9841fc
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
> @@ -0,0 +1,501 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
> + *
> + * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
> + *
> + * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
> + */
> +/dts-v1/;
> +#include "sam9x60.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "Microchip SAM9X60 Curiosity";
> +	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
> +
> +	aliases {
> +		i2c0 = &i2c0;
> +		i2c1 = &i2c6;
> +		serial2 = &uart7;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@20000000 {
> +		reg = <0x20000000 0x8000000>;
> +	};
> +
> +	clocks {
> +		slow_xtal {
> +			clock-frequency = <32768>;
> +		};
> +
> +		main_xtal {
> +			clock-frequency = <24000000>;
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_key_gpio_default>;
> +
> +		button-user {
> +			label = "PB_USER";
> +			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_PROG1>;
> +			wakeup-source;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
> +
> +		led-red {
> +			label = "red";
> +			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		led-green {
> +			label = "green";
> +			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
> +		};
> +
> +		led-blue {
> +			label = "blue";
> +			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +
> +	vdd_1v8: regulator-0 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-min-microvolt = <1800000>;
> +		regulator-name = "VDD_1V8";
> +	};
> +
> +	vdd_1v15: regulator-1 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <1150000>;
> +		regulator-min-microvolt = <1150000>;
> +		regulator-name = "VDD_1V15";
> +	};
> +
> +	vdd1_3v3: regulator-2 {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-name = "VDD1_3V3";
> +	};
> +};
> +
> +&adc {
> +	vddana-supply = <&vdd1_3v3>;
> +	vref-supply = <&vdd1_3v3>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
> +	status = "okay";
> +};
> +
> +&can0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_can0_rx_tx>;
> +	status = "disabled"; /* Conflict with dbgu. */
> +};
> +
> +&can1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_can1_rx_tx>;
> +	status = "okay";
> +};
> +
> +&dbgu {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_dbgu>;
> +	status = "okay"; /* Conflict with can0. */
> +};
> +
> +&ebi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
> +	status = "okay";
> +
> +	nand_controller: nand-controller {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
> +		status = "okay";
> +
> +		nand@3 {
> +			reg = <0x3 0x0 0x800000>;
> +			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
> +			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
> +			nand-bus-width = <8>;
> +			nand-ecc-mode = "hw";
> +			nand-ecc-strength = <8>;
> +			nand-ecc-step-size = <512>;
> +			nand-on-flash-bbt;
> +			label = "atmel_nand";
> +
> +			partitions {
> +				compatible = "fixed-partitions";
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +
> +				at91bootstrap@0 {
> +					label = "at91bootstrap";
> +					reg = <0x0 0x40000>;
> +				};
> +
> +				uboot@40000 {
> +					label = "u-boot";
> +					reg = <0x40000 0xc0000>;
> +				};
> +
> +				ubootenvred@100000 {
> +					label = "U-Boot Env Redundant";
> +					reg = <0x100000 0x40000>;
> +				};
> +
> +				ubootenv@140000 {
> +					label = "U-Boot Env";
> +					reg = <0x140000 0x40000>;
> +				};
> +
> +				dtb@180000 {
> +					label = "device tree";
> +					reg = <0x180000 0x80000>;
> +				};
> +
> +				kernel@200000 {
> +					label = "kernel";
> +					reg = <0x200000 0x600000>;
> +				};
> +
> +				rootfs@800000 {
> +					label = "rootfs";
> +					reg = <0x800000 0x1f800000>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&flx0 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
> +	status = "okay";
> +
> +	i2c0: i2c@600 {
> +		dmas = <0>, <0>;
> +		pinctrl-names = "default";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		pinctrl-0 = <&pinctrl_flx0_default>;

Keep pinctrl-names and pinctrl-names close toghether.

> +		i2c-analog-filter;
> +		i2c-digital-filter;
> +		i2c-digital-filter-width-ns = <35>;
> +		status = "okay";
> +
> +		eeprom@53 {
> +			compatible = "atmel,24c02";
> +			reg = <0x53>;
> +			pagesize = <16>;
> +		};
> +	};
> +};
> +
> +&flx6 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
> +	status = "okay";
> +
> +	i2c6: i2c@600 {
> +		dmas = <0>, <0>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_flx6_default>;
> +		i2c-analog-filter;
> +		i2c-digital-filter;
> +		i2c-digital-filter-width-ns = <35>;
> +		status = "disabled";
> +	};
> +};
> +
> +&flx7 {
> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
> +	status = "okay";
> +
> +	uart7: serial@200 {
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_flx7_default>;
> +		status = "okay";
> +	};
> +};
> +
> +&macb0 {
> +	phy-mode = "rmii";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_macb0_rmii>;
> +	status = "okay";
> +
> +	ethernet-phy@0 {
> +		reg = <0x0>;
> +	};
> +};
> +
> +&pinctrl {
> +	adc {
> +		pinctrl_adc_default: adc-default {
> +			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_adtrg_default: adtrg-default {
> +			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
> +		};
> +	};
> +
> +	can0 {
> +		pinctrl_can0_rx_tx: can0-rx-tx {
> +			atmel,pins =
> +				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
> +				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
> +				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
> +		};
> +	};
> +
> +	can1 {
> +		pinctrl_can1_rx_tx: can1-rx-tx {
> +			atmel,pins =
> +				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
> +				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
> +				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
> +		};
> +	};
> +
> +	dbgu {
> +		pinctrl_dbgu: dbgu-0 {
> +			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	ebi {
> +		pinctrl_ebi_data_lsb: ebi-data-lsb {
> +			atmel,pins =
> +				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +
> +		pinctrl_ebi_addr_nand: ebi-addr-nand {
> +			atmel,pins =
> +				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +	};
> +
> +	flexcom {
> +		pinctrl_flx0_default: flx0-twi {
> +			atmel,pins =
> +				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_flx6_default: flx6-twi {
> +			atmel,pins =
> +				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
> +				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_flx7_default: flx7-usart {
> +			atmel,pins =
> +				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
> +				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	gpio-keys {
> +		pinctrl_key_gpio_default: pinctrl-key-gpio {
> +			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	leds {
> +		pinctrl_gpio_leds: gpio-leds {
> +			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	macb0 {
> +		pinctrl_macb0_rmii: macb0-rmii-0 {
> +			atmel,pins =
> +				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
> +				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
> +				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
> +				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
> +				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
> +				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
> +				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
> +				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
> +				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
> +				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
> +		};
> +	};
> +
> +	nand {
> +		pinctrl_nand_oe_we: nand-oe-we-0 {
> +			atmel,pins =
> +				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
> +				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
> +		};
> +
> +		pinctrl_nand_rb: nand-rb-0 {
> +			atmel,pins =
> +				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> +		};
> +
> +		pinctrl_nand_cs: nand-cs-0 {
> +			atmel,pins =
> +				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
> +		};
> +	};
> +
> +	pwm0 {
> +		pinctrl_pwm0_0: pwm0-0 {
> +			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_pwm0_1: pwm0-1 {
> +			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +
> +		pinctrl_pwm0_2: pwm0-2 {
> +			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	sdmmc0 {
> +		pinctrl_sdmmc0_default: sdmmc0 {> +			atmel,pins =
> +				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
> +				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
> +				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
> +				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
> +				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
> +				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
> +		};

Add a new line here

> +		pinctrl_sdmmc0_cd: sdmmc0-cd {
> +			atmel,pins =
> +				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	sdmmc1 {
> +		pinctrl_sdmmc1_default: sdmmc1 {
> +			atmel,pins =
> +				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
> +				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
> +				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
> +				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | 

There is a comment for this on previous version which was not addressed.

AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
> +				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
> +				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
> +		};
> +	};
> +
> +	usb0 {
> +		pinctrl_usba_vbus: usba-vbus {
> +			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +
> +	usb1 {
> +		pinctrl_usb_default: usb-default {
> +			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
> +}; /* pinctrl */
> +
> +&pwm0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
> +	status = "okay";
> +};
> +
> +&sdmmc0 {
> +	bus-width = <4>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
> +	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
> +	disable-wp;
> +	status = "okay";
> +};
> +
> +&sdmmc1 {
> +	bus-width = <4>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_sdmmc1_default>;
> +	status = "disabled";
> +};

Also a comment here from previous version. As far as I know there is a
socket no board connected to sdmmc1. Why keeping it disabled?

> +
> +&shutdown_controller {
> +	debounce-delay-us = <976>;
> +	status = "okay";
> +
> +	input@0 {
> +		reg = <0>;
> +	};
> +};
> +
> +&tcb0 {
> +	timer0: timer@0 {
> +		compatible = "atmel,tcb-timer";
> +		reg = <0>;
> +	};
> +
> +	timer1: timer@1 {
> +		compatible = "atmel,tcb-timer";
> +		reg = <1>;
> +	};
> +};
> +
> +&usb0 {
> +	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usba_vbus>;
> +	status = "okay";
> +};
> +
> +&usb1 {
> +	num-ports = <3>;
> +	atmel,vbus-gpio = <0
> +			   &pioD 18 GPIO_ACTIVE_HIGH
> +			   &pioD 15 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usb_default>;
> +	status = "okay";
> +};
> +
> +&usb2 {
> +	status = "okay";
> +};
> +
> +&watchdog {
> +	status = "okay";
> +};

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 1/8] ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom functions
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:07     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:07 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Fixed the label numbering of the flexcom functions so that all
> 13 flexcom functions of sam9x60 are in the following order when the missing
> flexcom functions are added:
> 
> flx0: uart0, spi0, i2c0
> flx1: uart1, spi1, i2c1
> flx2: uart2, spi2, i2c2
> flx3: uart3, spi3, i2c3
> flx4: uart4, spi4, i2c4
> flx5: uart5, spi5, i2c5
> flx6: uart6, i2c6
> flx7: uart7, i2c7
> flx8: uart8, i2c8
> flx9: uart9, i2c9
> flx10: uart10, i2c10
> flx11: uart11, i2c11
> flx12: uart12, i2c12
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index d929c1ba5789..cf5d786531f2 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -16,8 +16,8 @@ / {
>  
>  	aliases {
>  		i2c0 = &i2c0;
> -		i2c1 = &i2c1;
> -		serial1 = &uart1;
> +		i2c1 = &i2c6;
> +		serial1 = &uart5;
>  	};
>  
>  	chosen {
> @@ -234,7 +234,7 @@ &flx4 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
>  	status = "disabled";
>  
> -	spi0: spi@400 {
> +	spi4: spi@400 {
>  		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  		reg = <0x400 0x200>;
>  		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> @@ -253,7 +253,7 @@ &flx5 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
>  	status = "okay";
>  
> -	uart1: serial@200 {
> +	uart5: serial@200 {
>  		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
>  		reg = <0x200 0x200>;
>  		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> @@ -279,7 +279,7 @@ &flx6 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>  	status = "okay";
>  
> -	i2c1: i2c@600 {
> +	i2c6: i2c@600 {
>  		compatible = "microchip,sam9x60-i2c";
>  		reg = <0x600 0x200>;
>  		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> @@ -439,7 +439,7 @@ AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
>  				 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>  		};
>  
> -		pinctrl_flx5_default: flx_uart {
> +		pinctrl_flx5_default: flx5_uart {
>  			atmel,pins =
>  				<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
>  				 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE


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

* Re: [PATCH v5 1/8] ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom functions
@ 2023-02-03 12:07     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:07 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Fixed the label numbering of the flexcom functions so that all
> 13 flexcom functions of sam9x60 are in the following order when the missing
> flexcom functions are added:
> 
> flx0: uart0, spi0, i2c0
> flx1: uart1, spi1, i2c1
> flx2: uart2, spi2, i2c2
> flx3: uart3, spi3, i2c3
> flx4: uart4, spi4, i2c4
> flx5: uart5, spi5, i2c5
> flx6: uart6, i2c6
> flx7: uart7, i2c7
> flx8: uart8, i2c8
> flx9: uart9, i2c9
> flx10: uart10, i2c10
> flx11: uart11, i2c11
> flx12: uart12, i2c12
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index d929c1ba5789..cf5d786531f2 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -16,8 +16,8 @@ / {
>  
>  	aliases {
>  		i2c0 = &i2c0;
> -		i2c1 = &i2c1;
> -		serial1 = &uart1;
> +		i2c1 = &i2c6;
> +		serial1 = &uart5;
>  	};
>  
>  	chosen {
> @@ -234,7 +234,7 @@ &flx4 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
>  	status = "disabled";
>  
> -	spi0: spi@400 {
> +	spi4: spi@400 {
>  		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  		reg = <0x400 0x200>;
>  		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> @@ -253,7 +253,7 @@ &flx5 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
>  	status = "okay";
>  
> -	uart1: serial@200 {
> +	uart5: serial@200 {
>  		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
>  		reg = <0x200 0x200>;
>  		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> @@ -279,7 +279,7 @@ &flx6 {
>  	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>  	status = "okay";
>  
> -	i2c1: i2c@600 {
> +	i2c6: i2c@600 {
>  		compatible = "microchip,sam9x60-i2c";
>  		reg = <0x600 0x200>;
>  		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> @@ -439,7 +439,7 @@ AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
>  				 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>  		};
>  
> -		pinctrl_flx5_default: flx_uart {
> +		pinctrl_flx5_default: flx5_uart {
>  			atmel,pins =
>  				<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
>  				 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 2/8] ARM: dts: at91: sam9x60: move flexcom definitions
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:08     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Move the flexcom definitions from board specific DTS file
> to the SoC specific DTSI file for sam9x60ek.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Hari Prasath Gujulan Elango <Hari.PrasathGE@microchip.com>
> [durai.manickamkr@microchip.com: Logical split-up of this patch and added
>  missing UART5 compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Also, keep tags on next versions you will post.

> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 33 +------------------
>  arch/arm/boot/dts/sam9x60.dtsi       | 49 ++++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+), 32 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index cf5d786531f2..4ff84633dd43 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -207,15 +207,10 @@ &flx0 {
>  	status = "okay";
>  
>  	i2c0: i2c@600 {
> -		compatible = "microchip,sam9x60-i2c";
> -		reg = <0x600 0x200>;
> -		interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx0_default>;
> -		atmel,fifo-size = <16>;
>  		i2c-analog-filter;
>  		i2c-digital-filter;
>  		i2c-digital-filter-width-ns = <35>;
> @@ -235,14 +230,8 @@ &flx4 {
>  	status = "disabled";
>  
>  	spi4: spi@400 {
> -		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> -		reg = <0x400 0x200>;
> -		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> -		clock-names = "spi_clk";
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
> -		atmel,fifo-size = <16>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
>  		status = "disabled";
> @@ -254,23 +243,8 @@ &flx5 {
>  	status = "okay";
>  
>  	uart5: serial@200 {
> -		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> -		reg = <0x200 0x200>;
> -		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> -		interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> -		dmas = <&dma0
> -			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
> -			 AT91_XDMAC_DT_PERID(10))>,
> -		       <&dma0
> -			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
> -			 AT91_XDMAC_DT_PERID(11))>;
> -		dma-names = "tx", "rx";
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> -		clock-names = "usart";
> -		pinctrl-0 = <&pinctrl_flx5_default>;
>  		pinctrl-names = "default";
> -		atmel,use-dma-rx;
> -		atmel,use-dma-tx;
> +		pinctrl-0 = <&pinctrl_flx5_default>;
>  		status = "okay";
>  	};
>  };
> @@ -280,15 +254,10 @@ &flx6 {
>  	status = "okay";
>  
>  	i2c6: i2c@600 {
> -		compatible = "microchip,sam9x60-i2c";
> -		reg = <0x600 0x200>;
> -		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx6_default>;
> -		atmel,fifo-size = <16>;
>  		i2c-analog-filter;
>  		i2c-digital-filter;
>  		i2c-digital-filter-width-ns = <35>;
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8f5477e307dd..ee6cc4329ae4 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -170,6 +170,16 @@ flx4: flexcom@f0000000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
> +
> +				spi4: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "spi_clk";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -180,6 +190,27 @@ flx5: flexcom@f0004000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0004000 0x800>;
>  				status = "disabled";
> +
> +				uart5: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -379,6 +410,15 @@ flx6: flexcom@f8010000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
> +
> +				i2c6: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx7: flexcom@f8014000 {
> @@ -409,6 +449,15 @@ flx0: flexcom@f801c000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
> +
> +				i2c0: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx1: flexcom@f8020000 {


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

* Re: [PATCH v5 2/8] ARM: dts: at91: sam9x60: move flexcom definitions
@ 2023-02-03 12:08     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Move the flexcom definitions from board specific DTS file
> to the SoC specific DTSI file for sam9x60ek.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Hari Prasath Gujulan Elango <Hari.PrasathGE@microchip.com>
> [durai.manickamkr@microchip.com: Logical split-up of this patch and added
>  missing UART5 compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Also, keep tags on next versions you will post.

> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 33 +------------------
>  arch/arm/boot/dts/sam9x60.dtsi       | 49 ++++++++++++++++++++++++++++
>  2 files changed, 50 insertions(+), 32 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index cf5d786531f2..4ff84633dd43 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -207,15 +207,10 @@ &flx0 {
>  	status = "okay";
>  
>  	i2c0: i2c@600 {
> -		compatible = "microchip,sam9x60-i2c";
> -		reg = <0x600 0x200>;
> -		interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx0_default>;
> -		atmel,fifo-size = <16>;
>  		i2c-analog-filter;
>  		i2c-digital-filter;
>  		i2c-digital-filter-width-ns = <35>;
> @@ -235,14 +230,8 @@ &flx4 {
>  	status = "disabled";
>  
>  	spi4: spi@400 {
> -		compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> -		reg = <0x400 0x200>;
> -		interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> -		clock-names = "spi_clk";
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
> -		atmel,fifo-size = <16>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
>  		status = "disabled";
> @@ -254,23 +243,8 @@ &flx5 {
>  	status = "okay";
>  
>  	uart5: serial@200 {
> -		compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> -		reg = <0x200 0x200>;
> -		atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> -		interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> -		dmas = <&dma0
> -			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
> -			 AT91_XDMAC_DT_PERID(10))>,
> -		       <&dma0
> -			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
> -			 AT91_XDMAC_DT_PERID(11))>;
> -		dma-names = "tx", "rx";
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> -		clock-names = "usart";
> -		pinctrl-0 = <&pinctrl_flx5_default>;
>  		pinctrl-names = "default";
> -		atmel,use-dma-rx;
> -		atmel,use-dma-tx;
> +		pinctrl-0 = <&pinctrl_flx5_default>;
>  		status = "okay";
>  	};
>  };
> @@ -280,15 +254,10 @@ &flx6 {
>  	status = "okay";
>  
>  	i2c6: i2c@600 {
> -		compatible = "microchip,sam9x60-i2c";
> -		reg = <0x600 0x200>;
> -		interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx6_default>;
> -		atmel,fifo-size = <16>;
>  		i2c-analog-filter;
>  		i2c-digital-filter;
>  		i2c-digital-filter-width-ns = <35>;
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8f5477e307dd..ee6cc4329ae4 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -170,6 +170,16 @@ flx4: flexcom@f0000000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
> +
> +				spi4: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "spi_clk";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -180,6 +190,27 @@ flx5: flexcom@f0004000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0004000 0x800>;
>  				status = "disabled";
> +
> +				uart5: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -379,6 +410,15 @@ flx6: flexcom@f8010000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
> +
> +				i2c6: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx7: flexcom@f8014000 {
> @@ -409,6 +449,15 @@ flx0: flexcom@f801c000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
> +
> +				i2c0: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx1: flexcom@f8020000 {

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 3/8] ARM: dts: at91: sam9x60: fix spi4 node
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:08     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> The ranges, #address-cells and #size-cells properties are not required,
> remove them from the spi4 node.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index 4ff84633dd43..6b6391d5041e 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -232,8 +232,6 @@ &flx4 {
>  	spi4: spi@400 {
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
>  		status = "disabled";
>  	};
>  };


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

* Re: [PATCH v5 3/8] ARM: dts: at91: sam9x60: fix spi4 node
@ 2023-02-03 12:08     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> The ranges, #address-cells and #size-cells properties are not required,
> remove them from the spi4 node.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index 4ff84633dd43..6b6391d5041e 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -232,8 +232,6 @@ &flx4 {
>  	spi4: spi@400 {
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
>  		status = "disabled";
>  	};
>  };

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 4/8] ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:08     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> The UART submodule in Flexcom has 16-byte Transmit and Receive FIFOs.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index ee6cc4329ae4..1e401a919f56 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -209,6 +209,7 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					clock-names = "usart";
>  					atmel,use-dma-rx;
>  					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
>  			};


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

* Re: [PATCH v5 4/8] ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART
@ 2023-02-03 12:08     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> The UART submodule in Flexcom has 16-byte Transmit and Receive FIFOs.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index ee6cc4329ae4..1e401a919f56 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -209,6 +209,7 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					clock-names = "usart";
>  					atmel,use-dma-rx;
>  					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
>  			};

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 5/8] ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:08     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Add dma bindings for flexcom nodes in the soc dtsi file. Users those who
> don't wish to use the DMA function for their flexcom functions can
> overwrite the dma bindings in the board device tree file.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: fixed code indentation and updated commit log]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts |  3 +++
>  arch/arm/boot/dts/sam9x60.dtsi       | 27 +++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index 6b6391d5041e..180e4b1aa2f6 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -209,6 +209,7 @@ &flx0 {
>  	i2c0: i2c@600 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx0_default>;
>  		i2c-analog-filter;
> @@ -230,6 +231,7 @@ &flx4 {
>  	status = "disabled";
>  
>  	spi4: spi@400 {
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
>  		status = "disabled";
> @@ -254,6 +256,7 @@ &flx6 {
>  	i2c6: i2c@600 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx6_default>;
>  		i2c-analog-filter;
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 1e401a919f56..8442971458e4 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -177,6 +177,15 @@ spi4: spi@400 {
>  					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>  					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> @@ -417,6 +426,15 @@ i2c6: i2c@600 {
>  					reg = <0x600 0x200>;
>  					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> @@ -456,6 +474,15 @@ i2c0: i2c@600 {
>  					reg = <0x600 0x200>;
>  					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};


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

* Re: [PATCH v5 5/8] ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes
@ 2023-02-03 12:08     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Add dma bindings for flexcom nodes in the soc dtsi file. Users those who
> don't wish to use the DMA function for their flexcom functions can
> overwrite the dma bindings in the board device tree file.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: fixed code indentation and updated commit log]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/at91-sam9x60ek.dts |  3 +++
>  arch/arm/boot/dts/sam9x60.dtsi       | 27 +++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index 6b6391d5041e..180e4b1aa2f6 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -209,6 +209,7 @@ &flx0 {
>  	i2c0: i2c@600 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx0_default>;
>  		i2c-analog-filter;
> @@ -230,6 +231,7 @@ &flx4 {
>  	status = "disabled";
>  
>  	spi4: spi@400 {
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx4_default>;
>  		status = "disabled";
> @@ -254,6 +256,7 @@ &flx6 {
>  	i2c6: i2c@600 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		dmas = <0>, <0>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_flx6_default>;
>  		i2c-analog-filter;
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 1e401a919f56..8442971458e4 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -177,6 +177,15 @@ spi4: spi@400 {
>  					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
>  					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> @@ -417,6 +426,15 @@ i2c6: i2c@600 {
>  					reg = <0x600 0x200>;
>  					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> @@ -456,6 +474,15 @@ i2c0: i2c@600 {
>  					reg = <0x600 0x200>;
>  					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>  					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:08     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Added the missing flexcom functions for all the flexcom nodes.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: added missing UART compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
>  1 file changed, 545 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8442971458e4..91225f0fb984 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
>  
> +				uart4: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				spi4: spi@400 {
>  					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  					reg = <0x400 0x200>;
> @@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				i2c4: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				spi5: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c5: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0020000 0x800>;
>  				status = "disabled";
> +
> +				uart11: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c11: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx12: flexcom@f0024000 {
> @@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0024000 0x800>;
>  				status = "disabled";
> +
> +				uart12: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c12: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			pit64b: timer@f0028000 {
> @@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
>  
> +				uart6: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c6: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8014000 0x800>;
>  				status = "disabled";
> +
> +				uart7: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c7: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx8: flexcom@f8018000 {
> @@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8018000 0x800>;
>  				status = "disabled";
> +
> +				uart8: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c8: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx0: flexcom@f801c000 {
> @@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
>  
> +				uart0: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi0: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c0: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8020000 0x800>;
>  				status = "disabled";
> +
> +				uart1: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi1: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c1: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx2: flexcom@f8024000 {
> @@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8024000 0x800>;
>  				status = "disabled";
> +
> +				uart2: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi2: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c2: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx3: flexcom@f8028000 {
> @@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8028000 0x800>;
>  				status = "disabled";
> +
> +				uart3: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi3: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c3: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			macb0: ethernet@f802c000 {
> @@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8040000 0x800>;
>  				status = "disabled";
> +
> +				uart9: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c9: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx10: flexcom@f8044000 {
> @@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8044000 0x800>;
>  				status = "disabled";
> +
> +				uart10: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c10: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			isi: isi@f8048000 {


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

* Re: [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
@ 2023-02-03 12:08     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:08 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Added the missing flexcom functions for all the flexcom nodes.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: added missing UART compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>


> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
>  1 file changed, 545 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8442971458e4..91225f0fb984 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
>  
> +				uart4: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				spi4: spi@400 {
>  					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  					reg = <0x400 0x200>;
> @@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				i2c4: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				spi5: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c5: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0020000 0x800>;
>  				status = "disabled";
> +
> +				uart11: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c11: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx12: flexcom@f0024000 {
> @@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0024000 0x800>;
>  				status = "disabled";
> +
> +				uart12: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c12: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			pit64b: timer@f0028000 {
> @@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
>  
> +				uart6: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c6: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8014000 0x800>;
>  				status = "disabled";
> +
> +				uart7: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c7: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx8: flexcom@f8018000 {
> @@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8018000 0x800>;
>  				status = "disabled";
> +
> +				uart8: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c8: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx0: flexcom@f801c000 {
> @@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
>  
> +				uart0: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi0: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c0: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8020000 0x800>;
>  				status = "disabled";
> +
> +				uart1: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi1: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c1: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx2: flexcom@f8024000 {
> @@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8024000 0x800>;
>  				status = "disabled";
> +
> +				uart2: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi2: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c2: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx3: flexcom@f8028000 {
> @@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8028000 0x800>;
>  				status = "disabled";
> +
> +				uart3: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi3: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c3: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			macb0: ethernet@f802c000 {
> @@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8040000 0x800>;
>  				status = "disabled";
> +
> +				uart9: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c9: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx10: flexcom@f8044000 {
> @@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8044000 0x800>;
>  				status = "disabled";
> +
> +				uart10: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c10: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			isi: isi@f8048000 {

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-02-03 12:10     ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:10 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
> description yaml file.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>


Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

> ---
>  Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> index 2224b18801a1..dfb8fd089197 100644
> --- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> +++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> @@ -91,9 +91,11 @@ properties:
>            - const: atmel,sama5d2
>            - const: atmel,sama5
>  
> -      - description: SAM9X60-EK board
> +      - description: Microchip SAM9X60 Evaluation Boards
>          items:
> -          - const: microchip,sam9x60ek
> +          - enum:
> +              - microchip,sam9x60ek
> +              - microchip,sam9x60-curiosity
>            - const: microchip,sam9x60
>            - const: atmel,at91sam9
>  


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

* Re: [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity
@ 2023-02-03 12:10     ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:10 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 05:48, Durai Manickam KR wrote:
> Adding the sam9x60 curiosity board from Microchip into the atmel AT91 board
> description yaml file.
> 
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>


Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>

> ---
>  Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> index 2224b18801a1..dfb8fd089197 100644
> --- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> +++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
> @@ -91,9 +91,11 @@ properties:
>            - const: atmel,sama5d2
>            - const: atmel,sama5
>  
> -      - description: SAM9X60-EK board
> +      - description: Microchip SAM9X60 Evaluation Boards
>          items:
> -          - const: microchip,sam9x60ek
> +          - enum:
> +              - microchip,sam9x60ek
> +              - microchip,sam9x60-curiosity
>            - const: microchip,sam9x60
>            - const: atmel,at91sam9
>  

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
  2023-02-03 12:06     ` Claudiu.Beznea
@ 2023-02-03 12:11       ` Claudiu.Beznea
  -1 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:11 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 14:06, Claudiu Beznea - M18063 wrote:
> On 03.02.2023 05:48, Durai Manickam KR wrote:
>> Add device tree file for sam9x60 curiosity board.
>>
>> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
>> ---
>>  arch/arm/boot/dts/Makefile                   |   1 +
>>  arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
>>  2 files changed, 502 insertions(+)
>>  create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 6aa7dc4db2fc..da20980384c4 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>>  	at91sam9x25ek.dtb \
>>  	at91sam9x35ek.dtb
>>  dtb-$(CONFIG_SOC_SAM9X60) += \
>> +	at91-sam9x60_curiosity.dtb \
>>  	at91-sam9x60ek.dtb
>>  dtb-$(CONFIG_SOC_SAM_V7) += \
>>  	at91-kizbox2-2.dtb \
>> diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>> new file mode 100644
>> index 000000000000..6f0a6d9841fc
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>> @@ -0,0 +1,501 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
>> + *
>> + * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
>> + *
>> + * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
>> + */
>> +/dts-v1/;
>> +#include "sam9x60.dtsi"
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> +	model = "Microchip SAM9X60 Curiosity";
>> +	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
>> +
>> +	aliases {
>> +		i2c0 = &i2c0;
>> +		i2c1 = &i2c6;
>> +		serial2 = &uart7;
>> +	};
>> +
>> +	chosen {
>> +		stdout-path = "serial0:115200n8";
>> +	};
>> +
>> +	memory@20000000 {
>> +		reg = <0x20000000 0x8000000>;
>> +	};
>> +
>> +	clocks {
>> +		slow_xtal {
>> +			clock-frequency = <32768>;
>> +		};
>> +
>> +		main_xtal {
>> +			clock-frequency = <24000000>;
>> +		};
>> +	};
>> +
>> +	gpio-keys {
>> +		compatible = "gpio-keys";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_key_gpio_default>;
>> +
>> +		button-user {
>> +			label = "PB_USER";
>> +			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
>> +			linux,code = <KEY_PROG1>;
>> +			wakeup-source;
>> +		};
>> +	};
>> +
>> +	leds {
>> +		compatible = "gpio-leds";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>> +
>> +		led-red {
>> +			label = "red";
>> +			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		led-green {
>> +			label = "green";
>> +			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		led-blue {
>> +			label = "blue";
>> +			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
>> +			linux,default-trigger = "heartbeat";
>> +		};
>> +	};
>> +
>> +
>> +	vdd_1v8: regulator-0 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <1800000>;
>> +		regulator-min-microvolt = <1800000>;
>> +		regulator-name = "VDD_1V8";
>> +	};
>> +
>> +	vdd_1v15: regulator-1 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <1150000>;
>> +		regulator-min-microvolt = <1150000>;
>> +		regulator-name = "VDD_1V15";
>> +	};
>> +
>> +	vdd1_3v3: regulator-2 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <3300000>;
>> +		regulator-min-microvolt = <3300000>;
>> +		regulator-name = "VDD1_3V3";
>> +	};
>> +};
>> +
>> +&adc {
>> +	vddana-supply = <&vdd1_3v3>;
>> +	vref-supply = <&vdd1_3v3>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
>> +	status = "okay";
>> +};
>> +
>> +&can0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_can0_rx_tx>;
>> +	status = "disabled"; /* Conflict with dbgu. */
>> +};
>> +
>> +&can1 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_can1_rx_tx>;
>> +	status = "okay";
>> +};
>> +
>> +&dbgu {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_dbgu>;
>> +	status = "okay"; /* Conflict with can0. */
>> +};
>> +
>> +&ebi {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
>> +	status = "okay";
>> +
>> +	nand_controller: nand-controller {
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
>> +		status = "okay";
>> +
>> +		nand@3 {
>> +			reg = <0x3 0x0 0x800000>;
>> +			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
>> +			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
>> +			nand-bus-width = <8>;
>> +			nand-ecc-mode = "hw";
>> +			nand-ecc-strength = <8>;
>> +			nand-ecc-step-size = <512>;
>> +			nand-on-flash-bbt;
>> +			label = "atmel_nand";
>> +
>> +			partitions {
>> +				compatible = "fixed-partitions";
>> +				#address-cells = <1>;
>> +				#size-cells = <1>;
>> +
>> +				at91bootstrap@0 {
>> +					label = "at91bootstrap";
>> +					reg = <0x0 0x40000>;
>> +				};
>> +
>> +				uboot@40000 {
>> +					label = "u-boot";
>> +					reg = <0x40000 0xc0000>;
>> +				};
>> +
>> +				ubootenvred@100000 {
>> +					label = "U-Boot Env Redundant";
>> +					reg = <0x100000 0x40000>;
>> +				};
>> +
>> +				ubootenv@140000 {
>> +					label = "U-Boot Env";
>> +					reg = <0x140000 0x40000>;
>> +				};
>> +
>> +				dtb@180000 {
>> +					label = "device tree";
>> +					reg = <0x180000 0x80000>;
>> +				};
>> +
>> +				kernel@200000 {
>> +					label = "kernel";
>> +					reg = <0x200000 0x600000>;
>> +				};
>> +
>> +				rootfs@800000 {
>> +					label = "rootfs";
>> +					reg = <0x800000 0x1f800000>;
>> +				};
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&flx0 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>> +	status = "okay";
>> +
>> +	i2c0: i2c@600 {
>> +		dmas = <0>, <0>;
>> +		pinctrl-names = "default";
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +		pinctrl-0 = <&pinctrl_flx0_default>;
> 
> Keep pinctrl-names and pinctrl-names close toghether.


Sorry, I meant: pinctrl-names and pinctrl-0

> 
>> +		i2c-analog-filter;
>> +		i2c-digital-filter;
>> +		i2c-digital-filter-width-ns = <35>;
>> +		status = "okay";
>> +
>> +		eeprom@53 {
>> +			compatible = "atmel,24c02";
>> +			reg = <0x53>;
>> +			pagesize = <16>;
>> +		};
>> +	};
>> +};
>> +
>> +&flx6 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>> +	status = "okay";
>> +
>> +	i2c6: i2c@600 {
>> +		dmas = <0>, <0>;
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_flx6_default>;
>> +		i2c-analog-filter;
>> +		i2c-digital-filter;
>> +		i2c-digital-filter-width-ns = <35>;
>> +		status = "disabled";
>> +	};
>> +};
>> +
>> +&flx7 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
>> +	status = "okay";
>> +
>> +	uart7: serial@200 {
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_flx7_default>;
>> +		status = "okay";
>> +	};
>> +};
>> +
>> +&macb0 {
>> +	phy-mode = "rmii";
>> +	#address-cells = <1>;
>> +	#size-cells = <0>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_macb0_rmii>;
>> +	status = "okay";
>> +
>> +	ethernet-phy@0 {
>> +		reg = <0x0>;
>> +	};
>> +};
>> +
>> +&pinctrl {
>> +	adc {
>> +		pinctrl_adc_default: adc-default {
>> +			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_adtrg_default: adtrg-default {
>> +			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
>> +		};
>> +	};
>> +
>> +	can0 {
>> +		pinctrl_can0_rx_tx: can0-rx-tx {
>> +			atmel,pins =
>> +				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
>> +				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
>> +				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
>> +		};
>> +	};
>> +
>> +	can1 {
>> +		pinctrl_can1_rx_tx: can1-rx-tx {
>> +			atmel,pins =
>> +				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
>> +				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
>> +				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
>> +		};
>> +	};
>> +
>> +	dbgu {
>> +		pinctrl_dbgu: dbgu-0 {
>> +			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	ebi {
>> +		pinctrl_ebi_data_lsb: ebi-data-lsb {
>> +			atmel,pins =
>> +				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +
>> +		pinctrl_ebi_addr_nand: ebi-addr-nand {
>> +			atmel,pins =
>> +				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +	};
>> +
>> +	flexcom {
>> +		pinctrl_flx0_default: flx0-twi {
>> +			atmel,pins =
>> +				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_flx6_default: flx6-twi {
>> +			atmel,pins =
>> +				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_flx7_default: flx7-usart {
>> +			atmel,pins =
>> +				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
>> +				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	gpio-keys {
>> +		pinctrl_key_gpio_default: pinctrl-key-gpio {
>> +			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	leds {
>> +		pinctrl_gpio_leds: gpio-leds {
>> +			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	macb0 {
>> +		pinctrl_macb0_rmii: macb0-rmii-0 {
>> +			atmel,pins =
>> +				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
>> +				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
>> +				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
>> +				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
>> +				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
>> +				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
>> +				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
>> +				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
>> +				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
>> +				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
>> +		};
>> +	};
>> +
>> +	nand {
>> +		pinctrl_nand_oe_we: nand-oe-we-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +
>> +		pinctrl_nand_rb: nand-rb-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_nand_cs: nand-cs-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> +		};
>> +	};
>> +
>> +	pwm0 {
>> +		pinctrl_pwm0_0: pwm0-0 {
>> +			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_pwm0_1: pwm0-1 {
>> +			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_pwm0_2: pwm0-2 {
>> +			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	sdmmc0 {
>> +		pinctrl_sdmmc0_default: sdmmc0 {> +			atmel,pins =
>> +				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
>> +				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
>> +				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
>> +				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
>> +				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
>> +				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
>> +		};
> 
> Add a new line here
> 
>> +		pinctrl_sdmmc0_cd: sdmmc0-cd {
>> +			atmel,pins =
>> +				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	sdmmc1 {
>> +		pinctrl_sdmmc1_default: sdmmc1 {
>> +			atmel,pins =
>> +				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
>> +				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
>> +				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
>> +				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | 
> 
> There is a comment for this on previous version which was not addressed.
> 
> AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
>> +				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
>> +				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
>> +		};
>> +	};
>> +
>> +	usb0 {
>> +		pinctrl_usba_vbus: usba-vbus {
>> +			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	usb1 {
>> +		pinctrl_usb_default: usb-default {
>> +			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +}; /* pinctrl */
>> +
>> +&pwm0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
>> +	status = "okay";
>> +};
>> +
>> +&sdmmc0 {
>> +	bus-width = <4>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
>> +	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
>> +	disable-wp;
>> +	status = "okay";
>> +};
>> +
>> +&sdmmc1 {
>> +	bus-width = <4>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_sdmmc1_default>;
>> +	status = "disabled";
>> +};
> 
> Also a comment here from previous version. As far as I know there is a
> socket no board connected to sdmmc1. Why keeping it disabled?
> 
>> +
>> +&shutdown_controller {
>> +	debounce-delay-us = <976>;
>> +	status = "okay";
>> +
>> +	input@0 {
>> +		reg = <0>;
>> +	};
>> +};
>> +
>> +&tcb0 {
>> +	timer0: timer@0 {
>> +		compatible = "atmel,tcb-timer";
>> +		reg = <0>;
>> +	};
>> +
>> +	timer1: timer@1 {
>> +		compatible = "atmel,tcb-timer";
>> +		reg = <1>;
>> +	};
>> +};
>> +
>> +&usb0 {
>> +	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_usba_vbus>;
>> +	status = "okay";
>> +};
>> +
>> +&usb1 {
>> +	num-ports = <3>;
>> +	atmel,vbus-gpio = <0
>> +			   &pioD 18 GPIO_ACTIVE_HIGH
>> +			   &pioD 15 GPIO_ACTIVE_HIGH>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_usb_default>;
>> +	status = "okay";
>> +};
>> +
>> +&usb2 {
>> +	status = "okay";
>> +};
>> +
>> +&watchdog {
>> +	status = "okay";
>> +};
> 


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

* Re: [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board
@ 2023-02-03 12:11       ` Claudiu.Beznea
  0 siblings, 0 replies; 40+ messages in thread
From: Claudiu.Beznea @ 2023-02-03 12:11 UTC (permalink / raw)
  To: Durai.ManickamKR, Hari.PrasathGE, Balamanikandan.Gunasundar,
	Manikandan.M, Varshini.Rajendran, Dharma.B, Nayabbasha.Sayed,
	Balakrishnan.S, Cristian.Birsan, Nicolas.Ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, Jerry.Ray

On 03.02.2023 14:06, Claudiu Beznea - M18063 wrote:
> On 03.02.2023 05:48, Durai Manickam KR wrote:
>> Add device tree file for sam9x60 curiosity board.
>>
>> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
>> ---
>>  arch/arm/boot/dts/Makefile                   |   1 +
>>  arch/arm/boot/dts/at91-sam9x60_curiosity.dts | 501 +++++++++++++++++++
>>  2 files changed, 502 insertions(+)
>>  create mode 100644 arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 6aa7dc4db2fc..da20980384c4 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
>>  	at91sam9x25ek.dtb \
>>  	at91sam9x35ek.dtb
>>  dtb-$(CONFIG_SOC_SAM9X60) += \
>> +	at91-sam9x60_curiosity.dtb \
>>  	at91-sam9x60ek.dtb
>>  dtb-$(CONFIG_SOC_SAM_V7) += \
>>  	at91-kizbox2-2.dtb \
>> diff --git a/arch/arm/boot/dts/at91-sam9x60_curiosity.dts b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>> new file mode 100644
>> index 000000000000..6f0a6d9841fc
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/at91-sam9x60_curiosity.dts
>> @@ -0,0 +1,501 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * at91-sam9x60_curiosity.dts - Device Tree file for Microchip SAM9X60 Curiosity board
>> + *
>> + * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
>> + *
>> + * Author: Durai Manickam KR <durai.manickamkr@microchip.com>
>> + */
>> +/dts-v1/;
>> +#include "sam9x60.dtsi"
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> +	model = "Microchip SAM9X60 Curiosity";
>> +	compatible = "microchip,sam9x60-curiosity", "microchip,sam9x60", "atmel,at91sam9";
>> +
>> +	aliases {
>> +		i2c0 = &i2c0;
>> +		i2c1 = &i2c6;
>> +		serial2 = &uart7;
>> +	};
>> +
>> +	chosen {
>> +		stdout-path = "serial0:115200n8";
>> +	};
>> +
>> +	memory@20000000 {
>> +		reg = <0x20000000 0x8000000>;
>> +	};
>> +
>> +	clocks {
>> +		slow_xtal {
>> +			clock-frequency = <32768>;
>> +		};
>> +
>> +		main_xtal {
>> +			clock-frequency = <24000000>;
>> +		};
>> +	};
>> +
>> +	gpio-keys {
>> +		compatible = "gpio-keys";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_key_gpio_default>;
>> +
>> +		button-user {
>> +			label = "PB_USER";
>> +			gpios = <&pioA 29 GPIO_ACTIVE_LOW>;
>> +			linux,code = <KEY_PROG1>;
>> +			wakeup-source;
>> +		};
>> +	};
>> +
>> +	leds {
>> +		compatible = "gpio-leds";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>> +
>> +		led-red {
>> +			label = "red";
>> +			gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		led-green {
>> +			label = "green";
>> +			gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
>> +		};
>> +
>> +		led-blue {
>> +			label = "blue";
>> +			gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
>> +			linux,default-trigger = "heartbeat";
>> +		};
>> +	};
>> +
>> +
>> +	vdd_1v8: regulator-0 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <1800000>;
>> +		regulator-min-microvolt = <1800000>;
>> +		regulator-name = "VDD_1V8";
>> +	};
>> +
>> +	vdd_1v15: regulator-1 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <1150000>;
>> +		regulator-min-microvolt = <1150000>;
>> +		regulator-name = "VDD_1V15";
>> +	};
>> +
>> +	vdd1_3v3: regulator-2 {
>> +		compatible = "regulator-fixed";
>> +		regulator-always-on;
>> +		regulator-max-microvolt = <3300000>;
>> +		regulator-min-microvolt = <3300000>;
>> +		regulator-name = "VDD1_3V3";
>> +	};
>> +};
>> +
>> +&adc {
>> +	vddana-supply = <&vdd1_3v3>;
>> +	vref-supply = <&vdd1_3v3>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
>> +	status = "okay";
>> +};
>> +
>> +&can0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_can0_rx_tx>;
>> +	status = "disabled"; /* Conflict with dbgu. */
>> +};
>> +
>> +&can1 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_can1_rx_tx>;
>> +	status = "okay";
>> +};
>> +
>> +&dbgu {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_dbgu>;
>> +	status = "okay"; /* Conflict with can0. */
>> +};
>> +
>> +&ebi {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_lsb>;
>> +	status = "okay";
>> +
>> +	nand_controller: nand-controller {
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
>> +		status = "okay";
>> +
>> +		nand@3 {
>> +			reg = <0x3 0x0 0x800000>;
>> +			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
>> +			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
>> +			nand-bus-width = <8>;
>> +			nand-ecc-mode = "hw";
>> +			nand-ecc-strength = <8>;
>> +			nand-ecc-step-size = <512>;
>> +			nand-on-flash-bbt;
>> +			label = "atmel_nand";
>> +
>> +			partitions {
>> +				compatible = "fixed-partitions";
>> +				#address-cells = <1>;
>> +				#size-cells = <1>;
>> +
>> +				at91bootstrap@0 {
>> +					label = "at91bootstrap";
>> +					reg = <0x0 0x40000>;
>> +				};
>> +
>> +				uboot@40000 {
>> +					label = "u-boot";
>> +					reg = <0x40000 0xc0000>;
>> +				};
>> +
>> +				ubootenvred@100000 {
>> +					label = "U-Boot Env Redundant";
>> +					reg = <0x100000 0x40000>;
>> +				};
>> +
>> +				ubootenv@140000 {
>> +					label = "U-Boot Env";
>> +					reg = <0x140000 0x40000>;
>> +				};
>> +
>> +				dtb@180000 {
>> +					label = "device tree";
>> +					reg = <0x180000 0x80000>;
>> +				};
>> +
>> +				kernel@200000 {
>> +					label = "kernel";
>> +					reg = <0x200000 0x600000>;
>> +				};
>> +
>> +				rootfs@800000 {
>> +					label = "rootfs";
>> +					reg = <0x800000 0x1f800000>;
>> +				};
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&flx0 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>> +	status = "okay";
>> +
>> +	i2c0: i2c@600 {
>> +		dmas = <0>, <0>;
>> +		pinctrl-names = "default";
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +		pinctrl-0 = <&pinctrl_flx0_default>;
> 
> Keep pinctrl-names and pinctrl-names close toghether.


Sorry, I meant: pinctrl-names and pinctrl-0

> 
>> +		i2c-analog-filter;
>> +		i2c-digital-filter;
>> +		i2c-digital-filter-width-ns = <35>;
>> +		status = "okay";
>> +
>> +		eeprom@53 {
>> +			compatible = "atmel,24c02";
>> +			reg = <0x53>;
>> +			pagesize = <16>;
>> +		};
>> +	};
>> +};
>> +
>> +&flx6 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
>> +	status = "okay";
>> +
>> +	i2c6: i2c@600 {
>> +		dmas = <0>, <0>;
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_flx6_default>;
>> +		i2c-analog-filter;
>> +		i2c-digital-filter;
>> +		i2c-digital-filter-width-ns = <35>;
>> +		status = "disabled";
>> +	};
>> +};
>> +
>> +&flx7 {
>> +	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
>> +	status = "okay";
>> +
>> +	uart7: serial@200 {
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_flx7_default>;
>> +		status = "okay";
>> +	};
>> +};
>> +
>> +&macb0 {
>> +	phy-mode = "rmii";
>> +	#address-cells = <1>;
>> +	#size-cells = <0>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_macb0_rmii>;
>> +	status = "okay";
>> +
>> +	ethernet-phy@0 {
>> +		reg = <0x0>;
>> +	};
>> +};
>> +
>> +&pinctrl {
>> +	adc {
>> +		pinctrl_adc_default: adc-default {
>> +			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_adtrg_default: adtrg-default {
>> +			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
>> +		};
>> +	};
>> +
>> +	can0 {
>> +		pinctrl_can0_rx_tx: can0-rx-tx {
>> +			atmel,pins =
>> +				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
>> +				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
>> +				 AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
>> +		};
>> +	};
>> +
>> +	can1 {
>> +		pinctrl_can1_rx_tx: can1-rx-tx {
>> +			atmel,pins =
>> +				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 */
>> +				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 */
>> +				 AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
>> +		};
>> +	};
>> +
>> +	dbgu {
>> +		pinctrl_dbgu: dbgu-0 {
>> +			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	ebi {
>> +		pinctrl_ebi_data_lsb: ebi-data-lsb {
>> +			atmel,pins =
>> +				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +
>> +		pinctrl_ebi_addr_nand: ebi-addr-nand {
>> +			atmel,pins =
>> +				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +	};
>> +
>> +	flexcom {
>> +		pinctrl_flx0_default: flx0-twi {
>> +			atmel,pins =
>> +				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_flx6_default: flx6-twi {
>> +			atmel,pins =
>> +				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
>> +				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_flx7_default: flx7-usart {
>> +			atmel,pins =
>> +				<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE
>> +				 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	gpio-keys {
>> +		pinctrl_key_gpio_default: pinctrl-key-gpio {
>> +			atmel,pins = <AT91_PIOA 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	leds {
>> +		pinctrl_gpio_leds: gpio-leds {
>> +			atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	macb0 {
>> +		pinctrl_macb0_rmii: macb0-rmii-0 {
>> +			atmel,pins =
>> +				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
>> +				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
>> +				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
>> +				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
>> +				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
>> +				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
>> +				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
>> +				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
>> +				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
>> +				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
>> +		};
>> +	};
>> +
>> +	nand {
>> +		pinctrl_nand_oe_we: nand-oe-we-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
>> +				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
>> +		};
>> +
>> +		pinctrl_nand_rb: nand-rb-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> +		};
>> +
>> +		pinctrl_nand_cs: nand-cs-0 {
>> +			atmel,pins =
>> +				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
>> +		};
>> +	};
>> +
>> +	pwm0 {
>> +		pinctrl_pwm0_0: pwm0-0 {
>> +			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_pwm0_1: pwm0-1 {
>> +			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +
>> +		pinctrl_pwm0_2: pwm0-2 {
>> +			atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	sdmmc0 {
>> +		pinctrl_sdmmc0_default: sdmmc0 {> +			atmel,pins =
>> +				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
>> +				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
>> +				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
>> +				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
>> +				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
>> +				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
>> +		};
> 
> Add a new line here
> 
>> +		pinctrl_sdmmc0_cd: sdmmc0-cd {
>> +			atmel,pins =
>> +				<AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	sdmmc1 {
>> +		pinctrl_sdmmc1_default: sdmmc1 {
>> +			atmel,pins =
>> +				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
>> +				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
>> +				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
>> +				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | 
> 
> There is a comment for this on previous version which was not addressed.
> 
> AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
>> +				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
>> +				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
>> +		};
>> +	};
>> +
>> +	usb0 {
>> +		pinctrl_usba_vbus: usba-vbus {
>> +			atmel,pins = <AT91_PIOA 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +
>> +	usb1 {
>> +		pinctrl_usb_default: usb-default {
>> +			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>> +				      AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>> +		};
>> +	};
>> +}; /* pinctrl */
>> +
>> +&pwm0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2>;
>> +	status = "okay";
>> +};
>> +
>> +&sdmmc0 {
>> +	bus-width = <4>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
>> +	cd-gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
>> +	disable-wp;
>> +	status = "okay";
>> +};
>> +
>> +&sdmmc1 {
>> +	bus-width = <4>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_sdmmc1_default>;
>> +	status = "disabled";
>> +};
> 
> Also a comment here from previous version. As far as I know there is a
> socket no board connected to sdmmc1. Why keeping it disabled?
> 
>> +
>> +&shutdown_controller {
>> +	debounce-delay-us = <976>;
>> +	status = "okay";
>> +
>> +	input@0 {
>> +		reg = <0>;
>> +	};
>> +};
>> +
>> +&tcb0 {
>> +	timer0: timer@0 {
>> +		compatible = "atmel,tcb-timer";
>> +		reg = <0>;
>> +	};
>> +
>> +	timer1: timer@1 {
>> +		compatible = "atmel,tcb-timer";
>> +		reg = <1>;
>> +	};
>> +};
>> +
>> +&usb0 {
>> +	atmel,vbus-gpio = <&pioA 27 GPIO_ACTIVE_HIGH>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_usba_vbus>;
>> +	status = "okay";
>> +};
>> +
>> +&usb1 {
>> +	num-ports = <3>;
>> +	atmel,vbus-gpio = <0
>> +			   &pioD 18 GPIO_ACTIVE_HIGH
>> +			   &pioD 15 GPIO_ACTIVE_HIGH>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_usb_default>;
>> +	status = "okay";
>> +};
>> +
>> +&usb2 {
>> +	status = "okay";
>> +};
>> +
>> +&watchdog {
>> +	status = "okay";
>> +};
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
  2023-02-03  3:48   ` Durai Manickam KR
@ 2023-07-04 15:42     ` Alexander Dahl
  -1 siblings, 0 replies; 40+ messages in thread
From: Alexander Dahl @ 2023-07-04 15:42 UTC (permalink / raw)
  To: Durai Manickam KR
  Cc: Hari.PrasathGE, balamanikandan.gunasundar, manikandan.m,
	varshini.rajendran, dharma.b, nayabbasha.sayed, balakrishnan.s,
	claudiu.beznea, cristian.birsan, nicolas.ferre,
	krzysztof.kozlowski, alexandre.belloni, davem, arnd, olof, soc,
	devicetree, linux-arm-kernel, linux-kernel, Kavyasree.Kotagiri,
	Horatiu.Vultur, robh+dt, andrew, michael, jerry.ray

Hello,

Am Fri, Feb 03, 2023 at 09:18:31AM +0530 schrieb Durai Manickam KR:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Added the missing flexcom functions for all the flexcom nodes.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: added missing UART compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
>  1 file changed, 545 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8442971458e4..91225f0fb984 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
>  
> +				uart4: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";

All those added dbgu compatible strings break the soc detection.
Console / kernel log output on sam9x60-curiosity with kernel v6.4:

  AT91: Could not find matching SoC description

What was the rationale behind adding those compatibles anyways?
"microchip,sam9x60-dbgu" is not even used in any driver.

Greets
Alex

> +					reg = <0x200 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				spi4: spi@400 {
>  					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  					reg = <0x400 0x200>;
> @@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				i2c4: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				spi5: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c5: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0020000 0x800>;
>  				status = "disabled";
> +
> +				uart11: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c11: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx12: flexcom@f0024000 {
> @@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0024000 0x800>;
>  				status = "disabled";
> +
> +				uart12: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c12: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			pit64b: timer@f0028000 {
> @@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
>  
> +				uart6: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c6: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8014000 0x800>;
>  				status = "disabled";
> +
> +				uart7: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c7: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx8: flexcom@f8018000 {
> @@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8018000 0x800>;
>  				status = "disabled";
> +
> +				uart8: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c8: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx0: flexcom@f801c000 {
> @@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
>  
> +				uart0: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi0: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c0: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8020000 0x800>;
>  				status = "disabled";
> +
> +				uart1: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi1: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c1: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx2: flexcom@f8024000 {
> @@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8024000 0x800>;
>  				status = "disabled";
> +
> +				uart2: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi2: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c2: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx3: flexcom@f8028000 {
> @@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8028000 0x800>;
>  				status = "disabled";
> +
> +				uart3: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi3: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c3: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			macb0: ethernet@f802c000 {
> @@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8040000 0x800>;
>  				status = "disabled";
> +
> +				uart9: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c9: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx10: flexcom@f8044000 {
> @@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8044000 0x800>;
>  				status = "disabled";
> +
> +				uart10: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c10: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			isi: isi@f8048000 {
> -- 
> 2.25.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions
@ 2023-07-04 15:42     ` Alexander Dahl
  0 siblings, 0 replies; 40+ messages in thread
From: Alexander Dahl @ 2023-07-04 15:42 UTC (permalink / raw)
  To: Durai Manickam KR
  Cc: andrew, alexandre.belloni, devicetree, jerry.ray, Hari.PrasathGE,
	varshini.rajendran, Horatiu.Vultur, manikandan.m,
	balamanikandan.gunasundar, michael, dharma.b, cristian.birsan,
	nayabbasha.sayed, arnd, soc, robh+dt, linux-arm-kernel,
	balakrishnan.s, linux-kernel, claudiu.beznea,
	krzysztof.kozlowski, Kavyasree.Kotagiri, olof, davem

Hello,

Am Fri, Feb 03, 2023 at 09:18:31AM +0530 schrieb Durai Manickam KR:
> From: Manikandan Muralidharan <manikandan.m@microchip.com>
> 
> Added the missing flexcom functions for all the flexcom nodes.
> 
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
> [durai.manickamkr@microchip.com: added missing UART compatibles]
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
> ---
>  arch/arm/boot/dts/sam9x60.dtsi | 545 +++++++++++++++++++++++++++++++++
>  1 file changed, 545 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sam9x60.dtsi b/arch/arm/boot/dts/sam9x60.dtsi
> index 8442971458e4..91225f0fb984 100644
> --- a/arch/arm/boot/dts/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/sam9x60.dtsi
> @@ -171,6 +171,27 @@ flx4: flexcom@f0000000 {
>  				ranges = <0x0 0xf0000000 0x800>;
>  				status = "disabled";
>  
> +				uart4: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";

All those added dbgu compatible strings break the soc detection.
Console / kernel log output on sam9x60-curiosity with kernel v6.4:

  AT91: Could not find matching SoC description

What was the rationale behind adding those compatibles anyways?
"microchip,sam9x60-dbgu" is not even used in any driver.

Greets
Alex

> +					reg = <0x200 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				spi4: spi@400 {
>  					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
>  					reg = <0x400 0x200>;
> @@ -189,6 +210,24 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				i2c4: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(8))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(9))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx5: flexcom@f0004000 {
> @@ -221,6 +260,43 @@ AT91_XDMAC_DT_PER_IF(1) |
>  					atmel,fifo-size = <16>;
>  					status = "disabled";
>  				};
> +
> +				spi5: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c5: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(10))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(11))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			dma0: dma-controller@f0008000 {
> @@ -292,6 +368,45 @@ flx11: flexcom@f0020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0020000 0x800>;
>  				status = "disabled";
> +
> +				uart11: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c11: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(22))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(23))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx12: flexcom@f0024000 {
> @@ -302,6 +417,45 @@ flx12: flexcom@f0024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf0024000 0x800>;
>  				status = "disabled";
> +
> +				uart12: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c12: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(24))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(25))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			pit64b: timer@f0028000 {
> @@ -421,6 +575,27 @@ flx6: flexcom@f8010000 {
>  				ranges = <0x0 0xf8010000 0x800>;
>  				status = "disabled";
>  
> +				uart6: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(12))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(13))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c6: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -448,6 +623,45 @@ flx7: flexcom@f8014000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8014000 0x800>;
>  				status = "disabled";
> +
> +				uart7: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c7: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(14))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(15))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx8: flexcom@f8018000 {
> @@ -458,6 +672,45 @@ flx8: flexcom@f8018000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8018000 0x800>;
>  				status = "disabled";
> +
> +				uart8: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c8: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(16))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(17))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx0: flexcom@f801c000 {
> @@ -469,6 +722,46 @@ flx0: flexcom@f801c000 {
>  				ranges = <0x0 0xf801c000 0x800>;
>  				status = "disabled";
>  
> +				uart0: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi0: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(0))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(1))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
>  				i2c0: i2c@600 {
>  					compatible = "microchip,sam9x60-i2c";
>  					reg = <0x600 0x200>;
> @@ -496,6 +789,64 @@ flx1: flexcom@f8020000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8020000 0x800>;
>  				status = "disabled";
> +
> +				uart1: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi1: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c1: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(2))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(3))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx2: flexcom@f8024000 {
> @@ -506,6 +857,64 @@ flx2: flexcom@f8024000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8024000 0x800>;
>  				status = "disabled";
> +
> +				uart2: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi2: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c2: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(4))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(5))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx3: flexcom@f8028000 {
> @@ -516,6 +925,64 @@ flx3: flexcom@f8028000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8028000 0x800>;
>  				status = "disabled";
> +
> +				uart3: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				spi3: spi@400 {
> +					compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
> +					reg = <0x400 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					clock-names = "spi_clk";
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c3: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(6))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(7))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			macb0: ethernet@f802c000 {
> @@ -581,6 +1048,45 @@ flx9: flexcom@f8040000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8040000 0x800>;
>  				status = "disabled";
> +
> +				uart9: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c9: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(18))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(19))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			flx10: flexcom@f8044000 {
> @@ -591,6 +1097,45 @@ flx10: flexcom@f8044000 {
>  				#size-cells = <1>;
>  				ranges = <0x0 0xf8044000 0x800>;
>  				status = "disabled";
> +
> +				uart10: serial@200 {
> +					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					reg = <0x200 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					clock-names = "usart";
> +					atmel,use-dma-rx;
> +					atmel,use-dma-tx;
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
> +
> +				i2c10: i2c@600 {
> +					compatible = "microchip,sam9x60-i2c";
> +					reg = <0x600 0x200>;
> +					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
> +					clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
> +					dmas = <&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(20))>,
> +						<&dma0
> +						(AT91_XDMAC_DT_MEM_IF(0) |
> +						 AT91_XDMAC_DT_PER_IF(1) |
> +						 AT91_XDMAC_DT_PERID(21))>;
> +					dma-names = "tx", "rx";
> +					atmel,fifo-size = <16>;
> +					status = "disabled";
> +				};
>  			};
>  
>  			isi: isi@f8048000 {
> -- 
> 2.25.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-07-04 15:59 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-03  3:48 [PATCH v5 0/8] Add support for sam9x60 curiosity board Durai Manickam KR
2023-02-03  3:48 ` Durai Manickam KR
2023-02-03  3:48 ` [PATCH v5 1/8] ARM: dts: at91: sam9x60: Fix the label numbering for the flexcom functions Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:07   ` Claudiu.Beznea
2023-02-03 12:07     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 2/8] ARM: dts: at91: sam9x60: move flexcom definitions Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:08   ` Claudiu.Beznea
2023-02-03 12:08     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 3/8] ARM: dts: at91: sam9x60: fix spi4 node Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:08   ` Claudiu.Beznea
2023-02-03 12:08     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 4/8] ARM: dts: at91: sam9x60: Specify the FIFO size for the Flexcom UART Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:08   ` Claudiu.Beznea
2023-02-03 12:08     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 5/8] ARM: dts: at91: sam9x60: Add DMA bindings for the flexcom nodes Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:08   ` Claudiu.Beznea
2023-02-03 12:08     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 6/8] ARM: dts: at91: sam9x60: Add missing flexcom definitions Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:08   ` Claudiu.Beznea
2023-02-03 12:08     ` Claudiu.Beznea
2023-07-04 15:42   ` Alexander Dahl
2023-07-04 15:42     ` Alexander Dahl
2023-02-03  3:48 ` [PATCH v5 7/8] dt-bindings: arm: at91: Add info on sam9x60 curiosity Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03  8:12   ` Krzysztof Kozlowski
2023-02-03  8:12     ` Krzysztof Kozlowski
2023-02-03 12:10   ` Claudiu.Beznea
2023-02-03 12:10     ` Claudiu.Beznea
2023-02-03  3:48 ` [PATCH v5 8/8] ARM: dts: at91: sam9x60_curiosity: Add device tree for sam9x60 curiosity board Durai Manickam KR
2023-02-03  3:48   ` Durai Manickam KR
2023-02-03 12:06   ` Claudiu.Beznea
2023-02-03 12:06     ` Claudiu.Beznea
2023-02-03 12:11     ` Claudiu.Beznea
2023-02-03 12:11       ` Claudiu.Beznea

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.