* [PATCH 1/2] ARM: dts: imx51: Add M4IF support
@ 2018-07-04 16:14 Fabio Estevam
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Fabio Estevam @ 2018-07-04 16:14 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@nxp.com>
As per the i.MX51 Reference Manual the M4IF register region
starts at 0x83fd8000 and has a 4kB address range.
Add support for it.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
arch/arm/boot/dts/imx51.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index 66e4187..b417c39 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -531,6 +531,11 @@
status = "disabled";
};
+ m4if: m4if at 83fd8000 {
+ compatible = "fsl,imx51-m4if";
+ reg = <0x83fd8000 0x1000>;
+ };
+
weim: weim at 83fda000 {
#address-cells = <2>;
#size-cells = <1>;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts
2018-07-04 16:14 [PATCH 1/2] ARM: dts: imx51: Add M4IF support Fabio Estevam
@ 2018-07-04 16:14 ` Fabio Estevam
2018-07-04 18:26 ` Sergey Lapin
2018-07-06 16:18 ` Lucas Stach
2018-07-04 18:25 ` [PATCH 1/2] ARM: dts: imx51: Add M4IF support Sergey Lapin
2018-07-06 16:17 ` Lucas Stach
2 siblings, 2 replies; 7+ messages in thread
From: Fabio Estevam @ 2018-07-04 16:14 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@nxp.com>
Configure the M4IF registers as per the vendor bootloader
to avoid visual artifacts during video playback.
This way we don't need to rely on the bootloader configuration for
optimal IPU/VPU bus priorities.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
arch/arm/mach-imx/mach-imx51.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/mach-imx51.c b/arch/arm/mach-imx/mach-imx51.c
index 3835b6a..37ffdfa 100644
--- a/arch/arm/mach-imx/mach-imx51.c
+++ b/arch/arm/mach-imx/mach-imx51.c
@@ -12,6 +12,7 @@
#include <linux/io.h>
#include <linux/irq.h>
+#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
@@ -48,11 +49,37 @@ static void __init imx51_ipu_mipi_setup(void)
iounmap(hsc_addr);
}
+static void __init imx51_m4if_setup(void)
+{
+ void __iomem *m4if_base;
+ struct device_node *np;
+
+ np = of_find_compatible_node(NULL, NULL, "fsl,imx51-m4if");
+ if (!np)
+ return;
+
+ m4if_base = of_iomap(np, 0);
+ if (!m4if_base) {
+ pr_err("Unable to map M4IF registers\n");
+ return;
+ }
+
+ /*
+ * Configure VPU and IPU with higher priorities
+ * in order to avoid artifacts during video playback
+ */
+ writel_relaxed(0x00000203, m4if_base + 0x40);
+ writel_relaxed(0x00000000, m4if_base + 0x44);
+ writel_relaxed(0x00120125, m4if_base + 0x9c);
+ writel_relaxed(0x001901A3, m4if_base + 0x48);
+ iounmap(m4if_base);
+}
+
static void __init imx51_dt_init(void)
{
imx51_ipu_mipi_setup();
imx_src_init();
-
+ imx51_m4if_setup();
imx_aips_allow_unprivileged_access("fsl,imx51-aipstz");
}
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] ARM: dts: imx51: Add M4IF support
2018-07-04 16:14 [PATCH 1/2] ARM: dts: imx51: Add M4IF support Fabio Estevam
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
@ 2018-07-04 18:25 ` Sergey Lapin
2018-07-06 16:17 ` Lucas Stach
2 siblings, 0 replies; 7+ messages in thread
From: Sergey Lapin @ 2018-07-04 18:25 UTC (permalink / raw)
To: linux-arm-kernel
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> As per the i.MX51 Reference Manual the M4IF register region
> starts at 0x83fd8000 and has a 4kB address range.
>
> Add support for it.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---
> arch/arm/boot/dts/imx51.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
> index 66e4187..b417c39 100644
> --- a/arch/arm/boot/dts/imx51.dtsi
> +++ b/arch/arm/boot/dts/imx51.dtsi
> @@ -531,6 +531,11 @@
> status = "disabled";
> };
>
> + m4if: m4if at 83fd8000 {
> + compatible = "fsl,imx51-m4if";
> + reg = <0x83fd8000 0x1000>;
> + };
> +
> weim: weim at 83fda000 {
> #address-cells = <2>;
> #size-cells = <1>;
> --
> 2.7.4
>
Tested-by: Sergey Lapin <sergey.lapin@cogentembedded.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
@ 2018-07-04 18:26 ` Sergey Lapin
2018-07-06 16:18 ` Lucas Stach
1 sibling, 0 replies; 7+ messages in thread
From: Sergey Lapin @ 2018-07-04 18:26 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 4, 2018 at 7:14 PM, Fabio Estevam <festevam@gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> Configure the M4IF registers as per the vendor bootloader
> to avoid visual artifacts during video playback.
>
> This way we don't need to rely on the bootloader configuration for
> optimal IPU/VPU bus priorities.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Sergey Lapin <sergey.lapin@cogentembedded.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] ARM: dts: imx51: Add M4IF support
2018-07-04 16:14 [PATCH 1/2] ARM: dts: imx51: Add M4IF support Fabio Estevam
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
2018-07-04 18:25 ` [PATCH 1/2] ARM: dts: imx51: Add M4IF support Sergey Lapin
@ 2018-07-06 16:17 ` Lucas Stach
2018-07-09 18:26 ` Fabio Estevam
2 siblings, 1 reply; 7+ messages in thread
From: Lucas Stach @ 2018-07-06 16:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Fabio,
Am Mittwoch, den 04.07.2018, 13:14 -0300 schrieb Fabio Estevam:
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> As per the i.MX51 Reference Manual the M4IF register region
> starts at 0x83fd8000 and has a 4kB address range.
>
> Add support for it.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---
> ?arch/arm/boot/dts/imx51.dtsi | 5 +++++
> ?1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx51.dtsi
> b/arch/arm/boot/dts/imx51.dtsi
> index 66e4187..b417c39 100644
> --- a/arch/arm/boot/dts/imx51.dtsi
> +++ b/arch/arm/boot/dts/imx51.dtsi
> @@ -531,6 +531,11 @@
> ? status = "disabled";
> ? };
> ?
> + m4if: m4if at 83fd8000 {
> + compatible = "fsl,imx51-m4if";
Missing documentation for this compatible.
Regards,
Lucas
> + reg = <0x83fd8000 0x1000>;
> + };
> +
> ? weim: weim at 83fda000 {
> ? #address-cells = <2>;
> ? #size-cells = <1>;
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
2018-07-04 18:26 ` Sergey Lapin
@ 2018-07-06 16:18 ` Lucas Stach
1 sibling, 0 replies; 7+ messages in thread
From: Lucas Stach @ 2018-07-06 16:18 UTC (permalink / raw)
To: linux-arm-kernel
Am Mittwoch, den 04.07.2018, 13:14 -0300 schrieb Fabio Estevam:
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> Configure the M4IF registers as per the vendor bootloader
> to avoid visual artifacts during video playback.
>
> This way we don't need to rely on the bootloader configuration for
> optimal IPU/VPU bus priorities.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
> ---
> ?arch/arm/mach-imx/mach-imx51.c | 29 ++++++++++++++++++++++++++++-
> ?1 file changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mach-imx51.c b/arch/arm/mach-imx/mach-
> imx51.c
> index 3835b6a..37ffdfa 100644
> --- a/arch/arm/mach-imx/mach-imx51.c
> +++ b/arch/arm/mach-imx/mach-imx51.c
> @@ -12,6 +12,7 @@
> ?
> ?#include <linux/io.h>
> ?#include <linux/irq.h>
> +#include <linux/of_address.h>
> ?#include <linux/of_irq.h>
> ?#include <linux/of_platform.h>
> ?#include <asm/mach/arch.h>
> @@ -48,11 +49,37 @@ static void __init imx51_ipu_mipi_setup(void)
> ? iounmap(hsc_addr);
> ?}
> ?
> +static void __init imx51_m4if_setup(void)
> +{
> + void __iomem *m4if_base;
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "fsl,imx51-m4if");
> + if (!np)
> + return;
> +
> + m4if_base = of_iomap(np, 0);
> + if (!m4if_base) {
> + pr_err("Unable to map M4IF registers\n");
> + return;
> + }
> +
> + /*
> + ?* Configure VPU and IPU with higher priorities
> + ?* in order to avoid artifacts during video playback
> + ?*/
> + writel_relaxed(0x00000203, m4if_base + 0x40);
> + writel_relaxed(0x00000000, m4if_base + 0x44);
> + writel_relaxed(0x00120125, m4if_base + 0x9c);
> + writel_relaxed(0x001901A3, m4if_base + 0x48);
> + iounmap(m4if_base);
> +}
> +
> ?static void __init imx51_dt_init(void)
> ?{
> ? imx51_ipu_mipi_setup();
> ? imx_src_init();
> -
> + imx51_m4if_setup();
> ? imx_aips_allow_unprivileged_access("fsl,imx51-aipstz");
> ?}
> ?
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] ARM: dts: imx51: Add M4IF support
2018-07-06 16:17 ` Lucas Stach
@ 2018-07-09 18:26 ` Fabio Estevam
0 siblings, 0 replies; 7+ messages in thread
From: Fabio Estevam @ 2018-07-09 18:26 UTC (permalink / raw)
To: linux-arm-kernel
Hi Lucas,
On Fri, Jul 6, 2018 at 1:17 PM, Lucas Stach <l.stach@pengutronix.de> wrote:
>> + m4if: m4if at 83fd8000 {
>> + compatible = "fsl,imx51-m4if";
>
> Missing documentation for this compatible.
Just sent a v2 that includes the dt-bindings doc.
Thanks
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-07-09 18:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-04 16:14 [PATCH 1/2] ARM: dts: imx51: Add M4IF support Fabio Estevam
2018-07-04 16:14 ` [PATCH 2/2] ARM: imx51: Configure M4IF to avoid visual artifacts Fabio Estevam
2018-07-04 18:26 ` Sergey Lapin
2018-07-06 16:18 ` Lucas Stach
2018-07-04 18:25 ` [PATCH 1/2] ARM: dts: imx51: Add M4IF support Sergey Lapin
2018-07-06 16:17 ` Lucas Stach
2018-07-09 18:26 ` Fabio Estevam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).