* [PATCH 1/5] dt-bindings: gpu: add bindings for the Microchip GFX2D GPU
2025-09-11 15:26 [PATCH 0/5] drm/microchip: add GFX2D support for SAM9X60 and SAM9X75 Cyrille Pitchen
@ 2025-09-11 15:26 ` Cyrille Pitchen
2025-09-11 18:05 ` Conor Dooley
2025-09-11 15:26 ` [PATCH 3/5] ARM: dts: microchip: sam9x60: Add " Cyrille Pitchen
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Cyrille Pitchen @ 2025-09-11 15:26 UTC (permalink / raw)
To: David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Russell King
Cc: dri-devel, devicetree, linux-kernel, linux-arm-kernel,
Cyrille Pitchen
The Microchip GFX2D GPU is embedded in the SAM9X60 and SAM9X7 SoC family.
Describe how the GFX2D GPU is integrated in these SoCs, including
register space, interrupt and clock.
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@microchip.com>
---
.../devicetree/bindings/gpu/microchip,gfx2d.yaml | 53 ++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml b/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e416e13bc6627a0fef3c70625a6a3e2d91636ffc
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpu/microchip,gfx2d.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip GFX2D GPU
+
+maintainers:
+ - Cyrille Pitchen <cyrille.pitchen@microchip.com>
+
+properties:
+ compatible:
+ enum:
+ - microchip,sam9x60-gfx2d
+ - microchip,sam9x7-gfx2d
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ const: periph_clk
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/clock/at91.h>
+ gfx2d@f0018000 {
+ compatible = "microchip,sam9x60-gfx2d";
+ reg = <0xf0018000 0x4000>;
+ interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
+ clock-names = "periph_clk";
+ };
+
+...
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 1/5] dt-bindings: gpu: add bindings for the Microchip GFX2D GPU
2025-09-11 15:26 ` [PATCH 1/5] dt-bindings: gpu: add bindings for the Microchip GFX2D GPU Cyrille Pitchen
@ 2025-09-11 18:05 ` Conor Dooley
0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2025-09-11 18:05 UTC (permalink / raw)
To: Cyrille Pitchen
Cc: David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Russell King,
dri-devel, devicetree, linux-kernel, linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 2306 bytes --]
On Thu, Sep 11, 2025 at 05:26:25PM +0200, Cyrille Pitchen wrote:
> The Microchip GFX2D GPU is embedded in the SAM9X60 and SAM9X7 SoC family.
> Describe how the GFX2D GPU is integrated in these SoCs, including
> register space, interrupt and clock.
>
> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@microchip.com>
> ---
> .../devicetree/bindings/gpu/microchip,gfx2d.yaml | 53 ++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml b/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..e416e13bc6627a0fef3c70625a6a3e2d91636ffc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpu/microchip,gfx2d.yaml
Filename matching a compatible please.
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpu/microchip,gfx2d.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip GFX2D GPU
> +
> +maintainers:
> + - Cyrille Pitchen <cyrille.pitchen@microchip.com>
> +
> +properties:
> + compatible:
> + enum:
> + - microchip,sam9x60-gfx2d
> + - microchip,sam9x7-gfx2d
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + const: periph_clk
> + maxItems: 1
Why do you need clock-names if you only have one clock?
If there's a reason to keep it, drop the _clk - it's redundant.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/clock/at91.h>
> + gfx2d@f0018000 {
"gfx2d" is not a generic node name, I assume this should actually be
"gpu"?
Cheers,
Conor.
> + compatible = "microchip,sam9x60-gfx2d";
> + reg = <0xf0018000 0x4000>;
> + interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
> + clock-names = "periph_clk";
> + };
> +
> +...
>
> --
> 2.48.1
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/5] ARM: dts: microchip: sam9x60: Add GFX2D GPU
2025-09-11 15:26 [PATCH 0/5] drm/microchip: add GFX2D support for SAM9X60 and SAM9X75 Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 1/5] dt-bindings: gpu: add bindings for the Microchip GFX2D GPU Cyrille Pitchen
@ 2025-09-11 15:26 ` Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 4/5] ARM: dts: microchip: sam9x7: " Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 5/5] ARM: configs: at91_dt_defconfig: enable GFX2D driver Cyrille Pitchen
3 siblings, 0 replies; 6+ messages in thread
From: Cyrille Pitchen @ 2025-09-11 15:26 UTC (permalink / raw)
To: David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Russell King
Cc: dri-devel, devicetree, linux-kernel, linux-arm-kernel,
Cyrille Pitchen
Add support for the GFX2D GPU.
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@microchip.com>
---
arch/arm/boot/dts/microchip/sam9x60.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sam9x60.dtsi b/arch/arm/boot/dts/microchip/sam9x60.dtsi
index b075865e6a7688005d471665459b3f6f1f26f7a4..6a177c008e1501e49d984a216e8d060f9dbc63cb 100644
--- a/arch/arm/boot/dts/microchip/sam9x60.dtsi
+++ b/arch/arm/boot/dts/microchip/sam9x60.dtsi
@@ -353,6 +353,15 @@ AT91_XDMAC_DT_PERID(26))>,
status = "disabled";
};
+ gpu: gfx2d@f0018000 {
+ compatible = "microchip,sam9x60-gfx2d";
+ reg = <0xf0018000 0x4000>;
+ interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
+ clock-names = "periph_clk";
+ status = "disabled";
+ };
+
i2s: i2s@f001c000 {
compatible = "microchip,sam9x60-i2smcc";
reg = <0xf001c000 0x100>;
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 4/5] ARM: dts: microchip: sam9x7: Add GFX2D GPU
2025-09-11 15:26 [PATCH 0/5] drm/microchip: add GFX2D support for SAM9X60 and SAM9X75 Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 1/5] dt-bindings: gpu: add bindings for the Microchip GFX2D GPU Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 3/5] ARM: dts: microchip: sam9x60: Add " Cyrille Pitchen
@ 2025-09-11 15:26 ` Cyrille Pitchen
2025-09-11 15:26 ` [PATCH 5/5] ARM: configs: at91_dt_defconfig: enable GFX2D driver Cyrille Pitchen
3 siblings, 0 replies; 6+ messages in thread
From: Cyrille Pitchen @ 2025-09-11 15:26 UTC (permalink / raw)
To: David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Russell King
Cc: dri-devel, devicetree, linux-kernel, linux-arm-kernel,
Cyrille Pitchen
Add support for the GFX2D GPU.
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@microchip.com>
---
arch/arm/boot/dts/microchip/sam9x7.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sam9x7.dtsi b/arch/arm/boot/dts/microchip/sam9x7.dtsi
index 66c07e642c3e1a2272490ec311062dfdf291c1cc..f4b71a49e6c167a0c9ad89b0c58fadb1ed467a5d 100644
--- a/arch/arm/boot/dts/microchip/sam9x7.dtsi
+++ b/arch/arm/boot/dts/microchip/sam9x7.dtsi
@@ -271,6 +271,15 @@ AT91_XDMAC_DT_PERID(38))>,
status = "disabled";
};
+ gpu: gfx2d@f0018000 {
+ compatible = "microchip,sam9x7-gfx2d";
+ reg = <0xf0018000 0x4000>;
+ interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
+ clock-names = "periph_clk";
+ status = "disabled";
+ };
+
i2s: i2s@f001c000 {
compatible = "microchip,sam9x7-i2smcc", "microchip,sam9x60-i2smcc";
reg = <0xf001c000 0x100>;
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 5/5] ARM: configs: at91_dt_defconfig: enable GFX2D driver
2025-09-11 15:26 [PATCH 0/5] drm/microchip: add GFX2D support for SAM9X60 and SAM9X75 Cyrille Pitchen
` (2 preceding siblings ...)
2025-09-11 15:26 ` [PATCH 4/5] ARM: dts: microchip: sam9x7: " Cyrille Pitchen
@ 2025-09-11 15:26 ` Cyrille Pitchen
3 siblings, 0 replies; 6+ messages in thread
From: Cyrille Pitchen @ 2025-09-11 15:26 UTC (permalink / raw)
To: David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Russell King
Cc: dri-devel, devicetree, linux-kernel, linux-arm-kernel,
Cyrille Pitchen
The GFX2D GPU is embedded in both SAM9X60 and SAM9X75; enable the
driver to use it.
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@microchip.com>
---
arch/arm/configs/at91_dt_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig
index ff13e1ecf4bb9545d6d2210b2f3059e6807779a0..85e9b52152aec6746f660dd0c299cd5aa12ce2ea 100644
--- a/arch/arm/configs/at91_dt_defconfig
+++ b/arch/arm/configs/at91_dt_defconfig
@@ -144,6 +144,7 @@ CONFIG_VIDEO_OV2640=m
CONFIG_VIDEO_OV7740=m
CONFIG_DRM=y
CONFIG_DRM_ATMEL_HLCDC=y
+CONFIG_DRM_MICROCHIP_GFX2D=y
CONFIG_DRM_MICROCHIP_LVDS_SERIALIZER=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_PANEL_EDP=y
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread