* [PATCH v2 1/3] drm/exynos: rotator: Add support for s5pv210
2018-12-28 15:19 [PATCH v2 0/3] drm/exynos: rotator: Add support for s5pv210 Paweł Chmiel
@ 2018-12-28 15:19 ` Paweł Chmiel
2018-12-28 15:19 ` [PATCH v2 2/3] dt-bindings: gpu: samsung-rotator: Document s5pv210 support Paweł Chmiel
2018-12-28 15:19 ` [PATCH v2 3/3] ARM: dts: s5pv210: Add node for exynos-rotator Paweł Chmiel
2 siblings, 0 replies; 7+ messages in thread
From: Paweł Chmiel @ 2018-12-28 15:19 UTC (permalink / raw)
To: inki.dae, krzk, airlied
Cc: jy0922.shim, sw0312.kim, kyungmin.park, kgene, dri-devel,
linux-arm-kernel, linux-samsung-soc, linux-kernel, robh+dt,
mark.rutland, devicetree, Paweł Chmiel
This commit adds support for s5pv210.
Currently only NV12 and XRGB8888 formats are supported.
It was tested by using tool from
https://www.spinics.net/lists/linux-samsung-soc/msg60498.html
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
---
drivers/gpu/drm/exynos/exynos_drm_rotator.c | 23 +++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index 8d67b2a54be3..05abfed6f7f8 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -356,6 +356,11 @@ static int rotator_runtime_resume(struct device *dev)
}
#endif
+static const struct drm_exynos_ipp_limit rotator_s5pv210_rbg888_limits[] = {
+ { IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
+ { IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
+};
+
static const struct drm_exynos_ipp_limit rotator_4210_rbg888_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 4, .v.align = 4) },
@@ -371,6 +376,11 @@ static const struct drm_exynos_ipp_limit rotator_5250_rbg888_limits[] = {
{ IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
};
+static const struct drm_exynos_ipp_limit rotator_s5pv210_yuv_limits[] = {
+ { IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
+ { IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
+};
+
static const struct drm_exynos_ipp_limit rotator_4210_yuv_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
@@ -381,6 +391,11 @@ static const struct drm_exynos_ipp_limit rotator_4412_yuv_limits[] = {
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
};
+static const struct exynos_drm_ipp_formats rotator_s5pv210_formats[] = {
+ { IPP_SRCDST_FORMAT(XRGB8888, rotator_s5pv210_rbg888_limits) },
+ { IPP_SRCDST_FORMAT(NV12, rotator_s5pv210_yuv_limits) },
+};
+
static const struct exynos_drm_ipp_formats rotator_4210_formats[] = {
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_4210_rbg888_limits) },
{ IPP_SRCDST_FORMAT(NV12, rotator_4210_yuv_limits) },
@@ -396,6 +411,11 @@ static const struct exynos_drm_ipp_formats rotator_5250_formats[] = {
{ IPP_SRCDST_FORMAT(NV12, rotator_4412_yuv_limits) },
};
+static const struct rot_variant rotator_s5pv210_data = {
+ .formats = rotator_s5pv210_formats,
+ .num_formats = ARRAY_SIZE(rotator_s5pv210_formats),
+};
+
static const struct rot_variant rotator_4210_data = {
.formats = rotator_4210_formats,
.num_formats = ARRAY_SIZE(rotator_4210_formats),
@@ -413,6 +433,9 @@ static const struct rot_variant rotator_5250_data = {
static const struct of_device_id exynos_rotator_match[] = {
{
+ .compatible = "samsung,s5pv210-rotator",
+ .data = &rotator_s5pv210_data,
+ }, {
.compatible = "samsung,exynos4210-rotator",
.data = &rotator_4210_data,
}, {
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 2/3] dt-bindings: gpu: samsung-rotator: Document s5pv210 support
2018-12-28 15:19 [PATCH v2 0/3] drm/exynos: rotator: Add support for s5pv210 Paweł Chmiel
2018-12-28 15:19 ` [PATCH v2 1/3] " Paweł Chmiel
@ 2018-12-28 15:19 ` Paweł Chmiel
2018-12-28 22:46 ` Rob Herring
2018-12-28 22:50 ` Krzysztof Kozlowski
2018-12-28 15:19 ` [PATCH v2 3/3] ARM: dts: s5pv210: Add node for exynos-rotator Paweł Chmiel
2 siblings, 2 replies; 7+ messages in thread
From: Paweł Chmiel @ 2018-12-28 15:19 UTC (permalink / raw)
To: inki.dae, krzk, airlied
Cc: jy0922.shim, sw0312.kim, kyungmin.park, kgene, dri-devel,
linux-arm-kernel, linux-samsung-soc, linux-kernel, robh+dt,
mark.rutland, devicetree, Paweł Chmiel
This commit documents new compatible for s5pv210 soc,
which will be also supported by this driver.
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
---
Changes from v1:
- Removed list enumeration
- Placed s5pv210 at beginning of list (it's the oldest chipset)
---
Documentation/devicetree/bindings/gpu/samsung-rotator.txt | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpu/samsung-rotator.txt b/Documentation/devicetree/bindings/gpu/samsung-rotator.txt
index 82cd1ed0be93..3aca2578da0b 100644
--- a/Documentation/devicetree/bindings/gpu/samsung-rotator.txt
+++ b/Documentation/devicetree/bindings/gpu/samsung-rotator.txt
@@ -2,9 +2,10 @@
Required properties:
- compatible : value should be one of the following:
- (a) "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
- (b) "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
- (c) "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
+ * "samsung,s5pv210-rotator" for Rotator IP in S5PV210
+ * "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
+ * "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
+ * "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
- reg : Physical base address of the IP registers and length of memory
mapped region.
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] ARM: dts: s5pv210: Add node for exynos-rotator
2018-12-28 15:19 [PATCH v2 0/3] drm/exynos: rotator: Add support for s5pv210 Paweł Chmiel
2018-12-28 15:19 ` [PATCH v2 1/3] " Paweł Chmiel
2018-12-28 15:19 ` [PATCH v2 2/3] dt-bindings: gpu: samsung-rotator: Document s5pv210 support Paweł Chmiel
@ 2018-12-28 15:19 ` Paweł Chmiel
2019-01-07 20:29 ` Krzysztof Kozlowski
2 siblings, 1 reply; 7+ messages in thread
From: Paweł Chmiel @ 2018-12-28 15:19 UTC (permalink / raw)
To: inki.dae, krzk, airlied
Cc: jy0922.shim, sw0312.kim, kyungmin.park, kgene, dri-devel,
linux-arm-kernel, linux-samsung-soc, linux-kernel, robh+dt,
mark.rutland, devicetree, Paweł Chmiel
This commit adds node for Exynos Rorator device,
so it can be used on all s5pv210 based devices.
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
---
arch/arm/boot/dts/s5pv210.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
index 75f454a210d6..a5463003c7f6 100644
--- a/arch/arm/boot/dts/s5pv210.dtsi
+++ b/arch/arm/boot/dts/s5pv210.dtsi
@@ -542,6 +542,15 @@
#dma-requests = <1>;
};
+ rotator: rotator@fa300000 {
+ compatible = "samsung,s5pv210-rotator";
+ reg = <0xfa300000 0x1000>;
+ interrupt-parent = <&vic2>;
+ interrupts = <4>;
+ clocks = <&clocks CLK_ROTATOR>;
+ clock-names = "rotator";
+ };
+
i2c1: i2c@fab00000 {
compatible = "samsung,s3c2440-i2c";
reg = <0xfab00000 0x1000>;
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread