Re: [PATCH v2] ARM: EXYNOS: Add MFC device tree support
From: Arun Kumar K <hidden>
Date: 2012-09-13 04:22:09
Also in:
linux-samsung-soc
Hi Sylwester, Thank you for the comments. Will make the necessary changes. Regards Arun On Thu, Sep 13, 2012 at 1:54 AM, Sylwester Nawrocki [off-list ref] wrote:
Just a few small comments... On 09/12/2012 03:34 PM, Arun Kumar K wrote:quoted
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<redacted> Signed-off-by: Arun Kumar K<redacted> ---...quoted
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txtb/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 whichMult -> Multiquoted
+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 -> interruptquoted
+ + - 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. +...quoted
+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 *.quoted
+ 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.quoted
+ 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 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html