* [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 related [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 related [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 related [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 related [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 related [flat|nested] 6+ messages in thread