Linux-Clk Archive on lore.kernel.org
 help / color / Atom feed
* [Patch v3 0/5] ARM: dts: dra7: add vpe nodes 
@ 2019-11-06 20:26 Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 1/5] dt-bindings: media: ti-vpe: Document VPE driver Benoit Parrot
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

This patch series adds the needed clkctrl and ty-sysc nodes for VPE module.
We also document the VPE DT bindings.

Changes since v2:
- Fix binding spdx license
- Added Rob's ack 

Changes since v1:
- Added a patch to update the compatible in the driver
- Removed unnededed #cell #size properties
- Updated the compatible in dtsi to match binding
- Split off the clk code into its own patch
- Added device specific prefix
- Converted binding to dt schema

Benoit Parrot (5):
  dt-bindings: media: ti-vpe: Document VPE driver
  clk: ti: dra7: add vpe clkctrl data
  ARM: dts: dra7: add vpe clkctrl node
  ARM: dts: dra7: Add ti-sysc node for VPE
  media: ti-vpe: vpe: fix compatible to match bindings

 .../devicetree/bindings/media/ti,vpe.yaml     | 64 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 arch/arm/boot/dts/dra7-l4.dtsi                | 28 +++++++-
 arch/arm/boot/dts/dra7xx-clocks.dtsi          | 18 +++++-
 drivers/clk/ti/clk-7xx.c                      |  6 ++
 drivers/media/platform/ti-vpe/vpe.c           |  2 +-
 include/dt-bindings/clock/dra7.h              | 10 +++
 7 files changed, 123 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/ti,vpe.yaml

-- 
2.17.1


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

* [Patch v3 1/5] dt-bindings: media: ti-vpe: Document VPE driver
  2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
@ 2019-11-06 20:26 ` Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 2/5] clk: ti: dra7: add vpe clkctrl data Benoit Parrot
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

Device Tree bindings for the Video Processing Engine (VPE).

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/media/ti,vpe.yaml     | 64 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 65 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/ti,vpe.yaml

diff --git a/Documentation/devicetree/bindings/media/ti,vpe.yaml b/Documentation/devicetree/bindings/media/ti,vpe.yaml
new file mode 100644
index 000000000000..f3a8a350e85f
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/ti,vpe.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/ti,vpe.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments DRA7x Video Processing Engine (VPE) Device Tree Bindings
+
+maintainers:
+  - Benoit Parrot <bparrot@ti.com>
+
+description: |-
+  The Video Processing Engine (VPE) is a key component for image post
+  processing applications. VPE consist of a single memory to memory
+  path which can perform chroma up/down sampling, deinterlacing,
+  scaling and color space conversion.
+
+properties:
+  compatible:
+      const: ti,dra7-vpe
+
+  reg:
+    items:
+      - description: The VPE main register region
+      - description: Scaler (SC) register region
+      - description: Color Space Conversion (CSC) register region
+      - description: Video Port Direct Memory Access (VPDMA) register region
+
+  reg-names:
+    items:
+      - const: vpe_top
+      - const: sc
+      - const: csc
+      - const: vpdma
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    vpe: vpe@489d0000 {
+        compatible = "ti,dra7-vpe";
+        reg = <0x489d0000 0x120>,
+              <0x489d0700 0x80>,
+              <0x489d5700 0x18>,
+              <0x489dd000 0x400>;
+        reg-names = "vpe_top",
+                    "sc",
+                    "csc",
+                    "vpdma";
+        interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index fb8e7d94492b..bb60674cf89d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16324,6 +16324,7 @@ Q:	http://patchwork.linuxtv.org/project/linux-media/list/
 S:	Maintained
 F:	drivers/media/platform/ti-vpe/
 F:	Documentation/devicetree/bindings/media/ti,cal.yaml
+F:	Documentation/devicetree/bindings/media/ti,vpe.yaml
 
 TI WILINK WIRELESS DRIVERS
 L:	linux-wireless@vger.kernel.org
-- 
2.17.1


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

* [Patch v3 2/5] clk: ti: dra7: add vpe clkctrl data
  2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 1/5] dt-bindings: media: ti-vpe: Document VPE driver Benoit Parrot
@ 2019-11-06 20:26 ` Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 3/5] ARM: dts: dra7: add vpe clkctrl node Benoit Parrot
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

Add clkctrl data for VPE.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 drivers/clk/ti/clk-7xx.c         |  6 ++++++
 include/dt-bindings/clock/dra7.h | 10 ++++++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/clk/ti/clk-7xx.c b/drivers/clk/ti/clk-7xx.c
index b57fe09b428b..5dd9cad07542 100644
--- a/drivers/clk/ti/clk-7xx.c
+++ b/drivers/clk/ti/clk-7xx.c
@@ -146,6 +146,11 @@ static const struct omap_clkctrl_reg_data dra7_rtc_clkctrl_regs[] __initconst =
 	{ 0 },
 };
 
+static const struct omap_clkctrl_reg_data dra7_vpe_clkctrl_regs[] __initconst = {
+	{ DRA7_VPE_VPE_CLKCTRL, NULL, CLKF_HW_SUP, "dpll_core_h23x2_ck" },
+	{ 0 },
+};
+
 static const struct omap_clkctrl_reg_data dra7_coreaon_clkctrl_regs[] __initconst = {
 	{ DRA7_COREAON_SMARTREFLEX_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "wkupaon_iclk_mux" },
 	{ DRA7_COREAON_SMARTREFLEX_CORE_CLKCTRL, NULL, CLKF_SW_SUP, "wkupaon_iclk_mux" },
@@ -769,6 +774,7 @@ const struct omap_clkctrl_data dra7_clkctrl_data[] __initconst = {
 	{ 0x4a005550, dra7_ipu_clkctrl_regs },
 	{ 0x4a005620, dra7_dsp2_clkctrl_regs },
 	{ 0x4a005720, dra7_rtc_clkctrl_regs },
+	{ 0x4a005760, dra7_vpe_clkctrl_regs },
 	{ 0x4a008620, dra7_coreaon_clkctrl_regs },
 	{ 0x4a008720, dra7_l3main1_clkctrl_regs },
 	{ 0x4a008920, dra7_ipu2_clkctrl_regs },
diff --git a/include/dt-bindings/clock/dra7.h b/include/dt-bindings/clock/dra7.h
index 72f2e8411523..2b765e579b2a 100644
--- a/include/dt-bindings/clock/dra7.h
+++ b/include/dt-bindings/clock/dra7.h
@@ -29,6 +29,11 @@
 #define DRA7_RTC_CLKCTRL_INDEX(offset)	((offset) - DRA7_RTC_CLKCTRL_OFFSET)
 #define DRA7_RTCSS_CLKCTRL	DRA7_RTC_CLKCTRL_INDEX(0x44)
 
+/* vpe clocks */
+#define DRA7_VPE_CLKCTRL_OFFSET	0x60
+#define DRA7_VPE_CLKCTRL_INDEX(offset)	((offset) - DRA7_VPE_CLKCTRL_OFFSET)
+#define DRA7_VPE_CLKCTRL	DRA7_VPE_CLKCTRL_INDEX(0x64)
+
 /* coreaon clocks */
 #define DRA7_SMARTREFLEX_MPU_CLKCTRL	DRA7_CLKCTRL_INDEX(0x28)
 #define DRA7_SMARTREFLEX_CORE_CLKCTRL	DRA7_CLKCTRL_INDEX(0x38)
@@ -192,6 +197,11 @@
 /* rtc clocks */
 #define DRA7_RTC_RTCSS_CLKCTRL	DRA7_CLKCTRL_INDEX(0x44)
 
+/* vpe clocks */
+#define DRA7_VPE_CLKCTRL_OFFSET	0x60
+#define DRA7_VPE_CLKCTRL_INDEX(offset)	((offset) - DRA7_VPE_CLKCTRL_OFFSET)
+#define DRA7_VPE_VPE_CLKCTRL	DRA7_VPE_CLKCTRL_INDEX(0x64)
+
 /* coreaon clocks */
 #define DRA7_COREAON_SMARTREFLEX_MPU_CLKCTRL	DRA7_CLKCTRL_INDEX(0x28)
 #define DRA7_COREAON_SMARTREFLEX_CORE_CLKCTRL	DRA7_CLKCTRL_INDEX(0x38)
-- 
2.17.1


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

* [Patch v3 3/5] ARM: dts: dra7: add vpe clkctrl node
  2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 1/5] dt-bindings: media: ti-vpe: Document VPE driver Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 2/5] clk: ti: dra7: add vpe clkctrl data Benoit Parrot
