devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Add basic SPI support for SOPHGO SG2042 SoC
@ 2025-04-22  2:27 Zixian Zeng
  2025-04-22  2:27 ` [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry Zixian Zeng
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Zixian Zeng @ 2025-04-22  2:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm
  Cc: devicetree, linux-riscv, linux-kernel, linux-spi, sophgo,
	chao.wei, xiaoguang.xing, dlan, linux-renesas-soc, Zixian Zeng

Implemented basic SPI support for SG2042 SoC[1] using
the upstreamed Synopsys DW-SPI IP.

The way of testing can be found here [2].

Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
---
Changes in v5:
- patch 1: New patch merges all vendors fall back to snps,dw-apb-ssi into one entry
- Link to v4: https://lore.kernel.org/r/20250407-sfg-spi-v4-0-30ac949a1e35@gmail.com

Changes in v4:
- Adjust the order of spi nodes
- Place the binding after Renesas
- Fix the description issues of patches
- Link to v3: https://lore.kernel.org/r/20250313-sfg-spi-v3-0-e686427314b2@gmail.com

Changes in v3:
- Remove the spi status on sg2042-milkv-pioneer board
- Remove clock GATE_CLK_SYSDMA_AXI from spi [3]
- Create dt-binding of compatible property
- Replace the general compatible property with SoC-specific in dts
- Link to v2: https://lore.kernel.org/r/20250228-sfg-spi-v2-1-8bbf23b85d0e@gmail.com

Changes in v2:
- Rebase v1 to sophgo/master(github.com/sophgo/linux.git).
- Order properties in device node.
- Remove unevaluated properties `clock-frequency`.
- Set default status to disable.
- Link to v1: https://lore.kernel.org/r/20250228-sfg-spi-v1-1-b989aed94911@gmail.com

Link: https://github.com/sophgo/sophgo-doc/blob/main/SG2042/TRM/source/SPI.rst [1]
Link:
https://lore.kernel.org/all/CAKyUbwXqg13Ho7QHw8vV2W6OcObphwhQ8HUrZMDNBxrVxLmdug@mail.gmail.com/
[2]
Link: https://github.com/sophgo/sophgo-doc/blob/main/SG2042/TRM/source/clock.rst#clock-tree [3]

---
Zixian Zeng (3):
      spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry
      spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC
      riscv: sophgo: dts: Add spi controller for SG2042

 .../devicetree/bindings/spi/snps,dw-apb-ssi.yaml   | 19 ++++++----------
 arch/riscv/boot/dts/sophgo/sg2042.dtsi             | 26 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 12 deletions(-)
---
base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444
change-id: 20250228-sfg-spi-e3f2aeca09ab

Best regards,
-- 
Zixian Zeng <sycamoremoon376@gmail.com>


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

* [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry
  2025-04-22  2:27 [PATCH v5 0/3] Add basic SPI support for SOPHGO SG2042 SoC Zixian Zeng
@ 2025-04-22  2:27 ` Zixian Zeng
  2025-04-24  7:33   ` Krzysztof Kozlowski
  2025-04-22  2:27 ` [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC Zixian Zeng
  2025-04-22  2:27 ` [PATCH v5 3/3] riscv: sophgo: dts: Add spi controller for SG2042 Zixian Zeng
  2 siblings, 1 reply; 6+ messages in thread
From: Zixian Zeng @ 2025-04-22  2:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm
  Cc: devicetree, linux-riscv, linux-kernel, linux-spi, sophgo,
	chao.wei, xiaoguang.xing, dlan, linux-renesas-soc, Zixian Zeng

Microsemi Ocelot/Jaguar2, Renesas RZ/N1 and T-HEAD TH1520
SoC-specific compatibles, which eventually fallback to the
generic DW ssi compatible, it's better to combine them in single entry

Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
---
 .../devicetree/bindings/spi/snps,dw-apb-ssi.yaml       | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
index bccd00a1ddd0ad92b437eed5b525a6ea1963db57..a43d2fb9942d85b1482a52782c0a97cd5c6edd99 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
@@ -56,19 +56,17 @@ properties:
         enum:
           - snps,dw-apb-ssi
           - snps,dwc-ssi-1.01a
-      - description: Microsemi Ocelot/Jaguar2 SoC SPI Controller
-        items:
-          - enum:
-              - mscc,ocelot-spi
-              - mscc,jaguar2-spi
-          - const: snps,dw-apb-ssi
       - description: Microchip Sparx5 SoC SPI Controller
         const: microchip,sparx5-spi
       - description: Amazon Alpine SPI Controller
         const: amazon,alpine-dw-apb-ssi
-      - description: Renesas RZ/N1 SPI Controller
+      - description: Vendor controllers which use snps,dw-apb-ssi as fallback
         items:
-          - const: renesas,rzn1-spi
+          - enum:
+              - mscc,ocelot-spi
+              - mscc,jaguar2-spi
+              - renesas,rzn1-spi
+              - thead,th1520-spi
           - const: snps,dw-apb-ssi
       - description: Intel Keem Bay SPI Controller
         const: intel,keembay-ssi
@@ -88,10 +86,6 @@ properties:
               - renesas,r9a06g032-spi # RZ/N1D
               - renesas,r9a06g033-spi # RZ/N1S
           - const: renesas,rzn1-spi   # RZ/N1
-      - description: T-HEAD TH1520 SoC SPI Controller
-        items:
-          - const: thead,th1520-spi
-          - const: snps,dw-apb-ssi
 
   reg:
     minItems: 1

-- 
2.49.0


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

* [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC
  2025-04-22  2:27 [PATCH v5 0/3] Add basic SPI support for SOPHGO SG2042 SoC Zixian Zeng
  2025-04-22  2:27 ` [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry Zixian Zeng
@ 2025-04-22  2:27 ` Zixian Zeng
  2025-04-22  8:50   ` Krzysztof Kozlowski
  2025-04-22  2:27 ` [PATCH v5 3/3] riscv: sophgo: dts: Add spi controller for SG2042 Zixian Zeng
  2 siblings, 1 reply; 6+ messages in thread
From: Zixian Zeng @ 2025-04-22  2:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm
  Cc: devicetree, linux-riscv, linux-kernel, linux-spi, sophgo,
	chao.wei, xiaoguang.xing, dlan, linux-renesas-soc, Zixian Zeng

Sophgo SG2042 ships an SPI controller [1] compatible with the Synopsys
DW-SPI IP. Add SoC-specific compatible string and use the generic one
as fallback.

Link: https://github.com/sophgo/sophgo-doc/blob/main/SG2042/TRM/source/SPI.rst [1]

Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
---
 Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
index a43d2fb9942d85b1482a52782c0a97cd5c6edd99..d32380a2e5b18f61ed66715b4ac67c04fbda10ef 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
@@ -67,6 +67,7 @@ properties:
               - mscc,jaguar2-spi
               - renesas,rzn1-spi
               - thead,th1520-spi
+              - sophgo,sg2042-spi
           - const: snps,dw-apb-ssi
       - description: Intel Keem Bay SPI Controller
         const: intel,keembay-ssi

-- 
2.49.0


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

* [PATCH v5 3/3] riscv: sophgo: dts: Add spi controller for SG2042
  2025-04-22  2:27 [PATCH v5 0/3] Add basic SPI support for SOPHGO SG2042 SoC Zixian Zeng
  2025-04-22  2:27 ` [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry Zixian Zeng
  2025-04-22  2:27 ` [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC Zixian Zeng
@ 2025-04-22  2:27 ` Zixian Zeng
  2 siblings, 0 replies; 6+ messages in thread
From: Zixian Zeng @ 2025-04-22  2:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm
  Cc: devicetree, linux-riscv, linux-kernel, linux-spi, sophgo,
	chao.wei, xiaoguang.xing, dlan, linux-renesas-soc, Zixian Zeng

Add spi controllers for SG2042.

SG2042 uses the upstreamed Synopsys DW SPI IP.

Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
---
 arch/riscv/boot/dts/sophgo/sg2042.dtsi | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/riscv/boot/dts/sophgo/sg2042.dtsi b/arch/riscv/boot/dts/sophgo/sg2042.dtsi
index aa8b7fcc125d71eec12b09493964d90f5dfed27c..ddde4c613c4734db191de500b016b322a9602efc 100644
--- a/arch/riscv/boot/dts/sophgo/sg2042.dtsi
+++ b/arch/riscv/boot/dts/sophgo/sg2042.dtsi
@@ -537,6 +537,32 @@ uart0: serial@7040000000 {
 			status = "disabled";
 		};
 
+		spi0: spi@7040004000 {
+			compatible = "sophgo,sg2042-spi", "snps,dw-apb-ssi";
+			reg = <0x70 0x40004000 0x00 0x1000>;
+			clocks = <&clkgen GATE_CLK_APB_SPI>;
+			interrupt-parent = <&intc>;
+			interrupts = <110 IRQ_TYPE_LEVEL_HIGH>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			num-cs = <2>;
+			resets = <&rstgen RST_SPI0>;
+			status = "disabled";
+		};
+
+		spi1: spi@7040005000 {
+			compatible = "sophgo,sg2042-spi", "snps,dw-apb-ssi";
+			reg = <0x70 0x40005000 0x00 0x1000>;
+			clocks = <&clkgen GATE_CLK_APB_SPI>;
+			interrupt-parent = <&intc>;
+			interrupts = <111 IRQ_TYPE_LEVEL_HIGH>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			num-cs = <2>;
+			resets = <&rstgen RST_SPI1>;
+			status = "disabled";
+		};
+
 		emmc: mmc@704002a000 {
 			compatible = "sophgo,sg2042-dwcmshc";
 			reg = <0x70 0x4002a000 0x0 0x1000>;

-- 
2.49.0


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

* Re: [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC
  2025-04-22  2:27 ` [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC Zixian Zeng
@ 2025-04-22  8:50   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-22  8:50 UTC (permalink / raw)
  To: Zixian Zeng
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm, devicetree, linux-riscv, linux-kernel, linux-spi,
	sophgo, chao.wei, xiaoguang.xing, dlan, linux-renesas-soc

On Tue, Apr 22, 2025 at 10:27:09AM GMT, Zixian Zeng wrote:
> Sophgo SG2042 ships an SPI controller [1] compatible with the Synopsys
> DW-SPI IP. Add SoC-specific compatible string and use the generic one
> as fallback.
> 
> Link: https://github.com/sophgo/sophgo-doc/blob/main/SG2042/TRM/source/SPI.rst [1]
> 
> Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
> ---
>  Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> index a43d2fb9942d85b1482a52782c0a97cd5c6edd99..d32380a2e5b18f61ed66715b4ac67c04fbda10ef 100644
> --- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> @@ -67,6 +67,7 @@ properties:
>                - mscc,jaguar2-spi
>                - renesas,rzn1-spi
>                - thead,th1520-spi
> +              - sophgo,sg2042-spi

Messed order. s goes before t.

Best regards,
Krzysztof


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

* Re: [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry
  2025-04-22  2:27 ` [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry Zixian Zeng
@ 2025-04-24  7:33   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-24  7:33 UTC (permalink / raw)
  To: Zixian Zeng
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Chen Wang, Inochi Amaoto,
	Alexandre Ghiti, Mark Brown, Inochi Amaoto, Geert Uytterhoeven,
	Magnus Damm, devicetree, linux-riscv, linux-kernel, linux-spi,
	sophgo, chao.wei, xiaoguang.xing, dlan, linux-renesas-soc

On Tue, Apr 22, 2025 at 10:27:08AM GMT, Zixian Zeng wrote:
> Microsemi Ocelot/Jaguar2, Renesas RZ/N1 and T-HEAD TH1520
> SoC-specific compatibles, which eventually fallback to the
> generic DW ssi compatible, it's better to combine them in single entry
> 
> Suggested-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Zixian Zeng <sycamoremoon376@gmail.com>
> ---
>  .../devicetree/bindings/spi/snps,dw-apb-ssi.yaml       | 18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

end of thread, other threads:[~2025-04-24  7:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-22  2:27 [PATCH v5 0/3] Add basic SPI support for SOPHGO SG2042 SoC Zixian Zeng
2025-04-22  2:27 ` [PATCH v5 1/3] spi: dt-bindings: snps,dw-apb-ssi: Merge duplicate compatible entry Zixian Zeng
2025-04-24  7:33   ` Krzysztof Kozlowski
2025-04-22  2:27 ` [PATCH v5 2/3] spi: dt-bindings: snps,dw-apb-ssi: Add compatible for SOPHGO SG2042 SoC Zixian Zeng
2025-04-22  8:50   ` Krzysztof Kozlowski
2025-04-22  2:27 ` [PATCH v5 3/3] riscv: sophgo: dts: Add spi controller for SG2042 Zixian Zeng

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