Marek Szyprowski wrote:
>
> From: Tomasz Stanislawski <[email protected]>
>
> This patch adds:
> - resources for TV drivers and devices
> - setters for names of TV devices
>
> Signed-off-by: Tomasz Stanislawski <[email protected]>
> Signed-off-by: Kyungmin Park <[email protected]>
> Signed-off-by: Marek Szyprowski <[email protected]>
> ---
> arch/arm/plat-s5p/Kconfig | 5 ++
> arch/arm/plat-s5p/Makefile | 1 +
> arch/arm/plat-s5p/dev-tv.c | 100
> ++++++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/devs.h | 5 ++
> arch/arm/plat-samsung/include/plat/tv-core.h | 44 +++++++++++
> 5 files changed, 155 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/plat-s5p/dev-tv.c
> create mode 100644 arch/arm/plat-samsung/include/plat/tv-core.h
>
> diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig
> index 39ea710..c0ac32c 100644
> --- a/arch/arm/plat-s5p/Kconfig
> +++ b/arch/arm/plat-s5p/Kconfig
> @@ -91,6 +91,11 @@ config S5P_DEV_CSIS1
> help
> Compile in platform device definitions for MIPI-CSIS channel 1
>
> +config S5P_DEV_TV
> + bool
> + help
> + Compile in platform device definition for TV interface
> +
> config S5P_DEV_USB_EHCI
> bool
> help
> diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile
> index 18925ab..5d5eee3 100644
> --- a/arch/arm/plat-s5p/Makefile
> +++ b/arch/arm/plat-s5p/Makefile
> @@ -33,5 +33,6 @@ obj-$(CONFIG_S5P_DEV_FIMC3) += dev-fimc3.o
> obj-$(CONFIG_S5P_DEV_ONENAND) += dev-onenand.o
> obj-$(CONFIG_S5P_DEV_CSIS0) += dev-csis0.o
> obj-$(CONFIG_S5P_DEV_CSIS1) += dev-csis1.o
> +obj-$(CONFIG_S5P_DEV_TV) += dev-tv.o
> obj-$(CONFIG_S5P_DEV_USB_EHCI) += dev-ehci.o
> obj-$(CONFIG_S5P_SETUP_MIPIPHY) += setup-mipiphy.o
> diff --git a/arch/arm/plat-s5p/dev-tv.c b/arch/arm/plat-s5p/dev-tv.c
> new file mode 100644
> index 0000000..28f43a2
> --- /dev/null
> +++ b/arch/arm/plat-s5p/dev-tv.c
> @@ -0,0 +1,100 @@
> +/* linux/arch/arm/plat-s5p/dev-tv.c
> + *
> + * Copyright 2011 Samsung Electronics
> + * Tomasz Stanislawski <[email protected]>
> + *
> + * S5P series device definition for TV device
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +#include <linux/dma-mapping.h>
> +
> +#include <mach/irqs.h>
> +#include <mach/map.h>
> +
> +#include <plat/devs.h>
> +
> +/* HDMI interface */
> +static struct resource s5p_hdmi_resources[] = {
> + [0] = {
> + .start = S5P_PA_HDMI,
^^
Tab?
> + .end = S5P_PA_HDMI + S5P_SZ_HDMI - 1,
^^^^
Tab
+ .end = S5P_PA_HDMI + SZ_XXX - 1,
Just use SZ_XXX...
> + .flags = IORESOURCE_MEM,
^^
> + },
> + [1] = {
> + .start = IRQ_HDMI,
^^
> + .end = IRQ_HDMI,
^^^^
> + .flags = IORESOURCE_IRQ,
^^
> + },
> +};
> +
> +struct platform_device s5p_device_hdmi = {
> + .name = "s5p-hdmi",
^^^^^^^^^^^
> + .id = -1,
^^^^^^^^^^^^^
> + .num_resources = ARRAY_SIZE(s5p_hdmi_resources),
^^
> + .resource = s5p_hdmi_resources,
^^^^^^^
> +};
> +EXPORT_SYMBOL(s5p_device_hdmi);
> +
> +/* MIXER */
> +static struct resource s5p_mixer_resources[] = {
> + [0] = {
> + .start = S5P_PA_MIXER,
^^
> + .end = S5P_PA_MIXER + S5P_SZ_MIXER - 1,
^^^^
> + .flags = IORESOURCE_MEM,
^^
> + .name = "mxr"
> + },
> + [1] = {
> + .start = S5P_PA_VP,
^^
> + .end = S5P_PA_VP + S5P_SZ_VP - 1,
^^^^
> + .flags = IORESOURCE_MEM,
^^
> + .name = "vp"
> + },
> + [2] = {
> + .start = IRQ_MIXER,
^^
> + .end = IRQ_MIXER,
^^^^
> + .flags = IORESOURCE_IRQ,
^^
> + .name = "irq"
> + },
> +};
> +
> +struct platform_device s5p_device_mixer = {
> + .name = "s5p-mixer",
^^^^^^^^^^^
> + .id = -1,
^^^^^^^^^^^^^
> + .num_resources = ARRAY_SIZE(s5p_mixer_resources),
^^
> + .resource = s5p_mixer_resources,
^^^^^^^
> + .dev = {
> + .coherent_dma_mask = DMA_BIT_MASK(32),
> + .dma_mask = &s5p_device_mixer.dev.coherent_dma_mask,
> + }
> +};
> +EXPORT_SYMBOL(s5p_device_mixer);
+static u64 s5p_XXX_dmamask = DMA_BIT_MAKS(32);
+struct platform_device s5p_device_mixer = {
+ .name = "s5p-mixer",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(s5p_mixer_resources),
+ .resource = s5p_mixer_resources,
+ .dev = {
+ .dma_mask = &s5p_XXX_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ }
+};
> +
> +/* HDMI interface */
> +static struct resource s5p_sdo_resources[] = {
> + [0] = {
> + .start = S5P_PA_SDO,
^^
> + .end = S5P_PA_SDO + S5P_SZ_SDO - 1,
^^^^
> + .flags = IORESOURCE_MEM,
^^
> + },
> + [1] = {
> + .start = IRQ_SDO,
^^
> + .end = IRQ_SDO,
^^^^
> + .flags = IORESOURCE_IRQ,
^^
> + },
> +};
> +
> +struct platform_device s5p_device_sdo = {
> + .name = "s5p-sdo",
^^^^^^^^^^^
> + .id = -1,
^^^^^^^^^^^^^
> + .num_resources = ARRAY_SIZE(s5p_sdo_resources),
^^
> + .resource = s5p_sdo_resources,
^^^^^^^
> + .dev = {
> + .coherent_dma_mask = DMA_BIT_MASK(32),
> + .dma_mask = &s5p_device_sdo.dev.coherent_dma_mask,
> + }
> +};
> +EXPORT_SYMBOL(s5p_device_sdo);
> diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-
> samsung/include/plat/devs.h
> index 62ee543..9442d3f 100644
> --- a/arch/arm/plat-samsung/include/plat/devs.h
> +++ b/arch/arm/plat-samsung/include/plat/devs.h
> @@ -140,6 +140,11 @@ extern struct platform_device s5p_device_fimc3;
> extern struct platform_device s5p_device_mfc;
> extern struct platform_device s5p_device_mfc_l;
> extern struct platform_device s5p_device_mfc_r;
> +
> +extern struct platform_device s5p_device_hdmi;
> +extern struct platform_device s5p_device_mixer;
> +extern struct platform_device s5p_device_sdo;
> +
> extern struct platform_device s5p_device_mipi_csis0;
> extern struct platform_device s5p_device_mipi_csis1;
>
> diff --git a/arch/arm/plat-samsung/include/plat/tv-core.h b/arch/arm/plat-
> samsung/include/plat/tv-core.h
> new file mode 100644
> index 0000000..3bc34f3
> --- /dev/null
> +++ b/arch/arm/plat-samsung/include/plat/tv-core.h
> @@ -0,0 +1,44 @@
> +/*
> + * arch/arm/plat-samsung/include/plat/tv.h
> + *
> + * Copyright 2011 Samsung Electronics Co., Ltd.
> + * Tomasz Stanislawski <[email protected]>
> + *
> + * Samsung TV driver core functions
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __SAMSUNG_PLAT_TV_H
> +#define __SAMSUNG_PLAT_TV_H __FILE__
> +
> +/*
> + * These functions are only for use with the core support code, such as
> + * the CPU-specific initialization code.
> + */
> +
> +/* Re-define device name to differentiate the subsystem in various SoCs.
*/
> +static inline void s5p_hdmi_setname(char *name)
> +{
> +#ifdef CONFIG_S5P_DEV_TV
> + s5p_device_hdmi.name = name;
> +#endif
> +}
> +
> +static inline void s5p_mixer_setname(char *name)
> +{
> +#ifdef CONFIG_S5P_DEV_TV
> + s5p_device_mixer.name = name;
> +#endif
> +}
> +
> +static inline void s5p_sdo_setname(char *name)
> +{
> +#ifdef CONFIG_S5P_DEV_TV
> + s5p_device_sdo.name = name;
> +#endif
> +}
> +
> +#endif /* __SAMSUNG_PLAT_TV_H */
> --
> 1.7.1.569.g6f426
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html