@ 2019-11-06 20:26 ` Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 4/5] ARM: dts: dra7: Add ti-sysc node for VPE Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 5/5] media: ti-vpe: vpe: fix compatible to match bindings Benoit Parrot
  4 siblings, 0 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

Add clkctrl nodes for VPE module.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 arch/arm/boot/dts/dra7xx-clocks.dtsi | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/dra7xx-clocks.dtsi b/arch/arm/boot/dts/dra7xx-clocks.dtsi
index 93e1eb83bed9..d1c2406ec71c 100644
--- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
+++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
@@ -1591,10 +1591,10 @@
 
 	rtc_cm: rtc-cm@700 {
 		compatible = "ti,omap4-cm";
-		reg = <0x700 0x100>;
+		reg = <0x700 0x60>;
 		#address-cells = <1>;
 		#size-cells = <1>;
-		ranges = <0 0x700 0x100>;
+		ranges = <0 0x700 0x60>;
 
 		rtc_clkctrl: rtc-clkctrl@20 {
 			compatible = "ti,clkctrl";
@@ -1603,6 +1603,20 @@
 		};
 	};
 
+	vpe_cm: vpe-cm@760 {
+		compatible = "ti,omap4-cm";
+		reg = <0x760 0xc>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0 0x760 0xc>;
+
+		vpe_clkctrl: vpe-clkctrl@0 {
+			compatible = "ti,clkctrl";
+			reg = <0x0 0xc>;
+			#clock-cells = <2>;
+		};
+	};
+
 };
 
 &cm_core {
-- 
2.17.1


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

* [Patch v3 4/5] ARM: dts: dra7: Add ti-sysc node for VPE
  2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
                   ` (2 preceding siblings ...)
  2019-11-06 20:26 ` [Patch v3 3/5] ARM: dts: dra7: add vpe clkctrl node Benoit Parrot
@ 2019-11-06 20:26 ` Benoit Parrot
  2019-11-06 20:26 ` [Patch v3 5/5] media: ti-vpe: vpe: fix compatible to match bindings Benoit Parrot
  4 siblings, 0 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

Add VPE node as a child of l4 interconnect in order for it to probe
using ti-sysc.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 arch/arm/boot/dts/dra7-l4.dtsi | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi
index ea0e7c19eb4e..0917231a20e2 100644
--- a/arch/arm/boot/dts/dra7-l4.dtsi
+++ b/arch/arm/boot/dts/dra7-l4.dtsi
@@ -4158,12 +4158,34 @@
 			ranges = <0x0 0x1b0000 0x10000>;
 		};
 
-		target-module@1d0000 {			/* 0x489d0000, ap 27 30.0 */
-			compatible = "ti,sysc";
-			status = "disabled";
+		target-module@1d0010 {			/* 0x489d0000, ap 27 30.0 */
+			compatible = "ti,sysc-omap4", "ti,sysc";
+			reg = <0x1d0010 0x4>;
+			reg-names = "sysc";
+			ti,sysc-midle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_NO>,
+					<SYSC_IDLE_SMART>;
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_NO>,
+					<SYSC_IDLE_SMART>;
+			clocks = <&vpe_clkctrl DRA7_VPE_VPE_CLKCTRL 0>;
+			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x0 0x1d0000 0x10000>;
+
+			vpe: vpe@0 {
+				compatible = "ti,dra7-vpe";
+				reg = <0x0000 0x120>,
+				      <0x0700 0x80>,
+				      <0x5700 0x18>,
+				      <0xd000 0x400>;
+				reg-names = "vpe_top",
+					    "sc",
+					    "csc",
+					    "vpdma";
+				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+			};
 		};
 	};
 };
-- 
2.17.1


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

* [Patch v3 5/5] media: ti-vpe: vpe: fix compatible to match bindings
  2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
                   ` (3 preceding siblings ...)
  2019-11-06 20:26 ` [Patch v3 4/5] ARM: dts: dra7: Add ti-sysc node for VPE Benoit Parrot
@ 2019-11-06 20:26 ` Benoit Parrot
  4 siblings, 0 replies; 6+ messages in thread
From: Benoit Parrot @ 2019-11-06 20:26 UTC (permalink / raw)
  To: Hans Verkuil, Tony Lindgren, Tero Kristo
  Cc: linux-omap, linux-clk, linux-arm-kernel, linux-media,
	Rob Herring, devicetree, linux-kernel, Benoit Parrot

Update the compatible string to match the updated bindings.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
---
 drivers/media/platform/ti-vpe/vpe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c
index b54f637633a7..65c2c048b018 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -2644,7 +2644,7 @@ static int vpe_remove(struct platform_device *pdev)
 #if defined(CONFIG_OF)
 static const struct of_device_id vpe_of_match[] = {
 	{
-		.compatible = "ti,vpe",
+		.compatible = "ti,dra7-vpe",
 	},
 	{},
 };
-- 
2.17.1


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

end of thread, back to index

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-06 20:26 [Patch v3 0/5] ARM: dts: dra7: add vpe nodes Benoit Parrot
2019-11-06 20:26 ` [Patch v3 1/5] dt-bindings: media: ti-vpe: Document VPE driver Benoit Parrot
2019-11-06 20:26 ` [Patch v3 2/5] clk: ti: dra7: add vpe clkctrl data Benoit Parrot
2019-11-06 20:26 ` [Patch v3 3/5] ARM: dts: dra7: add vpe clkctrl node Benoit Parrot
2019-11-06 20:26 ` [Patch v3 4/5] ARM: dts: dra7: Add ti-sysc node for VPE Benoit Parrot
2019-11-06 20:26 ` [Patch v3 5/5] media: ti-vpe: vpe: fix compatible to match bindings Benoit Parrot

Linux-Clk Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-clk/0 linux-clk/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-clk linux-clk/ https://lore.kernel.org/linux-clk \
		linux-clk@vger.kernel.org
	public-inbox-index linux-clk

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-clk


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git