Commit f3116f2e authored by Adam Ford's avatar Adam Ford Committed by Mauro Carvalho Chehab

media: dt-bindings: media: nxp, imx8mq-vpu: Split G1 and G2 nodes

The G1 and G2 are independent and separate decoder blocks
that are enabled by the vpu-blk-ctrl power-domain controller,
which now has a proper driver.

Because these blocks only share the power-domain, and can be
independently fused out, update the bindings to support separate
nodes for the G1 and G2 decoders with vpu-blk-ctrl power-domain
support.

The new DT + old kernel isn't a supported configuration.
Signed-off-by: default avatarAdam Ford <aford173@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent cf4a3ab5
...@@ -15,33 +15,20 @@ description: ...@@ -15,33 +15,20 @@ description:
properties: properties:
compatible: compatible:
const: nxp,imx8mq-vpu oneOf:
- const: nxp,imx8mq-vpu
deprecated: true
- const: nxp,imx8mq-vpu-g1
- const: nxp,imx8mq-vpu-g2
reg: reg:
maxItems: 3 maxItems: 1
reg-names:
items:
- const: g1
- const: g2
- const: ctrl
interrupts: interrupts:
maxItems: 2 maxItems: 1
interrupt-names:
items:
- const: g1
- const: g2
clocks: clocks:
maxItems: 3 maxItems: 1
clock-names:
items:
- const: g1
- const: g2
- const: bus
power-domains: power-domains:
maxItems: 1 maxItems: 1
...@@ -49,31 +36,33 @@ properties: ...@@ -49,31 +36,33 @@ properties:
required: required:
- compatible - compatible
- reg - reg
- reg-names
- interrupts - interrupts
- interrupt-names
- clocks - clocks
- clock-names
additionalProperties: false additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/clock/imx8mq-clock.h> #include <dt-bindings/clock/imx8mq-clock.h>
#include <dt-bindings/power/imx8mq-power.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
vpu_g1: video-codec@38300000 {
compatible = "nxp,imx8mq-vpu-g1";
reg = <0x38300000 0x10000>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>;
power-domains = <&vpu_blk_ctrl IMX8MQ_VPUBLK_PD_G1>;
};
- |
#include <dt-bindings/clock/imx8mq-clock.h>
#include <dt-bindings/power/imx8mq-power.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
vpu: video-codec@38300000 { vpu_g2: video-codec@38300000 {
compatible = "nxp,imx8mq-vpu"; compatible = "nxp,imx8mq-vpu-g2";
reg = <0x38300000 0x10000>, reg = <0x38310000 0x10000>;
<0x38310000 0x10000>, interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
<0x38320000 0x10000>; clocks = <&clk IMX8MQ_CLK_VPU_G2_ROOT>;
reg-names = "g1", "g2", "ctrl"; power-domains = <&vpu_blk_ctrl IMX8MQ_VPUBLK_PD_G2>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "g1", "g2";
clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>,
<&clk IMX8MQ_CLK_VPU_G2_ROOT>,
<&clk IMX8MQ_CLK_VPU_DEC_ROOT>;
clock-names = "g1", "g2", "bus";
power-domains = <&pgc_vpu>;
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment