[PATCH v2] ARM: EXYNOS: Add MFC device tree support
Sylwester Nawrocki
sylvester.nawrocki at gmail.com
Thu Sep 13 06:24:31 EST 2012
Just a few small comments...
On 09/12/2012 03:34 PM, Arun Kumar K wrote:
> This patch adds device tree entry for MFC v6 in the Exynos5
> SoC. Makes the required changes in the clock files and adds
> MFC to the DT device list.
>
> Signed-off-by: Naveen Krishna Chatradhi<ch.naveen at samsung.com>
> Signed-off-by: Arun Kumar K<arun.kk at samsung.com>
> ---
...
> diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt
> new file mode 100644
> index 0000000..9a74d09
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt
> @@ -0,0 +1,27 @@
> +* Samsung Multi Format Codec (MFC)
> +
> +Mult Format Codec (MFC) is the IP present in Samsung SoCs which
Mult -> Multi
> +supports high resolution decoding and encoding functionalities.
> +The MFC device driver is a v4l2 driver which can encode/decode
> +video raw/elementary streams and has support for all popular
> +video codecs.
> +
> +Required properties:
> + - compatible : value should be either one among the following
> + (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs
> + (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs
> +
> + - reg : Physical base address of the IP registers and length of memory
> + mapped region.
> +
> + - interrupts : MFC interupt number to the CPU.
interupt -> interrupt
> +
> + - samsung,mfc-r : Base address of the first memory bank used by MFC
> + for DMA contiguous memory allocation.
> +
> + - samsung,mfc-r-size : Size of the first memory bank.
> +
> + - samsung,mfc-l : Base address of the second memory bank used by MFC
> + for DMA contiguous memory allocation.
> +
...
> +struct mfc_dt_meminfo {
> + unsigned long loff;
> + unsigned long lsize;
> + unsigned long roff;
> + unsigned long rsize;
> +};
> +
> +int fdt_find_mfc_mem(unsigned long node, const char *uname, int depth,
> + void *data)
> +{
> + __be32 *prop;
> + unsigned long len;
> + struct mfc_dt_meminfo *mfc_mem = (struct mfc_dt_meminfo *)data;
No need for explicit cast from void *.
> + if (of_flat_dt_is_compatible(node, "samsung,mfc-v6")) {
Might be worth to change it to
if (!of_flat_dt_is_compatible(node, "samsung,mfc-v6"))
return 0;
and avoid indentation.
> + prop = of_get_flat_dt_prop(node, "samsung,mfc-l",&len);
> + if (!prop)
> + return 0;
> + mfc_mem->loff = of_read_ulong(prop, len/4);
> +
> + prop = of_get_flat_dt_prop(node, "samsung,mfc-l-size",&len);
> + if (!prop)
> + return 0;
> + mfc_mem->lsize = of_read_ulong(prop, len/4);
> +
> + prop = of_get_flat_dt_prop(node, "samsung,mfc-r",&len);
> + if (!prop)
> + return 0;
> + mfc_mem->roff = of_read_ulong(prop, len/4);
> +
> + prop = of_get_flat_dt_prop(node, "samsung,mfc-r-size",&len);
> + if (!prop)
> + return 0;
> + mfc_mem->rsize = of_read_ulong(prop, len/4);
> +
> + return 1;
> + }
> + return 0;
> +}
--
Regards,
Sylwester
More information about the devicetree-discuss
mailing list